windows 8 app development with windows azure
DESCRIPTION
With Windows 8 coming and Windows Azure being around as a solid cloud platform, there will be many new scenarios possible and big opportunities available to build new types of services and applications. We are facing a huge number of devices possibly upgrading to this new version of Windows and all of them will be connecting to well know services, fetching data and being online all the time. To enable this load, support flexible and scalable applications and to provide users with an amazing user experience, Windows 8 and Windows Azure will probably become best friends. One of the key features of Windows 8 is the support for notifications, an easy and user friendly way to inform the user about events, available data, updates and much more. For the Windows Phone users this experience will feel familiar, as we are already using it for a while. For Windows 8, the experience will be similar but even more possibilities and scenarios are available. In this session we will show you what Windows 8 has to offer for developers and how you can get started to build something of your own. You will learn what this new operating system offers to notify the user and what options developers have to implement those. To allow flexibility, scalability and transparency, we will use Windows Azure as a backend and initiator of the notifications to show you the close relationship between the two.TRANSCRIPT
Windows 8 App Development With Windows Azure
Kristof Rennen
Who Am I? Kristof Rennen
Technical Architect at Vanbreda Risk & Benefits Microsoft Extended Experts Team Member Crew Member of Azug, the Belgian Windows Azure User
Group
@kristofrennen [email protected]
Agenda Getting Started Tiles & Notifications Killer Features Design & UX Certification Integrating Windows 8 and Windows Azure Devices Guided Development
Getting Started
What do you need? Windows 8 Visual Studio 2012
Professional, Premium, Ultimate Express For Windows 8
Expression Store token And the most important:
Developer Flexibility Solid API (WinRT) Choice of programming language:
Do you like C# and Xaml? Do you like Javascript and Html? Do you like C++ and Xaml?
Metro? Metro AG didn’t like it So Microsoft dropped it Windows 8 Style UI it is
Tiles
Wide (2x1)Square (1x1)
Basic Tiles Tap on a tile to launch or switch to an app Static default tile specified in app manifest Two sizes (user controlled)
Both sizes support live updates (peek, local or cloud, templates)
Notifications
Tile Notifications Change the tile displayed on the start screen Supports images Supports text To be foreseen in both sizes
Toast Notifications Deliver transient messages outside the context of the app Gets the user’s attention immediately User is in control and can permanently turn off toast
notifications from your app Allows quick navigation to a contextually relevant location
in your app Toast notifications are easy to invoke from your app or from
the cloud
Badge Notifications Overlay on top of a tile Supports an icon Supports text Notify users of updated items in the app Can be shown on lock screen as well
Raw NotificationsType of push notificationNo UIPerform background tasks
Make your app alive with activityusing Tiles and Notifications
Killer Features
Charms Search
System wide Pass-through to apps
Share Copy and paste on steroids
Start Windows key alike
Devices Printers, second screens, ... external hardware
Settings Context aware About (required on all apps!)
Snapping Multi-tasking 2 apps side-by-side Views can be switched Application has to support it Has to be developed seperately
App & Navigation Bar Application interaction App specific Default set of icons Default place to look for “what the app can do”
UX
Hire a specialist! UX is one of the most difficult things to achieve
Lots and lots of guidelines and best practices (http://msdn.microsoft.com/en-us/library/windows/apps/hh779072.aspx)
Think about: Planning (what, market, accessibility, usability, monetization, ...) Design guidance (navigation, commanding, touch, branding, ux, ...) Category guidance (games, entertainment, news apps,
productivity, ...) Design (assets, animations, ...)
Following or not following design and ux guidelines should not block certification
Key Design Principles Show pride in craftmanship
Details, safety, reliability, symmetry, grid alignment, accessibility
Be fast and fluid Content interaction, continuity, touch, intuition
Be authentically digital Go beyond limits of real world, cloud, communication, colors, motion
Do more with less Design essence, clean experience, content >> chrome
Win as one Integration with other apps, sharing, standard touch and gestures,
Anatomy
Form Factors Desktops, laptops, tablets, slates, ... Design for touch, mouse and keyboard Use device capabilities
Accelerometer and sensors Geolocation Cameras Proximity
Multiple app views: landscape, portrait Graphical scaling (screen resolutions) Roaming data
Certification
Getting it to the store Provide value to customers
Fully functional after installation, only 1 tile, trial mode
Beware of ads Content policies, not on tiles and notifications
Make it predictable Use API, must not crash or hang, fully touch / keyboard and mouse, snapping
required, suspend and resume, app and navigation bar by swiping
Keep your privates private Privacy statement, opt-in on personal info, system settings, large data transfers,
WNS,
Think about a global audience Adult content, discrimination, ...
Getting it to the store Application identification and understanding Unique name, age rating, technical support info, localization,
screenshot for store, manifest
The certification might take some time Rules might become less strict after GA
Integrating Windows 8 and Windows Azure
Application Programming Interface E.g. ASP.NET Web API Accessing a (REST) service or an API Data being transferred as Json, XML, … +
Loosely coupled, easy to change Caching is easy Transparent Easily scalable Error handling Reusable
Windows Azure Mobile Services Just released (September 2012) Data
OData access to a database Queries, paging, validation, ...
Users Authentication Authorization oAuth
Push Notifications
Devices
Versions Windows 8
Full version Desktop / laptop version Can run on tablets as well
Windows RT Runs on ARM devices No explorer, desktop, non M** apps Deploys apps from the store Focus on tablet market Lower capacity hardware Only through vendors, not consumers
Hardware Test your apps on different sets of hardware
Windows 8 machine Windows 8 tablet Windows RT tablet
Minimum resolution foreseen to be 1024 x 768
Snapping applications only as of 1366 x 768
Guided Development
Community Support Azug
Windows Azure User Group http://www.azug.be/ Monthly sessions, with frequently international speakers Bi-yearly dev competition with amazing prizes (e.g. Dublin
datacenter tour)
MADN Metro App Developer Network http://www.madn.be/ Monthly sessions Competitions (e.g. Win a Nokia Lumia)
Microsoft Support App Clinics
Talk to Microsoft Evangelists (Bart, Katrien, Sigrid, David, ...) Discuss UX (Leslie, ...) Escalate issues, test devices, ...
Excellence Labs Early feedback Application validation by Microsoft experts Gain early store access
App-a-thons Day and night of coding and support Dev, UX, games, ... Fun!!!
Recap
Make your app alive with activityusing Tiles and Notifications
Use Windows Notifications Service when app is not running
Leverage Windows Azure to provide cloud service infrastructure
Resources
Designing UXhttp://msdn.microsoft.com/library/windows/apps/hh779072
Learn to buildhttp://msdn.microsoft.com/en-us/library/windows/apps/br229519.aspx
Windows Storehttp://msdn.microsoft.com/library/windows/apps/br230836
API Referencehttp://msdn.microsoft.com/library/windows/apps/br211369