So you want to build a mobile app?
Conversation Starters
● Building, writing software is hard and not for everyone so don’t feel bad if it is not for you.
● Hackathons are not the solution to your development challenges.
● Use free, open source resources to get you started, then find the best process for you to learn.
Building a mobile application is not building a company, it is just an app!
Is there a need for your app?
Just An App – Other Concerns
● Where is the content coming from?
● How will you get noticed? What is your marketing plan?
● Where is the website?
● Who will support the app/website/data storage
● What will keep people engaged?
Don’t Forget About User Experience and User Design…
Mobile apps don’t come with a user’s manual
What’s An App - Terminology
● Native Mobile Application
● Mobile Web Application/Site
● Web-Based Hybrid Mobile Application
● Javascript-Hybrid Mobile Application
● Progressive Web Application
Native Mobile App
● App written for a specific platform, using that platform's native architecture
● App is rewritten using different languages for different platforms
● Difficult and expensive to maintain
-
Website modified to support mobile web browsers
-
This is the baseline that you should look to support
-
Google has modified search to prioritize mobile enabled sites
-
Can be addressed using responsive design or mobile specific frameworks when building app
Mobile Websites
Web-Based Hybrid Mobile Applications
● A website packaged in a native container
● Popular Framework is Apache Cordova (Frequently used with Ionic)
● Provides access to native functionality through plugins
● Users download the app from App Store & Google Play
● The User Interface still uses web-based technologies
Web-Based Hybrid Mobile Applications
Web Based - Hybrid Frameworks
● Programming in Javascript - compiling with libraries to generate native code
● Provides access to native functionality through javascript libraries/APIs
● User’s download application App Store & Google Play
● The User Interface is NATIVE not HTML/CSS
JavaScript - Hybrid Mobile Applications
JavaScript - Hybrid Mobile Frameworks
JavaScript
C#
JavaScript
Why Does This Matter?
• This information is to educate you on options for your mobile development solution.
• You don’t have to learn objective-c, swift, java, C# to get your project jumpstarted.
• Educate yourself to protect yourself and your vision.
Where is My Data Stored?
• Build & Host your own backend
• Let someone else build it for you
Hire a Team?
• How big is your project?
• Operations & Resource
Back-End, Front-End, UI/UX
Why choose Firebase, Kinvey, or CloudKit for your backend?
• Most have JavaScript libraries
• All Support REST API
• Some are free, others have starter pricing
• IMHO, best & least expensive way to get solution up and running
Offshore Development
Communication Issues
-
Time Zone difference
-
Language Barrier
Common Issues
-
Paying the developer and not receiving the finished product
-
Receiving the product with many bugs
-
Difficulty with maintenance and updates due to communication issues
An MVP (Minimum Viable Product) is a bare-bones product that is workable, but not feature-rich. The purpose of the MVP is to give an interested party a taste of what your app could ultimately become.
There are more cost-effective ways to build the initial MVP of your mobile solution than build a native objective-c, java application; know your options.
Quick Summary – Getting the MVP Built
Your PRODUCT is more than an application, factor in all aspects of a complete solution to make sure your vision can be achieved
Quick Summary – The WHOLE Product
Quick Summary - Back-end
You don’t necessarily need to hire a Ruby, PHP, NodeJS resource to build your backend database, there are more cost-efficient options for the early phase of your solution
Understanding the Cost of Building your App
There's a lot of effort that goes into making a mobile app, but how do you quantify this effort? How do you put a price tag on it? The easiest way is to list all of your app's features. Every single thing you want your app to do should be put in this list.
Why?
This list will serve as a list of requirements for your dev team, who can then estimate the level of effort (and cost) it'll take to implement each of the requirements.
Understanding the Cost of Building your App
Technology trends change quickly, as do the demand for products. To keep up with this ever-changing trend, the app you develop, or are having develop, needs to be capable of evolving during the development process. Enter agile development.
Agile software development supports rapid delivery of content. Your project is developed in sprints, which are short time intervals (1 week, 2 weeks, etc.) in which a set of key features are prioritized for completion by your dev team. A build of the project in progress is made available at the end of each sprint. This approach has many benefits:
-
supports rapid delivery of content
-
a client has more opportunities to offer input during the development cycle
-
project costs can be more easily managed
Why Agile Development?
Inclusive Innovation Lab
Our Team
Aaron
David
Michael
Keka
Tomeka
Eliram
Not Shown
Denise
Nuno
So, You Want to Build a Mobile App
By Keka Duval
So, You Want to Build a Mobile App
Presentation presented on Feb. 26, 2019
- 598