Mobile App Landscape for the Non-Technical

56
James Quick @jamesqquick Building Out Your Mobile Application

Transcript of Mobile App Landscape for the Non-Technical

Page 1: Mobile App Landscape for the Non-Technical

James Quick@jamesqquick

Building Out Your Mobile Application

Page 2: Mobile App Landscape for the Non-Technical

•Tell me about you!•What Makes an App Successful•How to Build•Next Steps

Agenda

Page 3: Mobile App Landscape for the Non-Technical

Background Product Plan

I Want to Know About Your…

Page 4: Mobile App Landscape for the Non-Technical

Who’s your Target?

Consumer Commercial

Page 5: Mobile App Landscape for the Non-Technical

Every business idea needs an app

$

Page 6: Mobile App Landscape for the Non-Technical

Every company is a software company

Page 7: Mobile App Landscape for the Non-Technical

UI/UX Device Features Connectedness

What Makes A Mobile Application Successful?

Page 8: Mobile App Landscape for the Non-Technical

Are you gaging your application against successful competitors?

Page 9: Mobile App Landscape for the Non-Technical

Does it work on all of these?

Page 10: Mobile App Landscape for the Non-Technical

Mobile Platforms and Tools

Page 11: Mobile App Landscape for the Non-Technical
Page 12: Mobile App Landscape for the Non-Technical
Page 13: Mobile App Landscape for the Non-Technical

Monetization

In App Purchases

• Extra features• Powerups/Lives

Sell your App

• Apple App Store• Google Play• Windows Store

Ads

• Iad Workbench• AdMob

• PubCenter

Page 14: Mobile App Landscape for the Non-Technical

Cross Platform with Web

Page 15: Mobile App Landscape for the Non-Technical

What’s the difference between a Website and a Mobile Application?

Page 16: Mobile App Landscape for the Non-Technical

What’s the difference between a Website and a Web App?

Page 17: Mobile App Landscape for the Non-Technical

Every Website CAN be a Mobile Application!

Page 18: Mobile App Landscape for the Non-Technical
Page 19: Mobile App Landscape for the Non-Technical

Web vs. Native

• Cross Platform – Code Reuse

• Tons of free tooling and many options

• Looks like a web app• Access to limited

device and platform features

• Different code base for each

• Learn multiple languages and skillsets

• Looks like a native app• Access to ALL device

and platform features• Typically faster

Page 20: Mobile App Landscape for the Non-Technical

Cross Platform with Xamarin

Page 21: Mobile App Landscape for the Non-Technical

Silo Approach:Build the Same Apps Multiple Times

Page 22: Mobile App Landscape for the Non-Technical

Xamarin’s Unique Approach

Shared C# codebase • 100% native API access • High performance

iOS C# UI

Windows C# UIAndroid C# UI

Shared C# Mobile

C# Server

Linux/MonoCoreCLRAzure

Shared C# Client/Server

Page 23: Mobile App Landscape for the Non-Technical

Windows APIs

Microsoft.Phone Microsoft.Networking

Windows.Storage

Windows.Foundation

Microsoft.Devices

System.Data System.Windows

System.Numerics System.Core System.ServiceMod

el

System.Net System System.IO System.Linq System.Xml

C#

Page 24: Mobile App Landscape for the Non-Technical

iOS – 100% API Coverage

MapKit UIKit iBeacon CoreGraphics CoreMotion

System.Data System.Windows

System.Numerics System.Core System.ServiceMod

el

System.Net System System.IO System.Linq System.Xml

C#

Page 25: Mobile App Landscape for the Non-Technical

Android – 100% API Coverage

Text-to-speech ActionBar Printing Framework Renderscript NFC

System.Data System.Windows

System.Numerics System.Core System.ServiceMod

el

System.Net System System.IO System.Linq System.Xml

C#

Page 26: Mobile App Landscape for the Non-Technical
Page 27: Mobile App Landscape for the Non-Technical

All 3 characteristics are required for a truly native appXamarin is native in all 3 ways

Native User InterfaceApps are built with standard, native user interface controls for easy and familiar interactions

Apps have access to the full spectrum of functionality exposed by the underlying platform and device

Apps leverage platform-specific hardware acceleration, and are compiled as native binaries, not interpreted at runtime.

High-fidelity API Access

Native Performance

Page 28: Mobile App Landscape for the Non-Technical

Development Environment

Xamarin StudioPC or Mac

Visual Studio PluginVS

2010/2012/2013/2015

Page 29: Mobile App Landscape for the Non-Technical
Page 30: Mobile App Landscape for the Non-Technical

Native Dev: Platform Tools or Xamarin?Platform Tools (Windows, iOS,

Android)• Default native method to build apps• Free development tools & SDKs• Requires learning at least one

