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, 2015Asaf Saar, CEOTenKod Ltd.asaf.saar@tenkod.comwww.tenkod.comAgenda1. Evolution of Mobile2. Mobile Development Landscape3. Mobile Delivery Challenges4. Apps Delivery Models5. Methods, Tools and Practices6. Q&AAbout 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 SalesWorld-Wide Smartphone SalesMobile Development LandscapeDevelopment 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 ModelsDev Test Deliver Local, freelanceDev Integrate Test Deliver Team, integrationCorporate, stagingDev 1, Dev 2, Dev N Integrate Test Deliver Local Merge IntegraRon Test Deliver IntegraRon Merge User Acceptance Test Deliver ProducRon Agile, Continuous IntegrationLocal Test Integrated Test Deliver Agile, Continuous DeliveryNovice Beginner Intermediary Advanced Expert Local Test Integrated Test Deliver Methods, Tools and PracticesMethods 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 TestingPros Mass users Mass devices Remote locaRons LocalizaRon Remote networks To name a few uTest / Applause We-Test UberTester Testbirds Automation, Open SourcePros Free Community Your Code To name a few Calabash Espresso Appium Frank KIF RoboRum Selendroid Automation, ProprietaryPros Script recording Robust reporRng Support Device Cloud IntegraRon To name a few TenKod Keynote Appurify SOASTA Perfecto Mobile Ranorex CI / CDPros 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 TestAppMobile Apps Testing Made EasyVCS (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 reservedAsaf Saar, CEOTenKod Ltd.asaf.saar@tenkod.comwww.tenkod.comReferences 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 aliates. 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.