Back up and restore your app on Windows Phone 8.1, Part 2: App data 5 Jun 2014, 10:47 pm

This blog was written by Hector Barbera and Sean McKenna--Program Managers, Developer and Ecosystem Platform – Operating Systems Group

In the first of this pair of posts, we covered one of the biggest additions to Windows Phone’s backup-and-restore functionality in the 8.1 release: the Start screen. In this post, we’ll cover the other major addition: app data.

App data often includes valuable settings, configurations, game state, and usage history, any of which can take a long time to recreate. When this data doesn’t migrate to a new device, it’s both an inconvenience for the user and a loss of hours of valuable engagement with your app. With the addition of app-data backup and restore in Windows Phone 8.1, that inconvenience and loss of engagement become things of the past.

Background

To ensure that your app works well with backup and restore, it’s important to consider the full scope of app data that can be present on a phone. While most of an app’s state resides in its local app-data container—also known as isolated storage—other content resides in other places such as coupons in the wallet, contacts in the address book, and event data in the calendar. Not all of this data is backed up in Windows Phone 8.1, so there’s the potential for issues if your app has dependencies between what’s backed up and what isn’t. The goal of this post is to help you prepare your app to handle app-data restore.

The backup-and-restore feature itself is pretty straightforward. Assuming the user hasn’t disabled app-data backup, here’s how it works: once a day, when the phone is idle, connected to AC power, and connected to a Wi-Fi network, the backup and restore engine looks for changes across the device and syncs them to Microsoft OneDrive. This includes looking for changes in specific folders of backup-eligible apps. By default, the set of eligible apps includes all Store apps targeting Windows Phone 8.1, including Windows Runtime apps and Windows Phone Silverlight apps.

When the user sets up a new device and chooses to restore a backup, any app data included in that backup is restored as part of the system-initiated app installation. When an app is ready to launch for the first time, its app data is available in the same state as it was at the time of the backup.

What you need to do

The good news is that if you’re developing a Windows Phone 8.1 app and want to take advantage of app data backup, you don’t have to do much. The first step is simply to understand the options for storing data in the Windows Phone app data model, which is accessible through the Windows.Storage.ApplicationData class. Those options are:

  • Roaming. This container supports both unstructured data (files) and structured data (settings). Data stored here is eligible for roaming synchronization between the user’s devices (including synchronization between Windows and Windows Phone for universal apps with a shared identity). Roaming data may also be backed up under certain conditions (for example, when the user has disabled roaming) in order to capture the entirety of the app’s state.
  • Local. This is the default storage location. It also supports storage of both unstructured data (files) and structured data (settings). Note that for Windows Phone Silverlight apps, Local maps to the IsolatedStorage folder. All data in Local is backed up to the cloud.
  • LocalCache. This is identical to Local except that it is always excluded from backups.
  • Temporary. This container allows you to store unstructured data (files) that are excluded from backups. These files can be cleaned up by the system in the event of a low-storage situation.

Best practices for backup

Here are some tips for backing up your app data efficiently:

  • Use Local to store only data that can’t be regenerated without user input. Examples of such data include app configuration, game progress, or user-generated content like voice recordings or typed notes. Because backed-up data counts against the user’s OneDrive quota, don’t use Local (or Roaming) for temporary files or data that can easily be recreated or download as needed.
  • Use LocalCache to store data that you want to preserve across app sessions but that you don’t want to be backed up. LocalCache is intended for data that’s important to your app but that shouldn’t be replicated in OneDrive. There are several possible reasons to choose LocalCache:
    • Avoiding duplication—The data is already available in the cloud and can easily be downloaded as needed (for example. an e-book title or news article).
    • Privacy concerns—The data is confidential and should not leave the device.
    • Encryption—The data is encrypted with a device-based key and would be unusable when restored on a different device.
  • Use the Temporary folder for data that you don’t need to save between app sessions. The Temporary folder is eligible for clean up whenever the device reaches a low-storage threshold.

Potential issues

Here are some situations to look out for as you back up and restore app data.

Running for the first time

There are some tasks that an app might need to do when running for the first time, such as asking for user credentials. With the introduction of app-data backup, your app can no longer assume that it has already run on a particular device based on the presence of certain data in its Local app data location. If you need to keep track of whether your app has already run on the current device, persist a local flag and store it in the LocalCache folder.

Encryption

When you store sensitive data locally on the phone, it’s highly recommended that you use the Windows Data Protection API (DPAPI) to encrypt the data first. It’s important to note, however, that DPAPI uses an encryption key that is based on the device that it’s running on. So if you try to decrypt that data on after restoring it on a new device, the decryption operation will fail.

If you’re encrypting data with DPAPI, either store it in the LocalCache folder or be prepared to handle the decryption failure on a new device. If you’re storing user names and passwords, use the PasswordVault object in the Windows.Security.Credentials namespace. If enabled by the user, the PasswordVault roams across all Windows devices, which means that it’s available for use on a new phone following restore.

Content licenses

Content licenses present similar challenges to data encryption. If your app acquires licenses that are tied to a specific device, consider storing them in the LocalCache folder.

Testing your app with app-data backup and restore

If you store all of your app data in the Local folder, you can simulate a device restore using the Isolated Storage Explorer tool (ISETool) by following these steps. (Note that the ISETool does not currently support interaction with the Roaming, Temporary, or LocalCache folders, or the Local settings container.)

1. Deploy your app to your developer device or emulator using Microsoft Visual Studio.

2. Use the app and create the state you want to test on restore.

3. Close the app.

4. Using the Isolated Storage Explorer tool, copy your Local folder to your PC:

    • Using the emulator:
      ISETool.exe ts xd <your app's product ID> <path to an empty folder on your PC>
    • Using a physical phone:
      ISETool.exe ts de <your app's product ID> <path to an empty folder on your PC>

5. Uninstall the app. This clears your app’s state.

6. Deploy your app again. If you want to test for hardware dependencies, try restoring to a device that’s different from the one you used in step 4.

7. Using the Isolated Storage Explorer tool, restore to your device the data that you backed up:

    • Using the emulator:
      ISETool.exe rs xd <your app's product ID> <path to an empty folder on your PC>
    • Using a physical phone:
      ISETool.exe rs de <your app's product ID> <path to an empty folder on your PC>

8. Launch your app and make sure all features work as you would expect following a device restore.

Opting out

While we hope that most app developers are pleased with the arrival of app-data backup and restore, we understand that there are reasons why you might want to opt out some or all of your data. The preferred method is to segment your data based on the data model described earlier—that is, using the LocalCache folder for data that you do not wish to store outside the device. This approach lets you take advantage of backup for some data while opting out content that might be sensitive or inappropriate for backup.

Of course, because the segmented app-data model is new for Windows Phone 8.1, you probably need to do some work before your data is cleanly separated. If you’d like to update your Windows Phone Silverlight app to target Windows Phone 8.1 without worrying about data migration just yet, you can simply opt out of backup altogether. Just use a flag in the Packaging tab of the WMAppManifest.xml file, as shown here.

clip_image002

Final notes

App-data backup and restore is a significant new feature in Windows Phone 8.1. Users who have spent significant time and energy engaging with your apps will now be able to carry that forward to new devices with little or no work on your part. We hope this post has helped you understand how backup and restore works and how your app can take advantage of it.

New partners announce Windows Phones at Computex 2014 5 Jun 2014, 4:30 pm

An exciting array of new Windows Phone devices were on display this week at Computex. Several of our new partners unveiled Windows Phones 8.1 devices. These new devices are a result of the announcement we made back in February at Mobile World Congress with Qualcomm Technologies, Inc. and $0 Windows for devices smaller than 9-inches in size which has enabled partners to more quickly and efficiently bring Windows Phones in to their mobile devices portfolio. Here is a look at just some of the many devices headed to all corners of the globe.

Prestigio:

PSP8400DUO PSP8500DUO 

Prestigio has unveiled their first two Windows Phones: the Prestigio MultiPhone 8500 DUO and Prestigio MultiPhone 8400 DUO. The MultiPhone 8500 DUO has a 5-inch IPS display (720x1280) and a quad core 1.2 GHz processor. It also has an 8 megapixel rear camera and Dual SIM capability. The MultiPhone 8500 DUO available in Europe in July for estimated price of $235 (U.S.). The MultiPhone 8400 DUO will have a 4-inch IPS display (480x800), quad core 1.2 GHz processor, rear 8 megapixel camera and Dual SIM capability as well. The MultiPhone 8400 DUO will be available in Europe in August for estimated price of $115 (U.S.).

Yezz:

yezz-billy-4_7

Yezz was on the ground showing off their new Billy 4.7 Windows Phone they announced earlier this month. The Billy 4.7 features a 4.7-inch IPS display, has a 1.2 GHz processor, rear 8 megapixel camera, and Dual SIM capability. Did you know Yezz named this phone to honor Microsoft co-founder Bill Gates? Yup! The Billy 4.7 is expected to be available soon starting in Europe, LATAM, and the U.S. In the U.S., the Billy 4.7 will be priced at $249 (U.S.) and available through Amazon.com. It will have interchangeable covers available in red, white and blue.

The Billy 4.7 is part of a larger family, though, since Yezz also announced previously it would be joined by the Billy 4.0 which comes will a 4-inch OGS screen, 8 megapixel rear camera, and quad core processor priced at $139 (U.S.).

BLU:

WINDOWS 4in_1 WINDOWS 5in_1

BLU is also teasing their new 4-inch (left shot above) and 5-inch (right shot above). More details to come on these devices but they will be coming to the U.S. and LATAM soon. Their colors are awesome. I want the bright orange 5-inch one!

In addition, there were some interesting Windows Phone prototypes teased at Computex as well, from manufacturing partners BYD, Compal, Pegatron, Quanta and Wistron. It is exciting to see new Windows Phones from new partners. Stay tuned for more to come!

Facebook Messenger for Windows Phone updated with performance improvements and new features 5 Jun 2014, 12:15 pm

An update to Messenger for Windows Phone is rolling out today bringing performance improvements and new features. You will see better performance in a few areas. In the background, Messenger is doing more caching of images (like stickers) for better data consumption. Taking and sharing a photo is much quicker: you can take and send a photo with just one tap. You don’t have to leave the app to take a photo with a separate camera app. There is a brand new photo gallery feature built into Messenger that gives you quick access to photos on your phone without leaving the app!

wp_ss_20140605_0001

You will also see a new groups tab where you can manage and create groups with your closest friends, family or work colleagues and have group conversations. You can pin these groups to your Start screen as well for quick access.

If you don’t have Facebook Messenger installed, you can download it here free from the Windows Phone Store.

IM+ Pro, ilomilo plus, Doodle Devil, and more are half off in Red Stripe Deals this week 5 Jun 2014, 9:30 am

A new set of Red Stripe Deals are available to you today, which means 50% or more off of these popular apps and games for Windows (and 4 of them are discounted on Windows Phone too!).

Here's the rundown of this week's deals:

IM+ Pro

IM  Pro

This cross-platform messaging app supports pretty much any major IM service you can think of, including Messenger, Facebook, Skype chat, Google Talk, AOL/AIM/iChat, Yahoo!, ICQ, Vkontakte, Mail.Ru Agent, Odnoklassniki, Yandex chat, Mamba.Ru, Mig33, SINA Weibo, Renren, Fetion, Gadu-Gadu, MeinVZ and Jabber. Get it this week for $1.99 in the Windows Store and $1.99 in the Windows Phone Store.

