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
14. 2. For developers interested in
making money, 67% earn less than
$500 per app per month and are
below the app poverty line.
15. 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
19. 1. The most important selection
criterion for developers is the
breadth of platforms that the tool
supports, cited by nearly 60% of the
developers
20. 2. The ability to tap into existing
developer skills is the second most
important reason for tool selection
21. 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
22. 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
23. 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
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)
26. 1. 50% of mobile developers the
HTML-based set of technologies as
a deployment platform or as a
development platform
27. 2. HTML is equally used across
smartphones, tablets and desktop
28.
29. 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
30. 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
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
33. Visual Language called Modern
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
37. 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!
38. 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!
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.