1. The document discusses the perceived value gap between typical retail app prices of $1.58 on average and the higher costs of developing custom enterprise apps.
2. It notes that enterprise app development has additional complexities like integrating with existing systems, specialized requirements, security concerns, and extensive testing needs.
3. Examples are given showing costs for retail apps ranging from $6,453 to over $200,000, but enterprise apps generally have greater complexity and thus higher costs starting at $50,000 and rising based on the project scope and integration requirements.
1. Developing Custom
iOS Applications for
Enterprise
Explaining the perceived value gap between retail app
prices and customer Enterprise app development costs
Steve McCoole, Principal Consultant Mobile Development
Object Partners Inc.
Monday, March 25, 13
2. Why Speak On This?
• Average App Price: $1.58
• Average Game Price: $0.89
• Average Overall Price: $1.48
• 55.97% of current Apps are free.
* Statistics from 148apps.biz 3/14/13
Monday, March 25, 13
1. Perception of the end client that wants an app developed is that if it is free or only costs a
small amount, that it must not have taken a lot of time or expense to develop.
2. Let’s quickly examine why apps are released for free or for a low cost.
3. Why so low?
• Hobby or experimental
• Volume sales
• In-app purchase
• Loss Leader
Monday, March 25, 13
1. Hobby - learning how, part of a virtual resume, filling a need
2. Volume/In app - sell a LOT of them or a LOT of in app purchases (games, docs, subs)
3. Loss Leader - drive customers to other products or services (big retail), not meant to
make $
4. What is the minimum?
• Gold Rush - low entry barrier
• Mac for around $599-$1500
• $99/year App Store developer license,
$299/year Enterprise license
• If you don’t put a value on time
Monday, March 25, 13
1. Of course the end client doesn’t care about the cost of a Mac for the developer, they expect
them to have it already and its cost is not passed onto the client.
2. But the premise here is that we make money by developing custom software so we have to
put a value on our time, so how much time might it cost to develop AppStore apps?
5. Some AppStore
Examples
• Twitterrific: Code $200,000; Design
$34,000; PM/Testing/Equipment $16,000
• Barack Obama app: $50,000-$150,000
• TechCrunch Poll of 96 Developers: Avg
$6,453, several omitted development costs
and did not include personal time. Safe to
assume 5-10x when using a contracted
team.
http://stackoverflow.com/questions/209170/how-much-does-it-cost-to-develop-an-iphone-application
http://techcrunch.com/2010/05/16/iphone-app-sales-exposed/
Monday, March 25, 13
1. Numbers are hard to come by for retail app development costs, but a few have been
shared in various forums and discussions.
2. Not all apps are the same in terms of complexity or scope. Wide range of development
cost is to be expected for retail and enterprise.
6. Why is Enterprise
Different?
• Revenue Model - App delivery, possible
support and on-going enhancements
• Wide complexity range
• Less opportunity to develop from scratch
(green field)
• Potentially higher value data, services or
processes
Monday, March 25, 13
1. Doing custom development means in most cases that the code is handed over to the
client at the end, other than support or additional enhancements, that means that this is the
only time to make money.
2. Complexity factors play a large part in developing both enterprise and retail but with
enterprise it is much more likely that there are existing systems and processes that have to
be utilized.
3. The data being handled or services rendered have a higher likelihood of being extremely
valuable to the client. Lost or corrupted data, security breaches, etc are far more harmful.
7. Complexity Factors
• Integration with existing systems
• Specialized requirements or restrictions
• Security
• Customized Controls
• High Design Complexity
Monday, March 25, 13
1. Systems may be using legacy formats, or may not be service accessible at all. Mobile
clients do not have long running sessions. May disconnect suddenly and not be seen again
for hours/days. Extra costs involved in developing/enhancing services for mobile.
8. Complexity Factors 2
• QA and Testing
• External service integration (payment
gateways, geo location, B2B partners, social
networking)
Monday, March 25, 13
9. Service Integration
• The App isn’t always the whole story
• Legacy formats
• Services may not be efficient for mobile
clients
• Systems may not have service front ends at
all
• Multiple systems and processes may be
involved
Monday, March 25, 13
1. Aside from very basic or self contained apps (brochureware, wrapping HTML) normally
need service support. This adds complexity and cost.
2. Systems may be using legacy formats, which take custom parsing on iOS. XML & JSON
well handled. Basic SOAP.
2. Mobile clients do not have long running sessions. May disconnect suddenly and not be
seen again for hours/days. Extra costs involved in developing/enhancing services for mobile.
3. Systems may not have had service access developed. May be new technology and
requirements unfamiliar to the client. Additional infrastructure and expertise may be needed,
adding to the cost.
10. Requirements &
Restrictions
• Privacy requirements
• Sensitive corporate data or IP
• Client business domain specific
requirements (HIPAA)
• Corporate branding or policies
Monday, March 25, 13
1. Client may have privacy requirements imposed by internal policy, state or federal
legislation.
2. The app may handle data or IP that is critical to the operation of the company requiring
extra validation and/or protection.
3. Other domain specific requirements may come into play. Examples like HIPAA for
medical.
4. Could be very specific corporate restrictions that might have to be followed (reporting for
public companies, etc.)
11. Security
• Service Access?Internal network only or
external and mobile access?
• Device owner has control, do not
automatically trust what is sent
• iOS secures storage when passcode set
• Use iOS facilities to store information
securely!
Monday, March 25, 13
1. Need to use secure protocols such as HTTPS, secure authentication mechanisms like
Secure ID, CRYPTOCard, certificate based, VPN standard technologies
2. Identify and limit access by app, device, user and re-check at the service level. Do not
automatically trust a connection from an app.
3. When a passcode is set, iOS automatically provides cryptographic secure storage on the
device. Consider folding passcode use into mobile policy.
4. Use the built in facilities like Keychain to store information securely. It is extremely easy
to look at the contents of apps on the device. Example next slide.
12. iExplorer
Monday, March 25, 13
1. Available for $34.99
2. Contrived example but real applications have been released with this type of information
stored this way.
13. Inspecting Files
Monday, March 25, 13
1. Easy to do if new to iOS development and not familiar with the Keychain APIs.
2. All factors that add to complexity and cost at the app and the service side.
14. Custom vs Standard
Controls
• How deeply branded or customized will
the controls and views be?
• Default controls provide tint and skinning
ability
• Extremely deep branding adds design and
development complexity
• Custom controls and transitions add more
yet
Monday, March 25, 13
1. Don’t go overboard with custom controls and transitions, users have a level of familiarity
with standard iOS control operations and making them learn a lot of new ones to use an app
creates difficulty.
2. Lots of custom transitions and splash screens take time, introducing delay when the user
just wants to use the app to get something done.
16. Deeper Branding
Monday, March 25, 13
1. Still includes corporate color scheme and logos but also provides themed headers and
backgrounds that relate to the various industries the client has a strong presence in.
17. Standard Split View
Monday, March 25, 13
1. Default look of one of the standard controls. Used in the iOS Mail.app. Very plain.
18. Custom Split View
Monday, March 25, 13
1. Standard controls can be re-skinned to provide enhanced visuals and branding.
19. Design Complexity
• Screen navigation and layout
• Think about navigation and transitions
• Portrait vs Landscape, iPad vs mini vs
iPhone
Monday, March 25, 13
1. Navigation and layout can change, sometimes drastically between devices, especially when
moving from the iPad to the iPhone, however even though the iPad mini has the same
resolution as the non-retina iPad the smaller physical screen may require design adjustments
to the user experience.
2. Don’t want to scroll in most cases, clear gesture based hits like the “ dot dot dot “
carousel metaphor.
3. Make it obvious what parts of the screen are “active”
4. Can’t always just turn a layout on its side when going from portrait to landscape.
20. Design for Touch
VS
Monday, March 25, 13
1. No longer have a precision pointing device to select controls or portions of the screen.
iOS takes the surface area contacted by the finger and “interprets” where the user touched.
2. Makes densely packed interfaces hard to use, causes “miss-taps”
21. Don’t Crowd
Monday, March 25, 13
1. Example of interface elements too close together, end up bringing up search when trying
to tap buttons below to change the view type.
22. QA & Testing
How’s Your Testing?
iPad photo by: mauritsonline http://www.flickr.com/photos/mauritsonline/
Monday, March 25, 13
1. What’s the testing strategy? Good to have user testing and feedback but should not rely
exclusively on it. Automated testing often left out or overlooked.
2. iOS provides facilities for logic unit testing and application unit testing. Provides
repeatable and reliable safety check when modifications and enhancements made to the
code.
3. More critical for important information or process flows that the app may be involved in
when used in an enterprise setting.
23. External System
Integration
• Payment gateways
• Reservation systems
• B2B integration with partners
• Social networking or even private
collaboration sites
Monday, March 25, 13
1. Not unique to enterprise software but not necessarily excluded either. Each integration
point requires design, development and testing.
24. Support & Maintenance
• Applications need ongoing care and
maintenance
• Apple changes iOS behavior and interfaces,
sometimes intentionally
• Difficult to stay on older versions of iOS
• Retire support for older versions of iOS to
reduce testing and development complexity
Monday, March 25, 13
1. Need to renew provisioning once a year
2. Apple changes even documented interface behavior (deprecation) or unintentionally
through bugs. These need to be fixed in order for the app to continue to work on newer
devices.
3. Apple makes it hard to stay on old versions. Newer models ship with the latest version.
Apple closes the signing window on older releases making it difficult to restore them or put
images on.
4. The more versions of iOS supported the more complexity is added to the development
and testing effort. Older versions also introduce the possibility of older hardware with less
resources than current models making feature parity harder.
25. Example App Types &
Ranges
• Self-contained app. No integration, custom
controls, minimal design: $10-20k +/-
complexity factors
• Simple enterprise app. Limited number of
integration points, standard formats and
protocols. Light customization and
branding. Security, user interface & testing:
$50k +/- complexity factors
Monday, March 25, 13
1. Some potential classifications for projects and possible ranges.
2. Need at least one Mac for App Signing and the $299/year license.
3. Can vary widely due to complexity factors. Especially on the lower end. Costs can even
double if you have a lot of ambiguity.
4. Assuming rates for skilled multi-discipline development resources that can handle app,
services, assistance in deployment planning, etc. Can use less expensive resources such as
off-shore but more responsibility shifts to you. Less likely to have multi-discipline skill sets.
More risk as the complexity factor of the projects rise.
26. Example App Types &
Ranges
• Medium enterprise application. Multiple
integration points, deeper branding and
design for client customer facing
interaction, enhanced user experience,
scalability. Wider range of users.
Integration in enterprise processes. $100k
+/- complexity factors
Monday, March 25, 13
1. Starts to become a lot more client specific, making generalizations more difficult. The
complexity factors have much more effect.
27. Example App Types &
Ranges
• Large complex enterprise app. Multiple
integration points and process flows across
the entire client. All client user base,
including customers with deep branding.
Enterprise reliability and scalability. Domain
specific security and requirements.
Deployment/Mobile management
assistance. $150k and up
Monday, March 25, 13
1. Extremely client and problem domain specific. Very difficult to approach in generalities.
2. Usually very good candidate projects for some of the cost control recommendations
coming up next like multi phase approach.
28. Controlling Cost
• Know what you want (as much as possible)
• Know what you don’t want
• Get intermediate versions often, review
and revise
• Multiple versions rather than one big
release
Monday, March 25, 13
1. Hard to pin down everything at the beginning but need to have some idea of major
direction and capabilities.
2. Possibly even more important to have an idea of what you DON’T want it to do. Helps
keep the project from becoming a “kitchen sink” affair.
3. Most important, get intermediate versions as soon as you can. Being able to see and
touch the app will definitely have a large impact on what you want to do going forward!
4. Don’t try for absolutely everything at once, especially if mobile is new to the client. Get
something useful integrated and working and build upward from there.
29. Doesn’t this apply to
non-mobile?
• Yes, actually it does!
• The “newness” of mobile sometimes
distracts from what we know of good
practice
• Exciting capabilities and new ways to work
but the basics still apply
Monday, March 25, 13
1. A lot of what we’ve talked about applies to multiple types of custom software
development, desktop, enterprise web development, etc.
2. The new platform and medium provide additional challenges and opportunities but don’t
want to get carried away in the rush.
30. Questions?
• Q & A and Discussion
Monday, March 25, 13
31. Contact Info
• steve.mccoole@objectpartners.com
• Twitter: smccoole
• www.objectpartners.com/social/weblog
Monday, March 25, 13