Windows App Studio was updated July 15th with a fresh release and brought with it some great new features such as:

New YouTube player

This new release brings a brand new YouTube player. Previously the player was implemented using Youtube Mytoolkit player from
Codeplex. The new player is implemented loading the embed YouTube url (<videoid>)
into a WebView control.

This change has been motivated by several things:

  1. Consistency: In WP8
    the videos were displayed in a "YouTube mytoolkit" control but in Universal
    the video was loaded in the native MediaElement
    control: The url was obtained using YouTube.GetVideoUriAsync helper
    method of myToolkit.
  2. Performance: In Universal
    for each video result the method helper YouTube.GetVideoUriAsync was
    called. This method obtains the video url through html scrapping having to
    download each page.
  3. Play
    Errors Experience
    : Some videos are not allowed by YouTube to be reproduced in some
    devices. Even the YouTube.GetVideoUriAsync method gets a valid url the
    result was an "unexpected error". With the new mechanism in case the
    video couldn't be reproduced, YouTube gives a detailed error with the reason.


New MVVM Pattern

In this new release there are a
lot of improvements in the generated code for Universal Apps:


The app data state management
has been moved from ViewModels and NavigationService to AppCache class. There
are 2 cache modes:

Memory: All data are store in memory in order to use it in the
current session

IsolatedStorage: All data is saved into the isolated storage to be
used when the app is released from memory.


Most of data loading behavior
has been moved from ViewModelBase to this new class. It acts as base class for
all specific data sources. This class manage how data is loaded: from cache or
from the specific data source. One relevant improvement is data is refreshed
from the data source only if it's content is older than 2 hours, no matter if
the app is resumed from suspension or terminated state, optimizing the battery
and data use.

ViewModel Items:

The way the items that comes
from data source are added to the observable collection binded to the view has
change. Now only the items that not are already in the collection are added.
This is done by implementing the IEquatable<T>
interface in each of the specific schema classes. This approach allows to
improve the user experience on one hand and the app performance on the other.


To check out the new and improved App Studio, visit

For Questions You can visit our support forum Here

To request new features, for future versions of App Studio, Visit the User Voice forum Here