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!
Last week I was travelling the country talking to academics and students about the opportunity of building apps for Windows 8.
During the week I had a number of really interesting discussions, however on Friday I had a comment from one student, who simply believed Windows 8, was for touch devices only.
We got onto the topic of keyboard and mouse as I was presenting using a Lenovo thinkpad which supports both touch and keyboard and mouse. I was simply demonstrating Windows navigation via touch and then via keyboard and mouse during the presentation demos and the student in question seemed to be blown away by this and when we discussed this it more detail after the event he wasn't aware of the number of Windows Shortcut keys available.
So here a quick list of some of my favourites
Charms and menus
Apps Search Screen
Files Search Screen
Split to the right
Split to the left
Scroll Start Screen
Apps Options/App bar
Techila is a middleware solution for High Performance Computing that enables existing applications to utilize more computing capacity. I believe that the key problem in business and operational computing is the lack of application performance. There are enormous amounts of computing capacity available using Windows Azure cloud service.
Techila allows applications to utilise all available computing capacity. To try demonstrate this a great example of the benefits of Techila and the Windows Azure with Techila integration is a case study, which Techila did with a leading cancer researcher. The researchers in question had a project, which would have taken 15 years. He had developed his research application in MATLAB. He used the Windows Azure with Techila integration to boost the performance of his application with the combined power of 1200 Windows Azure instances. This allowed him to complete the project in 4,5 days! Being able to do something in 4,5 days, which usually takes 15 years gives a real competitive advantage.
Techila develop the solution in close co-operation with end-users and system administrators from the very beginning.
Techila has selected Pharma, Economics/ Financial, and Universities/ Academia as the key markets because of the fact that they are strong on Techila's home market, Finland. But I want to emphasize that unlike many other distributed computing solutions, Techila is a fully horizontal middleware, which can be used in any segment and which can increase the performance of any application: The code can be a MATLAB application, or it can be R (or C/C++, Java, Perl, Python, Fortran,...) They also offer an open API, which can be used to connect any ISV application (3DSMax, SAS, COMSOL, Sungard,...) to the Windows Azure capacity.
Also please find below a demo of run a 2-day long computation in a couple of minutes using 500 Azure instances using MATLAB:
Techila with R language can be found here:
With the release of Unity 4.2, you can now take your Unity games and quickly port them to Windows Phone 8 and extend your reach to Windows users.
Getting started building a Windows Phone 8 game with Unity
To develop, compile and submit a Unity game to the Windows Phone store, you will need:
• Unity 4.2 . Either the Unity free version or Unity Pro will work. The add-ons to publish to Windows and Windows Store are free, even for Unity Pro users.
• Windows Phone SDK 8.0 The WP8 SDK includes a stand-alone version of Visual Studio Express 2012 - if you already have Visual Studio Premium or Ultimate, the SDK will work as an addin and you can continue to use your version-.
• Windows 8.0 or later. If you do not own a Windows 8 license, you can get a 90-day evaluation version. If you are running Mac OS X or will install on Apple hardware, check different options for installing using Boot Camp, VMWare , or Parallels.
• Windows Phone developer account. This is needed to “unlock” your phone so you can side load your game for developing and testing. It will also be needed to submit your game to the Windows Phone store.
• Windows Phone 8 device. In Unity 4.2, deploying and debugging to the Windows Phone emulator is not supported, so you will need a phone. Once you have a phone and your developer account, follow these instructions to register your phone for development.
Targeting a new platform always requires a few tweaks, such as using a few platform specific APIs (e.g. in-app purchase or application life cycle) and tailoring the game to the device’s hardware capabilities (e.g. a back button).
To create your game, you will still be using the Unity IDE. This will feel very familiar and keep your productivity high. That said, there is a significant difference that you should keep in mind: When running the game within Unity, it will run using the Mono run-time; however, once you build for Windows Phone platform and deploy to the phone, you will be running in the .NET for Windows Phone run-time.
Here are a few tips for dealing with this “dual run-time” environment:
1. If including script files that will run in Unity, use the #if UNITY_WP8 pre-processor directive to refer to code that should not run inside Unity.
2. For plugins, include Unity plugins to be used in the Unity editor in the Assets/Plugins directory and include the run-time plugins for Windows Phone in the Assets/Plugins/WP8 folder.
3. Make sure you test your game thoroughly on a device. If you are referencing a Mono API that is not on Windows Phone, it will work fine in the Unity player, and throw an exception on the phone.
4. Unity uses the Mono compiler to generate phone assemblies, as such you may find that once in a while you will call a Mono API that is not in phone and even the compiler (when you build for phone) will not catch it. These errors will lead to exceptions when running on the phone. A good tool to validate an assembly’s portability to Windows Phone is http://scan.xamarin.com. You should extend this practice of validating your assemblies to compiled plugins. If you purchase a plugin that ships as a binary, validate it to make sure it uses only Windows Phone APIs.
If you find errors or missing Mono APIs that you are using in your game, you should look at the .NET API for Windows Phone reference site to find alternates.
Windows Phone renders their UI using XAML. This infrastructure can be useful if you want to have UI that is not in your Unity game (such as a splash screen or ads). XAML UI and Unity UI can compose seamlessly. The way this composition works is via the DrawingSurfaceBackgroundGrid control. This control uses Direct3D to render what is effectively the background to the whole screen. Unity renders your game against this surface using hardware accelerated Direct3D. For more details on XAML + Direct3D composition, refer to the XAML and Direct3D apps for Windows Phone 8 write-up on MSDN.
The graphics composition with via the Unity engine will all be transparent to you. It is where you mix and match that you will need to remember these four details:
1. Within your app, you can include XAML UI controls and widgets (such as an ad control, buttons, etc.) that compose visually with your game.
2. If you add XAML UI, this will be in front of your game since your game is rendered as the background of the scene.
3. To maximize compatibility across screen sizes, XAML content is scaled. XAML content is 480 wide, and then scaled. [So on devices with 1280x768 resolution, Unity will see this resolution and XAML content will be 480x800, scaled 1.6 times. If you are trying to align a pixel-perfect composite of a scene that uses XAML and Unity content, you will need to scale down your Unity content. You can get the scale from the Appication.Current.Host.Content.ScaleFactor property.
4. XAML UI runs on a different thread than Unity, so you will need to dispatch messages to the right thread in order to access the respective UI components for each technology:
To tweak XAML UI from a Unity callback, use this:
1: Dispatcher.BeginInvoke(() =>
3: //access XAML UI elements here..
To call from within XAML UI thread onto the Unity thread, use:
1: UnityApp.BeginInvoke(() =>
3: //access Unity objets here..
Windows Phone games must declare some of the resources or APIs they will consume.
This is done via declarations in the application manifest (WMAppManifest.xml). If you are making network requests, accessing sensors, using push notifications, etc. you will need to declare these, else your app with get exceptions or failures with access denied.
Everything you need to know about capabilities is in the capabilities documentation page. Review that page and double click on the WMAppManifest.xml document in your Visual Studio project to declare the resources you will need; there is no coding required for any of these.
Process Lifecycle Management
The Windows Phone application model has one foreground app (the one that is visible) that has access to most of the OS resources (memory, CPU, networking); to enable fast app switching, the OS does keep recently used apps that the user has not explicitly closed in memory. All of this app model is explained to great detail in the “App activation and deactivation for Windows Phone” documentation.
For games where you are saving state as early as possible, the default mappings to Unity events should work well. If you want to optimize further, all these events are in App.xaml.cs and the default Unity generated code is subscribing to them, you can add extra logic in the event handlers on the C# side, and use a plugin to communicate with your game code.
Windows Phone 8 has a detailed minimum hardware spec that all devices must meet; you should expect high-degree of consistency across the devices.
Hardware acceleration with programmable GPU. Windows phone uses Direct3D with feature level set to 9_3. MSDN has a great table of the supported features by level. The two biggest take-aways to notice are shader model level 2 and max texture size of 4096.
Windows phone 8 devices come in three resolutions: 480x800(WVGA), 768x1280 (WXGA) and 720x1280(720p). To find the resolution of your device, you can query the Screen.width and Screen.height properties within your Unity scripts; you can then scale appropriately within the game. For static assets outside the game (tiles, splash image, etc.) supplying assets for the WXGA resolution often suffices, Windows Phone will scale these.
Memory comes in multiple configurations: 512 MB of RAM for the WVGA devices, and minimum of 1GB RAM for the 720p devices. The newest phones such as Nokia 1020 are up to 2GB.
The OS limits how much memory a single application can consume; for lower memory phones this is around 150MB for a single app, and it goes up to around 380MB for higher memory phones. There are capabilities you can declare in your manifest to opt into specific memory behaviours and to opt out of running on low-end devices.
The default Unity projects opt into the ID_FUNC_EXTENDED_MEM capability, which says your game will run in a lower memory device, getting up to 180 MB. You can opt out of lower memory devices by using the ID_REQ_MEMORY_300 capability; learn more about the limits and the capabilities from the App Memory Limits documentation.
Accelerometer is available on all phones and directly accessible from Unity APIs.
Magnetometer and gyroscope are optional on the hardware on the phone. Compass APIs are not implemented in 4.2, but they are in the upcoming 4.3 release.
Hardware Back button. All Windows Phones have a dedicated back button and there are specific guidelines on what an app should do when the back button is pressed:
• If you have implemented navigation within your app, pressing the back button should go back to the previous step in your navigation.
• If you are inside a modal dialog (e.g. settings or achievements, etc.) pressing back button should dismiss the dialog.
• If you are not in a dialog and you are at the root of the navigation game (or you do not have navigation in your game), pressing the back button should exit the game.
To handle the back button, use the same mechanism as android: listen for the Escape key.
Note that proper handling of the back button is a certification requirement. If you do not handle it, you will fail certification. The default code exported from Unity does not handle it, they do the work to suppress it, and expect you to handle Escape key. If you do not want to waste cycles on every update listening for the Escape key you have a game with a single screen and no modal dialogs where the back button would always exit the game, you can comment out the e.Cancel assignment from the
1: BackKeyPress event handler in MainPage.xaml.cs
2: private void PhoneApplicationPage_BackKeyPress(object sender,CancelEventArgs e)
4: //e.Cancel = UnityApp.BackButtonPressed();
As any mobile platform, performance is important and you should test for it. Most of the standard Unity guidance on optimizations for mobile devices applies. Most games should not need platform specific optimizations (outside of tweaking visual features to the GPU capabilities on phone). For those looking to get every drop of performance, interop cost on Windows is a bit higher than on Mono. You need to be smart about crossing the boundaries from your script (C# or UnityScript) to the unity engine (which is written in native code).
Unity support for Windows Phone is still growing so not all APIs have been ported, there is only a few missing,
• Compass support is not in Unity 4.2
• Location services is not in Unity 4.2
• Webcam support is not in Unity 4.2
• Microphone support is not in Unity 4.2.
• WWW is implemented but multiplayer networking APIs are missing. You can used .NET APIs or third party libraries (e.g. photon) as an alternative.
• GPU profiling is not available yet.
• Application.OpenURL is not implemented. You can use the Windows Phone WebBrowserTask for this.
Enhancing your game with some of the Windows Phone platform features
The Windows Phone Start screen is a signature and highly praised feature in Windows phone. Tiles are the ‘first impression’ your users will get about your app; when used effectively, tiles can be a differentiator that drives continuous engagement to your game.
Anyone shipping a game for Windows phone should read the introduction to tiles for Windows Phone and the tile design guidelines for Windows Phone.
At a minimum, your game should have beautiful tile that meets the design guidelines on all possible sizes – tiles come in 3 sizes: 159x159 (small), 336x336(medium) and 691x336(wide).
To configure and include the tiles for your app, you must use Visual Studio’s manifest editor and include the images in your VS project.
Once you have a beautiful static tile, consider how to “invite” your users to come and play often. If you have a turn-based game, you can use the tile to notify the user of their turn; if you have a game that can start at any level, let the user create a secondary tile that lets’ them pin their favorite level and start there every time. If you have any server-side features (high scores from peers, special offers, etc.) use Windows phone push notifications to let the user know about your offers or any other relevant data that invites your user to play a game. You can also do local notifications, and scheduled tiles. There is a lot of different options to keep your start screen alive.
Unity does not include APIs for tiles and since Unity uses the Mono compiler, you can’t just include a script in your project to access tiles (the compiler won’t be able to resolve this), you must do a plugin and compile it using Visual Studio. For details on the tile APIs for Windows Phone, refer to the ShellTile class.
A few seconds will pass between a user tapping to launch your game, and the Unity engine rendering it to the screen. Windows Phone allows you to configure an image that the OS will show between the time the user launches your app and when XAML UI is rendered to the screen. This image is a JPG and you can configure different sizes for the different phone resolutions:
Image size in pixels
Filename (you must use)
You can also just include a single image called SphashscreenImage.jpg, this is what the default Unity builds do; if you are shipping a single image, make it the WXGA size, the OS will scale appropriately.
The Unity 4.2 Player Settings dialog does not allow you to override the Splash Image with your own, so you must configure it in Visual Studio. Instructions on where to copy the images to and what resolutions to use are in this How to create a Splash Screen walk-through.
Having a splash screen is a must-do, but it is usually not enough. Windows Phone only shows the splash image while the app is getting started and once it is ready to show XAML UI, it transitions into this XAML UI. For some games, there are still a couple seconds between that and your Unity UI. To get around this, you can just edit your XAML to display your splash image (or any other UI you want to display) until Unity is ready. For details on how to accomplish this, look at the “Extending your splash image” in the common tasks section below.
Windows Phone offers different options for monetizing your game.
Beyond the one-time purchase of your game, Windows Phone offers trials (that you would need to convert to a full purchase), in-app purchase for durables and consumables and advertising.
To access the in-app purchase APIs you will need to write a Unity plugin. MSDN has a great overview of the in-app purchase APIs, most concepts will feel ‘familiar’ for those who have implemented in-app purchase in other platforms. The only ‘quirk’ you will encounter is that Windows Phone does not have a staging environment to test in app purchase. There is a Mock API library that you can use for your development; if you feel that testing the in-app purchase APIs (not just the mock library) is absolutely required before submitting to the store, then do a beta for your game. This would allow you to test inapp purchase using the real APIs before you submit to production.
If you prefer to purchase a plugin instead of writing one, here are vendors that have plugins. RobotoWP for Windows Phone , BitRave and Prime31 have Microsoft Store plugin and lots of other useful Windows Phone and Windows store plugins such as Microsoft ads plugin, and an essential plugins that includes a lot of sharing tasks
Submitting to the store
To submit to the store, you will need your Windows Phone developer account and a licensed version of Unity. The trial version of Unity, will produce a water mark in the build that says “development build” on the bottom right of your game, and this will not pass certification. The Unity addins for Windows Phone are free for Unity basic and even Unity Pro users, so just contact Unity to get your free license.
When you are ready to submit to the store, follow these steps.
1. Check out the App certification requirements for Windows Phone 2. Become familiar with Windows Phone app product submission process.
3. Run your app through the Windows Phone Store Test Kit. The Windows Phone Store test kit is a suite of automated tests and manual tests for your game. The kit will identify and help you fix issues that Microsoft testers will find during certification; by finding them early, you will save a lot of time. The store kit can be executed from within visual studio (under the project tab), this walkthrough gives you step-by step- instructions and details on running the kit.
You will be tempted to just run the automated tests and ignore the manual ones; this is a bad idea; you can learn a lot about the platform and about making your game better from looking at what the Microsoft certification folks are testing for; give the manual tests a try and see how your game fares.
4. We recommend you go through a beta submission. More details at the “Beta testing your app” page , on MSDN
5. Submit your master configuration. Unity will create a debug, release, and master configuration for your visual Studio project. Make sure you submit the master, not the release one.
Other useful references
• Unity’s Windows Phone 8: Getting Started guide is a must read.
• The getting started with Windows Phone will walk you through downloading the tools, registering your phone for development (aka unlocking the phone) and writing a basic app that walks you through Visual studio project structure.
• The Windows Phone SDK samples collection has hundreds of coding samples to accomplish specific tasks.
Unity has instructions on debugging with visual studio.
Unity has instructions on profiling Windows phone apps
For the last few weeks, I have been attending a number of final year project submission meetings across the UK. I have seen a number of amazing apps/games and projects from students across the UK many of these have been produced as part of their academic coursework and now being used to demonstrate the skills which the students have mastered to potential employers.
One of the key things which frustrates me is the number of students who have built amazing apps or games and simply haven't published these a app store! to simply demonstrate their understanding of app development and more importantly have a app/game which they can demonstrate to a potential employer as part of their portfolio.
So the following blog is to simply help you all understand how to publish and maintain your published app or games and ideally help you get started on the development of a real portfolio of apps and games in the Windows 8 store.
So get your completed course, assignment or module published.
Log in to the Windows Store
Before you can publish your app, you need a Windows Store account. Go to the Windows Store to register. If you haven't claimed your free Windows Store account via dreamspark go to https://www.dreamspark.com/Student/Windows-8-App-Development.aspx
After you log in to the store with your live ID (the one you used for your store account), go to “Dashboard”
If this is your first time logging in since you created your account, you may see a message that says
“Before we can list any of your apps in the Store, you’ll need to verify your payment method. Verify your payment method.”
When you created your account you entered credit card information. A small amount was charged and then reimbursed on your credit card to validate the card. You need to find your billing statement (or call your credit card company) to find out the transaction amount that was charged.
Select the Verify your payment method link and you will be taken to the Payment account verification screen. When you get there scroll to the bottom of the screen. using the information from your credit card billing statement, enter the amount that was charged or the 3 digit code from the transaction description and select Next.
Once you see the message saying “We successfully verified your payment account” You are ready to begin submitting your app!
From the top menu, select “Dashboard” then select “Submit an app” from the menu on the right.
Use the dashboard to see all the applications you submitted and their status in the store certification process. It can take as little as 2 days or as much as 2 weeks for an app to be published after you submit it.
Choose a Name for App/Game Your app/game name is important! It is the first thing a customer sees when they find your app in the store. Be creative! Make sure you don't use names that are trademarked by others or those who own the trademark could ask to have your app removed from the store.
So step1. is do some research, search the store for names, phrase, titles and ensure you pick a unique one.
Enter the app name you wish to use and select Reserve App Name. If you get a message back informing you your app name is already in use, you will have to enter a different app name.
NOTE: The app name you enter here must match the Display Name in your app manifest in your created app/game
TIP: You can just do this first step to reserve your app name before you have the code ready to publish. Your name will be reserved for 12 months.
Price - This is where you set the price of your app, and your free trial options. If you choose to charge for your app, pricing can start at £0.99. The price you select may include a sales tax that the customer must pay. Your proceeds will be based on the pretax amount.
TIP: Apps with free trials of some sort usually get more downloads, you can either limit the duration of the trial, or in your code you can limit the features available on the trial version. Use the license Information class to determine if a trial has expired, or if a user is running a trial version. You can find more information about handling trials in your code here.
Markets - Select the countries where you want your app to be available. Selecting a country does not guarantee your app will be published there. There is some content and features that is restricted to certain regions, you could be using a feature that is not available in a particular region yet. You might want to consider the primary languages spoken in a particular country when deciding which countries you select.
TIP: When publishing a game, the countries Korea, South Africa, Brazil, and Taiwan require a game to be rated by a rating board and certified to prove the age rating of the game. If you do not have certificate files to prove you have completed that process, make sure you do NOT select those markets or your app will fail certification.
Release Date - If you want your app to be published as soon as it is certified select the first option.
Category - Now, select the category that best matches your app, this will affect where your app will be listed in the store, so consider your choice carefully. If a Windows user was searching for an app like yours in the store, which category would they choose to search? It's important to make it as easy as possible for users to find your app in the store. Picking the wrong category can also result in failing certification, because the testing team may not feel the category is appropriate for your app.
Hardware requirements – If your app has minimum RAM or DirectX requirements, you can specify that here.
Accessibility – Only select this check box if you have gone through all the accessibility guidelines and tested your app to ensure it is accessible. Accessibility includes testing for users with low vision or screen readers.
Advanced features - You only need to complete this section if your application supports push notifications (often used to update tiles), connect services such as SkyDrive and Single Sign-On, or in-app purchases. In app purchases is a popular way of making money with apps, the app is free, but a user can make in app purchases improve their app experience. For example, there are games where players can purchase weapons or armour. If you have not implemented any of the above features you can just leave all the fields in this section blank.
Age rating and rating certificates - This section is to describe the audience for your app and upload your rating certificates. If you can't decide between two age ratings, for example your app has content you feel is suitable for 12 and older, but requires an account that can only be created by users 16 or older, choose the higher age rating. Some countries requires will also require that your app be rated through a ratings board, especially for games. So check the list to see if a market you selected requires a rating certificate. If you try to publish to a market that requires a rating certificate and you do not provide the certificate file, your app will fail certification.
Cryptography - You must declare whether your app calls, supports, contains or uses cryptography or encryption. There are US regulations regarding the exporting of technology that use certain types of encryption. Apps in the Windows store must comply with these laws because the app files can be stored in the US. These rules apply even if you are a developer in UK selling apps in the UK through the store. So if your app is doing some type of cryptography or encryption you should read up on the regulations to see if your app requires an Export Commodity Classification Number (ECCN).
Packages - Now it's time to upload your app to the Windows Store. But there are a couple of things you need to do first:Build your package and run the WACK test.
· In Visual Studio, change the Build type from Debug to Release and Build the solution by choosing Build | Build Solution from the menu.
· From the menu choose Project | Store | Create App Packages…
· When asked “Do you want to build packages to upload to the Windows Store”, select Yes. and then select Sign In.
· Sign in with the same email account you used for the Windows Store.
· Select the app name you reserved to indicate the app for which you are creating a package. If you are resubmitting after a failed attempt to publish or to update your app in the store, you will want to select the checkbox “Include app names that already have packages” so you can see your app in the list.
· After you select the app name, select Next.
· Now you must choose which platforms will be able to install your application. If you pick Neutral, you will get a single package with builds that will run on any Windows 8 hardware. If you select individual builds you will get a different package for each build type. NOTE: If you are building an app which requires a lot of memory and processing power and you have not tested it on ARM, you might want to consider selecting x86 and x64 specifically and not including ARM in your release.
· For the version number, I recommend using the Automatically increment. Otherwise you must make sure the version number in your app manifest file matches the version number on this page.
· Make a note of the output location, because you will need to upload the file from that location to the store after the package(s) is/are created.
· Select Create when you are ready for Visual studio to generate the app package.
After your package is created, you are prompted to launch the Windows App Certification Kit. This will run your app through a series of tests to check for issues that could cause it to fail certification. While it is running you will see the app occasionally launch and close. Do not interact with the app while the WACK test is running.
To start the WACK test select Launch Windows App Certification Kit. This process can take 10 minutes or so. You will know when it is complete because you will see the test summary page informing you if your app passed or failed. The results window does not automatically appear in the foreground, so you may want to occasionally check your task bar and desktop to see if the test is completed..
If your app failed, select “Click here to view full report” then investigate and resolve the issues that caused it to fail, then create a new package and try again. If your app passed, you are ready to upload the package to the store.
Once your package is created you will find a new folder called “AppPackages” inside your application folder. Inside the “AppPackages” folder is a file that ends with “.appxupload” extension. This is the file you will select when you upload your app.
If you made changes to your app and rebuilt the package, make sure you pick the most recent app package, the version number in the package file name or the date created can help you identify the most recent package(s).
Go to the Packages section in the application submission and then drag your package(s) to the app submission page. (remember if you chose to make separate builds for x86,x64 or ARM you will have multiple packages and you will need to upload all of them to the store.)
You will know when your package is uploaded because you will see it listed as an uploaded package.
App Description - This is where you describe what your app does and this is what users will see when they look at your app in the Windows store. If you want your app to be downloaded by a lot of people, make sure to take time to write a good description. Take a look at the descriptions of similar apps in the store, how will your description stand out? Make sure the first couple of sentences grab their attention. Make sure you have a short list of your app's best features. If you offer a free trial, this is a good place to explain how the trial works. There are some good tips on writing your app description here.
TIP: If your app will require anyone to log in to complete certain tasks, you must mention that in your description or you will fail certification.
Screenshots - After you add the description of your app, you will need to upload images of your app including a logo that the will be used to feature the app.
If you don’t have these images already, you can create them using the simulator in Visual Studio. Change the launch option to Simulator using the drop down key in the menu.
When the app launches, on the right side of the simulator is a button with a camera icon which will let you to take a snapshot of the screen and put it in your clipboard. Then you can open an app such as Paint paste it and save it as a .PNG file. If your image is larger than 2 MB you may have to use a tool like Paint .NET (which you can download for free) to save it at a lower resolution. You can’t just resize the image because it must be at least 1366 x768 pixels (landscape) or 768X1366 pixels (portrait).
Keywords – If someone was searching the store, what keywords would they use to find your app? Specify these as keywords to help users discover your app.
Copyright and trademark info – this is a mandatory field where you specify the copyright information for your application. Basically this is where you get to say, whose app is this.
Promotional Images – If you have a great app, make sure you include some extra images so your app has the potential to be featured in the store! Being featured always results in more downloads, so if you’ve done something amazing, make sure to include all the promotional images so your app could be highlighted!
Website – If you have a website for your app or other apps you have built, you can include a link to it here
Support Contact Info – you must provide a way for users to contact you if they have problems with the app. An email address, or a link to a website with a Contact Us option will suffice.
This is a place for you to add any notes you wish to share with the people who are testing your app for certification. For example, if your app requires a login to an online service, you must provide the login information for an account the testers can use. If your app is only intended for a limited audience, it is good to mention that in notes to testers as well, because your app can be rejected because it does not appeal to a wide audience. So, if you are making an app for a specific audience, make that clear in the description and notes to testers. The information you enter in this section is not seen by users of the app, it is only seen by the team who tests your app to see if it is suitable for the Windows Store.
After you have completed all the sections you should see a checkmark beside every section. If there is a section without a checkmark, go back to see if you either missed a mandatory field, or you have a field entered incorrectly.
If every section is marked as complete you can now select Submit for Certification.
Congratulations! You have just submitted your app to the store!
Once you submit your app, it will take up to 1 weeks to get certified, you can track the progress of your app in the main dashboard. You don’t have to keep coming back here to check the status. If you fail certification, you will receive an email and a detailed error report explaining why it failed so you can correct any errors and resubmit. If you pass certification, you will receive an email with a link to your app in the store!
The Windows team has created this great checklist to help you prepare and organize all the required info to make it easier to enter the info when you submit an app.
Your app is now live and ready for consumers to download and install.
But what happens when you make a update or find a bug that needs fixing or even adding extra functionality?
Here is how do you submit a new version of an app/game to the Windows store after you have made updates to the code
You’ve submitted your app, and now you’ve made some improvements based on comments or feedback from users, or maybe just because you had some time to improve it. Here’s how you do it.
Log in to the Windows Store at dev.windows.com and go to the Dashboard.
Select Details for the app you want to update
When you get to the Details page, select Create New Release
You will need to upload a new package to the store containing your new code.
Go to Visual Studio, open the .appxmanifest file, go to the Packaging tab and increase the Version number, so it indicates this is a new version of your app.
You decide how you want to increment the version numbers, but here is some general guidance:
Now go to the menu and choose Project | Store | Create App Package and follow the prompts to build your new app package. It’s always a good idea to launch the Windows Application Certification Kit on your updated app to make sure it still passes the tests with your updates.
After you have built your new package, return to your app submission screen, select Packages, and upload the new package from your Visual Studio project AppPackages folder (REMINDER: the package is the file with the extension .appxupload).
When you submit a new version of an app, you must indicate the contents of your update in the Description section.
Enter a description of the update in the Description of Update field.
Although it is not required, if you are adding new functionality to your app, consider updating other fields that describe your functionality to users. You want to ensure potential users are aware of the full functionality of your application when browsing the store. Attributes you might want to updated include the Description, the App features list, or the Screenshots.
If you wish you may change other attributes of your app such as price, age ratings, but that is not required to submit the update.
After you have uploaded your new package, completed the description of update and made any additional changes you wish to make, select Submit for Certification to submit your updated app to the store.
That's it you have just submitted an updated version of your app to the store.
Yippee Entertainment are launching a unique competition.
Yippee are offering one person in the UK and one in the US a chance to design a member of Chuck’s Chimpact family and have their design turned into a character in the Windows 8 & Windows Phone 8 versions of the game. Chimpact is available on a variety of platforms but this is an exclusive to the Windows game versions that will have this new character. What’s more the UK winner will get a chance to go to the Yippee Entertainment game studio in Manchester and see their creation turned into a video game character!
You can find details to enter at the website: http://www.chimpact.com/competition/
This competition is open to anyone in the UK or US who wants to draw, paint, crayon, use a software design programme or any art and crafts they fancy to design a new member of Chuck’s family on Windows 8 and Windows Phone 8.
This week I had a really interesting discussion/debate with a University lecturer on teaching user interface design and it took me back just to how things have changed since the mid-nineties.
When I was a student a lot of CS courses which looked at interface design had materials which referenced the following statement “The Evil’s of Rapid Prototyping,” and many slide decks contained reasons why rapid prototyping was a bad idea. Most of the reasoning centred around prototyping tools being so complex back then, they needed to be operated by developers; subsequently, the design process tended to be influenced by all design work needing to be interpreted through the lens of what a prototyper could actually achieve with the software available.
Fast forward to today and there’s been a rethinking on prototyping. Is this good or bad?
I recently blogged about how professional organisations are using tools such as OneNote for UI/UX design. Additionally there a lots of new prototyping tools have appeared over the past few years and they’re rapidly being adopted by interaction designers.
So we concluded that the creators of these tools never attended one of these courses!
So the question I now want to pose is.. how do go about teaching modern user interface design and application workflows on your courses and what tools and resources do you use?
As we know prototypes can be as simple or as complex as necessary for the project on which you are working.
What tools do you use?
Microsoft SketchFlow includes several tools to make your prototype interactive in order to more closely mimic the flow of a production application. For example, with SketchFlow, you can do the following:
Begin a prototype with just a site map and a few notes jotted on the application screens, and then continue to refine your prototype as you go along.
Either draw user interface (UI) elements, or import them from common drawing programs.
Animate your prototype, creating a visual representation of the interaction between the user and the application.
Use the full library of standard UI elements and custom controls.
Create sample data on the fly, easily build data-driven UI, and add styles to your data.
Create interactivity without writing code by using built-in behaviours. Behaviours are extensible, making it easy to add custom behaviours to your prototyping toolbox.
Either write code to create custom elements, or use pre-built elements from your development team
For more details on Sketchflow see http://msdn.microsoft.com/en-us/expression/ee215229.aspx
Tutorials on Sketchflow see www.microsoft.com/.../creating-navigation.aspx
But what about considering Modern design principles..
With Windows 8 and Windows Phone 8 we have the following key principles which need to be adhered
So the key things you need to consider when designing your apps for modern applications are..
Ensure that you weave platform features into your core scenarios and prototype design to leverage the power of the underlying platfom..
So lets think about the platform features available..
To help develop these scenarios here are list of the key resources.
Microsoft Design Guidelines for Windows Phone http://design.windowsphone.com
Microsoft Design Guidelines for Windows 8 http://design.windows.com
Microsoft User Experience Fundamentals and online training http://channel9.msdn.com/Events/Windows-Camp/Windows-8-UX-Fundamentals-Training-Workshop-2012
So where to start?
To help you get started on your app development here are some templates and guidance from http://channel9.msdn.com/Events/Windows-Camp/Windows-8-UX-Fundamentals-Training-Workshop-2012
Example of a completed template for a new app design/concept.
In summary, using any form of prototype technique makes it easy to sketch out a conceptual application and ensure the following are achieved.
So what are you waiting for? You can just create a series of screens and use the templates above and then begin to draw. As your idea progresses, you can add interactive elements that make your prototype as close to the finished product as you need it to be to communicate the design idea you want to convey.
Reviewers can use the tools such as SketchFlow, One Note to view the application flow, and then leave feedback directly in the project as annotations. Once the feedback has been incorporated and the prototype is complete, the prototype project can be handed off to a developer for conversion into a final application,
Follow the developer instruction below to add a line of code to your app. Once you’ve added the code, send over your App Details (App GUID code & AppChallenge GUID code) to email@example.com
Developer Instructions before you can be included you need to do a little bit of development work to ensure inclusion. Please see the below instructions for further details.
1. In your app’s “About” or “Settings” section, add the AppChallenge button included in this email.
The sample below demonstrates how to use the application settings API and settings flyouts to integrate an app's settings UI with the Settings charm.
With the Settings charm app can include app-specified settings commands in the Settings charm and launch the corresponding settings UI from that standard entry point such as volume, brightness etc. http://code.msdn.microsoft.com/windowsapps/App-settings-sample-1f762f49
2. Generate your Private GUID for each of your apps by visiting guidgenerator.com
3. For Windows Phone 8, Windows 8.0 and Windows 8.1 link the button with this:
1: await Launcher.LaunchUriAsync(new Uri("appchallengeuk:appGuid=YOUR PRIVATE GUID", UriKind.Absolute));
4. For Windows Phone 7 (app compiled on WP7 but can run on WP8), link the button with this:
The AppChallenge logo should be displayed only if the user has a WP8 (because AppChallenge is not available on WP7). This is done via the code:
1: if (Environment.OSVersion.Version.Major> = 8)
2: imageAppChallenge.Visibility = Visibility.Visible;
4: imageAppChallenge.Visibility = Visibility.Collapsed;
Then, on the event Tapped of the image, write the following command:
1: WebBrowserTask wbTask = new WebBrowserTask();
2: wbTask.Uri = new
3: Uri("http://theukappchallenge.azurewebsites.net/redirect?app=YOUR PRIVATE GUID",UriKind.RelativeOrAbsolute);
5. Once your app’s on the Windows Store, send a table of correspondence between its GUID and the one you generate for AppChallenge to firstname.lastname@example.org
If you have any questions please email email@example.com.
Thank you very much for your participation and support of The UK App Challenge.
See more details at : http://aka.ms/UKAppChallenge
One of the most popular questions from Unity Porting Camps http://www.unityportinguk.com has been how can I add ads to my app
Well we have a number of supported Advertising SDK which are listed at our partner services portal for Windows 8 and Windows Phone development at http://services.windowsstore.com/.
The Partner portal has links to partners providing the following services for both Windows 8 and Windows Phone.
Here are the available Advertising SDK which support Windows 8 and Windows Phone
Scoreoid is a real-time marketing platform that powers engagement and monetization. Scoreoid enables brands, studios, publishers and app developers to interact and engage with their users in real-time. "We help you touch your users".
AdRotator is a multi-platform Ad Rotating solution that integrates multiple AdProviders in to a single control and can manage rotation of those ads based on the developers configuration. It also features fallback capabilities to always ensure the app/game always has ads to show. We also support remote configuration so the developer can alter their Ad Configuration on the fly without re-deploying their app/game or show their own ad to pass in formation to clients.
Get the New Unity Plug-in!
MediaBrix powers the industry's leading advertising and services platform for social and mobile games.
PreApps.com is the leading platform introducing new mobile apps to user and the marketplace prior to release. Our vision is to build an ecosystem, which connects app developers with app users prior to release to in turn create better quality, more successful apps. Our collaborative process has demonstrated to increase app downloads, enhance app ranking, and overall app quality
Get the PreApps Featured Feedback app for free!
FREE CASH TO ADVERTISE YOUR APP! Click Learn More. LeadBolt is an award winning mobile app discovery, advertising and monetization network focused on delivering innovative solutions for Windows Phone 8, iOS and Android app developers and now for Windows Store apps. Through the largest range of traditional and high-performance ad formats, LeadBolt delivers industry leading results to developers wanting to have their app discovered by users and increase their downloads.
Get a code for extra $! Click here for more info.
InMobi is the largest independent global mobile ad network and monetization platform with a global reach of over 691 million consumers across 165 countries on our network, we can help you reach your mobile audience anywhere in the world. Our highly skilled mobile experts plus local account managers will be on hand to help you book and optimize your campaign.
Microsoft Advertising SDK for Windows Store apps
Whether you're developing in HTML or XAML, the Microsoft Advertising SDK has made it easy to insert ads into your Windows 8 apps. With a few lines of code, you can quickly get ads being served in your app by following the simple steps outlined in our SDK documentation.
AdDuplex is a cross-promotion network for Windows Store and Windows Phone apps empowering developers to advertise their apps for free by helping each other.
Ads Plug-in for Unity3d
At the Unity camps lots of people are interested in Ad services which provided by a dedicated Unity3d plugin.
One of the best I have seen in use is the Unity3D plug-in for AdRotator.
The AdRotator plug-in enables you to use our Windows and Windows Phone AdRotator solution in Unity3D projects for those platforms and configure how AdRotator works directly from the Unity editor.
Using this is simple and goes like this:
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
Welcome to the Win2D Github Open Source project.
Win2D is an open source project which as developed a Windows Runtime API to expose the power of hardware accelerated Direct2D graphics to Windows Universal App developers who are targeting Windows 8 and Windows Phone.
Win2D is available to both C# and C++ developers writing Windows 8.1 and Windows Phone 8.1 apps.
Win2D is an easy-to-use Windows Runtime API for immediate mode 2D graphics rendering with GPU acceleration. It is available to C# and C++ developers writing Windows Store apps for Windows 8.1 and Windows Phone 8.1. It utilizes the power of Direct2D, and integrates seamlessly with XAML and ICoreWindow.
Win2D is work in progress and evolving rapidly. The goal of releasing this code in an early, incomplete state is to solicit early developer feedback. The project backlog shows what we plan to add in the future, and the order in which we plan to add it.
Source code and issue tracking are available at http://github.com/Microsoft/Win2D
To get started using Win2D:
To find out more, check out the following links:
blog post: http://blogs.msdn.com/b/win2d
Below is an example of what you can do using Win2D. And it is not a “bitmap”, but a vectorized image.