How to develop a mobile app for events and conferences with little to no resources

1,194 views

Published on

How to develop a mobile app for events and conferences with little to no resources at scale

Published in: Social Media, Technology

How to develop a mobile app for events and conferences with little to no resources

  1. 1. How to develop a conference/event mobile app in 2 months with little to no resources (and still keep [some of] your sanity)
  2. 2. Talent Connect
  3. 3. HOW BIG? 3
  4. 4. THIS BIG 4
  5. 5. MASSIVE 5
  6. 6. 3200+ Attendees
  7. 7. Not a trivial problem
  8. 8. The end goal
  9. 9. More professional, more social, and more mobile Create a more engaging event experience with social gestures via a mobile application Confidential
  10. 10. Product
  11. 11. Confidential
  12. 12. Talent Connect Features 2013         Agenda / Speakers Who is here / Connections who are here People you should meet (PYMK joined with attendees) Rate sessions Analytics (mixpanel) Push notifications (Urban airship stretch goal) Sharing to NUS – (viral hooks experimental stretch goal) Embedded Slideshare decks (extreme experimental stretch goal) Confidential 12
  13. 13. MVP Platforms
  14. 14. 14
  15. 15. Wait. I don’t know: Objective-C Java
  16. 16. Doh!
  17. 17. 17
  18. 18. Native vs. HTML5
  19. 19. I’ll take speed* to MVP in this case * The javascript engine on iOS is blazingly fast as of iOS6!
  20. 20. Frontend technical details  PhoneGap for iOS and Android native apps  HTML5: Mobile Web Experience for other clients Confidential 20
  21. 21. 3200+ Attendees
  22. 22. Can it scale on the backend?
  23. 23. NodeJS
  24. 24. Express? Nope.
  25. 25. Hapi.js (Walmart Labs)
  26. 26. Build for scale (3200+ Attendees)      Nodejs (~2000 qps) Server side memcache (hapi.js) Client side cache (versioning heartbeat) Real time content changes (js injection) Reusable shell and content ready for Talent Connect London (+2 weeks) Confidential 26
  27. 27. Build for client speed  DOM manipulation only (saves rendering time for WebViews)  Client side cache (versioning heartbeat)  Lazy load images  Static assets loaded into native app when “common”, network sensitive, or large in size Confidential 27
  28. 28. Client side plugins      jQuery Hammer.js (swipe gestures) Lazyload.js Spin.js Fastclick.js (reduces delay of clicks on mobile) Confidential 28
  29. 29. Conference risks  Wireless/network connection at event could be spotty (slow to/no-load of resources)  Last minute agenda/speaker updates most likely Confidential 29
  30. 30. Overcoming risks  Content must be cached on client  Post-push-to-app-store changes via js injections (DOM manipulation on the fly and cached on client in case of network outage) Confidential 30
  31. 31. localStorage.setItem(“client-cache”,”ftw”); function checkForAgendaUpdates() { $.getJSON(versionAPI, {}, function(data) { // RETURNS Small dataset aka {version: 1.0} // push as little data to the client as possible // object also cached on server to reduce large file requests when not needed var newVersion = data.version; if (!localStorage.getItem("currentVersion") || data.version > localStorage.getItem("currentVersion")) { console.log("We are out of date and must update"); $.getJSON(updateAPI, {}, function(data) { if (localStorage.getItem("location") == "london") { agendaJSON = data.London; } else { agendaJSON = data.Vegas; } localStorage.setItem("agenda", JSON.stringify(data)); localStorage.setItem("currentVersion", newVersion); }); } }); } Confidential 31
  32. 32. Timeline management
  33. 33. 2600+2600+ Weeks for iOS app approval 33
  34. 34. Start iOS First
  35. 35. Android next…
  36. 36. Engagement
  37. 37. 2600+2600+ 1300+ members 2600+ members 37
  38. 38. 2600+2600+ Page views* 38 * Not actual page view events but activity events inside the DOM that should be classified as page views.
  39. 39. 2600+2600+ Shares to LinkedIn 39
  40. 40. 2600+2600+ Rated session actions 40
  41. 41. Views Speakers PYSM CheckIns Who is here 2600+2600+ Connections Map Home Agenda 0 5000 10000 15000 20000 Axis Title 25000 30000 35000 41
  42. 42. Q&A
  43. 43. UX evolution of an app (appendix slides)
  44. 44. March 2010 44
  45. 45. June 2011 45
  46. 46. September 2013 46

×