Azure Monitor & Application Insight to monitor Infrastructure & Application
Microsoft Mobility Conference Breakout Session
1. itcampro@ itcamp13# Premium conference on Microsoft technologies
Mobility today & what’s next.
Application ecosystems.
Petru Jucovschi
Technical Evangelist for Windows & Windows Phone
Microsoft
petruj@microsoft.com
@petrujucovschi
2. itcampro@ itcamp13# Premium conference on Microsoft technologies
Breakout
SessionHuge thanks to our sponsors!
3. itcampro@ itcamp13# Premium conference on Microsoft technologies
Breakout
Session
• Define Mobility
• Is it easy / hard to be Mobile?
• Mobility on and with Windows ecosystem
• GO DOs
Agenda
4. itcampro@ itcamp13# Premium conference on Microsoft technologies
What does mobility mean?
Cross-Platform Tools | VisionMobile.com – here
Developer Economics 2013 | VisionMobile.com – here
9. itcampro@ itcamp13# Premium conference on Microsoft technologies
1. Developers and publishers mostly
value reach and revenue
opportunities, in that order.
10. itcampro@ itcamp13# Premium conference on Microsoft technologies
75% of developers use up to three mobile platforms
13. itcampro@ itcamp13# Premium conference on Microsoft technologies
2. For developers interested in
making money, 67% earn less than
$500 per app per month and are
below the app poverty line.
14. itcampro@ itcamp13# Premium conference on Microsoft technologies
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
18. itcampro@ itcamp13# Premium conference on Microsoft technologies
1. The most important selection
criterion for developers is the breadth
of platforms that the tool supports,
cited by nearly 60% of the developers
19. itcampro@ itcamp13# Premium conference on Microsoft technologies
2. The ability to tap into existing
developer skills is the second most
important reason for tool selection
20. itcampro@ itcamp13# Premium conference on Microsoft technologies
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
21. itcampro@ itcamp13# Premium conference on Microsoft technologies
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
– Data manipulation (JSON:select)
– Namespaces
– Modules & AMD (RequireJS)
– Object Orientation (Prototype.js & MooTools)
– Other patterns
22. itcampro@ itcamp13# Premium conference on Microsoft technologies
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
23. itcampro@ itcamp13# Premium conference on Microsoft technologies
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. itcampro@ itcamp13# Premium conference on Microsoft technologies
1. About 50% of mobile developers
the HTML-based set of technologies
as a deployment platform or as a
development platform
26. itcampro@ itcamp13# Premium conference on Microsoft technologies
2. HTML is equally used across
smartphones, tablets and desktop
31. itcampro@ itcamp13# Premium conference on Microsoft technologies
Evaluation criteria | 3a
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)
32. itcampro@ itcamp13# Premium conference on Microsoft technologies
Evaluation criteria | 3b
If you are … And you want to … Then use …
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
Corona, Appcelerator
34. itcampro@ itcamp13# Premium conference on Microsoft technologies
Form factors
Windows 8
1024x768+
Landscape, Portrait, Snapped, Filled
10 inch screens+
Windows Phone 8
800x480, 1280x720, 1280x768
Portrait, Landscape
<5 inch screen
35. itcampro@ itcamp13# Premium conference on Microsoft technologies
Native app development
UI
• HTML5 + CSS3 – only for Windows 8 / RT
• XAML (+ Direct 2D/3D)
Logic
• JavaScript – only for Windows 8 / RT
• C/C++, C#, VB
37. itcampro@ itcamp13# Premium conference on Microsoft technologies
• design a native UX for each platform
• design screens based on layouts and their
characteristics on the targeted platform
• for HTML-based solutions, find the right
layer to generalize the UI
• don’t reuse XAML as it is, controls are
different between platforms and different
namespaces
UI / UX
38. itcampro@ itcamp13# Premium conference on Microsoft technologies
Networking
Sensors
Proximity
Storage
DataSaver Manager
Location
Touch
Online Identity
Keyboard
Launchers & Choosers
In-App Purchase
Threading
Base Types
41. itcampro@ itcamp13# Premium conference on Microsoft technologies
• Portable libraries
• Shared source code (links to code files)
• Inheritance
• MVVM pattern
• #if conditional blocks
Code reuse
42. itcampro@ itcamp13# Premium conference on Microsoft technologies
Storage and Data Models
Feature / Namespace Purpose
Windows Phone 8
Support?
Windows 8
Support?
Windows.Storage Local app file storage Yes Yes
System.IO.IsolatedStorage.Is
olatedStorageFile
Local app file storage
Yes
(use Windows.Storage
where possible)
No
ApplicationData settings
(local and roaming)
Key/value storage No Yes
System.IO.IsolatedStorage.Is
olatedStorageSettings
Key/value storage Yes No
SQL CE Database Yes No
43. itcampro@ itcamp13# Premium conference on Microsoft technologies
• Application lifecycle
• Tiles & toast notifications
• System services
• Networking differences
• Background processing
• Image/video capture
• Application bar
Platform-specific features
44. itcampro@ itcamp13# Premium conference on Microsoft technologies
• 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!
Summary
45. itcampro@ itcamp13# Premium conference on Microsoft technologies
• Invest in abstraction layers specific to UI/UX
• Learn HTML-based technologies for hybrid apps
• 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!
GO DOs