Upload
petru-jucovschi
View
656
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Mobility today & what’s next.Application ecosystems.
Citation preview
Mobility today & what’s next.Application ecosystems.
Petru JucovschiTechnical Lead for Windows & Windows PhoneMicrosoft
[email protected]@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
[email protected]@petrujucovschi