17
Adam Blum, [email protected] Best Practices in Smartphone App Development

Adam Blum, adam@rhomobile

Embed Size (px)

DESCRIPTION

Best Practices in Smartphone App Development. Adam Blum, [email protected]. Background. iPhone has changed the game All users now want to run real apps on their smartphones It’s a huge win for businesses Workers are productive everywhere, anytime Smartphones are cheaper than laptops - PowerPoint PPT Presentation

Citation preview

Page 1: Adam Blum, adam@rhomobile

Adam Blum, [email protected]

Best Practices inSmartphone

App Development

Page 2: Adam Blum, adam@rhomobile

Background

iPhone has changed the game All users now want to run real apps on their

smartphones It’s a huge win for businesses

Workers are productive everywhere, anytime Smartphones are cheaper than laptops They have senses (sight, hearing, touch) that laptops

never had But

Its difficult to write apps for all smartphones that your people have (without a smartphone app framework)

Good smartphone apps are different than good web apps or good desktop apps

Page 3: Adam Blum, adam@rhomobile

3

Avoid Typing

Pick reasonable default settings number of records, objects to be shown,

languages, sort ordersDon’t have any setup process EVER

first screen should be functionalUse information on device to pick

locations people

3

Page 4: Adam Blum, adam@rhomobile

4

Don’t Do This: KinitoPro

all of this just to get to your accounts? why not just use reasonable defaults?

Page 5: Adam Blum, adam@rhomobile

5

Context Sensitive

take users right to the data common metaphor: list of records at top level or a map with objects using location, time, user info to select what to

showbut no top level lists to select the right

object type/functionSettings as an option on the tab bar

5

Page 6: Adam Blum, adam@rhomobile

6

Don’t Do This: iPivotal

Page 7: Adam Blum, adam@rhomobile

7

Do This: TrackR (Koombea)

Page 8: Adam Blum, adam@rhomobile

8

Leverage Device Capabilities

smartphones have senses: sight, hearing, touch

don’t do myopic web portsyou can probably use:

GPS mapping PIM contacts camera

8

Page 9: Adam Blum, adam@rhomobile

9

What To Do:Nationwide Claims App

great use of device capabilities (GPS, camera) to record accident info free on App Store

Page 10: Adam Blum, adam@rhomobile

10

Synchronized Local Data

make it possible to use the app without connectivity

insure that user’s work on transactions (Create/Update/Delete) is never lost

automatically cache frequently used datagenerally requires some kind of sync

framework

“Sync to Contacts” is not sync10

Page 11: Adam Blum, adam@rhomobile

11

Handle Varying Schemas

Large enterprise apps (CRM, ERP) rarely have fixed/”out of box” schema

Need to handle varying builtin objects (account, contact, task, etc.)

Plus handle inevitable changes to those schemas

one reason why apps for CRM/ERP are rare on the App Store

11

Page 12: Adam Blum, adam@rhomobile

12

IFusion

no local data (sync so you can access contacts when offline)? no save to local PIM contacts?

Page 13: Adam Blum, adam@rhomobile

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)

Page 14: Adam Blum, adam@rhomobile

14

Support All Devices

Android and iPhone have great growthBut BlackBerry and Windows Mobile have

enterprise installed bases that aren’t going away

Symbian is still huge worldwideNokia/Intel Meego and Atom chip are very

interesting

14

Page 15: Adam Blum, adam@rhomobile

15

Rapid Iterations

deliver small identifiable features frequently

use a toolset that enables rapid iteration Objective C might not be the best one for that

15

Page 16: Adam Blum, adam@rhomobile

1616

Rhodes Architecture

RhoSyncServer

RhoSyncServer

your app code

RhoSync client

RhoSync client

ORM (Rhom)ORM (Rhom)

Rhodes components

Rubyexecutor

Rubyexecutor

HTML templates

HTML templates

model

controllercontroller

modelHTML

templatesHTML

templatescontrollercontroller

Backendapp

Backendapp

mobile device

sourceadaptersourceadapter

sourceadapter

Backendapp

Backendapp

model

model

We provide:We provide:

You write:

Rhodesapp

generator

Rhodesapp

generator

Backendapp

Backendapp

Devicecapabilities

Devicecapabilities

smartphone device

Page 17: Adam Blum, adam@rhomobile

17

Leverage Free Data Sources

Rich informational apps still rare on App Store

Synchronized data apps even rarerData.gov is a hugely underexploited area

17