Mobile Apps Delivery - Evolution and Tools

Download Mobile Apps Delivery - Evolution and Tools

Post on 16-Jul-2015




1 download


  • Mobile Apps Delivery Evolution and Tools

    Haifa Tech Talk, April 14, 2015

    Asaf Saar, CEOTenKod Ltd.

  • Agenda

    1. Evolution of Mobile2. Mobile Development Landscape3. Mobile Delivery Challenges4. Apps Delivery Models5. Methods, Tools and Practices6. Q&A

  • About Me

    Asaf Saar, Co-Founder and CEO of TenKod Ltd. 19 years of professional experience in So@ware Engineering Prior to TenKod, 8 years at SAP, last role as APO of SE Agile So@ware trainer, coacher and mentor Married to Merav and father of three Astronomy and fast cars are my hobbies

  • Evolution of Mobile - Devices

    1973 First handheld mobile developed 1984 Nokia talkman 1992 Motorola InternaRonal 3200 1994 IBM Simon Personal Communicator 1996 Motorola Startac 1998 Nokia 5110 1999 BlackBerry 850 2007 iPhone 2008 Android

  • Evolution of Mobile - OS

    1973-1993 Embedded System based OS 1996 Palm Pilot, Windows CE 2000 Symbian 2002 BlackBerry 2007 iOS, Windows Mobile 2008 Android 2009 webOS, Bada, Palm OS 2011 Tizen 2012 Firefox OS 2013 Ubuntu Touch

    Worlds most popular OS and Smartphone. Till 2010

  • World-Wide Smartphone Sales

  • World-Wide Smartphone Sales

  • Mobile Development Landscape

    Development Targets OS Level NaRve Hybrid Web Development Landscapes Single developer Team Staging Cloud Hybrid

    Development Frameworks Android SDK iOS ObjecRveC/Swi@ Windows Mobile / .NET PhoneGap Titanium Appcelerator Xamarin Angular UI Sencha Touch

  • iOS Challenge

    15 DisRnct Devices (coun&ng from iPhone 4S) 70% of users adopt latest OS within 6 months 8 DisRnct screen dimensions

  • Android Challenge

    18,796 DisRnct Devices (as of 8/14) 5% of users adopt latest OS 150 DisRnct screen dimensions

  • Mobile Delivery Challenges

    Fragmented landscape of mobile devices Fragmented landscape of development environment Increased complexity of business applicaRons OS, NaRve, Web and Hybrid apps Dev/Test/Deliver cycle Rmes are very short Limited access to devices and mobile networks Very dierent from desktop

  • How different from Desktop?

    No common delivery soluRon Device fragmentaRon Users interact dierently Device resources are limited App stores limitaRons Rapid development

  • Apps Delivery Models

  • Dev Test Deliver

    Local, freelance

  • Dev Integrate Test Deliver

    Team, integration

  • Corporate, staging

    Dev 1, Dev 2, Dev N Integrate Test Deliver


    Merge IntegraRon Test Deliver

    IntegraRon Merge User Acceptance Test Deliver


  • Agile, Continuous Integration



    Integrated Test


  • Agile, Continuous Delivery

    Novice Beginner Intermediary Advanced Expert



    Integrated Test


  • Methods, Tools and Practices

  • Methods

    Manual / Ad hoc AutomaRon Unit, API, Services, UI, Security, Load LocalizaRon Network Cloud based Devices Crowd

  • None UI Testing

    Broken connecRvity simulator Oine mode Excessive resource usage AB TesRng / Feature toggling Non visual events asserRons API mocks Stats tesRng

    OTA updates Stress tesRng Image recogniRon Crash detecRon Sensors OS event simulaRons

  • Crowed Testing


    Mass users Mass devices Remote locaRons LocalizaRon Remote networks

    To name a few

    uTest / Applause We-Test UberTester Testbirds

  • Automation, Open Source


    Free Community Your Code

    To name a few

    Calabash Espresso Appium Frank KIF RoboRum Selendroid

  • Automation, Proprietary


    Script recording Robust reporRng Support Device Cloud IntegraRon

    To name a few

    TenKod Keynote Appurify SOASTA Perfecto Mobile Ranorex

  • CI / CD


    Automated Processes Instant feedback Faster delivery Learn and improve

    To name a few

    Jenkins TeamCity Bamboo ToughtWorks Go/Snap Chef

  • Where do we head from here?

  • The future

    Be sure, it will get even MORE complex (Wearable, IoT) Yet, soluRons should be VERY simple Openness & 3rd Party integraRon AutomaRon, automaRon, automaRon

  • TenKod EZ TestApp

  • Mobile Apps Testing Made Easy

    VCS (Version Control System)

    TenKod Studio

    1. Develop Mobile app

    5. Triggers a

    build of

    the changed

    VCS repo

    TenKod Nexus (Delivery repository)

    TenKod Jenkins slave 2 (e.g. Tests on Phone)

    TenKod Jenkins slave 1 (e.g. Tests on Tablet)

    5.1 Distributed parallel build

    3. Modify test project

    TenKod Master Jenkins

    Dave Lopper

  • Thank you!

    Copyright 2015 TenKod Ltd. All rights reserved

    Asaf Saar, CEOTenKod Ltd.

  • References and trademarks:

    1. TenKod name, logo and icon are trademarks of A.O.E TenKod Ltd. 2. Amazon AWS name and logo are trademarks of Amazon Web Services, Inc. or its


    3. Eclipse name and logo are the intellectual property of the Eclipse FoundaRon. 4. Sonatype and Sonatype Nexus are trademarks of Sonatype, Inc. 5. Apache Maven and Maven are trademarks of the Apache So@ware FoundaRon. 6. M2Eclipse is a trademark of the Eclipse FoundaRon. 7. Git is a member of So@ware Freedom Conservancy 8. All other trademarks are the property of their respecRve owners.