ilomilo plus

ilomilo plus

In this cute but challenging puzzle game, you try to reunite two sweet friends named ilo and milo as they travel a surrealistic and ever changing world made of cubes. Leap from cube to cube on Windows for $2.49 this week, or on Windows Phone for just $1.99.

Doodle Devil

Doodle DevilIn this evil counterpart to the popular Doodle God games, you combine fire, water, earth and air to create zombies, demons, and other evil creatures, and destroy the earth as we know it—fun! This week, Doodle Devil is just $.99 on Windows, and FREE on Windows Phone!

Azkend 2

Azkend 2

This game combines addictive tile-matching gameplay with interesting stories and beautiful illustrations. Get it for half price this week, $2.99 in the Windows Store, and $1.99 in the Windows Phone Store.

Special Enquiry Detail: Engaged to Kill

Special Enquiry Detail Engaged to Kill

Immerse yourself in the puzzling unsolved mystery of a serial murderer. You'll help detectives find the evidence that will identify the killer and bring him to justice. Work your way through six thrilling chapters, 44 locations, and 22 mini-game puzzles. Start solving for just $1.99 this week (Windows only).

Back Trainer

Back Trainer

The answer to your back pain problems is prevention through strengthening. This Windows app shows you how with detailed illustrations, videos and photos. You'll also be able to learn more about the anatomy of the spine, and the muscles that support it. Start your own back conditioning program this week for $2.49 in the Windows Store.

Check the "Collections" section of the Windows Store every Thursday for new Red Stripe Deals for Windows—and for additional deals in the Windows Phone Store, check this Red Stripe Deals Collection. Note that some apps and sale pricing might not be available in all locations, so check your local listings.

Marmalade SDK 7.3 for Windows platform: new features, free license 5 Jun 2014, 8:51 am

Marmalade, a Windows platform middleware partner, just released a new version of their popular SDK.  The Marmalade SDK enables developers to deploy code across multiple platforms and devices from a single code base. The new 7.3 SDK release brings new capabilities for Windows 8 and 8.1 and Windows Phone 8 across all license types, including Community licenses.  And for new users, the SDK will be available for no license fee. Existing users with Indie, Plus or Pro licenses will get a free upgrade. 

The addition of the Extension Development Kit for Windows Store (both Windows 8 and Windows 8.1 apps), enables developers to access Windows managed and native APIs, plus integration with advertising and social networks.

The prior Marmalade SDK 7.2.1 release provided support for features such as Accelerometer, Audio, Compression, Video, and more. Just a few enhancements in this release include APIs to access:

  • Device camera UI and ability to capture frame data
  • Device’s magnetic compass reading
  • Facebook website via Facebook Connect
  • Get the full list here

In addition, this release includes an ads-in-apps extension that support monetization through the Microsoft Advertising SDK or AdDuplex SDK.

Read more about this release, download the SDK and get started today.  

Backup and restore your app on Windows Phone 8.1, Part 1: Start screen 4 Jun 2014, 2:45 pm

This blog was written by Hector Barbera and Sean McKenna, Program Managers, Developer and Ecosystem Platform, Operating Systems Group

 

Windows Phone 8 introduced backup and restore as a way to ease migration from one Windows Phone to another. Windows Phone 8.1 improves on this by adding critical data sets that weren’t previously backed up, including the user’s Start screen. When the user chooses to restore a Windows Phone 8.1 backup to a new phone (or an existing phone that’s been reset) all the Start screen tiles are restored to their previous position and size.

We expect the majority of apps to work just fine following restore. However, because Windows Phone supports secondary tiles, and those tiles may point to data that no longer exists after restore, there are a few cases that developers need to think about. Let’s talk about those cases and look at ways to deal with them.

Background

When we initially looked at backing up the user’s Start screen, a fundamental question arose very quickly: how do we handle secondary tiles? By definition, primary tiles contain no launch context, so all you need to do to make them functional is to restore the associated app along with the tile’s size and position. Secondary tiles, on the other hand, are more difficult. In some cases, a secondary tile is just a deep-link to a specific page in the app. For instance, a news app might allow the user to create a secondary tile for international news, and assuming the page still exists in the restored app, everything will work fine once the app is reinstalled. However, apps can also create secondary tiles that depend on user-generated data unique to the device, such as a shopping list in a task-management app. That’s when things get interesting!

Ideally, we’d be able to guarantee that all the data associated with secondary tiles would also be backed up and restored, but that’s simply not possible. For a variety of reasons, we decided not to back up app data for apps targeting Windows Phone 8. But even if we had, users still have the option to turn it off without disabling Start screen restore. We could have chosen to simply not restore secondary tiles for Windows Phone Store apps, but this would lead to a poor user experience on a new device. Furthermore, our testing found that most app tiles work fine after restore even if the data wasn’t restored. And because there isn’t a consistent way for the platform to determine whether a particular tile depends on data on the device, we had to choose between restoring everything and restoring nothing.

In the end, we chose to back up just the data that is closely associated with tiles, such as tile properties and images. Having made that call, what makes backup and restore work with local data is you! That is, to create a seamless user experience we’re asking you to ensure that your apps do the right thing following restore.

Under the hood

Tiles and their metadata live in the Package Manager, which is responsible for carrying out app installs, updates, and uninstalls. More importantly for us, it manages the app metadata needed to render the app list and the Start screen.

The Start screen restore feature, or SSR, simply acts as another client of the Package Manager. When a backup is triggered–either an automatic nightly backup or an on-demand backup requested by the user–SSR queries the Package Manager to read all the tile metadata and to locate any images associated with the tile. All this data is then backed up to OneDrive.

During a restore, SSR is invoked during device setup if the user chooses to restore a backed-up image. SSR then retrieves all the Start screen data in the backup, and creates temporary app entries in the Package Manager to store the tiles and their metadata. These temporary entries are placeholders that are shown until the actual app is downloaded and installed; if the user taps on one of them, the system navigates to the download queue in the Windows Phone Store app. The system also keeps an eye on the restore progress: if a placeholder tile has no corresponding app entry in the download queue (for example when the app is not available anymore), that tile is marked with an exclamation mark badge and will show an error message when tapped.

When an app with restored tiles is successfully installed, the Package Manager updates the temporary tiles with the real functional tiles.

Preparing your app for Start screen restore

The key to preparing your app for Start screen restore is to handle navigation requests from restored secondary tiles. This might happen before your app has had the chance to run for the first time and do any required housekeeping.

For example, let's say you have a weather app that lets the user add multiple locations, where weather data for those locations is fetched and cached in a local database. Naturally, the app allows you to pin secondary tiles for each location where the navigation URI for each includes a reference to the location’s ID in the local database, as shown in Figure 1. When the user taps one of these secondary tiles, the app navigates to a page that shows that location’s weather.

clip_image002

Upon restore, the app is reinstalled and all those pinned tiles are recreated on the Start screen. However, it’s possible that none of the other data will come back–perhaps the app is not eligible for data backup or the user disabled it. When launched for the first time on the new device, then, the app will likely query for tiles on the Start screen and try to update them, but will be unable to resolve their location IDs in its (now empty) local database. At this point, the app either leaves the tiles alone or makes them blank as shown in Figure 2. Moreover, if the user taps a secondary tile, there’s the potential for an unhandled exception if the app doesn’t check correctly for invalid location IDs.

clip_image004

At the very least, then, your app needs to gracefully handle invalid navigation URIs, perhaps taking the user to a default page instead. Ideally, the app would recognize an invalid location ID, fetch the appropriate data to populate its local database, and then navigate to that location’s page as expected. The key to doing this seamlessly is to store an identifier in the tile’s navigation URI that’s relevant beyond the lifetime of your local app data. In the case of our weather app, this might be a postcode or a latitude/longitude pair, depending on the search parameters supported by the web service providing our weather data, as shown in Figure 3.

clip_image006

Of course, there will be cases where no amount of advanced planning can overcome the loss of your local app data. Consider an app that relies on user authentication to a cloud service for most of its functionality. If that app creates secondary tiles that navigate to experiences assuming the user is signed in, the app needs to handle the case where credentials are no longer available following restore. Ideally, it would redirect the user to the app’s login page and then navigate to the original experience following sign-in.

The bottom line is that you should never assume that a specific prerequisite has actually occurred when navigating into your app from a secondary tile. Always check for failure cases and handle them gracefully.

How to test your app with Start restore

Having followed our advice here and feeling confident that your app is ready to handle a Start screen restore, how can you test it without submitting an update to the Windows Phone Store and resetting your phone? Fortunately, you can simulate the Start screen restore scenario by clearing your app state and then launching it from secondary tiles:

1. Deploy your app to your developer device or emulator using Visual Studio.

2. Use the app to create any state associated with secondary tiles (log in with credentials, add locations, download content, etc.)

3. Pin every type of secondary tile your app supports.

4. Verify that invoking the app from secondary tiles navigates to the expected location.

5. Close the app.

6. Using the Isolated Storage Explorer tool, clear the local folder of your app. Do this by replacing its local app data with an empty folder as follows, recreating the conditions that follow first installation of the app:

  • Using the emulator:
    ISETool.exe rs xd <your app's product ID> <path to an empty folder on your PC>
  • Using a physical phone:
    ISETool.exe rs de <your app's product ID> <path to an empty folder on your PC>

7. Launch the app from each pinned secondary tile to make sure the app works and handles any exceptions correctly.

If everything works as expected, you should be good to go.

Final notes

Following a Start screen restore, you might notice that some tiles don’t seem to update until you launch the corresponding app for the first time. In this release, we weren’t able to restore push channels and background task registrations for apps. We debated whether to return secondary tiles to a default state during restore, but decided it was better to make the tiles look like they did before at the risk of having stale data for some time until the user launches the app. As the developer of such an app, make sure you’re refreshing your push channel registrations and background task registrations every time you launch…but you were already doing that, right?

The Start screen is the most distinctive part of the Windows Phone user experience and we’re excited to save user’s customization time when they move to a new device. By doing your part as described in this post, you’ll ensure that your apps pick up right where they left off.

Sphero comes to Windows and Windows Phone 4 Jun 2014, 1:40 pm

I’ve been spending the last couple of days playing around with Sphero. Sphero is really cool. Sphero is an interactive and engaging robot – in ball form. Orbotix, the company that makes Sphero, specializes in fusing emerging technology with the latest innovations in robotics into toys to create a new kind of open play experience and Sphero is a result of their work. You use your mobile device to control your Sphero and play games or make it do interesting things. This week, Orbotix released Sphero apps for Windows and Windows Phone so you can now use your Windows device to enter this new world of gameplay with Sphero.

DSC06167

In order to use the app, you’re going to need a Sphero Robotic Ball. The app works with the original Sphero but what you really want is Sphero 2.0 – Orbotix’s second Sphero release. Sphero 2.0 includes a bunch of improvements over the original. Sphero 2.0 is capable of rolling at speeds of up to 7 feet per second. Sphero 2.0 is also waterproof. And it’s pet friendly (it’s pretty durable). Sphero 2.0 comes with two ramps you can use to catch air with. And you can upgrade your Sphero 2.0 by purchasing a Nubby cover that gives your Sphero off-road capability.

