Recap: Pulse’s First Tech Talk
Pulse had its first Tech Talk last Wednesday at our HQ in San Francisco! Featuring a tequila tasting and two presentations from members of the team, the event was a success—and the first of many Tech Talks to come. Thank you to everyone who attended!
If you missed the presentations, check out the slides and recaps below:
Building on the Shoulders Of Giants:
How We Boostrapped an MVP Data Product on AWS and GAE
From Backend Engineer Greg Bayer: “Pulse’s backend runs on both Amazon Web Services (AWS) and Google App Engine (GAE). Our engineering philosophy is to minimize ops and low-level system development, so we can focus on core product features. To that end, we try to build things on GAE’s more managed infrastructure first and switch over to AWS if a particular feature doesn’t fit well with Google’s architecture.
In Wednesday’s talk we highlighted our Scribe-based event log collection and EMR-based analysis systems on AWS. We also talked about using GAE to manage user accounts, and how we repurpose GAE’s map reduce to efficiently send email to a large sets of users.”
From Product Engineer Elliot Babchick: “We covered the steps involved in Pulse’s data pipeline for creating an email digest. We covered the raw logging of our user events all the way up to our App Engine map reduce job to send the emails. Results of the effectiveness were presented (~2x engagement compared with our non-personalized emails), along with several tips about how to make the process easier to debug.”
One Screen, Two Screen, Red Screen, Blue Screen:
Designing and Engineering a Mobile Application for Multiple Screen Sizes
From Lead Android Developer Albert Lai: “Creating an app is more complicated now than it was three years ago; you can’t just design for the iphone screen and be done with it! You’ll have to be prepared to run your app on a diverse array of screen sizes and lucky for you there are some guidelines to help your code be as adaptable as you are.
1. use space judiciously
2. use popups for small actions in tablets
3. you’ll have to write size dependent code and use dynamic layouts
1. Use Fragments in Android (they’re in the compatability library) and ModalViewControllers in iOS
2. There are classes in the respective SDKs that tell you what kind of device your code is running on. Use them.
3. Never use absolute coordinates to layout your app
4. Use RelativeLayouts in Android and Autolayout in iOS
5. Calculate dimensions for UI elements on-the-fly in your app”
Stay tuned for our next event!