Data to Go: Mobile API Design
ATTENTION: You must signup in advance to attend this workshop. You will need to have a valid SXSW badge, and an activated SXsocial account. To reserve your seat, please go here: https://sup.sxsw.com/schedule/IAP17442
You spent the last 6 months building your company’s first mobile app. You endured long hours at the office gathering requirements. You were up late drinking reheated coffee at 3am pushing pixels to perfect the app store icon. You tested the swipe animation so many times you have blisters on your thumb.
Then the day finally comes. You publish your app and excitedly check the reviews:
★☆☆☆☆ killz the battery - Uninstall
★★☆☆☆ Two stars. Two slow.
★☆☆☆☆ exposes contacts over network. INSTALL AT YOUR OWN RISK!
While the networking and data layer may not be the sexiest part of your application it is vitally important to the experience of your users. Inefficient and insecure mobile APIs can drain the battery, slow performance, and expose users to data and identity theft.
This workshop introduces a set of 3 principles for mobile API design that will speed up performance, enable better resource management, and improve the overall user experience of your next mobile app.
The format is broken down into 4 segments, each lasting about an hour. Each hour includes a lecture and a coding exercise. Participants can work independently or pair program with another attendee. The goal is to develop a working server application using Node.js and a mobile client on iOS and/or Android using the principles presented in the workshop.
The first hour explores the topic of mobile APIs. What is an API? Why is API design important? How does a mobile API differ from a traditional web API.
The second hour introduces the 1st principle of mobile API design: Reduce Round Trips to the Server. We will discuss API architecture, resource optimization, transfer protocols, and batch requests. Participants will implement a mobile-optimized login flow in the sample application.
The next hour focuses on the 2nd principle: Control Verbosity. This includes data format, compression, image optimization, and the concept of object expansion. The coding exercise will involve implementing object expansion for specific API resources.
The final hour is devoted to the 3rd principle of good mobile API design: Restrict Access. Topics covered will include security and authentication. Secure authentication will added to the sample application using access tokens.
Prerequisites:
- Participants should have some programming experience.
- Proficiency with JavaScript, Node.js, Android and/or iOS development is a plus.
What to Bring:
- Participants should bring laptop.
- A working iOS and/or Android development environment will be required for some coding exercises.
Presenters
Chuck Greb
Sr Software Engineer
Mapzen
Chuck is a mobile software craftsman practicing clean code, responsive design, and test-driven development. With over 10 years of software engineering experience, he is passionate about creating robust full stack applications.
Since 2009 he has been focusing primarily on Android development, building applications for companies such as Comcast, MeetMe, HowAboutWe, AWeber Communications, and Mapzen.
As co-coordinator of GDG Philadelphia and Android Alliance Philadelphia, Chuck helps promote and support the local development community. He also builds and plays traditional drums from Guinea, West Africa.
Matt Smollinger
CTO
Skaffl LLC
Matt has been involved in software development since he was building simple games on his parents’ Commodore VIC20. He’s fully embraced the concepts of full stack engineering, having knowledge and worked with API, web, and desktop software development, networking, client/server systems, database, storage, and others.
Mobile has been his passion since owning his first Blackberry device, but he really dived in with the launch of the iPhone. He’s worked for major publishers, marketing companies, and technology companies such as myYearbook, MeetMe, AWeber Communications, along with smaller companies like Skaffl, an education app company.
He’s actively involved in the local tech community with Android Alliance and Philly Cocoaheads. In addition, he loves music, singing, playing guitar and bass, and moonlights in community choirs as needed.