Once you have a Sphero, you’re going to need the apps to manage it. You can download the Sphero app here from the Windows Store and download here from the Windows Phone Store.

wp_ss_20140602_0001

In order for the app to see your Sphero, you’re going to need to pair it with your device. On your Windows Phone, go to Settings and then Bluetooth to pair your Sphero. On Windows 8.1, go to PC Settings, PC and devices, and then Bluetooth to pair your Sphero with your PC or tablet.

wp_ss_20140602_0002

As soon as you get your Sphero connected to your device, the app will “initialize” and update your Sphero with the latest firmware. This is important as it gives your Sphero all the latest awesomeness. You want that. Once that is done, you’ll also be able to personalize your Sphero by giving it a name. I called mine “Bob”.

wp_ss_20140603_0001

Once your Sphero is ready to go – you can choose one of two options: just drive or level up.

wp_ss_20140603_0003

Choosing “just drive” is exactly what it sounds – you can just drive your Sphero around and have fun and make it do things. I use this option quite a bit when I want to get my puppy to play around and chase the Sphero (he loves chasing the Sphero!).

wp_ss_20140603_0002

With level up – you can complete missions, obtain tricks, and refine your skills. Both options let you configure your Sphero’s speed, colors (I made my Sphero green), core reactor, and boost times.

The more you play with Sphero – the better Sphero becomes!

You can purchase a Sphero 2.0 here and later this summer you will be able to buy Sphero from a Microsoft Store here in the U.S.

Visual3_Option1

To celebrate the arrival of the Sphero apps for Windows and Windows Phone, Sphero is hosting a giveaway that runs through June 16th, 2014 where you can enter for a chance to win a Sphero 2.0! Click here to enter the contest – and good luck!

One final note on something else that makes Sphero super cool: developers can program Sphero to do interesting things. Sphero can be programmed in about 14 different languages including Ruby, Python, JavaScript, and C#. There is an official Windows 8.1 SDK here and the community has also created a SDK. And Sphero can be used to introduce kids as young as 8 years old to the world of programming. Orbotix plans to bring their own programing apps (MacroLab which is their visual programing app, and OrbBasic which is their text programing app) to Windows in the future.

HP unveils new 2-in-1 PC for businesses 4 Jun 2014, 12:30 am

HP has unveiled a new 2-in-1 PC today designed specifically for business users: the HP Pro x2 612. You might have caught this PC being shown in Nick Parker’s Computex keynote. For more from Nick, I suggest you read his blog post here on the Official Microsoft Blog. I’m going to tell you a little bit more about the HP Pro x2 612.

HP_ProBook_x2_FrontLeftOpen_Undocking_win8_1

The HP Pro x2 612 is a 2-in-1 PC that gives you the best of a full high-powered laptop and a very sleek and light business tablet. The HP Pro Tablet 612 has a 12.5 inch diagonal display and attaches to the full size HP Pro x2 612 Power Keyboard which has an embedded battery as well as VGA, Ethernet, DisplayPort, and (2) USB 3.0 ports. With a battery in the tablet and one in the Power Keyboard, business customers can benefit from the dual batteries with up to 14 hours of battery life. On the side of the Power Keyboard is a docking connector for optional HP UltraSlim dock if a docking solution is needed. And the HP Pro x2 612 also comes with an optional battery-free Wacom pen with built-in holder. The pen has with 1,024 levels of pressure sensitivity and palm rejection technology so you can write and draw with incredible precision.

On the inside, the HP Pro x2 is powered by Intel Core i3/i5 processors with a vPro option. Because the HP Pro x2 612 is designed with businesses in mind, that means security is important. The HP Pro x2 612 includes TPM and a Smart Card Reader as well as specific enhancements by HP including HP BIOS, HP Client Security, and HP Sure Start to keep customer data secure and safe. You can also get an option fingerprint reader too. And finally, it also comes with a Qualcomm Gobi 4G LTE modem.

Additionally, HP will also have a soft, ultra mobile backlit keyboard for the HP Pro Tablet 612 that includes a USB 3.0 port, combo audio jack and a power connector.

The HP Pro x2 612 is expected to be available in September.

ASUS Republic of Gamers announces new gaming devices at Computex 2014 3 Jun 2014, 12:59 pm

ASUS Republic of Gamers (ROG) has unveiled a two new gaming desktop PCs, a new gaming laptop, and some gaming accessories today at Computex in Taipei sure to make PC gamers quite happy.

ROG G20:

ASUS ROG G20 Compact Gaming Desktop PC

The ROG G20 is a small form-factor gaming desktop PC. It has a compact 12.5-liter case that has no visible no visible exhaust vents. Its case uses natural convection with a thermal design that has a hidden airflow tunnel. This lets the ROG 620 have near-silent operation, measuring just 25dB at idle. So it’s a quiet beast. The case features a sophisticated design that has aggressive lines and Mayan stenciling with a black-matte finish. It also has customizable lighting effects that allow you to choose up to eight million colors across three different zones on the case. On the inside, it’s powered by an Intel Core i7 processor and an NVIDIA GeForce GTX 780 graphics card for amazing HD gaming performance and entertainment too. The ROG G20 is also energy efficient. It has an “Eco Energy Mode” that requires only 20w which gives energy savings that’s 50% better than the industry average.

ROG GR8:

ASUS ROG GR8 Gaming Console PC

Hardcore gamers will want to check out the ROG GR8. It gives you everything a PC gamer needs for full-on PC gaming. And it looks nice. The case has a slim-lined design that makes it perfect for use out in the living room, tucked away in a home office, or even a bedroom because it barely takes up any space. The case also allows for easy upgrades of storage devices and memory. It comes powered with an Intel Core i7 processor and NVIDIA GeForce GTX 750Ti graphics with 4K/UHD graphics output. It has SupremeFX audio and gigabit Ethernet networking as well. And with built-in Miracast receiver, the ROG GR8 allows HD content to be from other Windows 8.1 to be streamed to it and displayed on whatever big screen you have connected to the ROG GR8 (and you’re going to want a big screen connected to the ROG GR8!).

ROG GX500:

ASUS ROG GX500 Gaming Notebook

The ROG GX500 gaming laptop is perfect for a PC gamer on the go. The GX500 is ultra-thin – only 19mm thick. And its light weighing only 2.2kg. It has a 15.6 inch 4K/UHD display that runs at 3840x2160 resolution and has VisualMaster technology for incredibly wide color gamut of 100% NTSC. On the inside, it’s powered by the latest Intel Core i7 processor and NVIDIA GeForce GTX 860M graphics. To make sure it runs as cool as possible, the GX500 has an intelligent dual-fan cooling system for efficient and effective cooling.

To go along with these impressive gaming PCs – ASUS has also announced the ROG Gladius gaming mouse and ROG GK2000 gaming keyboard. And they have announced several new motherboards for PC gamers out there who like to build their own gaming PCs. You can read more about these by clicking here.

You can also read up on ASUS’s previously announcements from Computex this week.

AppCampus turns ideas into reality with 6 great new apps and games for your Windows Phone 3 Jun 2014, 9:11 am

The Microsoft app accelerator program AppCampus helps upstart developers bring their next-generation apps to Windows devices. To-date, the program has brought over 100 innovative titles to the Windows Phone and Windows Stores – all of them exclusive to Windows devices when launched.

You can always find the latest AppCampus titles in our AppCampus Showcase Collection. Here’s 6 new additions that we’re proud to call attention to:

1. Old School Racer 2

clip_image002

Hit the dirt, dare devil!  Old School Racer is back, and now you can twist, turn, and race your way across 40 amazing new levels on motorbikes, quad bikes and buggies. Feel gravity’s pull on your phone as you speed up, down, and even upside down through a morphing world that creates extra paths, platforms, jumps, and daring drops. Get it now for Free from the Windows Phone Store. Vroooom!

2. Guitar Tuna

clip_image004

Built by guitarists for guitarists, Guitar Tuna is an accurate guitar tuning app for Windows Phone – quickly tune your guitar, bass, ukulele, mandolin, and more. There’s also a mini-game to learn new chords, and other bonuses like a metronome and ear trainer. Get in tune and get Guitar Tuna Free from the Windows Phone Store.

3. Trekkit Traveler

clip_image006

Heading out on a cross-country trek?  Weekend road trip? Or summer semester overseas? Trekkit Traveller is the ultimate companion to help you document the story of your trips, travels, and adventures. Enjoy yourself and capture photos and videos while you’re traveling, then curate a story using this cool app. Upload your Trekk and Trekkit.com creates a slideshow. Get it now for $2.99 from the Windows Phone Store.

4. Hopping Penguin

clip_image008

Hopping Penguin is pure platformer fun! With simple touch-controls, you hop and bounce along a trail of ice creams through 4 dangerous lands in an attempt to catch a villainous ice cream thief. Enemies, un-lockable bonus levels, power ups, achievements, secret areas to explore, and ice cream – a sweet combination. Get it Free from the Windows Phone Store.

5. Snuggle Truck

clip_image010

Save a cargo full of animals by delivering them to the zoo on time. Snuggle Truck is an over-the-top, physics-based driving game. Tilt your truck, avoid TNT, rocket off cliffs, careen through caverns, blast across deserts, and ferret through forests while catching flying animals and trying to keep them in the truck. Get it for $1.99 from the Windows Phone Store and enjoy the raucous ride!

6. Brickvoid

clip_image012

If you’re in search of a new puzzle game, look no further. Exclusively for Windows Phone, Brickvoid takes you on a space-based robot adventure that keeps you thinking and tinkering. Help an adorable robot access his power source through mazes of space debris. Drag, push or pull extra-terrestrial bricks into place in 3D puzzles with great sound effects and dynamically changing background music. Get Brickvoid for Free from the Windows Phone Store.

--------------------

Find all 6 of these great new titles from the AppCampus program conveniently gathered in the AppCampus Showcase Collection in the Windows Phone Store. And let us know in the comments which is your new favorite!

ASUS announces new Windows devices at Computex 2014 2 Jun 2014, 3:28 pm

ASUS has announced several new Windows devices today at Computex in Taipei including a new Zenbook, a new 2-in-1 PC, and a new All-in-One PC.

Zenbook NX500:

ASUS ZENBOOK NX500_PR01

The new Zenbook NX500 has a gorgeous silver slim form factor with a sleek aluminum unibody construction. It looks great on the outside and super powerful on the inside: the Zenbook NX500 is powered by Intel Core processors (up to Core i7 quad-core processor) and configurable with NVIDIA GeForce GTX 850M graphics that has 2GB of GDDR5 video memory. It also has Broadcom 3-stream 802.11ac Wi-Fi, SATA 3 RAID 0 or PCIe x4 SSD storage. The Zenbook NX500 is the first ASUS laptop with a 4K/UHD display with VisualMaster technology. It has a stunning 15.6-inch 3840x2160 resolution IPS display. The display has lifelike color reproduction with a wide color gamut (100% NTSC/108% Adobe RGB) and factory-calibrated color temperature – perfect for photographers and other professionals like folks who work a lot with video. To top off this already amazing new Ultrabook, the Zenbook NX500 also has titanium-film speakers and SonicMaster audio technology, incorporating ICEpower, Bang & Olufsen technology.

Transformer Book Flip:

Transformer Book Flip_2

