"Release Early, Release Often" is a proven mantra and many companies have taken this one step further by releasing products to real users with every commit a.k.a Continuous Deployment (CD).
Over the years, I've built many web/infrastructure products, where we've effectively practiced CD. However at Edventure Labs, when we started building iPad games, we realised there was no easy was to practice CD, esp. given the fact that Apple review takes a few days.
Our main question was: As mobile app developers, how should we architect/design our apps for CD?
We were a young startup, learning new behaviour about our users (kids aged 5-8) everyday. We could not afford any delay in releasing latest, greatest features to our users. To solve this problem, I believe we've built an innovative solution to enable any mobile app developer to achieve CD.
If you are building real products, which have platform/3rd-party dependencies and you want to practice CD, this session is for you.
2. 45 mins Structure
•
5 Mins - Demo of the Game
•
10 Mins - Continuous Deployment (Biz Case)
•
3 Mins - Challenges with CD for iPad apps
•
5 Mins - Our Approach
•
10 Mins - Our Architecture
•
5 Mins - Recap
•
7 Mins - Q & A
17. Can we embrace CD
for eLearning?
Rich Multi-Media Content
Video, Screencasts, Quizzes, Images, Personas, etc.
Programming Exercises
Java, C#, C++, C & Python
Mac OS, Windows, Linux, Solaris
Different IDE Plugins
Server side code analysis
(Java, C#, C++, C & Python)
Licensed Under Creative Commons by Naresh Jain
18. This is what we did...
Licensed Under Creative Commons by Naresh Jain
19. Deploy build to inactive
production servers
Licensed Under Creative Commons by Naresh Jain
24. iOS App CD Challenges
•
Apple takes any where between 3 Days to 1
Week to push a new update to the app store
•
Pretty complicated and cumbersome signing
and packing process
•
Need to deploy to actual iOS devices to test
minor changes
25. How did we solve this problems?
•
We decided to go down the HTML5 Route
•
Changes/Updates needed to be made at 3 levels:
•
Content Changes & Logic Changes
•
Look and Feel Changes
•
Infrastructure Changes