Best Practices in Smartphone Business Apps


Published on

talk from Web 2.0 on recommendations of how to best build enterprise smartphone apps. Also briefly covers Rhomobile's Rhodes framework

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Best Practices in Smartphone Business Apps

  1. 1. Adam Blum, Best Practices in Smartphone Business Apps
  2. 2. Background <ul><li>iPhone has changed the game </li></ul><ul><ul><li>All users now want to run real apps on their smartphones </li></ul></ul><ul><li>It’s a huge win for businesses </li></ul><ul><ul><li>Workers are productive everywhere, anytime </li></ul></ul><ul><ul><li>Smartphones are cheaper than laptops </li></ul></ul><ul><ul><li>They have senses (sight, hearing, touch) that laptops never had </li></ul></ul><ul><li>But </li></ul><ul><ul><li>Its difficult to write apps for all smartphones that your people have (without a smartphone app framework) </li></ul></ul><ul><ul><li>Good smartphone apps are different than good web apps or good desktop apps </li></ul></ul>
  3. 3. Avoid Typing <ul><li>Pick reasonable default settings </li></ul><ul><ul><li>number of records, objects to be shown, languages, sort orders </li></ul></ul><ul><li>Don’t have any setup process EVER </li></ul><ul><ul><li>first screen should be functional </li></ul></ul><ul><li>Use information on device to pick </li></ul><ul><ul><li>locations </li></ul></ul><ul><ul><li>people </li></ul></ul>
  4. 4. Don’t Do This: KinitoPro all of this just to get to your accounts? why not just use reasonable defaults?
  5. 5. Context Sensitive <ul><li>take users right to the data </li></ul><ul><ul><li>common metaphor: list of records at top level </li></ul></ul><ul><ul><li>or a map with objects </li></ul></ul><ul><ul><li>using location, time, user info to select what to show </li></ul></ul><ul><li>but no top level lists to select the right object type/function </li></ul><ul><li>Settings as an option on the tab bar </li></ul>
  6. 6. Don’t Do This: iPivotal
  7. 7. Do This: TrackR (Koombea)
  8. 8. Leverage Device Capabilities <ul><li>smartphones have senses: sight, hearing, touch </li></ul><ul><li>don’t do myopic web ports </li></ul><ul><li>you can probably use: </li></ul><ul><ul><li>GPS </li></ul></ul><ul><ul><li>mapping </li></ul></ul><ul><ul><li>PIM contacts </li></ul></ul><ul><ul><li>camera </li></ul></ul>
  9. 9. What To Do: Nationwide Claims App great use of device capabilities (GPS, camera) to record accident info free on App Store
  10. 10. Synchronized Local Data <ul><li>make it possible to use the app without connectivity </li></ul><ul><li>insure that user’s work on transactions (Create/Update/Delete) is never lost </li></ul><ul><li>automatically cache frequently used data </li></ul><ul><li>generally requires some kind of sync framework </li></ul><ul><li>“ Sync to Contacts” is not sync </li></ul>
  11. 11. Handle Varying Schemas <ul><li>Large enterprise apps (CRM, ERP) rarely have fixed/”out of box” schema </li></ul><ul><li>Need to handle varying builtin objects (account, contact, task, etc.) </li></ul><ul><li>Plus handle inevitable changes to those schemas </li></ul><ul><li>one reason why apps for CRM/ERP are rare on the App Store </li></ul>
  12. 12. IFusion no local data (sync so you can access contacts when offline)? no save to local PIM contacts?
  13. 13. InfusionSoft written with Rhodes. data is synced and available offline. robust set of capabilities on each contact (tags, followup sequence, history, action set). save to PIM (address book)
  14. 14. Support All Devices <ul><li>Android and iPhone have great growth </li></ul><ul><li>But BlackBerry and Windows Mobile have enterprise installed bases that aren’t going away </li></ul><ul><li>Symbian is still huge worldwide </li></ul><ul><li>Nokia/Intel Meego and Atom chip are very interesting </li></ul>
  15. 15. Rapid Iterations <ul><li>deliver small identifiable features frequently </li></ul><ul><li>use a toolset that enables rapid iteration </li></ul><ul><ul><li>Objective C might not be the best one for that </li></ul></ul>
  16. 16. Rhodes Architecture RhoSync Server your app code RhoSync client ORM (Rhom) Rhodes components Ruby executor HTML templates model controller model HTML templates controller Backend app mobile device source adapter Backend app model model We provide: Rhodes app generator Backend app Device capabilities smartphone device source adapter You write:
  17. 17. Rhodes v. Other Frameworks <ul><li>Only one that supports all devices </li></ul><ul><li>Only one with synchronized data </li></ul><ul><li>Only MVC framework </li></ul><ul><ul><li>And only ORM </li></ul></ul><ul><li>First Ruby on the device </li></ul><ul><li>First and only hosted development service for mobile </li></ul>
  18. 18. Summary <ul><li>Context sensitivity </li></ul><ul><li>Avoid typing </li></ul><ul><li>Leverage the device </li></ul><ul><li>Support all devices </li></ul><ul><li>Synchronized local data </li></ul><ul><li>Handle varying metadata </li></ul><ul><li>Rapidly iterate </li></ul>
  19. 19. RhoLogic for SugarCRM