The Transformer Book Flip is a new 2-in-1 PC that “flips” the display up to 360 degrees from the fully-closed position with a hinge that has four gears that make it so you get smooth movement and ensures the display stays exactly where you want it. There is also an automatic keyboard and touchpad lock that gets activated with the Transformer Book Flip is used in non-laptop modes to make sure unwanted input doesn’t occur. The Transformer Book Flip will be available with three screen sizes: 13.3 inches, 14.0 inches and 15.6 inches. It will feature a bright Full HD 1920x1080 touchscreen display. The touchscreen uses high-precision 6mm-diameter actuators, which are more than twice as sensitive as the 9mm industry standard for accurate and responsive touch. On the inside, the Transformer Book Flip is powered by Intel Core processors (up to Core i7 quad-core processor) and configurable with NVIDIA GeForce GT840M discrete graphics with 2GB of video memory. The ASUS Transformer Book Flip will be available worldwide from the end of June.

Portable AiO PT2001:

The Portable AiO is a brand new All-in-One PC from ASUS with a 19.5-inch HD IPS 10-point touchscreen display. It has a portable and space-saving and slim design that measures only 12.3mm at its thinnest point and weighs only 3.2kg. It also features a sturdy, foldaway handle. For use on a table or desk, it has a pull-out kickstand to prop it up or can be folded down so that it is flush against the back of device when it’s not needed. Inside, the Portable AiO is powered by up to a 4th generation Intel Core processor and a NVIDIA GeForce 820M GPU. It has optional 802.11ac for fast Wi-Fi. It also has two HDMI ports so you can connect it to an HDTV or external display. And it has support for Near Field Communication (NFC) so you can quickly share content from other devices like your phone to it.

I’ll share more details on availability of these new devices as soon as it comes through.

Dell announces new Inspiron 2-in-1 and All-in-One PCs 2 Jun 2014, 2:32 am

For people looking for the best of both a PC and tablet, Dell is announcing two new 2-in-1 Inspiron PCs today that feature a 360 degree rotation between laptop, easel, tent, and tablet modes. You can go quickly go from writing a blog post or term paper on a physical keyboard to swiping through an eBook with its touchscreen display.

Inspiron 11 3000 Series 2-in-1:

Inspiron11_3000_4 Inspiron11_3000_8

The Inspiron 11 3000 Series 2-in-1 has an 11-inch, 10-finger capacitive touch edge-to-edge display with wide viewing angles. With 500GB – you get plenty of storage. It is designed with mobility in mind with its lightweight design, up to a little over 8 hours of battery life and is powered with up to an Intel Pentium quad-core processor. You also get an excellent audio experience with Waves MAXXAudio technology. The Inspiron 11 3000 Series 2-in-1 will be available starting on June 19th on Dell.com starting at $449.99 (U.S.).

Inspiron 13 7000 Series 2-in-1:

Inspiron13_7000_8

The Inspiron 13 7000 Series 2-in-1 is a step up from the Inspiron 11 3000 Series with a 13.3-inch 10-finger capacitive touchscreen display with up to Full HD resolution. It comes powered by 4th generation Intel Core processors, has a backlit keyboard, and a built-in passive stylus – perfect for jotting down notes in OneNote! The Inspiron 13 7000 Series 2-in-1 will be available in starting in September.

Inspiron20_3000_2

Dell is also announcing a new entry-level Inspiron All-in-One PC – the Inspiron 20 3000 Series. The Inspiron 20 3000 Series All-in-One has a radically thin and lightweight design with an adjustable A-frame stand for multiple viewing options. Because of its lightweight design, the Inspiron 20 3000 Series All-in-One can easily be moved around the house as needed. It has a 19.5-inch HD display, comes powered with up to Intel Pentium quad core processors, and premium speakers with Waves MAXXAudio and an integrated sub-woofer. The Inspiron 20 3000 Series All-in-One will be available starting July 1st on Dell.com the U.S. and is currently is available now in select countries around the world starting at $349.99 (U.S.).

Additionally, Dell is also announcing new 27-inch, 23-inch, and 21.5-inch Dell UltraSharp monitors. These new monitors feature Full HD screen resolution and an ultra-wide 178 degree viewing angle. They are also optimized for Microsoft Lync through their built-in 2 megapixel Full HD webcams built-in mics with echo cancellation. These new UltraSharp monitors will be available from June 3rd on Dell.com starting at $449.99 for the 27-inch model (UZ2715H); $299.99 for the 23-inch model (UZ2315H); and $269.99 for the 21.5-inch model (UZ2215H).

HP announces new 2-in-1 PCs 1 Jun 2014, 9:18 am

HP has announced three new 2-in-1 PCs today – including the HP ENVY x360 and HP Pavilion x360 which can easily switch from a notebook to a stand, tent or tablet and the HP Split x2.

HP ENVY x360 and HP Pavilion x360:

2c14 - HP ENVY x360, Hero, all modes

The HP ENVY x360 is designed for people looking for a high-performance PC that bridges the gap between work and play. The ENVY x360 has a 15.6-inch diagonal 10-point capacitive touchscreen and a unique hinge that lets you seamlessly shift to tablet or tent mode to watch movies or play games from the Windows Store. It also supports Windows 8.1 touch gestures with its HP Control Zone trackpad. On the inside, it is powered by an Intel Core processor. The HP ENVY x360 is expected to be available in the U.S. on June 11th starting at $679.99 (U.S.).

2c14 - HP Pavilion x360, Catalog, Right facing 2c14 - HP Pavilion x360 (stand mode), Hero, Right facing

The HP Pavilion x360 also lets you seamlessly shift to tablet or tent mode and is a bit smaller with a 13.3-inch 10-point touchscreen display. The Pavilion x360 is perfect for someone who has productivity and mobility in mind. It also comes with Beats Audio and dual speakers and is powered by the latest Intel or AMD processors. The HP Pavilion x360 is expected to be available in the U.S. with an AMD A8 processor on July 9 and with an Intel Core i3 processor on July 20 for starting prices of $629.99 (U.S.) and $599.99 (U.S.) respectively.

HP Split x2:

HP-Split-x2_2

The HP Pavilion x2 is a sleek, lightweight detachable PC that has an advanced hinge design and dual battery system that includes a battery in the base and one in the tablet so that users can easily switch from notebook to tablet and back. The Split x2 has a 13.3-inch 10-point touchscreen display and an ultra-quiet fanless design and is powered an Intel Core processor. The HP Split x2 is expected to be available on July 16 starting at $599.99 (U.S.).

GOOOAAALLL!!! ESPN and Internet Explorer Team Up to Bring You Closer to the World Cup with ESPN FC World Cup Essentials 1 Jun 2014, 9:03 am

We’re excited to announce that we are working with ESPN to bring the ESPN FC World Cup Essentials sports hub to the web. Today’s launch is the latest installment in the Rethink IE initiative showcasing what’s possible on the web with innovative experiences – it works wells across all modern browsers and devices but it’s perfect for touch in Internet Explorer 11. By working with ESPN, we are bringing exclusive content to ESPN FC World Cup Essentials that helps keep you informed and in top form for the 2014 World Cup. The site showcases some of the best technology on the web – immersive 3D artwork made possible with HTML5 and WebGL and adaptive browsing from your mobile phone to your laptop or desktop PC.

 

“The World Cup is one of sports most storied events, and inspires a tremendous amount of passion and loyalty from fans around globe. The World Cup Essentials site will provide an excellent complement to the comprehensive match coverage ESPN will be providing on television and the web. Working with IE allows us to use the power of the modern browser on the web to surround the beautiful game for millions of fans, said Bryan McAleer, Associate Director, ESPN Marketing.”

ESPN FC World Cup Essentials is the Place to Get Ready for the World Cup

Matches start on June 12 in Brazil - are you fit for the kickoff? Consider ESPN FC World Cup Essentials your training ground for the World Cup. If you’re a true fan who wants the latest sports news or a rookie who wants the lowdown on your favorite team, the ESPN FC World Cup Essentials hub has you covered. The site has fast, fluid touch navigation along with responsive web design to auto-fit any device you have. You can easily stay in-the-know whether you’re watching live from Brazil, decked out in your national kit at a local bar with friends, or stuck following along from your desk at work.

A deft touch is essential for the world’s top players, and now touch is important for spectators too. Because IE is the only browser built from the ground up for touch you can pinch, zoom and bicycle kick (okay, maybe not bicycle kick, but we might have to suggest it to our engineering team) through the ESPN FC World Cup Essentials site, putting information about your favorite team, player or match right at your fingertips. Choose among headlines, match schedules, teams and history to read curated content from ESPN including everything from featured articles, to video highlights, to polls and predictions.

Access Exclusive ESPN Content and Artwork

Circle the 3D globe to swipe through the best of the past to relive your favorite moments in sporting history. Go back to the inaugural 1930 games in Uruguay or relive Spain’s victory from Johannesburg four years ago. Want to show your team pride? Learn chants and traditions with fun fan videos, so you can show your passion during the match. Swipe to browse real-time sports news and social media updates from ESPN – the most trusted name in sports.

Browse exclusive player and team artwork created by ESPN specifically for the 2014 event. Additionally, fans can download their favorite artwork through seamless integration with OneDrive on the World Cup Essentials site.

For Developers: Showcasing the Possibilities with IE11 Technology

The ESPN FC World Cup Essentials site provides a great example of what’s possible in a modern browser like IE11 using touch. To create this immersive sports experience, we utilized the latest HTML5 standards including CSS3 animations, transitions and 3D transforms, WebGL using Three.js to create 3D navigation, and Pointer Events for input that works great across touch, mouse and pen.

The 3D models and textures for each of the player graphics are loaded asynchronously for a faster experience. In order to render text content for the team names, match scores, and days in WebGL, we rendered them to a 2D texture using the 2D Canvas API and used Three.js to push those textures into WebGL. We used Ember.js to keep the WebGL content in sync with the rest of the site.

The ESPN FC World Cup Essentials site joins other IE experiences such as 22tracks and Assassin’s Creed Pirates as examples of what is possible on the web today with modern browsers. We hope these real world experiences inspire web developers all over the world to rethink what the web can be and explore the possibilities on their own.

See you on the pitch.

Roger Capriotti

Senior Director, Internet Explorer Marketing

Introducing Files - a file management app for Windows Phone 8.1 30 May 2014, 1:30 pm

We all encounter a number of files in our daily lives across the various devices we use. And often times we need ways to manage these files and share them with others – even on our phones. We’ve heard your feedback loud and clear that managing files needs to be easier to do on your Windows Phone and Joe Belfiore announced earlier this month during a Reddit AMA that we would address your feedback with an official file manager app. Today, we are releasing that app. It’s called Files and it makes it easy and intuitive to manage your files on your device running Windows Phone 8.1. You can download it free from the Windows Phone Store here.

01-Files-Home 03-Files-Documents-Select 04-Files-MoveTo

The Files app allows you to access all the files stored on your phone. If your phone supports expandable memory with an SD card, like the Lumia 1520, you can use the Files app to access files on the SD card as well. You can browse through files and folders, open and search for files that are on the phone or on SD card storage. You can create new folders and arrange your files across those folders using move and copy functions and you can also rename and delete your files. And you also have the ability to share one or many files on your phone with your friends, family or work colleagues.

We appreciate the feedback you are sending us on how to improve our products and experiences. Please continue to do so here on UserVoice, leaving a comment here on this blog post, or via the Files app.

