Mobility today & what’s next.
Application ecosystems.
Petru Jucovschi
Technical Lead for Windows & Windows Phone
Microsoft
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 Factors
https://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 examples
Vendor (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 (Mono
Touch)
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 | 3
If 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 8
1024x768+
Landscape, Portrait, Snapped, Filled
10 inch screens+
Windows Phone
8
800x480, 1280x720, 1280x768
Portrait, Landscape
<5 inch screen
Form factors
Networking
Sensors
Proximity
Storage
DataSaver Manager
Location
Touch
Online Identity
Keyboard
Launchers & Choosers
In-App Purchase
Threading
Base Types
Native app development
UI
• 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 Jucovschi
Technical Evangelist for Windows & Windows Phone
Microsoft
petruj@microsoft.com
@petrujucovschi

Mobility today & what's next. Application ecosystems.

  • 1.
    Mobility today &what’s next. Application ecosystems. Petru Jucovschi Technical Lead for Windows & Windows Phone Microsoft petruj@microsoft.com @petrujucovschi
  • 2.
    • 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
  • 3.
    +300 Romanian apps(Windows 8 and Windows Phone)
  • 4.
    Agenda • Define Mobility •Is it easy / hard to be Mobile? • Mobility on and with Windows • GO DOs
  • 5.
    What does mobilitymean? Cross-Platform Tools | VisionMobile.com – here Developer Economics 2013 | VisionMobile.com – here
  • 7.
    What is thecurrent market?
  • 9.
  • 10.
    1. Developers andpublishers mostly value reach and revenue opportunities, in that order.
  • 11.
    75% of developersuse up to three mobile platforms
  • 14.
    2. For developersinterested in making money, 67% earn less than $500 per app per month and are below the app poverty line.
  • 15.
    3. Developers usingHTML 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
  • 16.
  • 17.
    Today – nativeapps • 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
  • 18.
    What do weexpect?
  • 19.
    1. The mostimportant selection criterion for developers is the breadth of platforms that the tool supports, cited by nearly 60% of the developers
  • 20.
    2. The abilityto tap into existing developer skills is the second most important reason for tool selection
  • 21.
    Technology approaches incross-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
  • 22.
    From traditional Webto Mobile Web • UI – Scalable UI: CSS3 Media Queries vs Form Factors https://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
  • 23.
    Technology approaches incross-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
  • 24.
    Some examples Vendor (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 (Mono Touch) Runtime C# .NET Native 3.9 (lowest score is 3.8 for publishing experience)
  • 25.
  • 26.
    1. 50% ofmobile developers the HTML-based set of technologies as a deployment platform or as a development platform
  • 27.
    2. HTML isequally used across smartphones, tablets and desktop
  • 29.
    Native Interpreted Cross-compiled Applicationinstaller 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
  • 30.
    Native apps Hybridapps 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
  • 31.
    Evaluation criteria |3 If 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
  • 32.
  • 33.
    Visual Language calledModern UI Samuel Moreau, Director UX Design and Research – Build 2011
  • 34.
    Windows 8 1024x768+ Landscape, Portrait,Snapped, Filled 10 inch screens+ Windows Phone 8 800x480, 1280x720, 1280x768 Portrait, Landscape <5 inch screen Form factors
  • 35.
  • 36.
    Native app development UI •HTML5 + CSS3 • XAML (+ Direct 2D/3D) Logic • JavaScript • C/C++, C#, VB
  • 37.
    Summary • Computing isin 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!
  • 38.
    GO DOs • Investin 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!
  • 39.
    Thank you! Petru Jucovschi TechnicalEvangelist for Windows & Windows Phone Microsoft petruj@microsoft.com @petrujucovschi

Editor's Notes

  • #35 Form factors are a major concern when designing the UI for a cross-platform app. You need to consider the different screen resolutions, screen sizes, and default device orientations. This will significantly impact how your app should display information to the user. It may not make sense to include all features of your Windows 8 app in your Windows Phone 8 app.
  • #36 http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681690(v=vs.105).aspx