Best Practices in Mobile App Development

1,608 views

Published on

Harbinger Systems will be sharing insights across Conceptualization, Development, Testing and Submission phases of the mobile app development process.

Key Takeaways:

► How to detect problems early on in the ADLC and build a strong platform for app development
► How to automate trivial tasks, make the code maintainable & detect bugs in minimum cycles
► Testing tips which significantly save time during maintenance and app upgrades
► How to Honor the Human Interface Guidelines (HIG) to reduce review time and iterations

Published in: Technology
  • Be the first to comment

Best Practices in Mobile App Development

  1. 1.  Copyright © Harbinger Systems  www.harbinger-systems.com
  2. 2. Presenters Sachin Katariya Pravin Kulange
  3. 3. Agenda • Who we are? • Our experience in this space • What you need to excel as app developer? • Why we need best practices? • Realties of native mobile app lifecycles • Best practices for – Conceptualization – Development – Testing – Submission • Connecting the dots • Q&A • Tools for Troubleshooting Mobile Applications Copyright © Harbinger Systems www.harbinger-systems.com 3
  4. 4. Who we are?  Group companies: Harbinger Systems • Your Partner in Technology Innovation • Leading provider of software engineering services to world’s best product companies Harbinger Knowledge Products • Innovations in Interactivity • Global Leader in interactivity solutions for knowledge-sharing applications Harbinger Group  Over 22 years of global operations  Team of 500+ professionals  Services and customer base in 57+ countries Offices in Pune (India), Redmond (USA), Pleasanton (USA), London (UK) Copyright © Harbinger Systems www.harbinger-systems.com 4
  5. 5. Our experience in this space An Established Mobility Practice  Enterprise and consumer app development for variety of industries – Publishing, eLearning, Healthcare, Retail, Travel, Social, Gaming  Mobile development skills across a range of platforms and technologies – iOS, Android, Blackberry, Windows Phone 7, Symbian  Offline Content Player for mobile platforms  4+ years of experience in building mobile apps  Demonstrated expertise of building 50+ mobility solutions  Customers ranging from start-ups to market leaders Copyright © Harbinger Systems www.harbinger-systems.com 5
  6. 6. What you need to excel as app developer? • Rapid development and faster time-to-market using Best Practices and Accelerators • End-to-end development expertise – Conceptualization to app store publishing – Client app development to service layer development and/or integration • Proficient User Experience (UX) team • Experience in developing and integrating enterprise products and consumer internet applications Product Experience Best Practices, Accelerators UX TeamTech Incubator Advanced Testing Capabilities Server Side Expertise Copyright © Harbinger Systems www.harbinger-systems.com 6
  7. 7. Click to edit Master title style BEST PRACTICES Achieving an optimized app development timeline without compromising on quality
  8. 8. What is the need? Copyright © Harbinger Systems www.harbinger-systems.com 8 Mobile apps have become one of the key enablers for any product or service Time to Market is Important - First mover advantage - Catch up with leaders - Grab the seasonal demand Device and platform diversity continues with greater intensity Controlling Cost is Essential - Make smart decisions and spend judiciously - Avoid overruns and recurring costs Increased user expectations have set a new bar Delivering and Maintaining High Quality is Crucial!
  9. 9. Realities of native mobile app lifecycle Ideation Conceptualization Development Testing Submission Distribution Next version 45-60 days for core application and 15-20 days for updates 70-80 days for core application and 25-40 days for updates However market research indicates… Copyright © Harbinger Systems www.harbinger-systems.com 9 Simple App - $4,000 – $10,000 Moderate App - $10,000 – $50,000 Complex App - $50,000 or more
  10. 10. Ideation Conceptualization Building Testing Submission Distribution How can you achieve an optimized product timeline without compromising on quality? Copyright © Harbinger Systems www.harbinger-systems.com 10
  11. 11. Conceptualization Converting your ideas into tangible forms 1. Know your users • Don’t go overboard in supporting platforms/devices • Decide right user experience (UX) 2. Rapidly build application mock-ups with workflows • Finalize application workflows and interfaces early • Honor platform specific UI guidelines • Use rapid wireframing tools like Balsamiq, MockFlow 3. Plan data exchange • Decide roles of server and mobile app • Plan on protocols (REST or SOAP, JSON or XML) 4. Go for Layered approach instead of Monolithic • User interaction: Native UI controls, 3rd party libs, HTML5 • Business logic: Core app logic using classes and controllers • Data Access Layer: Network services and databases Get clarity on how the app would work and understand issues and bottlenecks in early stages to save rework Copyright © Harbinger Systems www.harbinger-systems.com 11 20%
  12. 12. Development Convert the tangible artifacts into executables 5. Think smarter • Consider the limitations of platforms/devices/networks and follow related guidelines while you design • Build and use common Libraries for app families • Use frameworks like PhoneGap, RhoMobile, Corona 2D for multi-platform apps 6. Don’t hesitate to use Design Patterns • MVC and Template patterns will save effort duplication • Factory method provides better decoupling 7. Don’t compromise on code quality • Use static analysis tools like StaticAnalyzer (XCode), Jupiter (for Eclipse) • Version control add-ons like AgileReview, Crucible (by JIRA) 8. Be Test Ready • Use Unit test frameworks like SenTesting Kit, JUnit • Implement ‘One Click’ build automations (JMeter, Jenkins) These tips will make the code maintainable, detect bugs in minimum cycles and automate tasks - all of which will save considerable time Copyright © Harbinger Systems www.harbinger-systems.com 12 40%
  13. 13. Testing Ensure that the app is usable and secured 9. Automate • Wherever possible automate the testing, prefer cross- platform solutions. • UI testing using Instruments, FoneMonkey • Data validation testing using TestLodge and TestRail • Implement ‘On Field’ crash reporting service (Custom, JIRA) 10. Test Rapidly and Aggressively • Automation helps in rapid functional testing • Use combinatorial testing methods to increase efficiency of testing on variety of network types, form factors, resources 11. Don’t forget Security • For Android use Package Play, Manifest Explorer, Intent Sniffer and Intent Fuzzer These testing techniques ensure superior quality in a short span of time and reduce the need for bug patches. Copyright © Harbinger Systems www.harbinger-systems.com 13 25%
  14. 14. Submission Make your app available through publishers 12. Ensure your app does not have these • Compilation warnings • Duplication of native features and controls • Incorrect user notifications • Over usage of native memory • Redirections to web pages • Improper app description in addition to many other common rejection reasons 13. Understand the review process • Honor the Human Interface Guidelines – Display, gesture, orientation, consistency, aesthetic integrity and feedback • Carefully complete the submission documentation • Produce artifacts needed by reviewer Being prepared will significantly improve the chances for one shot approval Copyright © Harbinger Systems www.harbinger-systems.com 14 15%
  15. 15. Following these best practices, you can achieve nearly 30% reduction in development time and cost without compromising on the quality Simple App : $4,000 – $10,000  $2800 – $7000 Copyright © Harbinger Systems www.harbinger-systems.com 15 Connecting the dots Ideation Conceptualization Development Testing Submission Distribution Next version
  16. 16. Thank you for attending the Webinar! Contact us at hsplinfo@harbingergroup.com for more information www.harbinger-systems.com Pune (India), Redmond (WA, USA), Pleasanton (CA,USA), London (UK)
  17. 17. Tools - Troubleshooting Mobile Applications http://blog.harbinger-systems.com/2011/02/trouble-shooting-mobile-applications/ Copyright © Harbinger Systems www.harbinger-systems.com 17 Comprehensive list of tools to help you troubleshoot your apps

×