SlideShare a Scribd company logo
UniversalApps Development
Part 3/3
Jiri Danihelka
Persisting Settings
• Local and Roaming
Azure blob storage
• 10 trillion objects
in Azure Storage
• 4 trillion object
requests per month
• Blobs (any file type: image, doc, etc.)
– Can be up to 200GB (page-type up to 1TB)
– Accessed by private or public URL
– http://<storage account>.blob.core.windows.net/<container>/<blob>
• Blobs go in containers
– Partitioning, or tenant-approach
– Can be locally & geo-redundant
– Unlimited quantity and unlimited content
• Windows Azure Storage in NuGet
– Solarizr introduces the Blob helper/wrapper
Some options
• Ship app with initial database file
– Copy to isolated storage for use
• Ship with schema creation commands and initial data
– Execute on first startup
• Maintain a central db image in Azure storage
– Download on first run
Package.appxmanifest
• Toast is a capability
• Toast is always transient
• Toast can contain a payload
• Toast is not guaranteed
ToastNotificationManager.CreateToastNotifier()
2
1
UWP apps development - Part 3
Handle toast-invoked launch in App.OnLaunchAsync()
1
Push notifications
• Toast, Tile, Badge, Raw
• One user, multiple devices
• WPNS/MPNS is migrating to WNS
• The WNS service is a free service
• Notifications are not guaranteed
• Notification can have payloads
The Azure Notification Hub
• Notifications can have tags
– The hub managed tags
– You can send with tag queries
• The hub gives you awesome telemetry
• The Azure Notification
Hub can send to
iOS, Android,
Kindle, and Windows
Notification Hub
App back-end
Tag:MusicTag:Sports
Tag:Music
Register a channel
Example Code
UWP apps development - Part 3
• Phone-only 
• Voice Commands
(System integration)
• Speech Recognition
(Speech to Text)
• Speech Synthesis
(Text To Speech)
• Voice Command Quickstart
– http://code.msdn.microsoft.co
m/Voice-Commands-
Quickstart-64ce68ce
• Speech Recognition
Quickstart
– http://code.msdn.microsoft.co
m/Speech-Recognition-And-
TTS-483fe645
• Responding to speech
interactions
– http://msdn.microsoft.com/libr
ary/windows/apps/xaml/dn630
426.aspx
What can Cortana do for us?
UWP apps development - Part 3
• Provide location-based
reminders & alerts
• Provide contextual info
at an area of interest
• Take automatic actions
based on rules
• Guidelines for
Geofencing Apps
– http://msdn.microsoft.co
m/en-
us/library/windows/apps/
dn631756.aspx
• Geofencing Namespace
on MSDN
– http://msdn.microsoft.co
m/en-
us/library/windows/apps/
windows.devices.geolocati
on.geofencing.aspx
What about Geofencing?
How to use Geofencing?
• Making sure your app has the proper permissions.
• Defining your geographic region (circle).
• Defining your Entered/Exited events.
• Handle events and taking action.
How can I log?
• Event Tracing for Windows (ETW) using
Windows.Foundation.Diagnostics
– LoggingChannel(s) -> Logging Session
– Writes to circular memory buffer
– Write log to local storage on critical error
• Rethrow for application exit
– Check for log existence on next start
• Background transfer to central log repo for later analysis
• Windows.Foundation.Diagnostic Resources
– http://channel9.msdn.com/Events/Build/2013/3-136
PDF
• Implementation derives from the ISO 32000-1 standards
• Abstracts away all the format complexity from the developer
• Focus is on rendering of PDF content as an image
• APIs enable reading scenarios such as magazines
• Password-protected files are supported
Best practices when using PDF APIs
• Use techniques such as UI virtualization to render
only pages in and around the view
• Hold on to rendered pages if you need to re-render them
• Release pages that are no longer needed
• Cancel page renderings that are superseded
• Render only required portions of the page
System Triggers
When background resources change
When a channel may be dropped
When the Internet becomes available
When an app is added
When an app is removed
When a change occurs, such as cost
When the associated MSA change
When the system has updated an app
When fast user switch or logon occurs
When a new SMS message is received
When the time zone & time changes
When the user becomes absent
When the user becomes present
XamlRenderingBackgroundTask (C++)
Background Transfer Task
• Windows.Networking.BackgroundTransfer
• No file size restriction
• Multi-part MIME (large transfers)
• Additional verbs (PUT, RETR, STOR) support
• ftp://user:password@server/file.txt
• In-progress stream access
• Data-Sense, Battery-Sense aware
• SignalR
– An alternative to push
notifications
– Real-time chat between
the field agent and the
Dispatcher
• Advanced multi-
tenancy
• Provisioning
– Pull down prepared-
data
• Backup database
– Copy to release locks
– Background transfer
task
Advanced ideas
• Cross-platform
– Xamarin View Models
– Xamarin.Forms
– Cordova
• Shared top navigation
• Keyboard navigation
• Third-party controls
– Including charting
• Print Contract
• Second screen
– Support special devices
and workflow
– Simplified UI and
feature set
• Microsoft OCR Library
• Handwriting
• Flexibility with XAML
Reader
Advanced ideas

