developing custom ios applications for enterprise

31
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

Upload: mobile-march

Post on 20-Jun-2015

754 views

Category:

Documents


0 download

DESCRIPTION

Steve McCoole's 3/21 presentation at Mobiel March 2013

TRANSCRIPT

Page 1: Developing Custom iOs Applications for Enterprise

Developing Custom iOS Applications for

EnterpriseExplaining the perceived value gap between retail app

prices and customer Enterprise app development costs

Steve McCoole, Principal Consultant Mobile DevelopmentObject Partners Inc.

Monday, March 25, 13

Page 2: Developing Custom iOs Applications for Enterprise

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.

Page 3: Developing Custom iOs Applications for Enterprise

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 need2. 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 $

Page 4: Developing Custom iOs Applications for Enterprise

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?

Page 5: Developing Custom iOs Applications for Enterprise

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-applicationhttp://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.

Page 6: Developing Custom iOs Applications for Enterprise

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.

Page 7: Developing Custom iOs Applications for Enterprise

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.

Page 8: Developing Custom iOs Applications for Enterprise

Complexity Factors 2

• QA and Testing

• External service integration (payment gateways, geo location, B2B partners, social networking)

Monday, March 25, 13

Page 9: Developing Custom iOs Applications for Enterprise

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.

Page 10: Developing Custom iOs Applications for Enterprise

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.)

Page 11: Developing Custom iOs Applications for Enterprise

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 technologies2. 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.

Page 12: Developing Custom iOs Applications for Enterprise

iExplorer

Monday, March 25, 13

1. Available for $34.992. Contrived example but real applications have been released with this type of information stored this way.

Page 13: Developing Custom iOs Applications for Enterprise

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.

Page 14: Developing Custom iOs Applications for Enterprise

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.

Page 15: Developing Custom iOs Applications for Enterprise

Lighter Branding

Monday, March 25, 13

1. Lesser level of branding. Corporate colors and logos.

Page 16: Developing Custom iOs Applications for Enterprise

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.

Page 17: Developing Custom iOs Applications for Enterprise

Standard Split View

Monday, March 25, 13

1. Default look of one of the standard controls. Used in the iOS Mail.app. Very plain.

Page 18: Developing Custom iOs Applications for Enterprise

Custom Split View

Monday, March 25, 13

1. Standard controls can be re-skinned to provide enhanced visuals and branding.

Page 19: Developing Custom iOs Applications for Enterprise

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.

Page 20: Developing Custom iOs Applications for Enterprise

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”

Page 21: Developing Custom iOs Applications for Enterprise

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.

Page 22: Developing Custom iOs Applications for Enterprise

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.

Page 23: Developing Custom iOs Applications for Enterprise

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.

Page 24: Developing Custom iOs Applications for Enterprise

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 year2. 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.

Page 25: Developing Custom iOs Applications for Enterprise

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.

Page 26: Developing Custom iOs Applications for Enterprise

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.

Page 27: Developing Custom iOs Applications for Enterprise

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.

Page 28: Developing Custom iOs Applications for Enterprise

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.

Page 29: Developing Custom iOs Applications for Enterprise

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.

Page 30: Developing Custom iOs Applications for Enterprise

Questions?

• Q & A and Discussion

Monday, March 25, 13

Page 31: Developing Custom iOs Applications for Enterprise

Contact Info

[email protected]

• Twitter: smccoole

• www.objectpartners.com/social/weblog

Monday, March 25, 13