HOW TO BUILD EPIC THINGS
MOBILE APP DEVELOPMENT
East Highschool
3
Why Build Apps?You can build things for cutting edge computers that almost everyone carries around in their pockets
The App Store & Google Play make publishing an app to hundreds of millions of customers pretty easy
It’s a career or hobby that is continually growing and changing
Who is Jonathan Wiley
ME ME ME ME
Speaker Introduction
5
Who am I? How did I become a mobile developer?
I grew up in the Mule Capital of the World!
I am a. giant. nerd.
Speaker Introduction
I learned how to re-program my graphing calculator to play games and avoid algebra by hacking the homework
I took photos with my cool, new camera phone >>>
How much of a nerd?
6
Nerd goes to college
I went to college at Vanderbilt.
I learned how to program more than my calculator
I also volunteered a lot with VSVS (here at East Middle!) - fun science lessons with y’all
My senior year the very first iPhone came out….
Speaker Introduction
7
Nerd doesn’t want to leave college
I learned to program beyond my graphing calculator, beyond my computer, and went to graduate school and began programming for big things like power grids and water systems
Ultimate CODING
Speaker Introduction
8
It’s ok to quit as long as you try something else
I didn’t like what I was doing. I quit.
I moved to New York and started a development company centered around these new things called smart phones.
I had no idea what I was doing. It was a bust.
Speaker Introduction
9
It’s ok to fail as long as you learn from it.
I went back to Nashville and got a job
I learned more about smartphones and how development companies work by working at larger companies like Metova & Griffin Technology.
I started again. I surrounded myself with smart people. I asked lots of questions from people in the community. I made a plan.
Speaker Introduction
What do I do now?
LUNARLINCOLN
LunarLincoln
11
I started a mobile app development shop (again)First it was me at home with the cats with 1 or 2 projects
Then me + Travis (employee #1) in a basement closet-office with more projects
Then me + Travis + Jennifer - We were crazy busy
Today: Office of 6 in Germantown. (Wiley, Jennifer, Travis, Ben, Patrick, and Jack)
LunarLincoln
12
What do we build?
We make people’s ideas and apps a reality with code, design, and planning
LunarLincoln
13
Apps for golf cartsLunarLincoln
14
Apps for sales teamsLunarLincoln
15
Apps that track and record everythingLunarLincoln
16
Apps for emailLunarLincoln
17
Apps for the 5c caseLunarLincoln
18
Building things everyday is…
Hard
Interesting
Challenging
Fun
Not. Boring. (Like power grid coding)
LunarLincoln
Real quick - here is the whole process
LIFECYCLE OF AN APP
Crash Course
20
Come up with an idea
What makes a good idea/app?
Does it solve a problem?
Does it accomplish a task?
Is it fun?
A good app is one people will use and can make money
Crash Course
21
How do you make money?Build an app that is unique (or at least stands out from the crowd)
Build an app that leverages new technology
Build an app that has more character than the competition
Crash Course
22
How do you make money?Find your happy quadrant
Crash Course
23
Don’t forget
You’re app idea must be one that you're passionate about
Have fun! Make sure you're building something you can work on for a long time because the initial shine will wear off well before you've finished
Crash Course
24
You have your perfect baby app idea. Crash Course
25
Come up with an elevator pitch
An elevator pitch forms your guiding principles
If its hard to make a concise pitch, or people aren’t getting it - maybe the idea needs some work
Crash Course
26
Refine the idea
Come up with a list of features your users might like to see
Determine who your users are
Filter the feature list through the audience definition
Crash Course
27
Research the competition
Get valuable data from their experiences
Google it!
App reviews
Press
Crash Course
28
Keep on refining…
Are you ready yet?
Is the idea clear?
Is it needed/fun/new?
Can you make money?
Do you want to work on it to death?
Is there any competition and can you do it better?
Crash Course
Make, Show, Learn, Make, Show, Learn, Make, Show, Learn, Make, Show, Learn, Make, Show, Learn
PROTOTYPING
Crash Course
Give me six hours to chop down a tree, and I will spend the first four
sharpening the axe.
- Abraham Lincoln
31
Designing the app through rapid prototyping3 step iterative process
Make
Show
Learn Repeat as necessary until the idea works for your users
Crash Course
32
MakeStart with paper
Sketch out as many different ways you could accomplish your main goals as possible
Crash Course
33
Make: Basic WireframingLow fidelity
Helps you understand how a user will accomplish their goals with the app
Helps identify any places a user might get stuck or experience friction
Crash Course
34
ShowShow your friends, family, anyone who will listen
Ask them unbiased questions
Crash Course
35
LearnTake the feedback you got and analyze it
Come up with a few ways to make your app better
Crash Course
36
RepeatDo this over and over again, adding a bit more realism each time until you have a great prototype
Crash Course
37
DesignWhen your wireframes are complete you’re now ready to add design.
Simple design can consist of a selected color palette, a custom font, and nice icons.
Use tools such as Sketch or Creative Suite for mock-ups and artwork
Crash Course
38
DesignYou don’t have to be a professional designer. Many professionals have already done the work for you.
The internet is filled with free resources!!!
Check out sites like: such as GraphicBurger or Pixeden or Freebiesbug
Crash Course
39
Key Prototyping TenetAvoid writing any actual code
Keep everything low tech this way changes are easy and not expensive/time consuming
Crash Course
Build the brains behind the beauty
ACTUAL CODING
Crash Course
41
Break it down and be organizedTake your wireframes and break them into tasks
“A user can upload a photo”
Place your tasks into an issue tracker for agile development
Trello
Crash Course
42
Start buildingCreate a repository to host your code
Try to accomplish something for the user every time you break off a chunk of work
If you mess up, simply revert your code (you did setup a repository right?)
Crash Course
43
Committing code to your repositoryCreate a new Xcode project
Build, run, commit
Start building first user story
Commit
Start building second user story
Commit
Crash Course
44
Track and measure your code with analytics
Flurry Fabric
Crash Course
45
Test your code
iOS TestFlight
Test it yourself
Send it to friends
Use crash reporting to catch crashes
Android Google Play Developer Console
Crash Course
Prepare for Launch APP PROMOTION
Crash Course
47
Submit your app for reviewIf its Android - hooray your app will be live in a few hours with little to no review
If its iOS - get ready to wait up to 10 days for review. Be sure to review Apple’s stringent App Store policies.
Crash Course
48
Get ready to announce to the publicCreate an app landing page - make sure to include:
Description of your app Prominent link to download your app Video of your app Press Kit
Crash Course
49
Announce to the public (and the press)Gather a list of press peeps who would be interested in your app
Have they written about similar apps?
Are they writing to your target audience?
Find common ground and get in touch with each of them
Crash Course
50
RecapWireframe and user test
Design with basic UI
Code the right idea
Build marketing website and resources while waiting for app store approval
Reach out to the press
Crash Course
51
What to do after the hoopla of launchMeasure with analytics See how the public responds Pay (a little) attention to app reviews Look at support emails for sources of friction for users Apps are like houses, they fall apart if they're not actively maintained
Crash Course
Let’s Review BUILDING AN APP
Crash Course
53
Form a great team!
Do the leg work before you start building
Build your vision
Launch your vision and tell people about it
Profit
Crash Course
54
What does it take to be a good developer?
ACTUAL CODING
Aspirations & Learning
56
A good developer needs to be inquisitive
Why doesn’t this work?
How can it be better?
What if….
Aspirations & Learning
57
A good developer is always learning
New phones
New operating systems
New trends
New features
Aspirations & Learning
58
A good developer has an analytical mind
It’s all a machine. You just have to find the right magic words (code) to make the pieces work in sync.
Building and fixing the machine is what it’s all about.
Aspirations & Learning
Jay Oh Bee
DEVELOPERS - WHAT KIND AND WHERE
The Working World
60
Mobile Development Jobs - Freelance/Indie
Work for yourself
Pick your projects (clients)
Build your own apps
No steady paycheck
Examples: David Smith | Sam Soffees | Marco Arment
The Working World
61
Mobile Development Jobs - Start UpSmall team
Single product-early stages
Very fast paced / long hours
High Risk / High Reward
Examples: WhatsApp https://www.whatsapp.com/about/ | Slack https://slack.com | Postmates https://postmates.com | Duolingo https://www.duolingo.com
The Working World
62
Mobile Development Jobs - Agency
Small/medium team
Many different projects
Lots of different code bases
Fast/medium paced environment
Examples: Handsome http://handsome.is | BlackPixel https://blackpixel.com | MetaLab http://metalab.co | Fueled http://fueled.com
The Working World
63
Mobile Development Jobs - CorporateLarger companies can have larger teams
Can take a slower pace with development
Projects are often more focused on one internal goal
This is Margaret Hamilton – She was Director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for the Apollo space program. In one of the critical moments of the Apollo 11 mission, Hamilton's work prevented an abort of landing on the moon. Read the Medium article
The Working World
What can I do now? GETTING STARTED
Resources
65
Learn Online
Swift WWDC Videos
Stanford Video Lecture Series StackOverflow
QuoraObjc.ioNSHipster
Resources
66
Build Stuff
LittleBits
MakeyMakey
Arduino Projects
Game Kits
Resources
67
Go to things & meet peopleVandyHacks 2015
Cocoaheads
Nashville Mobile Development User Group
Nashville Makers
Girl Geek Dinners
TN Code Academy
100 Girls of Code
Thanks
Download this presentation and other goodies at: www.LunarLincoln.com/EastHigh
Follow us online: @LunarLincoln