More Related Content

KEY
MongoDB Administration ~ Kevin Hanson
PDF
Hosted PostgreSQL
PPTX
Webinar: Capacity Planning
PDF
MongoDB Capacity Planning
PPTX
WiredTiger Overview
ODP
Copycat presentation
PPTX
Running MongoDB 3.0 on AWS
PDF
Speed up large-scale ML/DL offline inference job with Alluxio
MongoDB Administration ~ Kevin Hanson
Hosted PostgreSQL
Webinar: Capacity Planning
MongoDB Capacity Planning
WiredTiger Overview
Copycat presentation
Running MongoDB 3.0 on AWS
Speed up large-scale ML/DL offline inference job with Alluxio

What's hot (20)

PDF
Let the Tiger Roar - MongoDB 3.0
PPTX
Storage Services
PPT
January 2011 HUG: Kafka Presentation
PDF
HBaseCon2017 Efficient and portable data processing with Apache Beam and HBase
PPTX
Microsoft Azure Media Services
PPTX
CI_CONF 2012: Scaling
PDF
JFall 2011 no sql workshop
PPTX
Azure storage
PDF
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...
PDF
2016 jan-pugs-meetup-v9.5-features
PPTX
10 domino integration
PDF
Beyond Postgres: Interesting Projects, Tools and forks
PDF
Hdfs internals
PDF
Fluentd - Flexible, Stable, Scalable
PDF
Using Azure cloud and Firebird to develop applications easily
PDF
MongoDB WiredTiger Internals
PPTX
Azure storage
PPTX
Building a Scalable Web Crawler with Hadoop
PDF
Apache Spark talk @ The Amsterdam Applied Machine Learning meetup group
PPT
A complete guide to azure storage
Let the Tiger Roar - MongoDB 3.0
Storage Services
January 2011 HUG: Kafka Presentation
HBaseCon2017 Efficient and portable data processing with Apache Beam and HBase
Microsoft Azure Media Services
CI_CONF 2012: Scaling
JFall 2011 no sql workshop
Azure storage
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...
2016 jan-pugs-meetup-v9.5-features
10 domino integration
Beyond Postgres: Interesting Projects, Tools and forks
Hdfs internals
Fluentd - Flexible, Stable, Scalable
Using Azure cloud and Firebird to develop applications easily
MongoDB WiredTiger Internals
Azure storage
Building a Scalable Web Crawler with Hadoop
Apache Spark talk @ The Amsterdam Applied Machine Learning meetup group
A complete guide to azure storage
Ad

Similar to UWP apps development - Part 3 (20)