DEVELOPER SPEAK: Vladislav Spevak using new Windows Phone 8.1 features to expand audience for his game, Darklands 30 May 2014, 12:37 pm

Less than six months ago, Vladislav Spevak, the CEO of Prague-based Mingle Games, published his game, Dark Lands, to the Windows Phone platform. Dark Lands, funded by AppCampus, has been hugely successful in a rather short time, accruing 1.7 million downloads. Spevak’s first Dark Lands release was feature-light, and now, he plans to use Windows Phone 8.1’s newest features to release a feature-rich update and reach Windows customers as well. He also plans to take advantage of the convergence built into the platform to engage consumers across devices through a consistent experience.  In this interview, Spevak shares his plans to achieve even greater success with Windows Phone 8.1.  

What excites you the most about the Windows Phone 8.1 release?

clip_image002

Darklands Screenshot

When I launched Dark Lands on Windows Phone last November, I expected that I would accrue 100,000 downloads over a couple of months. In fewer than six months, 1.7 millions users downloaded the game and rated it an average of 4.64/5; and 45% of users come back to play again and again. So, in terms of reach, the platform has already exceeded my expectations. Now, I can port my game to the converged platform without writing any new code, and I get to expand my game’s reach to 1.3 billion Windows users. That’s exciting—thinking about how many users will be able to play Dark Lands and my other forthcoming games.

The best part of these numbers is that they reflect the use of our feature-light version. If our feature-light version is this successful, how much more successful can a full release be? ‘Less is more’ is basically our mantra: we get an exciting idea, build a prototype, test it, and launch a basic game in a few months without investing a lot of time in features. This strategy has been successful for us because we don’t invest a lot of time in a game that users don’t love. Now, we’re developing (and soon releasing) more features for Dark Lands because we already know it will succeed. I am excited that Windows Phone 8.1 aligns with our strategy: in the future, we can use 8.1’s rich development features to enhance our core feature-light releases and to make our existing games more engaging.

clip_image004

Darklands Screenshot

The changes to the notification center are exciting, too. In the digital world, everyone is screaming for users’ attention. As a game developer, I will be able to use universal C++ code to customize my notifications to engage users across devices—phone, tablet, and PC. And I don’t have to worry about becoming intrusive because users can access the action center to control which notifications they want to receive and on which devices, creating a consistent experience with which they will feel comfortable.

Creating a consistent experience across devices is a huge concern, especially with regard to Android, because they have so many different kinds of devices: it’s painful to support them all. In contrast, with Windows and all the new capabilities of 8.1, it is far easier to develop and scale across devices.

How do you plan to use the features of Windows Phone 8.1 to make your game even more successful?

“Windows 8.1’s new Live Tile templates offer a lot creatively and technically that will help us retain even more users.”

The feature I’m excited to try first is the Live Tile. User retention is incredibly important to us, so we’ll leverage live tiles to visually inform users that their “character has improved” or has obtained new “equipment”. A picture really is worth a thousand words, and by placing a game visual on a Live Tile, we can connect with players personally. Windows 8.1’s new Live Tile templates offer a lot creatively and technically that will help us retain even more users.

clip_image006

Darklands Screenshots

We are also planning to release a multi-player version of Dark Lands, in which we will use background triggers to notify users about when other players want to play with them. And with the geofencing capability, we’ll connect users in the same geographic area who are interested in getting together and having a Dark Lands game competition. I’m not ready to discuss the details of our forthcoming games, but we’ll use background execution and triggers to allow users more opportunities to interact.

Finally, I am happy that 8.1 has improved Facebook integration. Facebook is a vital place to reach users, and it’s important that our game be seamlessly accessible within that interface.

Do you have any advice for developers?

“[Windows Phone 8.1] is an investment you won’t regret.”

Developers need to think first about their audience. If you aren’t thinking about your users, you are shooting in the dark. Then make great games so that everyone falls in love with them. And don’t copy. Why should a user choose to play your game if there are a thousand others just like it? If you’ve considered all that, hop on because Windows Phone 8.1 is a great space for developers and for our audiences. It is an investment you won’t regret.

clip_image008

Darklands Screenshot

My Favorite Windows & Windows Phone Apps #5 30 May 2014, 9:31 am

It is time for my 5th installment of my favorite Windows and Windows Phone apps!

Time of My Life (Windows Phone):

1a

This is a new app from Microsoft Research released a few weeks ago. It is designed to help you better understand how – and where – you are spending your time so you can focus on the things that matter the most. In the app, you determine your “significant places”. As you spend time in these places, the app will show daily, weekly and monthly graphs of how much time you spend in these places. It’s a neat app that gives you some insight into where you’re spending your time. Download it for free from the Windows Phone Store.

TripAdvisor (Windows and Windows Phone):

2a 2b

With TripAdvisor, you have access to millions of traveler reviews, photos, maps that can help you plan the perfect trip. You can use TripAdvisor to find the lowest airfare, best hotels and restaurants and fun things to do. On Windows 8.1, TripAdvisor integrates with Bing Smart Search so that when you search for a hotel, you will see hotel ratings and reviews from the TripAdvisor app presented within the results. TripAdvisor is also integrated within the Bing Maps apps for Windows 8.1 to provide you with trustworthy recommendations when searching for places. I recently took a small vacation to San Francisco and I used the TripAdvisor heavily – including pinning my hotel to the Start screen of my Windows Phone so I had quick access to it while out-and-about in San Francisco. You can download TripAdvisor for free from the Windows Store here and from the Windows Phone Store here.

Xbox SmartGlass Beta (Windows and Windows Phone):

3a 3b

Control your Xbox One right from your Windows tablet or Windows Phone with SmartGlass. With SmartGlass Beta today, you view all of your TV listings through the OneGuide experience and navigate to a show you want to watch and use the Universal Remote Control to set new recordings and select and control recorded content from your DVR. You can even change the order of the things you have pinned on your Xbox One too with a touch of a finger. While I absolutely love being able to control my Xbox One from my Windows Phone or tablet, I also enjoy being able to use SmartGlass Beta when I am away from my console to see what’s going on with my friends by checking the activity feed. I can even read and respond to messages and view my friend’s profiles. And you can choose to get notifications too. With the Xbox SmartGlass Beta for Windows and Windows Phone, you can try out new features before they are released and give feedback to the team. The stuff you see in the SmartGlass Beta today will be rolling out to everyone with the June Xbox One System Update. You can download the Xbox SmartGlass Beta from the Windows Store here and from the Windows Phone Store here.

Top Gear: Race The Stig (Windows and Windows Phone):

4a

You already know I love Top Gear. And that I’ve had a lot of fun with Race The Stig on my Windows Phone. And now Race The Stig is available for Windows PCs and Tablets too! You essentially race against The Stig and speed through iconic Top Gear locations driving the series’ most recognizable cars like Richard Hammond’s beloved Oliver, Jeremy Clarkson’s Italian police car (complete with Ben Hur wheels), James May’s Amphibious Triumph Herald, and Geoff. You can download Race The Stig free from the Windows Store here and free from the Windows Phone Store here.

Flixster (Windows and Windows Phone):

5a 5b

Whenever I want to go see a movie – I use Flixster. With Flixster, you can check out trailers to movies out in theaters or coming soon. You can also see what critics say about a movie you’re thinking about seeing from Rotten Tomatoes and Flixster community user reviews. And finally, you can use Flixster to look up showtimes at nearby theaters. You can download Flixster from the Windows Store here and from the Windows Phone Store here.

Honorable mentions: The Bing Maps apps for Windows 8.1 received major updates this week – check them out. I am also really enjoying Reading List and Movie Moments on my Windows Phone (requires Windows Phone 8.1.

Also check out my previous blog posts on favorite Windows and Windows Phone apps:

As always, if you have any suggestions on apps for Windows or Windows Phone I should check out, leave a comment below!

Migrating your Windows Phone app from the Background Transfer Service to the converged Windows.Networking.BackgroundTransfer API 29 May 2014, 12:06 pm

This blog was written by Himadri Sarkar, Program Manager, Windows Networking

Starting with Windows Phone 8.1, you can call the Windows Runtime API for background file transfers from Windows Phone Silverlight 8.1 based applications. In this post, I’ll introduce you to that API and the reasons why you’ll want to migrate your Windows Phone app to use it.

One of the most common cases in which you want your apps to run in the background is to perform a large file transfer to or from the cloud. Since Windows Phone 7.1, the Windows Phone operating system has provided the background transfer service (BTS) for this purpose. (The BTS API is in the Microsoft.Phone.BackgroundTransfer namespace.) But with Windows Phone 8.1 you can now use the Windows Runtime API in Windows.Networking.BackgroundTransfer, which I’ll refer to in this post as BT. The BT API, along with the convergence of most of the Windows Runtime API, significantly reduces the development cost of a universal app that targets both Windows and Windows Phone. (The BT API is also the only background-transfer option available for Windows Phone apps written with HTML, CSS, and JavaScript.)

In addition, the BT API delivers a number of features that developers have been asking for in BTS:

No arbitrary file-size restrictions: BTS restricts transfer file sizes based on the network conditions (details here). In BT there are no file-size restrictions; it’s bound only by the amount of free space available on the phone’s internal storage.

  • Support for additional HTTP verbs: BT supports the use of additional HTTP verbs: PUT, RETR, and STOR. It also supports FTP as a transfer option.
  • Access to the stream during download: BT provides a method (GetResultStreamAt) to access the stream while it is being downloaded. This feature is not available in BTS.
  • Multi-part mime support: BT supports multi-part transfers (see the BackgroundTransferContentPartclass), which BTS does not.
  • Tile and toast notifications: With BT, developers can specify tile updates and toast notifications to be issued when the transfer is complete or when an error occurs.
  • Grouping and other options: BT supports the concept of transfer groups, and parallel and serial transfer options, which can be used to group a set of transfers as a unit.

Clearly there are many advantages to migrating from the BTS API to the BT API. Hopefully at least one of the features above has piqued your interest.

But if you’ve already built core functionality of your app on BTS, you likely have two key questions:

  • Is BT available for Silverlight apps? The answer is simple: yes! Any Silverlight app updated to target Windows Phone 8.1 can use BT.
  • How you can transition your code from using BTS to using BT? For the answer to that question, continue reading!

In the rest of this post, I’ll highlight the key differences between BTS and BT, using code snippets from a real app to illustrate the changes required to complete the migration.

We’ll begin with the Background Transfer Service sample for Windows Phone 8.0Background Transfer Service sample for Windows Phone 8.0, which covers the core functionality of BTS. The first step is to migrate the project to Windows Phone 8.1. Open the project in Microsoft Visual Studio 2013 and retarget to Windows Phone 8.1.

Architectural background

Before getting into the details of the migration, let’s take a look at some of the architectural differences between the two APIs. As the name implies, the Windows Phone Background Transfer Service (BTS) is a system-provided service that manages uploads and downloads on behalf of your app. That service in turn uses another and more primitive service, known as the Entertainment Download Manager (EDM), to actually perform the necessary HTTP operations. The EDM is used for most background file transfers on the phone, including the download of apps from the Store. It is called the Entertainment Download Manager because it was initially designed to handle download of content such as music and videos.

The Windows Runtime BackgroundTransfer (BT) API, on the other hand, is based on the background task infrastructure used for all app-driven background processing in the Windows app model. When an app queues a transfer by using the BT API, the system spawns a background task to complete the transfer. This background task runs within the app container but is hosted and managed separately from the foreground app instance. As a result, transfers proceed regardless of whether the app is running, suspended, or has been explicitly closed. The background task infrastructure also takes care of pausing and resuming tasks in various conditions, like when battery saver is turned on or when the network cost changes.

Migration focus areas

When you migrate from BTS to BT, there are a number of details to keep in mind.

First is the treatment of upload and download requests. BTS has a single BackgroundTransferRequest class to handle both uploads and downloads. BT, on the other hand, has separate classes for uploads and downloads: UploadOperationUploadOperation and DownloadOperationDownloadOperation.

Next, in BTS the methodology is to build the BackgroundTransferRequest object first and then queue it by using the BackgroundTransferService object. In BT, we instead start by creating the BackgroundDownloader and BackgroundUploader objects, which are logical (albeit non-static) equivalents of the BTS BackgroundTransferServiceclass. We then use those objects to create and queue the transfer requests.

Finally, while both BTS and BT support progress updates as the transfer proceeds, we must register for those updates differently. BTS reports progress via a set of specific events that your app must register for on the BackgroundTransferRequest class. As a Windows Runtime API, BT relies on the asynchronous task model and reports progress to an instance of IProgress<T>. As a result, we need to create a progress handler and attach it when starting a transfer.

To put things in perspective, here’s the task-creation code for each API, one after the other to help you compare.

BTS

//Creation of the URI from which 
//the download needs to happen.
Uri transferUri = new Uri(Uri.EscapeUriString(transferFileName), UriKind.RelativeOrAbsolute);

//Creation of the download request.
BackgroundTransferRequest transferRequest = new BackgroundTransferRequest(transferUri);

//Set the HTTP method of the request.
transferRequest.Method = "GET";

//Get the file name from the end of
//the transfer Uri and create a local Uri
//in the "transfers" directory in isolated storage.
string downloadFile = transferFileName.Substring(transferFileName.LastIndexOf("/") + 1);
Uri downloadUri = new Uri("shared/transfers/" + downloadFile, UriKind.RelativeOrAbsolute);
transferRequest.DownloadLocation = downloadUri;

//Schedule the request.
BackgroundTransferService.Add(transferRequest);

//For BTS, we need to handle transfer status
//and transfer progress through event handlers.
transfer.TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferStatusChanged);

