Nick Randolph's update on the Build 2014 announcements relevant to Windows Phone and Windows 8, delivered at the April meetup of the Sydney Mobile .Net Developers Group.
6. Decrease HW cost floor (support 8x26, Qualcomm Reference Design)
Dual-SIM support
Apps to help you get more out of your data plan: DataSense 2.0, Wi-Fi Sense, Storage Sense, Battery
Sense
6
10. 10
Windows 8.1 provides developers with a shared platform that renders the right app experience for the right form-factor
Apps come to life on Windows
• Live tile improvements
• Action Center for smart notifications
• Background execution + triggers
• Bluetooth-LE support for wearables + beacons
• Internet Explorer 11 improvements
Designed once; engaging everywhere
• Converged developer platform
• Converged app model
• Shared app identities + entitlement
• Unified push services (via WNS)
11. 11
Windows Phone 7.5 Windows Phone 8.0
Convergence Begins with IE
• WP 7.5 shipped with IE9
• Same rendering engine as
Windows
• Same JavaScript engine as
Windows
Converged Core (NT kernel)
• Common kernel & file system
• Kernel mode driver framework
• Secure boot & storage
encryption (BitLocker)
• Core networking stack
Developer Platform
• Partial API convergence
(focus on sensors & IAP)
• Native Code (C++) and DirectX
• IE10
Converging the Dev Platform
• More skillset reuse
• More code reuse
• More seamless app experiences
Aligning the Stores
• Shared dev registration
• Shared entitlement
Common Core Platform
• Proximity & Location frameworks
• Security & identity
• Task scheduler
12. 12
The Windows Runtime (WinRT) is the
shared runtime and API space used by
store apps across the Windows platform
(phone and client)
Dramatic convergence in 8.1
• Goal is 100% convergence for dev scenarios
• In 8.0, we had ~30% API convergence
• With 8.1, we move well past 90%+ convergence
19. Provides a common layout coordinate
system that extends along the x and y
axis into infinity, allowing you to scale
up
19
10”
tablet
7” tablet
6”
5”
4.5”
Infinite virtual canvas
166 Logical DPI
23. 23
Windows Notification Service
(WNS)
• Shared push service for Windows +
Phone
• Improved queuing to limit lost
notifications due to intermittent
network connectivity
Tile templates + toasts
• Shared tile templates (more!)
• Periodic tile updates
• Toasts
24. Action Center
• Central location to surface
missed notifications
• Apps can intelligently manage
notifications
(silently add, update, and delete
notifications)
24
25. Device B
WP 8.1 – PFN 12345
Roaming Local
Local
Cache
Temp
Device A
WP 8.1 App
Roaming Local
Local
Cache
Temp
Backup [Device A]
29. Anna beats a level, with top
score!
The app asks her if she wants
to share this with her
friends? She says – “yes
please!”
Congratulations!
Shall we share this?
Share on:
Anna is playing her favorite
game. The level is almost
over, and Anna could break
her record. The application
starts recording the screen.
The application uploads the
MP4 file, which was
automatically transcoded to a
VGA resolution for quick
uploading, to a website for
sharing.
In 2013, we added a third column on devices for 5-inch screen or larger devices, like the Lumia 1520, to enable more stuff to show up on the screen. People really liked this so we are enabling this on all screen sizesin Windows Phone 8.1. Pin away! We’ve also added the ability to customize your Start background with a favorite picture or one of the options we’ve provided, which will make many of the tiles on your Start screen become clear so you can see the background you selected as you scroll up and down.
In Windows Phone 8.1, you get to Cortana by either a Live Tile on your Start screen or by pressing the search button on your device. This will take you to Cortana Home. To interact with Cortana, you can either speak or type—if you’re in a meeting, just type and Cortana won’t talk out loud. But if you ask her a spoken question, she’ll answer verbally and even carry on a natural conversation.When you interact with Cortana for the VERY first time, she will start learning things about you... like your name, how to pronounce it, and ask for some personal interests.Once she’s learned a bit about you, Cortana’s home populates with information that is curated just for you. You’ll see things like flight information she’s found from your email confirmations, weather, the latest news, and even traffic information once she learns your commute routine, such as from work and home.Cortana will be released first in the U.S. in 2013, U.K. and China in late 2013 with other regions following on after that.
There are many, many more features that users will love, including:Action Center to enable you to see notifications from ANY app – pinned or not—and to give you a customizable way to quickly access the settings you care about most, like Wi-Fi, Flight Mode, Bluetooth and Rotation Lock.Skype: The new Skype app for Windows Phone 8.1 brings the best of Skype on a smartphone. It’s integrated with the Phone dialer, so if you’re on a call you can quickly and easily “upgrade” your ordinary phone call to a Skype video call at the tap of a button.Word Flow Keyboard: The keyboard in Windows Phone is smart enough to learn your writing style and even knows the names of people in your contacts for faster typing. Best of all, our new Word Flow Keyboard lets you glide your fingers over the keys to type INCREDIBLY quickly.Calendar:The new Calendar has been redesigned to add a new week view which lots of people have been asking for.Many others are listed here that will delight Windows Phone 8.1 users.
We’ve also looked at the hardware costs of a Windows Phone device and driven those down. New devices will be coming out supporting the latest SOC (System On Chip) designs and working with Qualcomm to provide reference designs that hardware manufacturers can take and get to market quickly with a minimum of adaptation necessary.We’re also supporting much requested features in some markets such as dual SIM support.Windows Phone 8.1 also comes with loads of new apps that are there to help you manage your bill costs, such as an improved Data Sense and Battery saver and new apps such as Wi-Fi sense that help you connect to free Wi-Fi services.
You can use this app to opt-in your phone to receive early Windows Phone updates before they are generally available, enabling you to run and test your app on real hardware running the latest OS before your customers.
For developers, the key feature of Windows Phone 8.1 is that it delivers on the promise of one Windows for developers.There are many exciting new features, such as new Live Tiles formats, Action Center programmability, Bluetooth LE support and the latest Internet Explorer browser.But the best thing is that it delivers a converged developer platform where you use the same APIs and techniques on both Windows and Windows Phone – and soon Xbox too.You can easily build an app to run on both platforms, and you can offer shared entitlement which means that a user can purchase your app on one opatform and automatically get usage apps for your app on the other.
This ‘convergence’ is nothing new; we’ve been working on it for a while.In Windows Phone 7.5, we implemented a shared browser – both Window and Windows Phone used the same codebase for Internet Explorer.In Windows Phone 8.0, we continued that work by making the core modules of the Windows and Windows Phone Oss common – laying the groundwork for all the later convergence, and delivering a converged programming experience for games development in C++ and DirectX. And although the XAML app platforms where still different, we started introducing some common Windows Runtime APIs around areas such as Storage and Sensors and In-App Purchase.With Windows Phone 8.1, we now deliver on a highly converged app development platform across the board.
The Windows Runtime is the API libraries that enable the development of modern apps.In Windows Phone 8.0, there was only a small subset of the WinRT APIs available on Windows Phone.[Build] In Windows Phone 8.1, the commonality now extends to over 90%. There are still a few areas where APIs just don’t make sense on one platform or another, but the vast majority are now available on both.Examples of not in Windows Runtime on Windows Phone 8.1: DirectAccess, Printing, Search
So this is the Windows 8.1 Developer Platform.As you can see, it’s the same pretty much all across the board, with common WinRT APIs on both Windows and Windows Phone.The major standout difference is that we are continuing to support and invest in the Windows Phone Silverlight app framework which is the XAML-based framework Windows Phone app developers have used up to now. This means that if you have Silverlight app development skills, you can continue to use them – we’re not forcing you to move the the new Windows XAML app framework which is the converged framework for Windows and Windows Phone.
We will now run through the most important new feature areas for developers in Windows Phone 8.1
First, of course, is the new converged developer platform, which we’ve already looked at. The 90%+ commonality of the Windows Runtime APIs and the ability to build UI using Windows XAML which is the same on both Windows and Windows Phone.
If you prefer to work in HTML and JavaScript, then we have an app framework for you. The HTML and JavaScript framework for building native apps has been brought from Windows and is now available on Windows Phone. It uses a special JavaScript library WinJS that allows you to call WinRT APIs from JavaScript.
In Windows Phone 8, we had a convenient virtual layout system that scaled all phone displays to provide a fixed virtual canvas of 480 pixels wide and either 800 or 856 pixels high. This convenient arrangement made it easy for designers to create layouts without worrying about the physical size of the display, but when the latest 6” superphones were released, it was often the case that the output of pages designed with a 4.5” screen in mind started to look ‘comically large’ on a 6” display, and this convenient arrangement starts to break down.In Windows Phone 8.1 for apps using the Windows XAML framework, we now have a virtual layout canvas that provides a consistent layout canvas of ‘view pixels’ that allow designers to create layouts that are determined by the physical size of the display, and not the screen resolution, from 4.5” displays, through 5” and 6”, through tablet sizes and right up to large 40” (or bigger) wall-mounted displays.
To support the converged programming model, the Windows XAML app framework has converged controls, available across both Windows and Windows Phone. But what does ‘civerged controls’ really mean?[Build] Firstly, we have the common controls which you program the same on both platforms, and which render the same wherever they display.[Build] Next we have the optimized controls. These controls are programmed in exactly the same way on each platform, but when they render, they adapt their rendering automatically to be more appropriate for that platform. An example of this is the DatePicker and TimePicker.[Build] Finally, we have the Signature controls, which are really the controls that encapsulate the Windows UX. These controls have all the Windows touch response and standard animations built in, and usually support templating so that designers can use them to easily create tailored UI appropriate for each platform.
An example of that is the Hub control. Here we see it used for a Travel app, where a different experience is offered on Phone and on Tablet, which is tailored to take better advantage of the bigger screen real estate.
Multitasking: through Background Tasks activated by Triggers.Trigger-based execution: Apps will subscribe to triggers they are interested in Only run *when* trigger is fired Example:Geofencing BLE beacon Push notification
Not just push, it’s a platformTilesToastsPushNotificationTrigger for background executionLocal,Scheduled and Remote updatesTile template catalog with near parity to Windows (Windows Phone will accept all 40+ square (150x150) and wide (310x150) Windows templates)Tile Notification Queue with 5 updatesThis means brand new stuff for Windows Phone!: - Periodic polling - Scheduled updates - scheduled toast and/or tile updates - Tile notification queue - Expiration support - New templates
By default, the 20 most recent toast notifications per app are persisted – expire after 7 days.Notification Center management APIs available to allow apps to manage their notifications.Scenarios:Remove a toast – remove toast relating to something that is no longer valid, such as a sold-out deal.Tag toasts so that you can refer to them later as a group.Replace a toast with an updated one – match on tag and group. E.g. frequently updated information such as a daily stock price update.Expire toasts – se expiration time on toasts. Scenario: a limited time deal is only available until midnight.Ghost toasts – create a new toast but suppress the UX popup. Useful for placing a non-interruptive record of some event into the notification center.
[Build] Roaming: Apps can choose to save Settings data so that it can roam with the userSync engine transfers data periodically based on triggers (user idle, battery, network, etc.)Syncs up to 100kb of data using the app’s PFNData is stored in the user’s OneDrive account, but doesn’t count against their OneDrive quota[Build]Application data can also be backed up. Data is backed up daily in user’s OneDrive account per device, and counts against their OneDrive quota (user can disable)
You can help users share content from your app with another app or service, and vice versa. Participating in the Share contract means that you don't have to write extra code or provide other developers with an SDK for your app just to share content. Apps that support the Share contract can automatically share content to and from any other app that also supports the contract.This is a much more flexible and extensible way of supporting sharing between apps than the rather limited launchers and choosers previously available in Windows Phone 8.
Windows Phone 8.1 comes with a new improved Maps control. As before, there is good support for geolocation, but 8.1 brings support for geofencing. You can set up to 1000 circular geofences (a radius around a geolocation) and when the user passes through a geofence, a background task can be triggered allowing you to run some code to alert the user or perform other relevant processing.
The absence of video editing support is a major application gap on Windows Phone today. In WP 8.1we are delivering a new APIs, Windows.Media.Editing with hardware transcoding support including support for:Quickly building a basic Video Trimming app (Windows XAML 8.1 and Windows Phone Silverlight 8.0 and 8.1)Complex tasks such as stitching clips. (Windows XAML 8.1)Adding Audio and Video Effects (Windows XAML 8.1)There is a new Background Audio API for Windows XAML 8.1Two process model New MediaPlayer APIStart second process through AppX manifestSupport for the new Windows 8.1 System Media Transport Controls Improved cross-process communicationThere is support for developing Microsoft Media Foundation applications for Windows Phone 8.1:Create MFTs (MSDN for modern apps usually calls these Media Extensions)Support for adding local codecs via software
<< Missing from this example, is the user permission query where the user permits screen recording >>Replay assumes that the application keeps enough information to reconstruct the play sequence. Then screen capture can be enabled during replay. There are opportunities here for the game to add ‘special effects’ like super slo-mo to enhance the recording.
Bluetooth LE is exploding! The ‘Internet of Things’ phenomena means that more and more smart objects are being equipped with sensors and Bluetooth LE radios. We have great APIs in Windows Phone 8.1 to connect to these devices, such as heart rate monitors and smart key fobs, including the ability to trigger background tasks when a connection id made or lost to a device.We also have good support for more legacy RFComm device services.
Microsoft has always been good at ‘enterprise’ though we heard from our customers that Windows Phone 8 did not have all the features they needed.In WP8.1, there is great support for the features enterprises need, including massively improved device management, support for client certificates when using SSL, availability of the full Windows Runtime cryptography libraries, enterprise Wi-Fi, app-triggered VPN support, S/MIME to encrypt email and enhanced facilities for enterprises to manage the apps installed on fully-managed devices.
And many, many more great features that you’ll learn about in this Jump Start.