mobile apps delivery - evolution and tools

31
Mobile Apps Delivery – Evolution and Tools Haifa Tech Talk, April 14, 2015 Asaf Saar, CEO TenKod Ltd. [email protected] www.tenkod.com

Upload: asaf-saar

Post on 16-Jul-2015

287 views

Category:

Software


1 download

TRANSCRIPT

Mobile Apps Delivery – Evolution and Tools

Haifa Tech Talk, April 14, 2015

Asaf Saar, CEOTenKod Ltd.

[email protected]

Agenda

1.  Evolution of Mobile

2.  Mobile Development Landscape

3.  Mobile Delivery Challenges

4.  Apps Delivery Models

5.  Methods, Tools and Practices

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

http://il.linkedin.com/in/asafsaar [email protected]

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  

World’s 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  

§  Appery.io  §  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  different  from  desktop  

How different from Desktop?

§  No  common  delivery  soluRon  

§  Device  fragmentaRon  

§  Users  interact  differently  

§  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  

Local  

• Merge  • IntegraRon  Test  • Deliver  

IntegraRon   • Merge  • User  Acceptance  Test  • Deliver  

ProducRon  

Agile, “Continuous Integration”

Local  

Test  

Integrated  Test  

Deliver  

Agile, “Continuous Delivery”

Novice Beginner Intermediary Advanced Expert

Local  

Test  

Integrated  Test  

Deliver  

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  

§  Offline  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

Pros  

§  Mass  users  

§  Mass  devices  

§  Remote  locaRons  

§  LocalizaRon  

§  Remote  networks  

To  name  a  few  

§  uTest  /  Applause  

§  We-­‐Test  

§  UberTester  

§  Testbirds  

Automation, Open Source

Pros  

§  Free  

§  Community  

§  Your  Code  

To  name  a  few  

§  Calabash  

§  Espresso  

§  Appium  

§  Frank  

§  KIF  

§  RoboRum  

§  Selendroid  

Automation, Proprietary

Pros  

§  Script  recording  

§  Robust  reporRng  

§  Support  

§  Device  Cloud  IntegraRon  

To  name  a  few  

§  TenKod  

§  Keynote  

§  Appurify  

§  SOASTA  

§  Perfecto  Mobile  

§  Ranorex  

CI / CD

Pros  

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

[email protected]

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  

affiliates.  

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.