2. Background
- iPhone and Android have changed the game
-
- All users nowwantto run apps on their smartphones
-
- writing native apps that run at the edge is quite different
than web apps
-
- Tools for mobility are mostly the same as 20 years ago
-
- Approaches to mobile development dont incorporate modern
software engineering
3. Whats Different v. Web Apps
4. Context Sensitivity
- take users right to the data
-
- common metaphor: list of records at top level
-
- using location, time, user info to select
- but no top level lists to select the right object
type/function
- settingsas an option on the tab bar
5. iPivotal 6. TrackR (Koombea) 7. Local Data
- make it possible to use the app without connectivity
- insure that users work on transactions (Create/Update/Delete)
is never lost
- automatically cache (through database or otherwise) frequently
used data
8. Handle Changed/ Dynamic Schemas
- Enterprise apps (especially CRM and ERP) NEVER use the default
schema
- But apps on the App Store are all written to use the default
schema
- How do you handle this if you want to ship enterprise apps on
the App Store?
9. What Not To Do: KinitoProall of this just to get to your
accounts?why not just use reasonable defaults? 10. What To
Do:RhoLogic for SugarCRM (written with Rhodes) take people to their
objects right away. summarize data on the device with dashboards
11. Limit Objects/Functions
- ideally one main object types
- no more than two or three dependent objects
- limit features/functions/actions on objects
12. IFusion no local data (sync so you can access contacts when
offline)? no save to local PIM contacts? 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. Device Capabilities
- smartphones have senses: sight, hearing, touch
15. What To Do: Nationwide Claims App great use of device
capabilities (GPS, camera) to record accident info. free on App
Store 16. Rapid Iterations
- deliver small identifiable features frequently
- use a toolset that enables rapid iteration
-
- Objective C might not be the best one for that
17. Rhodes Architecture RhoSync Server your app code
RhoSyncclient ORM (Rhom) Rhodes components Ruby executor
HTMLtemplates model controller model HTMLtemplates 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: 18. Address Your Full
Userbase
- Enterprises are ALWAYS heterogeneous
- And becoming moreso every day (Android, Meego, Windows Phone
7)
- Your app will never be an enterprise standard unless you reach
all those devices