Building mobile apps at Yahoo
Posted on March 4th, 2015
03/04/2015 @Yahoo, 229 West 43rd St., NY
Pierre Maloka moderated presentations on #MobileApps development by six designers, developers and testers at #Yahoo. The speakers described their process from setting goals to product delivery.
The mobile development team at Yahoo was assembled two years ago and all speakers emphasized the importance of differentiating their product from those of their competitors.
Differentiation starts with a user-friendly design that emphasizes images, links to easily explore the news, and is responsive to user requests. The speakers talked about tools, organization, internal communication and testing.
- Keynote PDF – can extract images for manipulation
- Flinto – make prototypes easily for early testing
- Pixate – tool to build animations and interactions in native apps
- NodeJS and Express a web application framework
- Redis – data structure server to speed data from server to client
- Flurry – capture session, session length, active users, new users, retention, frequency of use Also use to monitor events (match to Key Performance Indicators)
- Slack – instant messaging which can be grouped into ad hoc channels
- Vidyo – video conferencing.
- Yo/yo link shortening. Links to documentation and dashboards.
- Quarterly development and review cycle
- Planning stage sets the goals and prototypes ideas along with initial user testing.
- Development stage iterates on regression and integration testing and testing by all Yahoo employees (dogfooding). It culminates in a technical and design review before being released to the public
- Client server tasks can be changed without re-installing the app so it contains tasks that are being evaluated or functions that will be changed frequently
- Tasks are broken into a presentation layer and a data layer for ease of maintenance and debugging
- Developers collaborate with design to figure out what to do and what is easy
- Get feedback as early as possible
- Yahoo has a pod structure so all decision makers sit together.
- Solicited feedback throughout all of Yahoo in the dogfood phase.
- Conduct testing early and often
- Major updates are reviewed and certified for best practices
- Instrument all products to monitor what users are doing
Additional comments included
- Most testing is manual and uses internal tools.
- Use Jenkins for testing on iOS. Don’t use UI testing built into XCode.
- Virtually all development is native on both Android and iOS, but the Android group might take advantage of web login when security is updated.
- The UI sticks to the format for the platform (iOS or Android). Visuals stick to the Yahoo web style.
- On the iOS side, they have tested Swift, but will stay an Objective-C shop for now. The main issues involve the need for more development in the IDE tooling. Also the compiled files tend to be large as Apple wants to insure backward compatible across new versions of Swift.