Lean Mobile App Development: Apply Lean startup methodologies to develop successful iOS and Android apps
()
About this ebook
Develop lean iOS and Android apps using industry standard techniques and lean development practices.
About This Book- Build ready-to-deploy apps with less iterations and shorter development times
- Adopt the lean startup methodologies to develop iOS and Android apps that shine in the App Store
- This hands-on guide puts continuous innovation into practice to develop successful mobile apps
This book is for developers, CTOs, and architects working for a startup or another kind of lean startup environment, such as start-up within a cooperation. It is is ideal for any iOS and Android developer who wants to build successful mobile apps by adopting the lean startup methodology.
What You Will Learn- Apply the lean startup methodology to real Android and iOS development
- Define what your hypotheses are by creating an Minimal Viable Product
- Validate your idea against the Business Model Canvas
- Gather feedback through statistics and by getting user comments, learn from it, and adapt your app accordingly
- Develop skills and devise strategies to build versatile and flexible apps that meet changing business requirements
- Investigate the possibilities when you need to pivot your start-up idea whether in a startup or an established business.
- Create a successful app and get tips on how to boostconversion and how to optimize the on boardingprocess.
Lean is the ultimate methodology for creating a startup that succeeds. Sounds great from a theoretical point of view, but what does that mean for you as an a technical co-founder or mobile developer?
By applying the Lean Start-up methodology to your mobile App development, it will become so much easier to build apps that take Google Play or the App Store by storm. This book shows you how to bring together smarter business processes with technical know-how.
It makes no sense to develop a brilliant app for six months or longer only to find out later that nobody is interested in it. Build a Minimum Viable Product (MVP) first. Validate your hypotheses early and often. Discover effective product development strategies that let you put Facebook's famous axiom "move fast and break things" into practice.
A great app without visibility and marketing clout is nothing, so use this book to market your app, making use of effective metrics that help you track and iterate all aspects of project performance.
Style and approachThis book takes a hands-on approach to developing apps through the Lean Start-up Methodology. Following a 50% business and 50% tech approach, this book is filled with practical examples and real-world experiments.
Related to Lean Mobile App Development
Related ebooks
Responsive Design High Performance Rating: 0 out of 5 stars0 ratingsKnockoutJS by Example Rating: 0 out of 5 stars0 ratingsHTML Skills Guide Rating: 0 out of 5 stars0 ratingsHTML Application Second Edition Rating: 0 out of 5 stars0 ratingsAdobe Photoshop: The world's best imaging and photo editing software Rating: 0 out of 5 stars0 ratingsHTML5 A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsComputer Productivity Book 3. Use AutoHotKey to License & Deploy Your Scripts to Sell: AutoHotKey productivity, #3 Rating: 0 out of 5 stars0 ratingsBeginning DotNetNuke Skinning and Design Rating: 0 out of 5 stars0 ratingsBasics of Programming: A Comprehensive Guide for Beginners: Essential Coputer Skills, #1 Rating: 0 out of 5 stars0 ratingsTwilio Cookbook Rating: 0 out of 5 stars0 ratingsHTML5 for Flash Developers Rating: 5 out of 5 stars5/5Beginning Visual Basic 2010 Rating: 0 out of 5 stars0 ratingsGetting Started with NativeScript Rating: 0 out of 5 stars0 ratingsOData Programming Cookbook for .NET Developers Rating: 0 out of 5 stars0 ratingsSimultaneous multithreading A Complete Guide Rating: 0 out of 5 stars0 ratingsSignalR Realtime Application Cookbook Rating: 0 out of 5 stars0 ratingsPractical C Programming: Solutions for modern C developers to create efficient and well-structured programs Rating: 0 out of 5 stars0 ratings(Part 1) You Must Learn VBScript for QTP/UFT: Don't Ignore The Language For Functional Automation Testing Rating: 5 out of 5 stars5/5Humanity's Second Chance: Interactive HTML, Intermediate CSS and Responsive Design (Virtual Boxed Set): Undead Institute Rating: 0 out of 5 stars0 ratingsCV Writing for IT Technicians Rating: 4 out of 5 stars4/5My First Webpocalypse: Beginner HTML, CSS, and Usability (Virtual Boxed Set): Undead Institute Rating: 0 out of 5 stars0 ratingsCybersecurity - Attack and Defense Strategies: Infrastructure security with Red Team and Blue Team tactics Rating: 5 out of 5 stars5/5OpenCart Theme and Module Development Rating: 0 out of 5 stars0 ratingsjQuery Mobile Web Development Essentials - Third Edition Rating: 0 out of 5 stars0 ratingsMicrosoft System Center Orchestrator 2012 R2 Essentials Rating: 0 out of 5 stars0 ratingsMastering Kotlin for Android 14: Build powerful Android apps from scratch using Jetpack libraries and Jetpack Compose Rating: 0 out of 5 stars0 ratingsPrestaShop Module Development Rating: 0 out of 5 stars0 ratingsSoftware Documentation Strategy A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsPrestaShop 1.3 Beginner's Guide Rating: 5 out of 5 stars5/5Magento Beginner's Guide Rating: 0 out of 5 stars0 ratings
Programming For You
Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Gray Hat Hacking the Ethical Hacker's Rating: 5 out of 5 stars5/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5C Programming For Beginners: The Simple Guide to Learning C Programming Language Fast! Rating: 5 out of 5 stars5/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5HTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5HTML in 30 Pages Rating: 5 out of 5 stars5/5Linux: Learn in 24 Hours Rating: 5 out of 5 stars5/5Python QuickStart Guide: The Simplified Beginner's Guide to Python Programming Using Hands-On Projects and Real-World Applications Rating: 0 out of 5 stars0 ratingsLearn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 5 out of 5 stars5/5Excel 101: A Beginner's & Intermediate's Guide for Mastering the Quintessence of Microsoft Excel (2010-2019 & 365) in no time! Rating: 0 out of 5 stars0 ratingsNarrative Design for Indies: Getting Started Rating: 4 out of 5 stars4/5JavaScript All-in-One For Dummies Rating: 5 out of 5 stars5/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5C All-in-One Desk Reference For Dummies Rating: 5 out of 5 stars5/5C++ Learn in 24 Hours Rating: 0 out of 5 stars0 ratingsPYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5
Reviews for Lean Mobile App Development
0 ratings0 reviews
Book preview
Lean Mobile App Development - Mike van Drongelen
Lean Mobile App Development
Apply Lean startup methodologies to develop successful iOS and Android apps
Mike van Drongelen
Adam Dennis
Richard Garabedian
Alberto Gonzalez
Aravind Krishnaswamy
BIRMINGHAM - MUMBAI
Lean Mobile App Development
Copyright © 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: November 2017
Production reference: 1241117
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78646-704-1
www.packtpub.com
Credits
About the Authors
Mike van Drongelen works as a mobile solution consultant in the Netherlands. He develops Android, iOS, and .NET solutions for various customers and has some start-up projects of his own. Creating successful software using less code is what he is aiming for. He thinks developing software is fun, but waste is not. Too often, the business guys do not fully understand the tech guys and the other way around. This, among other insights, explains why he is interested in the lean start-up methodology and why he thinks it is important to apply it to mobile application development too. When he is not developing apps, he likes to go on trips on his motorbike or with his 2 CV.
Adam Dennis is a seasoned unicorn who has run political campaigns, created tech training centers for at-risk youth, and founded and sold a successful SaaS. Adam, as VP of Product Development, now runs more than 10 software teams for Dominion Dealer Solutions, an enterprise SaaS serving US autodealers. Adam promotes team excellence, fact-driven decision-making, and failing fast. At Dominion, Adam integrated lean / agile methods and coding best practices into all his teams. Adam lives on the island of Antigua. When offline, Adam etches glass and enjoys life with his wife and daughters.
Richard Garabedian has spent more than 20 years developing software for businesses ranging from defense contractors to small internet start-ups. He currently works for Dominion Dealer Solutions as the Director of Development for mobile and two desktop applications. Rich loves the Java programming language and is an avid Android user. He also pulls his own espresso shots and, according to his wife, spends too many hours video gaming. Outside of work, Rich is either competitive cycling or chasing after his three amazing daughters.
Alberto Gonzalez has spent his career providing creative leadership and delivering premium digital design for a wide array of clients that span from small businesses / agencies to some of the largest digital media companies worldwide. He has over 20 years of experience leading teams in award winning digital product design and marketing efforts. He currently serves as the Director of User Experience for Dominion Dealer Solutions, an enterprise SaaS serving autodealers and OEMs in the US.
Aravind Krishnaswamy is an entrepreneur and tech executive. He lives in Bangalore, India, with his wife, Monami, and his dog. He's passionate about all things cloud, mobile, and social. He cofounded Levitum and is fortunate to work with a wonderful set of friends. In the past, he lived and worked in Silicon Valley, where he was a part of one IPO and exit. He also holds a patent for work done during his MS research at Iowa State University. In his spare time, he enjoys playing tennis, writing, and travelling with his talented wife and dog. He's also a frequent public speaker at a number of product and tech conferences.
www.PacktPub.com
For support files and downloads related to your book, please visit www.PacktPub.com. Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.comand as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.
Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print, and bookmark content
On demand and accessible via a web browser
Customer Feedback
Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial process. To help us improve, please leave us an honest review on this book's Amazon page at https://www.amazon.com/dp/1786467046. If you'd like to join our team of regular reviewers, you can email us at [email protected]. We award our regular reviewers with free eBooks and videos in exchange for their valuable feedback. Help us be relentless in improving our products!
Table of Contents
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
Yes, There Is an App for That
The app ecosystem
Not every app has a flappy ending
An introduction to the Lean Startup methodology
Getting your users hooked on your app
Summary
Lean Startup Primer
The Business Model Canvas
Key partners
Key activities
Value propositions
Customer relationships
Customer segments
Channels
Cost structure
Revenue stream
Example BMC - mobile marketplace app
Summary of the BMC
Lean Canvas
One metric that matters
Agile development and customer development
The MVP
Summary
Challenges in Applying Lean to Building Mobile Apps
Higher design bar
Apple's App Store submission cycles
Inability to dynamically load libraries
Cross-platform releases
Getting users to download an app
Maintaining app ratings
Summary
An Agile Workflow in a Nutshell
An Agile workflow
Kanban
Scrum
Epic, Stories, and Tasks
Scrum team
The daily stand-up
Backlog refinement
Definition of Ready
Sprint planning
Definition of Done
Sprint review, planning, and retrospective
Tools that you can use
Summary
A Pragmatic Approach
Timeboxed programming
Concierge service
Is it crappy or perfect?
Release early and often
How do you get started with nothing?
The chicken and egg problem
Fake it until you make it
Become an expert
Grab and adapt
Offer an app or a service that does not yet exist
How to keep things well structured
Design patterns
Become independent
Data layer
Are there any shortcuts?
Mash-up
Summary
MVP is Always More Minimal Than You Think
What is MVP?
Benefits of MVP
How to define your MVP
Building MVP
Bringing components together to form an MVP
Applying MVP to enterprise
Fail fast – validate everything
Apply agile prototyping - eliminate tech debt
Lean UX cycles – the Build-Measure-Learn feedback loop
Advantages of a feedback-focused development model
Phases of the Build-Measure-Learn feedback loop
Phase I - Build
Phase II - Measure
Phase III - Learn
10 essential UX testing methods
Iterate and evolve - from viable to lovable
Five tips to go from viable to lovable
Summary
Minimal Viable Product Case Studies
Fun with Charades - Initial vision
The big ifs
Hypothesis 1
Hypothesis 2
Hypothesis 3
Hypothesis 4
Hypothesis 5
The conundrum
What we did well
What we could have done better
Summary
Cloud Solutions for App Experiments
Do you need to create a backend yourself?
Leverage cloud solutions for app experiments
Things to consider
The story of Parse
Strategic considerations
What services are available as MBaaS?
Technical considerations
Canvapp - an Android MVP app using Firebase
Sign up for Firebase
Layout
Dependencies
Models
Firebase dashboard
Summary
Native, Hybrid, or Cross-Platform
Who is your audience?
Measure - don't guess or use intuition
What are your technical requirements?
What are your technical capabilities?
Native versus hybrid - the strengths and weaknesses
Native apps
Hybrid apps
Pros and cons of going native
The biggest benefits of going native
Pros and cons of going hybrid
The ugly truth - a little hybrid doesn't hurt when you have clear goals
Making the final decision - factors to consider
Leveraging cross-platform development tools
Adobe PhoneGap
Xamarin
Appcelerator
How to choose the right tool
Summary
There Is an API for That!
Succeed or fail fast
What is in a mash-up solution?
Publishing an API
Lego or Duplo?
APIs versus SDKs
Dependency management
Android
iOS
Available APIs
An iOS app proving our hypotheses, MoviUber
Hypothesis
Validating the idea through customer interviews
Let's build an app
Movie locations
Uber
IMDB
Displaying locations on a map
Uber integration
Enriching the data
Look! No code. Prove your hypotheses with IFTT
Recipes, channels, and triggers
Summary
Onboarding and Registration
What is user onboarding all about?
Why does it matter?
Pirate metrics (AARRR)
Higher conversion
How to lower the barrier?
Single sign on using a social network like Twitter or Facebook
Show us what you have got
Phone number sign-up - a great alternative
Continuous onboarding - complete the user profile later
Tell a story - an example onboarding app
Onboarding sign-up when needed
Implementation
Summary
Do Things That Do Not Scale
What we mean by things that do not scale
Three reasons to do things that do not scale
Improved testing and data collection
Failure that can be controlled
Development of products that are more lovable
How to acquire early adopters and establish a small-scale laboratory
Focusing on a narrow marketplace
Manually recruiting early adopters
Perfecting the user experience
How to transition from an unscalable MVP to scalable code
Focusing on learning with wireframes and prototypes
Zeplin
InVision
UserTesting.com
Focusing on scaling and sustainability
Writing perfect code versus getting the job done
Automation and optimization
How to handle technical debt
Summary
Play Store and App Store Hacks
What is an experiment?
A/B testing as a technique for experimentation
Why perform split testing?
Store listing tests
App testing
Why do you care?
The competition is intense
Experiments work
Why running experiments with Google Play or App Store is hard
Obstacles to testing with store listings
Different app listing requirements
No standard way to measure results
Limited infrastructure for A/B testing
Why it is difficult to run parallel experiments
Hacks to workaround the challenges
Store listing hacks
How do users find apps in the first place?
Use microtesting to collect data
Running app tests
Summary
A/B Testing Your App
Why do statistics matter?
About actionable metrics
Acquisition
Engagement
Conversions and pirate metrics
Get to know your audience
Split testing can help us to improve our apps
Keep the differences between variations subtle
Tools for split testing and getting actionable metrics
Using Firebase for split testing
Summary
Growing Traction and Improving Retention
Traction
Freemium or premium only?
Improving retention
Notifications
Local notifications
Push notifications
In-app notifications
Services for push notifications
Implementation
Setup
Handling an incoming notification
Sending a notification
Summary
Scaling Strategies
Make it scalable but do not scale it right away
A scalable backend
Cloud-based storage and processing
Seen from a client perspective
You should know when you need to scale up or to scale down
A real horror story about an app backend that did not scale
Captain hindsight to the rescue!
To scale up or to refactor? That is the question
Auto-scaling
Summary
Monetization and Pricing Strategy
Monetization strategies
Selling or upselling your app
Selling a product or service in the real world
Offering your app for free and selling your service
Advertisements
Monetizing your data
Pricing strategy
Price perception
Android or iOS first?
In-app purchase product types
In-app billing
See how in-app purchases can be implemented
The case of the Empurror
Applying a pricing strategy to your store listing
Summary
Continuous Deployment
Continuous Deployment = Continuous Integration and Delivery
Continuous Integration
Continuous Delivery
Repository and Git workflow
Automated tests
An example of a continuous workflow for an Android app
Building variants
The Gradle way
productFlavors
sourceSets
buildTypes
signingConfigs
Using TeamCity as build agent
Automated deploy and delivery
Self hosted
HockeyApp or Fabric beta
Fastlane, alpha/beta Play Store, and iTunes beta
DevOps
Summary
Building an Unfair Advantage
Introduction - it's not just about your app
Digging your moat with intangible assets
Protecting your work with IP laws
Why you should care - Business-destroying patent trolls
How IP laws can protect your app and business
How to defend your intellectual property
Going on the legal offensive
The network effect and platforms
The network effect
The platform effect
Making use of vertical markets
Why target vertical markets?
How successful companies exploit vertical control
Switching costs
How to use switching costs to improve user retention
How to decrease competitors' switching costs
Good customer support
The right perspective on customer service
A recipe for great customer service
How successful companies use customer service to improve profits
A look at some great tools to help with customer support
The power of a well-developed brand name
Reasons to brand yourself
How to build your brand
Tools to monitor your brand via social media and app stores
Building a brand on a budget
Branding case studies
Summary
The Flyng Case Study
That sounds awesome, but what is Flyng?
The team
Mitchell Trulli
Daniel Guthrie
Mike van Drongelen
The other contributors
The MVP
A distributed team
Flyng's USPs
Growing a user base
The business model
Customer segments
Value propositions
Customer relationships
Channels
Revenue Streams
Key resources
Key activities
Partners
Cost structure
Unfair advantage
Getting feedback
Unvalidated assumptions
A zombie feature
Feedback and actionable metrics
Split testing
Vision
Technical considerations
Parse server hosted at Back4App
Real-time data
The other dependencies
Queries
Complex operations
Push notifications
Crash reports
Releases
Summary
Appendix
Reading list and references
Preface
The lean start-up methodology has become a well-known term in the start-up land. There are many books covering this (and related methodologies) such as The Lean Startup (Eric ries), Running Lean (Ash Maurya), The start-up owner manual (Steve Blank), and The Four steps to the epiphany (Steve Blank).
The lean start-up methodology is, among other things, about reducing waste by gathering feedback earlier. It makes no sense to develop a brilliant app for six months or longer only to find out later that nobody is interested in it.
Your start-up, or even an existing app, needs multiple but short iterations to find out what works and what does not. That raises questions such as: Does your app actually solve a problem worth solving it? And how does the lean start-up methodology come into this?
All the books are currently focused on business-oriented members of your start-up or company. However, a pragmatic approach for the technical-oriented members of a company, with a mobile first strategy, is missing in particular. Theory is cool but a practical approach could help developers to move faster.
This book tries to fill that gap. It explains the elements of the Lean Start Up methodology and elaborates on research and on implementation. In particular, the focus is on things that need to be done from a technical point of view. That makes this book a down-to-earth guide on how to apply the lean start-up methodology to real Android and iOS development. As such, it comes without any mumbo-jumbo. If you want real action and if you want to develop an app that people need and really want to use, then this guide is for you.
What this book covers
Chapter 1, Yes, There Is an App for That, contains some important questions to ask yourself, such as: Why are you building the app and for whom? The chapter explains how Lean startup can help.
Chapter 2, Lean Startup Primer, explains the business model canvas, what customer development is, and what a Minimum Viable Product (MVP) is.
Chapter 3, Challenges in Applying Lean to Building Mobile Apps, elaborates on the market place workflow and the discoverability of your app.
Chapter 4, An Agile Workflow in a Nutshell, talks about time-boxed programming, trusting on third-party solutions, and how you can make temporary shorts.
Chapter 5, A Pragmatic Approach, explains in a pragmatic way what an agile workflow, Kanban, and Scrum is and how you can implement it in your workflow.
Chapter 6, MVP is Always More Minimal Than You Think, investigates what features should go into a minimal viable product and how these features can help to prove your hypotheses.
Chapter 7, Minimal Viable Product Case Studies, contains some real-world examples of MVP implementations.
Chapter 8, Cloud Solutions for App Experiments, talks about your strategy for the backend of your app. What third-party services are available and do you need a backend developer at all?
Chapter 9, Native, Hybrid, or Cross-Platform, explains which platform (Android or iOS) to start with and what the possibilities are when you want to do both at once.
Chapter 10, There Is an API for That!, inspires you to combine existing data and services. It comes with an example combining movie information, maps and Uber integration. Finally, we will see how you can build an MVP and prove hypotheses using IFTT.
Chapter 11, Onboarding and Registration, talks about the onboarding and conversion of your users. It explains how you can lower the barrier and it comes with an Android example for signing up with Twitter or with a phone number.
Chapter 12, Do Things That Do Not Scale, instructs you to focus on proving hypotheses instead of focusing on automation. Try to find out what is working and what is not, with minimal amount of effort.
Chapter 13, Play Store and App Store Hacks, contains a first introduction to split testing and how you can apply it to the Play Store or App Store.
Chapter 14, A/B Testing Your App, tells you why split testing your app is important and how you can set up an A/B test for your app. It comes with an example using Android and the Firebase options Remote Config and Analytics.
Chapter 15, Growing Traction and Improving Retention, informs you what traction and retention is, why it matters and what you can do to gain more traction. It also discusses the importance of push notifications in order to increase retention (returning users).
Chapter 16, Scaling Strategies, inspires you to think about a scaling strategy. It may sound like a luxury problem, but if your app becomes a success your backend has to scale up. Cloud services have made this process a very easy one. Do not scale yet, but make your solution scalable.
Chapter 17, Monetization and Pricing Strategy, talks about the many monetization options for your app. If, for example, you choose for in-app purchases, you also need a good pricing strategy.
Chapter 18, Continuous Deployment, discusses a Git workflow and CI/CD tools, such as TeamCity and Jenkins. If you have a good testing strategy these tools can help you delivery often and fast.
Chapter 19, Building an Unfair Advantage, makes you think on how to build a 'moat' that makes your business defensible from new upstarts.
Chapter 20, The Flyng Case Study, talks about a case study of an existing social media app.
Appendix, Reading List and Web References, covers a list of a must-read books and websites worth visiting.
What you need for this book
In the first place, this book is to inspire technical-oriented cofounders of start-ups and existing business technical leaders seeking to integrate lead into their development operations. In addition, there are some Android and iOS code samples that we discuss to explain some of the concepts. Although the concept is more important than the code, you can try the sample for yourself. Where applicable, you can find a link to the Github repository, containing the code.
For the Android examples, you need to have Android Studio 3 (or above) and the Android SDKs installed on your computer. Android Studio is available as a free download for Windows, OSX, and other operating systems. The Android examples are written in Kotlin and Java.
The samples for iOS requires xCode 9 or above (xCode is available on OSX only and you need to have a paid Apple developer's account). The iOS examples are written in Swift 4.
Some examples require a (free) registration at Firebase, Facebook, Fabric, or other services.
Who this book is for
In particular, the audience of this book will be technical cofounders, developers, or CTO's working in a start-up environment. However, if you are a CTO, Development Director, or developer of an existing software company, then this is for you too. Lean, when applied well, helps start-ups and existing copanies equally.
Conventions
In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.
All Android and iOS examples and descriptions are based on Android Studio, xCode and various third party services, running on a OSX machine.
Console input is shown as:
$ gem install cocoapods
A block of code is set as follows:
func refresh (sender: AnyObject!) {
...
let cngQuery = client.queryDataset(wwmu-gmzc
)
cngQuery.orderAscending(title
).get { res in
switch res {
case .Dataset (let data):
self.data = data
...
}
}
Data (XML, JSON or otherwise) is shown as:
Where you need to apply your own client ID, API key or API secret it, for example, reads as: your client_id within the code or the data.
New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: Clicking the Next button moves you to the next screen.
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.
To send us general feedback, simply e-mail [email protected], and mention the book's title in the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code
You can download the example code files for this book from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files emailed directly to you. You can download the code files by following these steps:
Log in or register to our website using your email address and password.
Hover the mouse pointer on the SUPPORT tab at the top.
Click on Code Downloads & Errata.
Enter the name of the book in the Search box.
Select the book for which you're looking to download the code files.
Choose from the drop-down menu where you purchased this book from.
Click on Code Download.
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
WinRAR / 7-Zip for Windows
Zipeg / iZip / UnRarX for Mac
7-Zip / PeaZip for Linux
The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Lean–Mobile–App–Development. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
Downloading the color images of this book
We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from http://www.packtpub.com/sites/default/files/downloads/LeanMobileAppDevelopment_ColorImages.pdf.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.
To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.
Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at [email protected] with a link to the suspected pirated material.
We appreciate your help in protecting our authors and our ability to bring you valuable content.
Questions
If you have a problem with any aspect of this book, you can contact us at [email protected], and we will do our best to address the problem.
Yes, There Is an App for That
There is an app for almost everything already, or so it seems. Creating a profitable app is not easy, but if you develop your app in a smart way, your company can be successful too!
This book aims to help you build a profitable business around your mobile app using the the Lean Startup methodology. Unlike many other books, this one is not only for the business-oriented members of your organization. Instead, it is a very practical guide, explaining what tools and techniques can be used to develop apps the Lean way. It is important that technical-oriented people also become enthusiastic about the Lean Startup methodology, which is the reason why this book is primarily aimed at technical co-owners and developers. They need to have the right tools in order to apply the methodology to their daily mobile app development. We will discuss how you can save time and reduce waste by using a number of techniques and tools.
On the other hand, the book will be of interest for nontechnical people too. It would be ideal if they could obtain a better understanding of the underlying technical processes involved in app development. We need the business folks to find and clearly define the problems, so that the technical folks can deliver the right solutions for them. Everyone needs to collaborate closely. If you have a good understanding of each other's perspectives, you can achieve much better results.
If your startup is missing a technical cofounder, then now is the time to find one. Do not outsource the development (yet). That often does not work well when your startup is at an early stage.
In this chapter of the book, we will first look at the Lean Startup