Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What it takes to build an app

What it takes to build an app

During a Summerschool at the Universiteit van Amsterdam I Introduced app development to students who were taking a course in programming. Most of them were new to the subject of programming, so I tried to give more background information instead of being technical.

Ivo Jansch

July 05, 2016
Tweet

More Decks by Ivo Jansch

Other Decks in Technology

Transcript

  1. UvA Summerschool
    What it takes to build an app

    View Slide

  2. About Egeniq
    2
    “Smart apps for smart devices”

    View Slide

  3. Pathé Thuis App
    ‘App of the week’ at nu.nl
    4.5 (out of 5) stars at iCulture
    3

    View Slide

  4. Pathé Thuis App - Guiding principles
    4
    Simplicity
    Do one thing right (watching movies)
    User friendly
    Intuitive
    Quality

    View Slide

  5. Pathé Thuis App - Guiding principles
    5
    Modern features
    Integrations
    Easier for user / harder for developer

    View Slide

  6. Pathé Thuis App - Guiding principles
    6
    Top content
    ‘Premium’ look and feel

    View Slide

  7. 7

    View Slide

  8. 8
    Newsletters
    Wallets
    Streaming
    Trailers
    Ratings
    Tickets
    User data
    Metadata
    DRM
    Reviews
    App
    CRM
    SEO
    Movie
    Windows
    Payments
    Vouchers

    View Slide

  9. 9
    Graphical Design
    Interaction Design
    Functional Design
    Technical Design
    Security
    Hosting Maintenance
    Monitoring
    Marketing
    Sales
    Content Management
    Licensing
    Project
    App Review
    App
    APIs
    Performance Testing
    Multi Platform SCRUM

    View Slide

  10. Multi platform complexity
    10
    Platform
    ipad tv web xbox
    android ???

    View Slide

  11. The ‘What’ and the ‘Why’
    Functional Design

    View Slide

  12. 12

    View Slide

  13. Functional Design
    WHY > WHAT
    13

    View Slide

  14. Expectation Management
    14

    View Slide

  15. Scenario’s, abstracting features
    15
    My rented movies
    Featured movies
    Featured movie collections
    Recommendations
    Popular movies

    View Slide

  16. The ‘How’
    Interaction Design

    View Slide

  17. 17
    “Design is not just what it looks like.
    Design is how it works.”

    View Slide

  18. 18
    Frames of interaction
    Source: http://mattgemmell.com/2011/07/22/apps-vs-the-web/
    1 frame 2 frames 3 frames

    View Slide

  19. Making it pretty
    Graphical Design

    View Slide

  20. This page intentionally left blank

    View Slide

  21. Under the hood
    Technical Design

    View Slide

  22. Abstractions
    22
    App Optimized API

    View Slide

  23. Architecture
    23

    View Slide

  24. 24
    Multi Platform Development - Crossplatform tools
    Instant Coffee

    View Slide

  25. Building the app
    Development

    View Slide

  26. Communication is key
    26

    View Slide

  27. SCRUM Process at Egeniq
    27
    ‣ Concept leads to an estimate of amount of work
    ‣ Initial estimates form a budget
    ‣ Budget is used to develop the app
    ‣ Keeping an eye on budget, changes during the project are welcomed
    ‣ Deadline and budget are defined up front, functionality will be flexible
    Concept
    Estimate Project
    Budget

    View Slide

  28. SCRUM Process at Egeniq
    28
    ‣ Develop in multiple cycles (sprints)
    ‣ Each sprint allows project improvements, new ideas, changes in
    features
    ‣ The last couple of sprints each deliver a working product that is ‘app
    store ready’
    ‣ While app is being reviewed, next sprint is executed
    Design
    Code
    Test Polish
    App Store
    Review
    Evaluate

    View Slide

  29. Development process
    29
    Develop
    Branch
    Feature
    Branch
    Code
    Commit
    Pull Request
    Code
    Review
    Merge
    New feature

    View Slide

  30. Social Coding
    30

    View Slide

  31. A lesson from open source
    31
    Given enough eyeballs, all bugs are shallow
    - Eric S. Raymond

    View Slide

  32. Continuous Integration
    32
    ‣ Automatic builds
    ‣ Build validation
    ‣ Build distribution
    ‣ https://buildozer.io

    View Slide

  33. Our responsibility as a developer
    ‣Respect user privacy
    ‣Collect only what you need
    ‣Be open about what you collect
    ‣Treat data responsibly
    ‣Write secure code
    ‣Follow common security best practices
    ‣Protect data (server, device, transport)
    ‣Don’t invent your own wheels (standards!)
    33

    View Slide

  34. Making sure it works right
    Testing (QA)

    View Slide

  35. ‣QA process is integral part of process
    •Quality is flexible
    ‣Testing method & practices
    •Automated testing (Unit testing)
    •Manual testing
    •User Interface testing
    •Client environment testing (OS versions, hardware)
    35

    View Slide

  36. Getting it live
    Deployment

    View Slide

  37. App Review
    37
    Automated
    checks
    Manual
    Review
    Reject
    Ready for
    Sale
    Automated
    checks
    Ready for
    Sale
    Automated
    checks
    tip: http://appreviewtimes.com

    View Slide

  38. Performance & Scalability - RTL Nieuws App Launch
    38

    View Slide

  39. Performance & Scalability - RTL Nieuws App Launch
    39
    ‣ News item had > 1 million TV viewers
    ‣ 40.000 installs on day 1
    •30% of which in 5 minutes following news item
    ‣ ~ 100.000 apps installed in week 1
    ‣ No 1 app store position for 16 days in a row
    ‣ Over 1.000.000 installs after a couple of years

    View Slide

  40. Predict Usage Patterns
    Everybody watches movies at roughly the same time
    Friday, Saturday after 20.30
    Holidays
    40

    View Slide

  41. Keeping it alive
    Maintenance

    View Slide

  42. 42

    View Slide

  43. 43

    View Slide

  44. You’re never alone
    Communities

    View Slide

  45. 45
    Communities
    appsterdam.rs cocoaheads.nl dutchaug.org

    View Slide

  46. If you become a programmer
    A couple of tips

    View Slide

  47. 47
    Passion

    View Slide

  48. Take It One Step At A Time

    View Slide

  49. Pick a new
    technology
    Explore
    Get
    Comfortable
    Master

    View Slide

  50. “Perfection is achieved, not when
    there is nothing more to add, but
    when there is nothing left to take
    away”
    Antoine de Saint-Exupéry

    View Slide

  51. Shameless self promotion
    http://nwaysbook.com
    51

    View Slide

  52. Inspiration
    52
    “Stay Hungry, Stay Foolish”
    Steve Jobs 2005 Stanford
    Commencement Address
    https://www.youtube.com/watch?v=UF8uR6Z6KLc

    View Slide

  53. Thank you! Questions?
    [email protected]
    Ivo Jansch
    @ijansch

    View Slide