transfer.TransferProgressChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferProgressChanged);

BT

//Creation of the URI from which 
//the download needs to happen.
Uri transferUri = new Uri(Uri.EscapeUriString(transferFileName), UriKind.RelativeOrAbsolute);

//Create the file where the download
//will happen.
string downloadFile = transferFileName.Substring(transferFileName.LastIndexOf("/") + 1);
StorageFile downloadedFile = await KnownFolders.PicturesLibrary.CreateFileAsync(downloadFile);

//First create the downloader object.
BackgroundDownloader downloader = new BackgroundDownloader();

//Then create a downloadoperation
//using the downloader.
DownloadOperation downloadoperation = downloader.CreateDownload(transferUri,downloadedFile);

//Set the HTTP method of the request
//on the downloader.
downloader.Method = "GET";

//Assign a progress handler
//callback function to the download.
Progress<DownloadOperation> progresscallback = new Progress<DownloadOperation>(DownloadProgress);

//Schedule the request.
await downloadoperation.StartAsync().AsTask(cts.Token, progresscallback);
File-handling differences

It’s worth pointing out a few key differences in the way that BTS and BT deal with files. First, as noted earlier, BT does not restrict transfer size like BTS does, although there are limits in BT that are governed by the following factors:

  • Amount of storage space available on the device as a whole.
  • Network connection cost (cellular vs. Wi-Fi)—BT is integrated with Data Sense, so if cellular is the only available connection, transfers are limited by the data plan. Beyond this limit, the transfer is paused and waits for a non-metered (Wi-Fi) network.
  • Power condition (battery vs. AC power)—When the device is on AC power, there is no limit on transfer size. When the device is on battery power, transfer size is restricted on an internal, time-based quota. If the transfer exceeds the quota, it’s paused until the quota is reset.

Second, BTS requires that files be placed within the shared/transfers/ folder (or any subfolder thereof) of the app’s isolated storage. BT instead uses StorageFileobjects to reference files, making it very flexible in terms of where files can reside. A file can be in your app’s local storage, in one of the user libraries (pictures, music, or videos), or on the SD card.

Transfer-preference and cost-policy differences

Both the BTS and BT APIs allow your app to control when the transfer should be scheduled, by means of system-defined enumerations: TransferPreferences for BTS and BackgroundTransferCostPolicyfor BT. Here are the available values in each enumeration.

TransferPreferences options (BTS)

Value

Description

None

Allow transfers only when the device is using external power and has a Wi-Fi connection. This is the default setting.

AllowCellular

Allow transfers when the device is connected to external power and has a Wi-Fi or cellular connection.

AllowBattery

Allow transfers when there is a Wi-Fi connection and the device is using battery or external power.

AllowCellularAndBattery

Allow transfers when the device is using battery or external power and has a Wi-Fi or cellular connection.

BackgroundTransferCostPolicy options (BT)

Value

Description

Default

Allow transfers on metered networks.

UnrestrictedOnly

Do not allow transfers on metered networks.

Always

Always download regardless of network cost (for example, even while a user is roaming).

Here are the key differences:

  • BTS requires your apps to govern both power and network policies. BT asks apps to control only the network cost because the operating system manages all power policies automatically. So if your UI provides an option like “Download only on Wi-Fi and AC Power,” you’ll now want to have it say just “Download only on Wi-Fi”, because that’s the only option that your app can control directly.
  • BT allows your app to specify network cost rather than network type. In effect, network cost acts as an abstraction over network type and recognizes that, while cellular networks are usually metered and Wi-Fi networks are usually free, neither assumption is guaranteed. As a result, there is no way to explicitly specify that a transfer should be “Wi-Fi only” when using BT. Instead, your app should use the UnrestrictedOnlyoption, which ensures that transfers won’t proceed if the user’s device has only a metered connection. But if the user has an unlimited data plan, her cellular connection will be considered unrestricted and downloads will proceed when it is available. (To avoid user confusion, then, you may want to consider changing UI options that refer to “Wi-Fi only” to something more general.
  • The default cost option for BT is less restrictive and can transfer over cellular networks, but it is governed by the Data Sense policies.

The following table describes the BackgroundTransferCostPolicy enumeration options for BT and their behavior in different network conditions.

Scenario

UnrestrictedOnly

Default

Always

Wi-Fi

Allow

Allow

Allow

Metered connection, not roaming, under data limit, on track to stay under limit

Deny

Allow

Allow

Metered connection, not roaming, under data limit, on track to exceed limit

Deny

Deny

Allow

Metered connection, roaming, under data limit

Deny

Deny

Allow

Metered connection, over data limit. This state only occurs when the user enables "Restrict background data in the Data Sense UI.

Deny

Deny

Deny

Accessing the list of transfers, handling progress, and checking status

Once transfers have been created and queued, you usually want to keep track of them and get status updates. Again, there are a handful of differences between BTS and BT to keep in mind:

  • BTS limits the total number of active and pending requests to 25, forcing your app to actively manage its own queue. BT has no limit, so you can remove such code from your app altogether. (Be sure, though, to check for success or failure of a new request, because BT does enforce an overall system limit of 1,000 requests).
  • BT supports the concept of grouping of transfers. You can create a named group (using the BackgroundTransferGroup class) and use it to associate multiple download or upload operations with each other. Also you can define whether the transfers in a group can proceed simultaneously or serially, or based on priority by using the BackgroundTransferBehavior and BackgroundTransferPriorityenumerations.
  • In BTS, you query the list of queued transfers via a read-only property of BackgroundTransferService, called Requests. In BT, you call GetCurrentDownLoadsAsync and GetCurrentDownloadsForTransferGroupAsync.
  • In BTS you can find a specific transfer via the BackgroundTransferService.Find method. In BT, you instead iterate through the list of DownloadOperations or UploadOperationsobjects and look for the GUID of the specific transfer.
  • Here are the major differences in progress handling between these two APIs:
    • As mentioned earlier, the handling of BTS transfers is event driven, whereas the BT infrastructure is based on asynchronous tasks, so your progress-handling code must be rewritten to migrate from BTS to BT. Here’s a simple, side-by-side example of progress handling with each API.

BTS

//Get the transfer requests from 
//the BackgroundTransferservice’s request
//property.
IEnumerable<BackgroundTransferRequest> transferRequests;
transferRequests = BackgroundTransferService.Requests;

//Iterate through all the requests and
//add an event handler to each of them.
foreach (var transfer in transferRequests)
{
transfer.TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferStatusChanged);
transfer.TransferProgressChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferProgressChanged);
}

//Process the transfer’s status in the event handler.
void transfer_TransferStatusChanged(object sender, BackgroundTransferEventArgs e)
{
ProcessTransfer(e.Request);
UpdateUI();
}
 
BT
//Get the transfer requests using the 
//GetCurrentDownloadsAsync call on the
//BackgroundDownloader instance.
IReadOnlyList<DownloadOperation> transferRequests;
List<Task> tasks;

//Iterate through all the requests.
foreach (var transfer in transferRequests)
{
//For BT we control the transfers via
//tasks. ProcessTransfer is the task code
//that will run during the progress
//callback.
tasks.Add(ProcessTransfer(transfer));
}

As you’ll see in the next two tables, the TransferStatus enumeration in BTS and the BackgroundTransferStatus enumeration in BT have a lot in common. I’ve also included a third table to show suggested mapping between the two enumerations. However, it’s important to note that not all states in BTS can be mapped to a specific BackgroundTransferStatus state in BT.

 

BT BackgroundTransferStatus value

Description

Idle

The app is idle.

Running

The transfer is currently in progress.

PausedByApplication

The app has paused the transfer operation.

PausedCostedNetwork

The transfer operation is paused due to cost policy (for example, the active network transitioned to a costed network).

PausedNoNetwork

The transfer operation is paused due to a lack of network connectivity.

PausedSystemPolicy

The transfer operation is paused due to resources not being available or 2G network condition or the device got into battery saver mode.

Completed

The transfer operation is complete.

Canceled

The transfer operation has been canceled.

Error

An error was encountered during the transfer operation.

 

BTS TransferStatus value

Description

None

The request has not yet been queued.

Transferring

The requested file is currently being transferred.

Waiting

The request is waiting in the background transfer service queue. This status can indicate that the request is queued and waiting for previous transfers to be completed or that the service is retrying the request due to a network error.

WaitingForWiFi

The request is waiting in the background transfer service queue for a Wi-Fi connection.

WaitingForExternalPower

The request is waiting in the background transfer service queue for external power to be connected.

WaitingForExternalPower-DueToBatterySaverMode

The request is waiting for the device to be connected to external power because the user has enabled battery saver mode on the device.

WaitingForNonVoiceBlockingNetwork

The background transfer service does not run when the device is on a non-simultaneous voice and data network, including 2G, EDGE, and standard GPRS. This status indicates that the service is waiting for a supported network connection.

Paused

The request has been paused and is waiting in the background transfer service queue.

Completed

The request has been completed. This means that the request is no longer actionable by the background transfer service regardless of whether the transfer was completed successfully. To confirm that a transfer was successful, confirm that the TransferError property is null.