language & SDK per platform (C#, Java, Objective-C)

• Design, develop & maintain completely separate apps for each platform

• More learning resources available• Books, web sites, blogs, training,

StackOverflow, videos, larger community, etc.

• Yet, iOS developers are (kinda) starting all over with Swift

Xamarin / Mono• Reuse existing C# skills & source

code (but you have to know C#)• Need to buy an additional tool:

extra cost• Need to learn new tools &

techniques• Still need to learn the specifics of

each platform SDK, app architecture & lifecycle

• Fewer third-party libraries available• Built-in GUI designer for iOS and

Android• Xamarin.Forms provides native

shared Uis, but there is no XAML designer (yet)

• Vendor lock-in / dependency

Page 31: Mobile App Landscape for the Non-Technical

Video Content Go Mobile with C#, Visual Studio and Xamarin

http://channel9.msdn.com/events/Build/2015/3-770 Building Cross-Platform Apps with Xamarin Forms:

http://aka.ms/ch9xam2015-1 Designing iOS apps inside Visual Studio with Xamarin

http://aka.ms/ch9xam2015-2 Developing Cross-platform 2D Games in C# and CocosSharp

http://aka.ms/ch9xam2015-3 Real-time Monitoring of Mobile Apps with Xamarin Insights

http://aka.ms/ch9xam2015-4 Many more Xamarin videos available on Channel 9 at

http://channel9.msdn.com/Search?term=xamarin#ch9Search&lang-en=en

Xamarin Videos for Developers

Page 32: Mobile App Landscape for the Non-Technical

Download Xamarin Tools http://xamarin.com/download

Xamarin Documentation, Tutorials, Videos http://docs.xamarin.com

Xamarin Evolve Conference Videos http://evolve.xamarin.com

Xamarin University http://xamarin.com/university

Xamarin Official Blog http://blog.xamarin.com

James Montemagno’s Blog http://motzcod.es

Wally McClure Blog (Xamarin MVP) http://weblogs.asp.net/wallym

Greg Shackles Blog (Xamarin MVP) http://www.gregshackles.com

Xamarin Resources

Page 33: Mobile App Landscape for the Non-Technical

Go Mobile program• Live online training from Xamarin experts • Lectures and labs• Two coaching sessions where you meet

one-on-one with expert Xamarin mobile developers

What you’ll learn• iOS and Android fundamentals• Mobile app lifecycle• Native UI and controls• Cross-platform architecture• Mobile best practices• Secure backend integration

Page 34: Mobile App Landscape for the Non-Technical

Your Journey to the Cloud

Page 35: Mobile App Landscape for the Non-Technical

What does “The Cloud” mean to you?

Page 36: Mobile App Landscape for the Non-Technical
Page 37: Mobile App Landscape for the Non-Technical

3

Push Notifications

Store Data in the Cloud

User Authentication

Mobile Apps Overview

Windows 10 iOSAndroid HTML5/JS

SDKs

Scripts: table

scheduled

custom API

REST API

Facebook

Twitter Microsoft Google

Active Director

y

SQL Table Storage

Blob Storage

WNS & MPNS APNS GCM

Mongo DB

Notification Hubs

Source Control

Page 38: Mobile App Landscape for the Non-Technical

Prototyping

Page 39: Mobile App Landscape for the Non-Technical
Page 40: Mobile App Landscape for the Non-Technical
Page 41: Mobile App Landscape for the Non-Technical
Page 42: Mobile App Landscape for the Non-Technical
Page 43: Mobile App Landscape for the Non-Technical

Lean startup

Page 44: Mobile App Landscape for the Non-Technical

Provisioning Skills & Focus

Coding forInfrastructure

App DeploymentApp Upgrade

Scaling & Failing

User ExperienceFailure Diagnosis

Management

Monitor + Manage

Build & Release

Develop & Test

Application Lifecycle

Page 45: Mobile App Landscape for the Non-Technical

Process leads the wayPlan1 Monitor +

Learn

Release

Develop + Test2

Development

Production

4

3

Page 46: Mobile App Landscape for the Non-Technical

“Iterate Quickly”

“Fail Fast”

“Trim off the fat”

“Shortened Development Cycles”

“Validated Learning”

Page 47: Mobile App Landscape for the Non-Technical

Next Steps

Page 48: Mobile App Landscape for the Non-Technical

Choosing a Technical co-Founder for your Tech Startup

What you/they need to bring:Hands-on technical / design

skills relevant to the business

Domain-specific expertise & industry connections

Business management, sales & accounting skills

Startup experience

What isn’t enough:IdeasMoney

(that's called an investor)Time & good intentions

Page 49: Mobile App Landscape for the Non-Technical

Our Approach to Startups

Page 50: Mobile App Landscape for the Non-Technical

BizSpark Program

Page 51: Mobile App Landscape for the Non-Technical

• Program for startups, and other independent entrepreneurs

• Qualification Criteria• Writing software• Business less than 5 years old• Privately owned• Make less than $1M USD annually

• Apply• Business website required• Apply with domain email

(no Gmail, Hotmail, Yahoo, AOL, etc.)

Free Cloud… via BizSpark

Page 52: Mobile App Landscape for the Non-Technical

• MSDN Ultimate Subscription (x5)• $750 per month in Azure credits

(across 5 users)• 11TB of Microsoft software & more• Visual Studio Enterprise Edition• Office 365 Subscription• Windows licenses• Server software licenses• All licenses are yours to keep• No commitment to buy

• All free! ($100K+ value)

Microsoft BizSpark Benefits

aka.ms/bizsparkapply

Page 53: Mobile App Landscape for the Non-Technical

How to Sign up for BizSpark?

Page 54: Mobile App Landscape for the Non-Technical

Resources

https://channel9.msdn.com

Microsoft Virtual AcademyFree Online Learning

https://mva.microsoft.com

Sessions on Demand

Page 55: Mobile App Landscape for the Non-Technical

Additional Resources

OnlineUdemyUdacityPluralSightLyndaCode Academy

Other FormsMeetup GroupsHackathonsCompetitionsNYU Classes

Page 56: Mobile App Landscape for the Non-Technical

Thank youEmail: [email protected]

Twitter: @jamesqquick