sghael
Joined 17 years ago
Joined 17 years ago
We are hiring front end engineers! We have a modern front end stack (ES6, React, Redux, Webpack) and a history of front end thought leadership and open source contributions.
We are also hiring mobile engineers with a focus on Android and iOS development. We build tools for our fellow mobile developers and write code that is deployed on billions of devices around the world.
To apply or learn more about either opportunity send an email to [email protected] Check out our engineering blog: eng.localytics.com
Not sure if it's just me, but when touching the menu controller on the top left, the dom slide over to reveal... nothing. Also, general weirdness using the gear button to change selection between all/enqueues only/ratings only/reviews only. Selecting something other than all does nothing and doesn't persist.
I'm on Android 2.3.3. My Touch 4g slide. Stock browser.
In fact, we open sourced our C2DM Ruby Gem: https://github.com/sghael/speedy_c2dm
Note: US-only for now & requires a phone (so no tablets.)
The stack & tools:
* Rails 3 (MRI) for our API servers.
* Worker nodes running Sinatra (JRuby) w/ Resque
* Monit for monitoring services / Fabric for quick provisioning
* The Android client is typical Java (using IntelliJ)
* iPhone development w/ Monotouch!
* S3 for storage, and our public website using Jekyll
* C2DM message delivery (our Gem: https://github.com/sghael/speedy_c2dm)
Lessons learned so far:- Fragmentation on Android is a b. Especially when dealing with hardware stuff like cameras, expect to do a lot of device specific coding. Front-facing cameras are a perfect example. Gingerbread solves these problems in theory, but not in practice.
- Uploading video files over mobile connection is non-trivial (duh) - We've put a lot of work towards reliable and efficient uploads and downloads (intelligent packetization, retry logic, etc). We solve for the "elevator scenario". User sends a message, but steps into an elevator half way through delivery. Aside from Gmail, most mobile apps suck at this.
- On the positive side, 4G+ speeds are really impressive.
- Creating a portrait oriented camera application for Android is way harder than it should be (really poor API implementation around camera rotations). Contrast to iOS where it's super easy.
- UX matters - A friction-free UX required a lot of work. We had many alpha testers (both family and friends & paid services like usertesting.com/mobile) that helped us find the sticking points.
We'd love your feedback on anything!
Another idea to grok: a checkerboard pattern image where every other pixel row and column are alternating full black and full white represents the "highest frequency" image possible at that sample rate (pixel density). This is the 2d equivalent of an alternating sinusoid +1,-1,+1,-1, etc