PPTX
Windows 8 BootCamp
PPTX
Developing on Windows 8
PPTX
Windows 8 DevUnleashed - Session 1
PPTX
Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)
PPTX
2015.04.23 Azure Mobile Services
PPTX
Developing Apps for Windows Phone 8
PDF
Azure mobile services
PPTX
Net campus15 notification-hub
PPTX
AZURE NOTIFICATION HUB
PDF
Building Universal Windows Apps for Smartphones and Tablets with XAML & C#
PPT
What's New with Windows Phone - FoxCon Talk
PPTX
Building a chat app with windows azure mobile services
PPTX
Be More than Mobile (MWC16)
PPTX
Getting started with development in azure
PPTX
A look behind the scenes: Windows 8 background processing
PPT
WP7 & Azure
PDF
Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017
PDF
Building Cloud-Enabled Cross-Platform Mobile Apps in C# with Azure App Services
PPTX
App Services - Connecting the dots of Web Mobile and Integration_published
PDF
How to modernise WPF and Windows Forms applications with Windows Apps SDK
Windows 8 BootCamp
Developing on Windows 8
Windows 8 DevUnleashed - Session 1
Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)
2015.04.23 Azure Mobile Services
Developing Apps for Windows Phone 8
Azure mobile services
Net campus15 notification-hub
AZURE NOTIFICATION HUB
Building Universal Windows Apps for Smartphones and Tablets with XAML & C#
What's New with Windows Phone - FoxCon Talk
Building a chat app with windows azure mobile services
Be More than Mobile (MWC16)
Getting started with development in azure
A look behind the scenes: Windows 8 background processing
WP7 & Azure
Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017
Building Cloud-Enabled Cross-Platform Mobile Apps in C# with Azure App Services
App Services - Connecting the dots of Web Mobile and Integration_published
How to modernise WPF and Windows Forms applications with Windows Apps SDK
Ad

More from Jiri Danihelka (20)

PDF
Distributed Mobile Graphics
PPTX
Mixed reality for Windows 10
PPTX
New Xaml components for Windows developers
PPTX
MVVM Windows UWP apps with Template 10
PPTX
An introduction to development of universal applications
PPTX
Windows game development with Unity 5
PPTX
Creating great Unity games for Windows 10 - Part 2
PPTX
Creating great Unity games for Windows 10 - Part 1
PPTX
Prism library and MVVM
PPTX
UWP apps development - Part 2
PPTX
UWP apps development - Part 1
PPTX
Designing Windows apps with Xaml
PPTX
Advanced MVVM Windows UWP apps with Template 10
PPTX
Windows UX
PPTX
Blend for Visual Studio 2015
PPTX
Security misconfiguration
PPTX
Windows 10 Mobile and Distributed Graphics
PPTX
Security hardening and drown attack prevention for mobile backend developers
PPTX
Top 10 security risks for mobile backend developers
PPTX
Programování Windows 8
Distributed Mobile Graphics
Mixed reality for Windows 10
New Xaml components for Windows developers
MVVM Windows UWP apps with Template 10
An introduction to development of universal applications
Windows game development with Unity 5
Creating great Unity games for Windows 10 - Part 2
Creating great Unity games for Windows 10 - Part 1
Prism library and MVVM
UWP apps development - Part 2
UWP apps development - Part 1
Designing Windows apps with Xaml
Advanced MVVM Windows UWP apps with Template 10
Windows UX
Blend for Visual Studio 2015
Security misconfiguration
Windows 10 Mobile and Distributed Graphics
Security hardening and drown attack prevention for mobile backend developers
Top 10 security risks for mobile backend developers
Programování Windows 8

Recently uploaded (20)

PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
history of c programming in notes for students .pptx
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Digital Strategies for Manufacturing Companies
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
medical staffing services at VALiNTRY
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
L1 - Introduction to python Backend.pptx
PDF
top salesforce developer skills in 2025.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
AI in Product Development-omnex systems
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
history of c programming in notes for students .pptx
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Digital Strategies for Manufacturing Companies
ManageIQ - Sprint 268 Review - Slide Deck
Understanding Forklifts - TECH EHS Solution
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Nekopoi APK 2025 free lastest update
medical staffing services at VALiNTRY
VVF-Customer-Presentation2025-Ver1.9.pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
How to Choose the Right IT Partner for Your Business in Malaysia
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
L1 - Introduction to python Backend.pptx
top salesforce developer skills in 2025.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Design an Analysis of Algorithms II-SECS-1021-03
AI in Product Development-omnex systems