Unknown

The background transfer service could not retrieve the request status from the service. Once in this state, a BackgroundTransferRequest object is no longer usable. You can attempt to retrieve a new instance by using the Find(String) method.

 

BTS value

BT value

None / Waiting

Idle

Transferring

Running

WaitingForWiFi

PausedCostedNetwork

WaitingForExternalPowerDueToBatterySaverMode

PausedSystemPolicy

WaitingForNonVoiceBlockingNetwork

PausedSystemPolicy

Paused

PausedByApplication

Completed

Completed

Cancellation offers perhaps the clearest illustration of the architectural differences between BTS and BT that I described earlier. The BackgroundTransferService object in BTS acts as a proxy to the OS-provided service of the same name, and that service runs independently of any individual transfer or app. As a result, it makes sense that it allows apps to cancel transfers by calling a method (Remove) with a reference to the transfer. By contrast, because BT is based on the BackgroundTaskinfrastructure, you cancel a transfer simply by canceling the task.

Here is the simple example of the cancellation code in each API.

BTS

//Use Find to retrieve the transfer request with the 
//specified ID.
BackgroundTransferRequest transferToRemove = BackgroundTransferService.Find(transferID);
//Cancel this operation by trying to remove the transfer
//from the background transfer service.
try
{
BackgroundTransferService.Remove(transferToRemove);
}

BT

//Find the transfer to be canceled.
DownloadOperation operationtocancel;

foreach (var transfer in transferRequests)
{
if(transfer.Guid == transferGuid)
{
operationtocancel = transfer;
}
}

//Attach the progress handler back.
cts = new CancellationTokenSource();
await operationtocancel.AttachAsync().
AsTask(cts.Token, progressCallback);

//Cancel the task.
cts.Cancel();
cts.Dispose();

 

 

Conclusion

Updating your Windows Phone app to use the Windows Runtime BackgroundTransfer (BT) API provides some real advantages, including code reuse across Windows platforms, an improved feature set, and better overall performance for background file transfers. Now you have all the info you need to migrate your app from BTS to BT and deliver a better experience to your users, and I hope you’ll also look further into all that’s becoming possible with universal apps that target both Windows and Windows Phone platforms.

50% off PAC-MAN, Sunny Hillride, Deadlings, Scan, Green Jelly, and KVAD Photo+ PRO in this week's Red Stripe Deals 29 May 2014, 10:00 am

In the Windows and Windows Phone Red Stripe Deals collections, you'll get 50% (or more!) off of half a dozen great games and apps. Here's the rundown on this week's deals:

PAC-MAN Championship Edition DX+

PAC-MAN

This official sequel to the neon ghost-eating 80s arcade classic is incredibly addictive. And this week, you can get it for $4.99 in the Windows Store and just $2.99 in the Windows Phone Store.

Sunny Hillride

Sunny Hillride

Load up your car and race across the countryside performing daredevil stunts while trying to keep your pile of luggage, your pet parrot, and fellow travelers intact. Get it for just $.99 for Windows or for $.99 for Windows Phone.

Deadlings

Deadlings

Experience over 100 levels of zombie madness, working your way through the deadly laboratory mazes in this side-scrolling arcade game. Get it for $.99 this week on Windows as well as on Windows Phone.

Scan - QR Code and Barcode Reader

Scan app

Scan QR codes and barcodes (UPC, EAN, and ISBN) with your webcam or your phone's camera and get instant access to detailed info, including pricing, reviews, and more about products that you scan. Get it for 60% off this week: $1.99 in the Windows Store and $1.99 in the Windows Phone Store.

Green Jelly

Green Jelly

A sweet little game for anyone who loves candy, ages 3 and up. Try to collect the most candies while avoiding tricky traps in the lands of cake, chocolate, and waffles. Regularly $4.99, you can get it this week for just $2.49 on Windows, or for $.99 on Windows Phone.

KVADPhoto+ PRO

KVAD Photo PRO

Powerful image editing with simple-to-use controls allow you to adjust, crop, retouch, frame, and apply numerous effects to your photos before sharing them. In this week's Windows-only special, you can get it for 50% off—$1.99 in the Windows Store.

Check back for new deals every Thursday for both Windows and Windows Phone apps, under Collections in the Windows Store, and in the Windows Phone Store's Red Stripe Deals Collection. Not all deals and apps are available in all regions, so check the Store from your device to see your local offerings.

Using the Windows Phone Emulator for testing apps with geofencing 28 May 2014, 12:29 pm

This blog post was authored by:

  • Sharath Raghavendra, Software Developer in Test, Operating Systems Group
  • Roaa Sakr, Software Developer in Test, Operating Systems Group
  • Cristina del Amo Casado, Principal Program Manager, Operating Systems Group

Geofencing is a new feature in Windows Phone 8.1 that allows an app to define one or more geographical regions for the system to track in the background and then alert the app when the phone enters or exits that area. The API is found in Windows.Devices.Geolocation.Geofencing.

This post provides a few tips and examples for how to test an app that uses geofencing using the Windows Phone Emulator in Visual Studio 2013. While the testing in the Windows Phone emulator doesn’t replace real-world testing, it can facilitate the early development or basic validation of app changes.

Note: Geofencing is also available on Windows 8.1, but this post is specific to Windows Phone. For more on this subject for Windows Store apps, refer to the earlier post, Testing and debugging your geofencing apps.

Windows Phone Emulator

Windows Phone Emulator is a desktop application that emulates a Windows Phone device. It provides a virtualized environment in which you can debug and test Windows Phone apps without a physical device. It also provides an isolated environment for application prototypes. For full details on using the emulator, see Test app features in Windows Phone Emulator and Windows Phone Emulator for Windows Phone 8.

The Location tool in the emulator provides developers the controls to simulate a location by adding pins to mapped locations or by creating a route on the map. It can also simulate various accuracy profiles for a route (urban, rural, suburban) and navigate the route at different speeds (fast, speed limit, biking, walking).

Tips when using the emulator to test geofences

Use Route mode: The new Route mode is the recommended mode in the emulator Location tool to simulate a geofence test.

Run multiple short simulations to avoid power budget impact: The Windows Phone Emulator simulates the geofence tracking in a way very similar to real devices. The Location system tracks positions and relative distances to nearest geofences. The system uses internal algorithms that optimize polling for positions to conserve the phone’s battery while not compromising performance for an app using geofences. So, to conserve battery in real devices, the polling for position to validate geofence conditions is not continuous; it’s adaptive. That means, polling requires a learning period and can be throttled to conserve battery if the user lingers around an area with nearby geofences. In the emulator, the learning period is time-consuming for the developer, so there are a few artifacts to speed it up. These artifacts, however, make the power budget kick in faster. Thus always plan for short simulations no longer than a few minutes.

Initiate the feeding of positions from your route before you inject your geofences: If the initial position fed to the system is really far away from the geofences you later define, the geofence tracking system can throttle back its polling interval to 15 minutes or more. This is because the emulator behaves like a real device, and the device doesn’t expect to suddenly move from New York to Seattle.

Start from a fresh state: Before you start each simulation, turn off and then turn back on the Location tool from the Settings page in the emulator’s Phone UI. This cleans up any initial position state that is too far away, resets the power budget, and so on). It’s especially important to do this, and retry the simulator, whenever a particular test fails to trigger expected geofence events.

To disable Location, go to the emulator’s Start screen by clicking the Windows logo at the bottom. Then click the right arrow below the tiles, pan down append open Settings. In Settings, pan down and click Location, then toggle Location Services off, and then back on.

To make it easier, add the location setting to your quick settings: go to Settings > notifications+actions and then tap one of the quick actions along the top. This gives you a list of settings where you can select location. Once you’ve done this, you can quickly access location when you open the Windows Phone 8.1 notification center by swiping down from the top of the screen.

Match the Speed profile to the nature of the geofences: When selecting a Speed profile and a test route in the Windows Phone Emulator, keep in mind the characteristics of the geofences added: a geofence with a large dwell time or a very small radius may not fire if the test route is simply too fast for the system to react to.

Background tasks for geofencing cannot launch more frequently than every 2 minutes: If you test geofences in the background, the emulator is capable of automatically starting background tasks. Remember though that the background task for a given app will not be launched more often than every 2 minutes (the first geofence notification triggers the background task almost immediately, but then subsequent background tasks for that app are launched every 2 minutes at most).

Default dwell time is 10 seconds: Remember that the default dwell time for a geofence is 10 seconds. You may want to tune this value for your scenarios.

Simulation examples

The following examples show developers how to test their geofencing apps using the Windows Phone Emulator.

Example 1: Simulating routes for testing geofences

To show simulations, we created a very simple geofence app for this blog post that enables the user to create a geofence with different parameters and save them. This app has a map control where users can touch to pick the location in which the geofence will be added, and then it allows users to specify other parameters for the geofence (name, radius, type of triggers, etc). The app then waits for the geofence events from the system, which monitors the geofences and notifies the app appropriately. At that point the app alerts the user about the event, requesting feedback on whether the notification happened too soon, too late, or as expected.

In this example we’ll add a grocery store reminder as a test. The Geofence App sample is shown in Figure 1, side-by-side with the emulator’s Location tool. That tool is invoked by clicking the >> control on the bottom of the emulator’s toolbar.

clip_image002

Figure 1: Adding a geofence in the sample app

In this case we’re adding a geofence with a radius of 100 meters and a dwell time of 0, which means the system will notify us as soon as the enter/exit condition is detected.

clip_image004

Figure 2: Select a route and an Accuracy and Speed profile for the simulation

Figure 2 shows how we use the Location tool. First click the drop-down directly under the Location tab and select Route. We use the Route mode to select a test route that simulates the user’s path between two points (e.g. office to home) that we then select on the map. The Location tool will fill in the intermediate points in the route, adapting the points based on the Speed profile. We then select an Accuracy profile that best suits the area of the route selected and we also select the Speed profile – Driving (speed limit), Walking, etc. For this simulation we selected:

  • A new generated route that passes through the defined geofence
  • A Speed profile = Speed Limit
  • An Accuracy profile = Suburban

With the Location tool, developers can apply any of the available Accuracy or Speed profiles to a route they load or create. This is left to the discretion of the developer.

  • Selecting a Speed profile for a test route allows speeding up or slowing down the route simulation that characterizes user behavior (driving, walking, and biking). You can use the Speed profile to simulate the behavior of the system for different geofence sizes, according to the speed at which the user is moving.
  • The Accuracy profile helps simulate variations in the accuracy of simulated positions for the selected profile. An Urban profile can simulate readily available and accurate WiFi-based positions while satellite positions might suffer from urban canyon effects. Similarly, a Rural profile can simulate poor or unavailable WiFi- and cell-based positions while satellite positions might be accurate. The Location system on the Windows Phone selects positioning technology based on various system considerations, including but not limited to, signal availability, battery considerations, and app requirements.
  • Once a test route is selected and an appropriate accuracy and speed profile is set for the route, the developer can play the route and observe their app’s response.

clip_image006

Figure 3: The app gets a geofence entry event

Figure 3 shows the route simulation triggering the Location system to fire a geofence entry event for the grocery store. The app displays a dialog box for the user indicating a personalized message for the event.

The route simulation continues and Figure 4 shows the app receiving a geofence exit event.

clip_image008

Figure 4: The app gets a geofence exit event

