• Microsoft UK Faculty Connection

    Adding Try before you Buy to your Windows 8 Game or app


    Windows 8 allows you to build trial functionality right into your existing app, using the LicenseInformation class. Using the methods in this class, you wrap key functionality of your app inside conditional statements. You can then decide to time-limit these features in the trial version, disable them totally, or even include advertising until the user buys the full version. This flexibility ensures you never have to write a second version of your app, or worry about in-app purchases – and your app will always be free to download from the Windows Store.

    You can also simulate the current status of your app (trial or full) by using the CurrentAppSimulator class, to test how it will appear to the user.


    Step 1: Pick the features you want to enable or disable during the trial period

    The current license state of your app is stored as properties of the LicenseInformation class. Typically, you put the functions that depend on the license state in a conditional block, as we describe in the next step. When considering these features, make sure you can implement them in a way that will work in all license states.

    Also, decide how you want to handle changes to the app's license while the app is running. Your trial app can be full-featured, but have in-app ad banners where the paid-for version doesn't. Or, your trial app can disable certain features, or display regular messages asking the user to buy it.

    Think about the type of app you're making and what a good trial or expiration strategy is for it. For a trial version of a game, a good strategy is to limit the amount of game content that a user can play. For a trial version of a utility, you might consider setting an expiration date, or limiting the features that a potential buyer can use.

    For most non-gaming apps, setting an expiration date works well, because users can develop a good understanding of the complete app. Here are a few common expiration scenarios and your options for handling them.

    • Trial license expires while the app is running

      If the trial expires while your app is running, your app can:

      • Do nothing.
      • Display a message to your customer.
      • Close.
      • Prompt your customer to buy the app.

      The best practice is to display a message with a prompt for buying the app, and if the customer buys it, continue with all features enabled. If the user decides not to buy the app, close it or remind them to buy the app at regular intervals.

    • Trial license expires before the app is launched

      If the trial expires before the user launches the app, your app won't launch. Instead, users see a dialog box that gives them the option to purchase your app from the Store.

    • Customer buys the app while it is running

      If the customer buys your app while it is running, here are some actions your app can take.

      • Do nothing and let them continue in trial mode until they restart the app.
      • Thank them for buying or display a message.
      • Silently enable the features that are available with a full-license (or disable the trial-only notices).
    If you want to detect the license change and take some action in your app, you must add an event handler for this as described in the next step.
    Step 2: Initialize the license info

    When your app is initializing, get the LicenseInformation object for your app as shown in this example. We assume that licenseInformation is a global variable or field of type LicenseInformation.

    Initialize the CurrentApp or CurrentAppSimulator to access the app's license info. Add an event handler to receive notifications when the license changes while the app is running. The app's license could change if the trial period expires or the customer buys the app through a Store, for example.

    Step 3: Code the features in conditional blocks

    When the license change event is raised, your app must call the License API to determine if the trial status has changed. The code in this step shows how to structure your handler for this event. At this point, if a user bought the app, it is a good practice to provide feedback to the user that the licensing status has changed. You might need to ask the user to restart the app if that's how you've coded it. But make this transition as seamless and painless as possible.

    Step 4: Get an app's trial expiration date (Windows only)

    Include code to determine the app's trial expiration date.

    Step 5: Test the features using simulated calls to the License API

    Now, test your app using simulated calls to the license server. In JavaScript, C#, Visual Basic, or Visual C++, replace references to CurrentApp with CurrentAppSimulator in the app's initialization code.

    CurrentAppSimulator gets test-specific licensing info from an XML file called "WindowsStoreProxy.xml", located in <installation_folder>\Microsoft\Windows Store\ApiData. If this path and file don't exist, you must create them, either during installation or at run-time. If you try to access the CurrentAppSimulator.LicenseInformation property without WindowsStoreProxy.xml present in that specific location, you will get an error.

    You can edit WindowsStoreProxy.xml to change the simulated expiration dates for your app and for its features. Test all your possible expiration and licensing configurations to make sure everything works as intended.

    Step 7: Describe how the free trial works to your customers

    Be sure to explain how your app will behave during and after the free trial period so your customers won't be surprised by your app's behavior.

    For more info about describing your app, see Your app's description

    Step 6: Replace the simulated License API methods with the actual API

    After you test your app with the simulated license server, and before you submit your app to a Store for certification, replace CurrentAppSimulator with CurrentApp, as shown in the next code sample.

    Important  Your app must use the CurrentApp object when you submit your app to a Store or it will fail certification.

    Trial app and in-app purchase sample


  • Microsoft UK Faculty Connection

    Building a App/Game for specific Windows Phone 8 device - To support >1GB or 512mb memory


    This week I was having a discussion with Jon Wetherall  from coolgamearcade.com. Jon is one of our Greenshoot teams and wanted to ask how they could target specific windows phone devices for their next title.

    So in respect of Windows Phone the two options of devices are

    · >1GB or higher RAM based devices

    · 512MB RAM (Low memory Windows Phone 8 devices)

    Building Specific optimized version for 1Gb & 512mb

    You actually have the ability within the Windows Store to build a app specifically tailored for each version Windows Phone and have them displayed in the Windows Phone Store under same app name.

    To achieve this you need to follow the guidance below

    1. Each Store release will need the same Product ID.

    a. To get the product id login to Windows Phone store http://dev.windowsphone.com

    b. Click on Dashboard

    c. Select the app and then click on details tab

    d. Scroll down to get App ID, copy this App ID

    e. Replace your product id in WMAppmanifest.xml simply open up your project solution in Visual Studio edit the WMAppManidest.xml and under the file under Packaging Tab replace the Product ID with the copied on from the dashboard.

    Once you have both the builds, add these two XAPs you need to submit each to the store for certification and publishing.

    The store certification team will test both the XAPs and app will be available on store.

    The advantage with this approach is that you can target both low end and 1GB RAM based devices with appropriate quality of graphics content. While the disadvantage is that you will have to maintain two builds.

    In this case your app customers will get the appropriate quality of graphics content based on their devices.

    Optimising your app/game for support on 512mb devices

    To get the maximum performance out of the 512MB RAM based device you can increase the peek memory usage cap from 150MB to 180MB by adding Functional Capability to the WMAppMainfest.xml file

    Add the following tag by editing WMAppManifest.xml in Visual Studio


    This increases the usage cap from 15mb to 180mb.


       1: <FunctionalCapabilities>
       3: <FunctionalCapability Name="ID_FUNCCAP_EXTEND_MEM"/>
       5: </FunctionalCapabilities>

    You can refer to How to modify the app manifest file for Windows Phone 8 for further information.

    Supporting only 1GB devices

    If your game is pretty intensive on memory you can choose to simply target  >1G devices (remember this will limit your downloads as your targeting a specific set of devices which are generally premium in terms of costs to consumers)

    2. To build app targeting only 1GB RAM based device, you will need to opt out low memory device

    This can be achieved by forcing memory cap requirements in WMAppManifest.xml

    Add the following tag by editing WMAppManifest.xml in Visual Studio


    This completely opts out of availability for lower-memory phones.

    The app won’t appear in the Windows Phone Store for lower-memory phones and it can’t be installed on lower-memory phones.


       1: <App>
       5:   <Requirements>
       7: <Requirement Name="ID_REQ_MEMORY_300" />
       9:   </Requirements>
      11: </App>

    You can refer to How to modify the app manifest file for Windows Phone 8 for further information.

    You can now publish the complied  .XAP file to the Windows Phone Store. When users visit the store and search for your game or app it will not be visible to consumers with low memory 512MB RAM based devices.

    Some Useful Links

    App capabilities and hardware requirements for Windows Phone 8 http://msdn.microsoft.com/en-US/library/windows/apps/jj206936(v=vs.105).aspx

    App memory limits for Windows Phone 8 http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681682(v=vs.105).aspx

    Developing apps for lower-memory phones for Windows Phone 8 http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh855081(v=vs.105).aspx

  • Microsoft UK Faculty Connection

    Debugging Shaders in Visual Studio with Graphics Debugger and not with PIX



    The latest tool for debugging shaders now ships as a feature in Microsoft Visual Studio, called Visual Studio Graphics Debugger.

    This new tool is a replacement for the PIX for Windows tool. Visual Studio Graphics Debugger has greatly improved usability, support for Windows 8 and Direct3D 11.1, and integration with traditional Visual Studio features such as call stacks and debugging windows for HLSL debugging.

    For more info about this new feature, see Debugging DirectX Graphics.

  • Microsoft UK Faculty Connection

    Visual Studio Tools for Unity add-on (formerly known as UnityVS). It is now available for download on the Visual Studio Gallery for FREE


    Download NOW!

    Visual Studio Tool for Unity are Microsoft’s FREE Visual Studio add-on that enables a rich programming and debugging experience for working with the Unity3d gaming tools and platform.

    Visual Studio Tools for Unity 1.9

    Here are the highlights in today’s 1.9 release:

    • Faster debugger. Attaching and detaching the debugger as well as expanding local variables is now faster.
    • Faster startup. Opening VSTU projects is now faster.
    • Better handling of C# constructs. The local variables window is now properly populated when debugging iterators or when variables are accessed inside closures.
    • Start your game and your debugging session in one click. This feature is one of our most-requested: you can now attach the debugger and start the game by simply changing the debug target. This is only available in Visual Studio 2012 and 2013.

    This will be continual updated so check out the  changelog.

    If you have any suggestion for Visual Studio Tools for Unity, please post them on UserVoice, and if you encounter any issue please report them through the Visual Studio Connect site.

  • Microsoft UK Faculty Connection

    Can the UK be the winners of the Imagine Cup.. again..


    Last year was amazing! we all watch Colinked (SoundSynk) from the University of Exeter pick up the top prize in the WW finals.

    This year, why not finish your week watching live to see if the UK team Vanguard with Ripple - with our very own UK Microsoft Student Partner Danny Brown as the lead developer can win it again for the UK!

    It will be broadcast live here at 4pm 1st August 2014 https://www.imaginecup.com/custom/index/worldfinals#?fbid=l1izHbXZVIX on Friday so lets wish the UK team the best of luck!!

    For more details on this year finalist see https://www.imaginecup.com/Blog/Details/meet-the-imagine-cup-2014-world-finals-teams#?fbid=W37Oxxp64Ps

  • Microsoft UK Faculty Connection

    Project Siena Beta 3 building an app without programming skills


    Beta3 release of Project Siena. This new release makes it even easier for business experts, business analysts and other app imagineers to create powerful custom mobile apps that are connected to enterprise services, major SaaS, and popular web and social services.

    Siena Beta 3

    The Beta3 release is a major addition to Project Siena’s empowerment of business experts and analysts. Key new functionality includes:

    • One-click read/write connection to Yammer, Facebook, Twitter, Instagram, YouTube, Coursera, Bing Search, and Bing Translate.
    • Connections to more types of RESTful services with OAuth 1 and OAuth 2 support.
    • A WADL accelerator for the ecosystem to rapidly create connections to RESTful services – this will be released over the next four weeks.
    • Write back to SharePoint lists.
    • Data visualization through interactive charts.
    • International languages support throughout the UI and in formulas and functions – this will be released over the next four weeks.
    • Across the board improvements, including more control over interactivity and design.

    In Beta2, we introduced the concept, illustrated below, that non-programmers could consume services as easily as using an Excel function. And composing multiple services was just like linking two Excel functions.

    Beta3 takes the ability to work with services to another level, where getting started with key services is now as easy as adding a PowerPoint slide layout to a deck. 

    Please install the latest release of Project Siena from the Windows Store, check out http://microsoft.com/ProjectSiena , watch a tutorial video, download a sample app for inspiration, and then bring your own ideas to life in a Siena

  • Microsoft UK Faculty Connection

    CMake for Windows Store and Windows Phone apps


    CMake is a cross-platform project files generator that enables re-use of shared C++ code across multiple IDEs or project systems. An early build of CMake that allows you to target Windows Store and Windows Phone apps is available on CodePlex here.

    The Microsoft Open Technologies have been  working with Kitware and CMake community to incorporate feedback and integrate it soon in the public CMake repository.

    To learn more on using CMake for Windows Store and Windows Phone apps, the team has created a short quick-start exercise (with sample code and installer) that you can try out here. If you are interested, feel free to check out all the labs in the Code2Win Challenge.

    Here is a list of those you can use today to build your Windows Store and Phone apps:

    Boost C++ Libraries
    Kinect SDK

    Here are the latest announcements from Microsoft Open Technologies



  • Microsoft UK Faculty Connection

    YoYo GameMaker Studio Resources



  • Microsoft UK Faculty Connection

    Windows Phone Key Resources


    Icon of devices and checkbox.

    Here a set of quick links for some of the most common asked questions I get re Windows Phone

  • Microsoft UK Faculty Connection

    Cross Platform Mobile Development with Visual Studio


    One of the key goals for today’s developers is how to build an app or game and get it on as many platforms in the short most cost effective way.

    However building rich applications targeting multiple mobile platforms and a variety of devices up to now hasn't been an easy task but with In case you haven’t heard yet, the final release of Visual Studio 2013 Update 2 is also now available.

    This update brings many new features, including tools for Windows Phone 8.1 and universal Windows apps.

    We now make it easier for developers to undertake a multi-device development in a mobile-first world with the technology of their choice – whether .NET, C++ or JavaScript.

    Visual Studio+ Xamarin

    Microsoft’s partnership with Xamarin has enabled C# and Visual Studio developers to target additional mobile devices including iOS and Android. Developers using Xamarin and Visual Studio can create native apps taking advantage of the underlying device, with great productivity of C#, and sharing code and libraries between their iOS, Android and Windows applications.

    Visual Studio + Apache Cordova

    Apache Cordova is a popular open source platform. It is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.


    The Visual Studio team has recently announced its tooling support for Apache Cordova. What possibilities does it give? Now developers can use Visual Studio to easily build hybrid apps that run on iOS, Android, Windows and Windows Phone using a single project based on HTML and JavaScript. Click here for more information.

    Why use Apache Cordova and Visual Studio

    1.Developers can use their existing skills in HTML and JavaScript to create hybrid packaged apps for multiple devices while taking advantage of each device’s capabilities.

    2. These tools support end-to-end development of cross-platform mobile applications targeting Android, iOS, Windows and Windows Phone using Visual Studio.

    3. Project templates are available for both JavaScript and TypeScript, and provide a standard blank Cordova starter project. Developers can pick their HTML/JavaScript framework of choice, whether Backbone and jQuery UI, or Angular.js and Bootstrap, or WinJS.

    4. Projects can be built, deployed, and debugged against a variety of devices, device emulators and web-based mobile simulators. By default, you can use the Apache Ripple Simulator to test your app on a number of emulators.     


    5. By installing and configuring the vsmda—remote npm package on a Mac, you can even build for iOS, deploy to a device via iTunes, or start your app in the iOS Simulator on a Mac right from Visual Studio.

    See here how to get started for free

    If you would like to get started with Cordova for Windows devices, you can refer to the Cordova documentation, or see here what you will need if you are working on a Mac, if you want to develop for Windows Phone 8, or for Windows 8.

    Microsoft and Open Source

    You can read about Microsoft Open Technologies contributions to the project. Here

Page 2 of 92 (917 items) 12345»