UWP apps development - Part 3

  • 3. Azure blob storage • 10 trillion objects in Azure Storage • 4 trillion object requests per month • Blobs (any file type: image, doc, etc.) – Can be up to 200GB (page-type up to 1TB) – Accessed by private or public URL – http://<storage account>.blob.core.windows.net/<container>/<blob> • Blobs go in containers – Partitioning, or tenant-approach – Can be locally & geo-redundant – Unlimited quantity and unlimited content • Windows Azure Storage in NuGet – Solarizr introduces the Blob helper/wrapper
  • 4. Some options • Ship app with initial database file – Copy to isolated storage for use • Ship with schema creation commands and initial data – Execute on first startup • Maintain a central db image in Azure storage – Download on first run
  • 5. Package.appxmanifest • Toast is a capability • Toast is always transient • Toast can contain a payload • Toast is not guaranteed
  • 8. Handle toast-invoked launch in App.OnLaunchAsync() 1
  • 9. Push notifications • Toast, Tile, Badge, Raw • One user, multiple devices • WPNS/MPNS is migrating to WNS • The WNS service is a free service • Notifications are not guaranteed • Notification can have payloads
  • 10. The Azure Notification Hub • Notifications can have tags – The hub managed tags – You can send with tag queries • The hub gives you awesome telemetry • The Azure Notification Hub can send to iOS, Android, Kindle, and Windows Notification Hub App back-end Tag:MusicTag:Sports Tag:Music
  • 14. • Phone-only  • Voice Commands (System integration) • Speech Recognition (Speech to Text) • Speech Synthesis (Text To Speech) • Voice Command Quickstart – http://code.msdn.microsoft.co m/Voice-Commands- Quickstart-64ce68ce • Speech Recognition Quickstart – http://code.msdn.microsoft.co m/Speech-Recognition-And- TTS-483fe645 • Responding to speech interactions – http://msdn.microsoft.com/libr ary/windows/apps/xaml/dn630 426.aspx What can Cortana do for us?
  • 16. • Provide location-based reminders & alerts • Provide contextual info at an area of interest • Take automatic actions based on rules • Guidelines for Geofencing Apps – http://msdn.microsoft.co m/en- us/library/windows/apps/ dn631756.aspx • Geofencing Namespace on MSDN – http://msdn.microsoft.co m/en- us/library/windows/apps/ windows.devices.geolocati on.geofencing.aspx What about Geofencing?
  • 17. How to use Geofencing? • Making sure your app has the proper permissions. • Defining your geographic region (circle). • Defining your Entered/Exited events. • Handle events and taking action.
  • 18. How can I log? • Event Tracing for Windows (ETW) using Windows.Foundation.Diagnostics – LoggingChannel(s) -> Logging Session – Writes to circular memory buffer – Write log to local storage on critical error • Rethrow for application exit – Check for log existence on next start • Background transfer to central log repo for later analysis • Windows.Foundation.Diagnostic Resources – http://channel9.msdn.com/Events/Build/2013/3-136
  • 19. PDF • Implementation derives from the ISO 32000-1 standards • Abstracts away all the format complexity from the developer • Focus is on rendering of PDF content as an image • APIs enable reading scenarios such as magazines • Password-protected files are supported
  • 20. Best practices when using PDF APIs • Use techniques such as UI virtualization to render only pages in and around the view • Hold on to rendered pages if you need to re-render them • Release pages that are no longer needed • Cancel page renderings that are superseded • Render only required portions of the page
  • 21. System Triggers When background resources change When a channel may be dropped When the Internet becomes available When an app is added When an app is removed When a change occurs, such as cost When the associated MSA change When the system has updated an app When fast user switch or logon occurs When a new SMS message is received When the time zone & time changes When the user becomes absent When the user becomes present
  • 23. Background Transfer Task • Windows.Networking.BackgroundTransfer • No file size restriction • Multi-part MIME (large transfers) • Additional verbs (PUT, RETR, STOR) support • ftp://user:password@server/file.txt • In-progress stream access • Data-Sense, Battery-Sense aware
  • 24. • SignalR – An alternative to push notifications – Real-time chat between the field agent and the Dispatcher • Advanced multi- tenancy • Provisioning – Pull down prepared- data • Backup database – Copy to release locks – Background transfer task Advanced ideas
  • 25. • Cross-platform – Xamarin View Models – Xamarin.Forms – Cordova • Shared top navigation • Keyboard navigation • Third-party controls – Including charting • Print Contract • Second screen – Support special devices and workflow – Simplified UI and feature set • Microsoft OCR Library • Handwriting • Flexibility with XAML Reader Advanced ideas