The goal of this site is to put relevant and applicable tools and information at the fingertips
With this blog we want to inform you on our latest initiatives.
Enjoy reading and stay tuned!
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.
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:
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.
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.
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.
Include code to determine the app's trial expiration date.
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.
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
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
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.
3: <FunctionalCapability Name="ID_FUNCCAP_EXTEND_MEM"/>
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
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.
7: <Requirement Name="ID_REQ_MEMORY_300" />
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
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.
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.
Here are the highlights in today’s 1.9 release:
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.
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
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:
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
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:
WinJS jQuery CMake OpenCV Cocos2d-x ANGLE Cordova Xamarin Boost C++ Libraries openFrameworks Kinect SDK Box2d
Here are the latest announcements from Microsoft Open Technologies
Here a set of quick links for some of the most common asked questions I get re Windows Phone
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.
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.
Why use Apache Cordova and Visual Studio
2. These tools support end-to-end development of cross-platform mobile applications targeting Android, iOS, Windows and Windows Phone using Visual Studio.
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.
You can read about Microsoft Open Technologies contributions to the project. Here