The same geofence can be tested with a different route simulation from the one we saw in the previous figures. This is done by selecting a different Speed profile, different Accuracy profile, and even generating a different route. The screenshots in Figures 5 and 6 show how this same geofence can trigger for:

  • A new generated route
  • A Speed profile = Biking
  • An Accuracy profile = Urban

Remember that before starting each simulation, turn off and then turn back on Location to start a fresh simulation without any throttling/power-budgeting impact from previous simulations.

Figure 5 shows how to select another test route with a different Accuracy and Speed profile (Accuracy profile – Urban. Speed profile – Biking). Figure 6 shows the app receiving a geofence entry event for the new route being simulated.

clip_image010

Figure 5: A test route to simulate a biking path

clip_image012

Figure 6: App gets a geofence entry event while in the biking simulation

Example 2: Using Live mode and Pin mode for testing geofences

While the Route mode is most helpful in simulating different scenarios and is best suited for testing geofencing, you can also use Live mode and Pin mode for testing.

Figure 7 shows how you set a position using Live mode. This position is outside the geofence the sample app has added. Figure 8 shows how you set a test position in Live mode that’s inside the geofence. The app receives the triggered geofence entry event.

clip_image014

Figure 7: Live mode – simulated location is outside geofence

clip_image016

Figure 8: Live mode – simulated location is now inside the geofence; app gets geofence entry event

Figure 9 shows how to use the Pin mode for testing. The app receives the geofence entry event upon simulating a set of location pins.

clip_image018

Figure 9: Pin mode – app receives geofence entry event upon simulation of set of pins

Wrapping up

The emulator enables the basic validation of geofencing in both foreground mode or via background task notification. When using the Location tool for this validation, use the Route mode for a more realistic experience. Due to some limitations in the emulator, we added artificial position polling that can make the geofence track for power budgeting. Because of this, limit each test period to just 2-3 minutes; if you want to test for longer periods, disable and re-enable location through settings to reset the power budget. After thisyou can initiate a new round of tests.

Bing Maps apps updated for Windows 8.1 28 May 2014, 11:18 am

Two major updates are available today for the Bing Maps apps for Windows 8.1. This includes the Maps app and the Bing Maps Preview app that was released back in December. With these updates, you can use the new auto-suggest feature that leverages the intelligence of the Bing platform to get more personalized recommendations when searching for places.

2_5981EB23

For example, when you type something into the search box, it will display previous places you searched for as well as places you have saved as favorites. Your favorites will now automatically roam and sync with your Bing Maps apps across your Windows devices (you can turn on favorites roaming in the app’s settings under “Personalization”). The Bing Maps Preview app now has the search box woven directly into the map (just like in the Maps app) so you can now search more quickly as well.

Screenshot (16)

If you’re not familiar with the Bing Maps Preview app, you should check it out. The Bing Maps Preview app gives you amazing 3D maps of 96 cities around the world for you to explore. Today’s update makes it even easier to explore those cities in 3D with new Explore 3D and Featured 3D panes. You can download the Bing Maps Preview app today from the Windows Store for Windows 8.1.

For more on these updates, check out this blog post from the Maps Team on the Bing Search Blog.

TechEd North America Highlights for App Developers 28 May 2014, 11:10 am

Another great TechEd North America conference wrapped up recently, delivering to you a rich set of sessions and hands-on labs that complement and/or expand on what was presented earlier this year at //build 2014. Below are some of the highlights that are specifically directed to developers working with Windows Phone, Windows Store apps, enterprise/LOB apps, and desktop applications. As always, we encourage you to browse the TechEd content further on Channel 9. And if there are sessions or labs that you’d love to see in the future, such as TechEd Europe that’s coming up in late October 2014, let us know in the comments.

Universal Windows Apps/Windows Phone for C#/XAML

Cross-Platform Development

Azure

Enterprise, Line-of-Business, and Desktop Apps

Visual Studio and Tools

Languages

8 great new indie games for your Windows Phone 28 May 2014, 9:57 am

The month of May has brought the addition of several great, new indie games to the Windows Phone Store, including new puzzlers, runners, and adventure games. Below are some of the top new titles you don’t want to miss. As always, you can find the best new indie games in our Indie Game Spotlight Collection.

1. Cloud Raiders

clip_image002

Lots of strategies with only one goal—grab the other guy's loot! Form clans and fight for global dominance across Floating Fortresses, Pirate Rafts, and more. Transform your island into an impregnable fortress of doom as you blast your enemies out of the skies. Get Cloud Raiders for Free in the Windows Phone Store.

2. Mini Motor Racing

clip_image004

Start your engines… With over 300 races to run, you’ve just found BIG fun, with LITTLE cars. Mini Motor Racing plays like a favorite remote-controlled car showdown, nitro-boosted with modern technology. Get Mini Motor Racing now for $.99 from the Windows Phone Store.

3. Color Sheep

clip_image006

You haven’t had this much fun mixing colors – well, probably ever! When hordes of vicious wolves try to steal the world’s color, it’s up to The Knight of Light and his color-changing flock of fleece to defend against the darkness. In this fast-paced arcade game, mix red, green, and blue light to incinerate the incoming beasts with laser blasts. Get Color Sheep now for $.99 from the Windows Phone Store.

4. Salvage

clip_image008

Created by the developers of Guitar Hero and DJ Hero, Salvage is a must-have flying game featuring dubstep music that helps you know when to swipe or tap. Avoid obstacles, collect items, and shoot down enemies to mad beats. Get Salvage for Free from the Windows Phone Store. Also available for Windows PCs and Tablets in the Windows Store.

5. Old School Racer 2

clip_image010

Old School Racer is back, twisting and turning and racing across 40 amazing new levels on motorbikes, quad bikes and buggies. Feel the gravity speed you up or down—and sometimes even upside down! Discover a new world that literally morphs to create extra paths, platforms, jumps, and drops. Get Old School Racer 2 for FREE from the Windows Phone Store.

6. Royal Revolt 2

clip_image012

Royal Revolt is back for with awesome 3D graphics, more battles and a lot more action! Defend your castle and trap your enemies in your deadly maze. Conquer the kingdoms of your foes as you overthrow the royals on your way to the top. But beware of your enemies, there is a revolt going on! Get Royal Revolt 2 for Free from the Windows Phone Store. Also available for Windows PCs and Tablets in the Windows Store.

7. Buzz Fly!

clip_image014

Smooth operations. Cool animations. And 72 levels of puzzles you must solve quickly. Help supply a fleet of small electric aircraft with the power to fly – can you do it? Get Buzz Fly! for Free from the Windows Phone Store.

8. Banana Island

clip_image016

Run, monkey, run! It's time to run like heck and get those evil baboons that kidnapped the love of your life. Slide, dash, and jump over tons of obstacles in this crazy free running game. Reach your final destination – the Baboon Empire, where beautiful Lilly is imprisoned by the angry baboon king. Get Banana Island for Free from the Windows Phone Store.

Find all 8 of these great new indie games and more in the Indie Game Spotlight Collection.

Toshiba announces new Encore 2 tablets 27 May 2014, 8:51 am

Toshiba has announced two new tablets today – the 8-inch Encore 2 and 10.1-inch Encore 2.

new_encore_2-tablets

Both these new tablets share a distinctive design from Toshiba featuring a Satin Gold chassis and matching slim bezel with rounded edges for easier holding. Both are about a third of an inch thick with the 8-inch model weighing just 0.81 pounds and the 10.1-inch model weighing just 1.21 pounds. The speakers (which come with Dolby Digital Plus Advanced Audio) are positioned in such a way so audio is not blocked when the device is held.

On the inside, both Encore 2 tablets are powered by a quad-core Intel Atom processor that provides the performance and speed for mobile gaming, getting work done and navigating Windows 8.1. The Encore 2 tablets can be configured with up to 64GB of onboard storage and up to 2GB of memory. Both feature a micro-USB port for sharing content and charging, and a micro-SD slot supporting cards up to 128GB that allows storage to be expanded for documents, photos and videos. They both also have a 5MP rear camera that can capture Full HD 1080p video at 30 frames per second and a front-facing camera for video calls. And they both have an echo suppressor to minimize background noise while on a video or audio call. For displaying content on a bigger screen like a monitor or TV, the Encore 2 tablets have a micro-HDMI port and also support wireless display.

There is also an optional Bluetooth keyboard cover with clickpad to boost productivity. This cover is optimized for the 10.1-inch Encore 2 but also works on the 8-inch Encore 2. The Encore 2 tablets also include a 1-year subscription to Office 365 Personal, giving customers access to full versions of Word, Excel, Power Point, OneNote and Outlook with the ability to work online and offline and sync between devices when connected to OneDrive.

The Encore 2 tablets will be available in the U.S. in early July starting at $199.99 for the 8-inch model and starting at $269.99 for the 10.1-inch model. The tablets will reach Europe during the third quarter of 2014.

Three new Disney games for Windows Phone, plus big savings right now on select Disney & Marvel games through June 2nd 23 May 2014, 12:41 pm

Disney has released 3 new casual games for Windows Phone this week, a perfect complement to your long weekend. Also, starting today you can pick up some fun titles from Disney and Marvel on sale at just $.99 each – now through June 2nd. Here’s the low-down:

JellyCar 3

clip_image002

JellyCar 3 puts you in the driver’s seat of a vehicle as squishy as it sounds. Navigate through worlds with soft-body physics, sticky tires for climbing walls, and other tricks to make the journey interesting and fun. You can customize your car, too. And a music track and goofy sound effects complete the ride. Get JellyCar 3 now for $1.99 in the Windows Phone Store. Also available in the Windows Store for $4.99.

Lost Light

clip_image004

A dark but enchanted forest filled with the glinting eyes of shadowy figures is the setting for Lost Light, an entrancing matching game with a new numbers twist. Connect and match your way to the heart of the forest, each move helping to restore the light hidden away by wicked Beasties. Get Lost Light now for $1.99 in the Windows Phone Store. Also available in the Windows Store for $4.99.

Disney Solitaire

clip_image006

How do you spice up the classic card game solitaire? With classic characters and charming places from some of Disney’s hit animated movies! That’s the fun of Disney Solitaire, available exclusively to Windows Phones, PCs and Tablets. Venture through beautiful level maps based on Peter Pan and The Lion King, unlocking animated power-ups along the way. Get Disney Solitaire on sale now – see below for details:


Disney & Marvel $.99 Game Sale

Summer is just around the corner, but great deals on several Disney & Marvel games are already heating up the Windows Phone and Windows Stores. Now through June 2nd, enjoy several great games at least 50% off, marked down to just $.99:

 

 

Windows Phone

Windows

Disney Solitaire

$1.99 $.99

$4.99 $.99

Temple Run: Oz

$1.99 $.99

$4.99 $.99

Temple Run: Brave

$1.99 $.99

$4.99 $.99

Toy Story: Smash It!

$1.99 $.99

$4.99 $.99

Avengers Initiative

$1.99 $.99

$7.99 $.99

Marvel Run Jump Smash!

$1.99 $.99

$4.99 $.99

Grab the deals while you can from the Windows Phone StoreWindows Phone Store!

Page processed in 11.21 seconds.

Powered by SimplePie 1.4-dev, Build 20140208172103. Run the SimplePie Compatibility Test. SimplePie is © 2004–2020, Ryan Parman and Geoffrey Sneddon, and licensed under the BSD License.