Best Practices in Smartphone Business Apps

1,494 views
1,412 views

Published on

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

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,494
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
29
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Best Practices in Smartphone Business Apps

  1. 1. Adam Blum, adam@rhomobile.com 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

×