Mobility today & what's next.Application ecosystems.

Post on 01-Dec-2014

656 views 0 download

Tags:

description

Mobility today & what’s next. Application ecosystems.

Transcript of Mobility today & what's next.Application ecosystems.

Mobility today & what’s next.Application ecosystems.

Petru JucovschiTechnical Lead for Windows & Windows PhoneMicrosoft

petruj@microsoft.com@petrujucovschi

• Last projects (media projects on HTML5):– robot.okapisound.com– pressiunea.ro– omulcusobolani.ro

• Currently in development:– World Press Photo 2013– TIFF 2013– Festivalul George Enescu 2013

+300 Romanian apps (Windows 8 and Windows Phone)

Agenda• Define Mobility• Is it easy / hard to be Mobile?• Mobility on and with Windows• GO DOs

What does mobility mean?Cross-Platform Tools | VisionMobile.com – here

Developer Economics 2013 | VisionMobile.com – here

What is the current market?

Findings

1. Developers and publishers mostly value reach and revenue

opportunities, in that order.

75% of developers use up to three mobile platforms

2. For developers interested in making money, 67% earn less than $500 per app per month and are below the app poverty

line.

3. Developers using HTML for web development have access to a much larger user base

comprising desktop and mobile users and 29% earn more than $500 per app per month

What about apps development?

Today – native apps• Windows – C/C++, C#, VB, HTML5/CSS/JS• Windows Phone – C#, .NET Framework• Apple iOS – Objective C, Cocoa Touch• Android – Java, Android SDK/ NDK• Blackberry – J2ME/ BB Java NDK

What do we expect?

1. The most important selection criterion for developers is the breadth of platforms that the tool supports, cited

by nearly 60% of the developers

2. The ability to tap into existing developer skills is the second most important reason for tool selection

Technology approaches in cross-platform tools

• JavaScript frameworks (from traditional Web to Mobile Web)• App factories (“create your own app” with drag & drop)• Web-to-native wrappers (Portable Interpreted Code)• Runtimes (Cross-Compiled Portable Code)• Source code translators

From traditional Web to Mobile Web• UI

– Scalable UI: CSS3 Media Queries vs Form Factorshttps://github.com/PaulKinlan/formfactor

– How much UI will be generated on server side vs. client side?

• Logic– Async programming:

(.NET: async/await) vs (JavaScript: JS Promises): Promises/A: Common.js, jQuery, dojo, node.js, …– Data manipulation (JSON:select)– Namespaces– Modules & AMD (RequireJS)– Object Orientation (Prototype.js & MooTools)– Other patterns

Technology approaches in cross-platform tools

• JavaScript frameworks (from traditional Web to Mobile Web)• App factories (“create your own app” with drag & drop)• Web-to-native wrappers (Portable Interpreted Code)• Runtimes (Cross-Compiled Portable Code)• Source code translators

Some examplesVendor (Tool) Technology approach Authoring language Deployment format Satisfaction ratings

Adobe AIR Runtime Actionscript Native, Hybrid 3.7 (low on device access)

Adobe Flex SDK addition to AIR MXML Native, Hybrid 3.7 (low on device access)

Corona Runtime Lua Native 3.8 (low on device access)

Titanium Runtime HTML5, CSS, JavaScript Native 3.8 (low on device access)

PhoneGap Web-to-native app wrapper

HTML5, CSS, JavaScript Hybrid 3.7 (low on develop & debug experience)

Marmalade Source code translator C++ Native 3.9 (low on learning curve & UI capabilities)

JQuery Mobile Framework HTML5, CSS, JavaScript Web apps 3.9 (low on device access)

Sencha (Touch) JavaScript Framework HTML5. CSS, JavaScript Web apps, Hybrid 3.7 (low on device access)

Xamarin (MonoTouch)

Runtime C# .NET Native 3.9 (lowest score is 3.8 for publishing experience)

Findings

1. 50% of mobile developers the HTML-based set of technologies as a deployment platform or as a

development platform

2. HTML is equally used across smartphones, tablets and desktop

Native Interpreted Cross-compiled

Application installer size

Installed application size

Runtime performance

Mobile bandwidth usage

Consistency of function and appearance

Release date synchronization

Performance

Battery use

Reuse of existing assets

Access to device features

Development environment price

Evaluation criteria | 1

Native apps Hybrid apps Web apps

Ease of discovery through native app stores

search on referrals (Facebook, twitter, other)

Reach fragmented across multiple platforms works on almost all devices

Depth of experience full access to platform resources

access to native API at the expense of less capable UI limited by browser sandbox

Customer ownership and terms

Apple Appstore enforce onerous terms

complete ownership of customer

Engagement and recurring use

notifications and home screen icon

no notifications, difficult to get user to save the link

Monetization potential high on iOS and WP, but difficult on Android

no accepted method of payment

Ease of cross-platform development

replication developing for multiple platforms

significant fragmentation for advanced apps

Evaluation criteria | 2

Evaluation criteria | 3If you are … And you want to … Then use …

CIO wanting to mobilize enterprise applications Re-use existing .NET applications Xamarin (MonoTouch), iFactr, Expanz

Consumer brand, new to app development

Easily create your first brand affinity app App factories like Spot Specific, Tiggzi, Mobile Nation HQ

Developer newbie Create 2D games Games Salad, Corona, AppMobi

Publishing company Extend your web content across all major smartphone platforms

App factories or web to native wrappers, e.g., PhoneGap, Uxebu, Presspad

Small to medium enterprise Want to create enterprise apps Appcelerator (Titanium), Verivo, Netbiscuits, DragonRad, Expanz, Xamarin (MonoTouch)

Software developer Prototype ideas with a rapid development cycle RunRev LiveCode, Proto.io

Software developer Write a 2D game Marmelade, SiO2, EDGELIB, Cocos2D

Seasoned game developer Create engaging 3D games Unity 3D, Unreal, Marmelade

Designer in a digital agency 2D games Gamesalad, Cocos2D, AppMobi, ImpactJS, LImeJS

Designer in a digital agency Rich multimedia experiences deployed through an app store Adobe AIR, Corona, Appcelerator

What about Windows?

Visual Language called Modern UI

Samuel Moreau, Director UX Design and Research – Build 2011

Windows 81024x768+

Landscape, Portrait, Snapped, Filled

10 inch screens+

Windows Phone 8800x480, 1280x720, 1280x768

Portrait, Landscape

<5 inch screen

Form factors

NetworkingSensors

ProximityStorage

DataSaver ManagerLocation

TouchOnline Identity

KeyboardLaunchers & Choosers

In-App PurchaseThreadingBase Types

Native app developmentUI• HTML5 + CSS3• XAML (+ Direct 2D/3D)

Logic• JavaScript• C/C++, C#, VB

Summary• Computing is in transformation …• Developers are looking for good cross-platform

tools and native support of HTML5 on devices• Also, they are still looking for viable ways of

making real money!

GO DOs• Invest in abstraction layers specific to UI/UX• Learn HTML5• Find ways to reach larger user base and follow the

trends in adoption of mobile platforms• Target desktops, tablets/convertibles and

smartphones and adopt Windows• Contact us if you have an idea!

Thank you!

Petru JucovschiTechnical Evangelist for Windows & Windows PhoneMicrosoft

petruj@microsoft.com@petrujucovschi