Microsoft UK Faculty Connection - Site Home - MSDN Blogs

  

  • Microsoft UK Faculty Connection

    Continuous Integration and testing using Visual Studio Online

    • 4 Comments

     

    Azure_728x90_Device_CloudHeading

    Both Visual Studio Online and Team Foundation Server 2015 make it easy to achieve the Continuous Integration Automation.

    You can see the quick video which shows Continuous Integration workflow and a DevOps walkthrough using Visual Studio 2015

    For the purpose of this blog I am going to walk you through and example of using Visual Studio Online ‘VSO’ with an existing Git repository and then look at some best practices for setting testing and deployments.

    Preliminary requirements

    Setup Visual Studio online via DreamSpark Visual Studio Online is the fastest and easiest way yet to plan, build, and ship software across a variety of platforms. Get up and running in minutes on our cloud infrastructure without having to install or configure a single server.

    Using Visual Studio Online and Git

    1. Create the Team Project and Initialize the Remote Git Repo
    2. Open the Project in Visual Studio, Clone the Git Repo and Create the Solution
    3. Create the Build Definition
    4. Enable Continuous Integration, Trigger a Build, and Deploy the Build Artifacts
    5. Deploying the build artefacts to our web application host server

    Getting Started

    1. Create the Team Project and Initialize the Remote Git Repo

    Create a new team project by Logging onto VSO, going to the home page, and click on the New.. link.

    image

    Enter a project name and description. Choose a process template.

    Select Git version control, and click on the Create Project button.

    image

    The project is created. Click on the Navigate to project button.

    image

    The team project home page is displayed.

    We now need to initialize the Git repo.

    Navigate to the CODE page, and click on Create a ReadMe file.

    The repo is initialized and a Master branch created.

    For simplicity I will be setting up the continuous integration on this branch.

    image

    Below shows the initialized master branch, complete with README.md file.

    image

    2. Open the Project in Visual Studio, Clone the Git Repo and Create the Solution

    Next we want to open the project in Visual Studio and clone the repo to create a local copy.

    Navigate to the team project’s Home page, and click on the Open in Visual Studio link.

    image

    Visual Studio opens with a connection established to the team project.

    On the Team Explorer window, enter a path for the local repo, and click on the Clone button.

    image

    Now click on the New… link to create a new solution.

    image

    Select the ASP.NET Web Application project template, enter a project name, and click on OK.

    image

    Choose the ASP.NET 5 Preview Web Application template and click on OK.

    new web app

    Now add a unit test project by right-clicking on the solution in the solution explorer, selecting the Add New Project option, and choosing the Unit Test Project template. I have named my test project CITest.Tests.

    Your solution should now look like this.

    image

    The UnitTest1 test class is generated for us, with a single test method, TestMethod1. TestMethod1 will pass as it has no implementation.

    Add a second test method,

    TestMethod2, with an Assert.Fail statement.

    This 2nd method will fail and so will indicate that the CI test runner has been successful in finding and running the tests.

       1: using System;
       2: using Microsoft.VisualStudio.TestTools.UnitTesting;
       3:  
       4: namespace CITest.Tests
       5: {
       6:     [TestClass]
       7:     public class UnitTest1
       8:     {
       9:         [TestMethod]
      10:         public void TestMethod1()
      11:         {
      12:         }
      13:  
      14:         [TestMethod]
      15:         public void TestMethod2()
      16:         {
      17:             Assert.Fail("failing a test");
      18:         }
      19:     }
      20: }

    Save the change, and build the solution.

    We now want to commit the solution to the local repo and push from the local to the remote. To do this, select the Changes page in the Team Explorer window, add a commit comment, and select the Commit and Push option.

    image

    The master branch of the remote Git repo now contains a solution, comprising of a web application and a test project.

    3. Create a Build Definition

    We now want to create a VSO build definition.

    Navigate to the team project’s BUILD page, and click on the + button to create a new build definition.

    image

    Select the Visual Studio template and click on OK.

    image

    The Visual Studio build definition template has 4 build steps –

    1. Visual Studio Build – builds the solution
    2. Visual Studio Test – runs tests
    3. Index Sources & Publish Symbols – indexes the source code and publishes symbols to .pdb files
    4. Publish Build Artifacts – publishes build artifacts (dlls, pdbs, and xml documentation files)

    For now accept the defaults by clicking on the Save link and choosing a name for the build definition.

    image

    We now want to test the build definition. Click on the Queue build… link.

    image

    Click on the OK button to accept the build defaults.

    image

    We are taken the build explorer. The build is queued and once running we will see the build output.

    image

    The build has failed on the Build Solution step, with the following error message –

    The Dnx Runtime package needs to be installed.

    The reason for the error is that we’re using the hosted build pool and so we need to install the DNX runtime that our solution targets prior to building the solution.

    Return to the Visual Studio and add a new file to the solution items folder. Name the file Prebuild.ps1, and copy the following powershell script into the file.

       1: DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}
       2:  
       3: # load up the global.json so we can find the DNX version
       4: $globalJson = Get-Content -Path $PSScriptRoot\global.json -Raw -ErrorAction Ignore | ConvertFrom-Json -ErrorAction Ignore
       5:  
       6: if($globalJson)
       7: {
       8:  $dnxVersion = $globalJson.sdk.version
       9: }
      10: else
      11: {
      12:  Write-Warning "Unable to locate global.json to determine using 'latest'"
      13:  $dnxVersion = "latest"
      14: }
      15:  
      16: # install DNX
      17: # only installs the default (x86, clr) runtime of the framework.
      18: # If you need additional architectures or runtimes you should add additional calls
      19: # ex: & $env:USERPROFILE\.dnx\bin\dnvm install $dnxVersion -r coreclr
      20: & $env:USERPROFILE\.dnx\bin\dnvm install $dnxVersion -Persistent
      21:  
      22:  # run DNU restore on all project.json files in the src folder including 2>1 to redirect stderr to stdout for badly behaved tools
      23: Get-ChildItem -Path $PSScriptRoot\src -Filter project.json -Recurse | ForEach-Object { & dnu restore $_.FullName 2>1 }

    The script bootstraps DNVM, determines the target DNX version from the solution’s global.json file, installs DNX, and then restores the project dependencies included in all the solution’s project.json files.

    With the Prebuild.ps1 file added, your solution should now look like this.

    image

    Commit the changes to the local repo and push them to the remote.

    We now need to add a Powershell build step to our build definition.

    Return to VSO, and edit the build definition. Click on the + add build step… link and add a new PowerShell build step.

    image

    Drag the Powershell script task to the top of the build steps list, so that it it is the 1st step to run. Click on the Script filename ellipses and select the Prebuild.ps1 file.

    Click on Save and then Queue build… to test the build definition.

    image

    This time all build steps succeed.

    image

    However, if we look more closely at the output from the Test step, we see a warning – No results found to publish. But we added 2 test methods to the solution?

    The clue is in the second “Executing” statement which shows that the vstest.console was executed for 2 test files – CITest.Tests.dll, which is good. And Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll, which is bad.

    image

    We need to modify the Test build step to exclude the UnitTestFramework.dll file.

    Edit the build definition, select the Test step, and change the Test Assembly path from **\$(BuildConfiguration)\*test*.dll;-:**\obj\** to **\$(BuildConfiguration)\*tests.dll;-:**\obj\**.

    Click on Save and then click on Queue Build…

    image

    The build now fails. But this is what we want to happen. TestMethod2 contains an Assert.Fail() statement, and so we are forcing the Test build step to fail as shown below. We have successfully failed (not something I get to say often), hence proving that the tests are being correctly run.

    image

    4. Enable Continuous Integration, Trigger a Build, and Deploy the Build Artifacts

    We have a working Pre-build step that downloads the target DNX framework, a working Build step that builds the solution, and a working Test step that fails due to TestMethod2.

    We will now set-up the continuous integration, and then make a change to the UnitTest1 class in order to remove (fix) TestMethod2. We will then commit and push the change, which should hopefully trigger a successful build thanks to the continuous integration.

    Edit the build definition, and navigate to the Triggers tab. Check the Continuous Integration (CI) check-box and click on Save.

    image

    Edit the UnitTest1.cs file in Visual Studio, and delete the TestMethod2 method. Commit and push the changes.

    Return to VSO and navigate to the BUILD page. In the Queued list we should now see a build waiting to be processed, which it will be in due course.

    image

    All build steps should now succeed.

    The target DNX version is installed onto the build host. The solution is built. The tests are run. The symbol files are generated. And finally, the build artefacts are published.

    So we have a new build that has been tested.

    5. Deploying the build artefacts to our web application host server

    If we are hosting our web application on Windows Azure, we can add an Azure Web Application Deployment step to our build definition and in so doing have the build artifacts automatically deployed to Azure when our application is successfully built and tested.

    Alternatively, we can manually download the build artefacts and then copy to our chosen hosting server. To do this, navigate to the completed build queue, and open the build. then click on the Artifacts tab and click on the Download link. A .zip file will be downloaded containing the artifacts.

    Test, Test, Test

    So we now have the site built using continuous deployment, now lets look at how we can do testing.

    Perquisites

    Prerequisites for executing build definitions is to have your build agent ready, here are steps to setup your build agent, you can find more details in this blog .

    Creating a build definition and select “Visual Studio” template.

    clip_image002

    Selecting Visual Studio template will automatically add a Build Task and Unit Test Task. Please fill in the parameters needed for each of the tasks. Build task is straight-forward, it just takes the solution that has to be built and the configuration parameters. As I had mentioned earlier this solution contains product code, unit test code and also automated selenium tests that we want to run as part of build validation.

    clip_image004

    Final step is to add the required parameters needed for the Unit Test task – Test Assembly and Test Filter criteria. One key thing you notice below in this task is we take the unit test dll and enumerate all tests in it and run the tests automatically. You can include a test filter criteria and filter on traits defined in test cases if you want to execute specific tests. Another important point, unit tests in Visual Studio Test Task always run on build machine and do not require any deployment/additional setup. See figure 3 below.

    clip_image006

    Using Visual Studio Online for Test Management

    1. Setting up machines for application deployment and running tests
    2. Configuring for application deployment and testing
    3. Deploying the Web Site using Powershell
    4. Copy Test Code to the Test Machines
    5. Deploy Visual Studio Test Agent
    6. Run Tests on the remote Machines
    7. Queue the build, execute tests and test run analysis
    8. Configuring for Continuous Integration

    Getting Started

    1. Setting up machines for application deployment and running tests

    Once the Build is done and the Unit tests have passed, the next step is to deploy the application (website) and run functional tests.

    Prerequisites for this are:

    1. Already provisioned and configured Windows Server 2012 R2 with IIS to deploy the web site or a Microsoft Azure Website.
    2. A set of machines with all browsers (Chrome, Firefox and IE) installed to automatically run Selenium tests on these machines.

    Please make sure Powershell Remote is enabled on all the machines.

    Once the machines are ready, go to the Test Hub->Machine page to create the required machine configuration as shown in the below screen shots.

    Enter machine group name and enter the FQDN/IP Address of the IIS/Web Server machine that is setup earlier. You might also need to enter the admin username and password for the machine for all further configurations. The application under test environment, should always be a test environment not a production environment as we are doing integration tests targeting the build.

    clip_image008

    For Test Environment, give a name to the test environment and add all IP address of the lab machines that were setup already with the browsers. As I had mentioned earlier test automation system is capable of executing all tests in a distributed way and can scale up to any number of machines (we will have another blog).

    At the end of this step, in machines hub you should have one application under test environment and a test environment, in the example we are using them as “Application Under Test” and “Test Machines” respectively as the names of the machine groups.

    2. Configuring for application deployment and testing

    In this section, we will show you how to add deployment task for deploying the application to the web server and remote test execution tasks to execute integration tests on remote machines.

    We will use the same build definition and enhance it to add the following steps for continuous integration:

    3. Deploying the Web Site using Powershell

    We first need to copy the all the website files to the destination. Click on “Add build step” and add “Windows Machine File Copy” task and fill in the required details for copying the files. Then add “Run Powershell on Target Machine Tasks” to the definition for deploying/configuring the Application environment. Chose “Application under Test” as the machine group that we had setup earlier for deploying the web application to the web server. Choose powershell script for deploying the website (if you do not have deployment web project, create it). Please make sure to include this script in the solution/project. This task executes powershell script on the remote machine for setting up the web site and any additional steps needed for the website.

    clip_image010

    clip_image012

     

    4. Copy Test Code to the Test Machines

    As Selenium UI tests which are we are going to use as integration tests are also built as part of the build task, add “Copy Files” task to the definition to copy all the test files to the test machine group “Test Machines” which was configured earlier. You can chose any test destination directory in the below example it is “C:\Tests”

    clip_image014

     

    5. Deploy Visual Studio Test Agent

    To execute on remote machines, you first deploy and configure the test agent. To do that, all you need is a task where you supply the remote machine information. Setting up lab machines is as easy just adding a single task to the work flow. This task will deploy “Test Agent” to all the machines and configures them automatically for the automation run. If the agent is already available and configured on the machines, this task will be a no-op.

    Unlike older versions of Visual Studio – now you don’t need to go manually copy and setup the test controller and test agents on all the lab machines. This is a significant improvement as all the tasks can be done remotely and easily.

    clip_image017

     

    6. Run Tests on the remote Machines

    Now that the entire lab setup is complete, last task is to add “Run Visual Studio Tests using Test Agent” task to actually run the tests. In this task specify the Test Assembly information and a test filter criteria to execute the tests. As part of build verification we want to run only P0 Selenium Tests, so we will filter the assemblies using SeleniumTests*.dll as the test assembly.

    You can include a runsettings file with your tests and any test run parameters as input. In the example below, we are passing the deployment location of the app to the tests using the $(addurl) variable.

    clip_image019

     

    Once all tasks are added and configured save the build definition.

    7. Queue the build, execute tests and test run analysis

    Now that the entire set of tasks are configured, you can verify the run by queuing the build definition. Before queuing the build make sure that the build machine and test machine pool is setup.

    Once the build definition execution is complete, you will get a great build summary with all the required information needed for you to take the next steps.

    As per the scenario, we have completed the build, executed unit tests and also ran Selenium Integration Tests on remote machines targeting different browsers. 

    Build Summary has the following information:

     

    • A summary of steps that have passed and color coded on the left and details in the right side panel.
    • You can click on each task to see detailed logs.
    • From the tests results, you can see that all unit tests passed and there were failures in the integration tests.

    clip_image021

     

    Next step is to drill down and understand the failures. You can simply click on the Test Results link in the build summary to navigate to the test run results.

    Based on the feedback, we have created a great Test Run summary page with a set of default charts and also mechanism to drill down into the results. Default summary page has the following built-in charts readily available for you - Overall Tests Pass/Fail, Tests by priority, configuration, failure type etc.

    clip_image023

     

    If you want to drill deeper on the tests, you can click on the “Test Results” tab, you will get to see each and every test – test title, configuration, owner, machine where it was executed etc.

    For each failed test, you can click on the “Update Analysis” to analyze the test. In the below summary you notice that IE Selenium tests are failing. You can directly click on “Create Bug” link at the top to file bugs, it will automatically take all test related information metadata from the results and include it in the bug – it is so convenient.

    clip_image025

     

    8. Configuring for Continuous Integration

    Now that the tests are all investigated and bugs filed, you can configure the above build definition for Continuous Integration to run build, unit tests and key integration tests automatically for every subsequent check-in. You can navigate to the build definition and click on Triggers.

    You have two ways to configure:

     

    • Select “Continuous Integration” to execute the workflow for all batched check-ins
    • Select a specific schedule for validating the quality after all changes are done.

    You can also choose both as shown below, the daily scheduled drop can be used as daily build for other subsequent validations and consuming it for partner requirements.

    clip_image027 

    Using the above definition, you are now setup for “Continuous Integration” of the product to automatically build, run unit tests and also key integration tests for validating the builds. All the tasks shown above can be used in Release Management workflow as well to enable Continuous Delivery scenarios.

    Summary

    To summarize what all we have achieved in this walk through:

    1. Created a simple build definition with build, unit testing and automated tests
    2. Simplified experience in configuring machines and test agents
    3. Improvements in build summary and test runs analysis
    4. Configuring the build definition as a “continuous integration” for all check-ins
  • Microsoft UK Faculty Connection

    Announcing Blend and Sketch Flow for Visual Studio 2012

    • 0 Comments

    Blend

    We are pleased to announce new versions of Blend + Sketchflow preview for Visual Studio 2012. Bringing Blend and Visual Studio together offers more value. Blend is a great tool offering a wide variety of designers and developers the ability to quickly and easily build great looking and powerful UI.

    These new versions make available capabilities that were previously only available in Expression Blend such as Windows Presentation Foundation, Silverlight and SketchFlow support, unifying the design-centric tools for building Windows Store Apps and Windows desktop apps to Visual Studio users.

    This is for evaluation only and none of the platforms contain a go-live license. Therefore you SHOULD use other released versions of Blend for production work. 

    What is the Blend + Sketchflow Preview for Visual Studio 2012?

    Blend for Visual Studio 2012 can help you design user interfaces for applications with robust tools that solve complex design tasks for building Windows Store apps.

    The Blend + Sketchflow Preview introduces powerful WYSIWYG design capabilities to Visual Studio developers by providing support for WPF and Silverlight.

    What is the difference between Blend + SketchFlow Preview for Visual Studio 2012 and Blend for Visual Studio 2012 RTW? Do I need both?

    Blend for Visual Studio 2012 is a unique, innovative authoring tool with rich visual tools for creating Windows store apps using HTML/CSS and XAML. Blend is installed with most versions of Visual Studio 2012.

    Blend + SketchFlow Preview for Visual Studio 2012 delivers WPF, Silverlight, and SketchFlow support compatible with Visual Studio 2012. You can install this alongside Visual Studio 2012 RTW.

    What is SketchFlow; how does it differ from Storyboarding in Visual Studio 2012?

    SketchFlow provides an informal and quick way to explore, iterate and prototype user interface scenarios. SketchFlow is for building working prototypes of software for developers, while the new storyboarding capability allows PowerPoint to be used for capturing lightweight requirements from stakeholders.

    Resources

    · http://blendinsider.com/

    · http://www.microsoft.com/visualstudio/en-us

  • Microsoft UK Faculty Connection

    Using Cloud Services to make a Leaderboard for a Unity Game

    • 2 Comments

    As part of the #UnityportingUK http://www.unityportinguk.com one of the most common question we get is how can I take advantage of Azure Cloud Services

    image
    Setting up Azure and Mobile Services

    If you do not have an Azure account, then you should sign up for one.

    image

    The Azure Mobile Services have a free tier that includes up to 500 devices as well as 500k API calls and you can also use the free tier for up to 10 services.  This means that you can test out a few things without having to pay for it.

    Azure Mobile Services

    Azure Mobile Services is a part of Azure that allows access to a database and has connection and sample code to talk to any mobile system that is out there.  This will provide you with the code or library to do the connection to Android, iOS, Windows 8, Windows Phone, HTML5/JavaScript, or even the Xamarin libraries. To get started, if you do not have any Mobile Services defined yet you can click on the Mobile Services tab on the left and then the Create a New Mobile Service link next to it.  You can also click on the New option on the bottom the of the screen and select Compute -> Mobile Service -> Create.

    mobile1

    mobile2

    From here, you will get a popup to fill in to finish up the creation.  The first field is the name of the Mobile Service.  This name will also be the address for the service.  It must be unique. For this example, I named mine “unityleaderboard”.  The next field is the database to use as a back end for the service.  You can choice from “Use an existing SQL database“, “Create a free 20 MB SQL database“, or “Create a new SQL database instance“. 

    createmobile

    The database will now need to be configured.  You need to setup the username and password and also the region for making the database.

    mobiledbsettings

    mobiledbsetup

    Now For Some Data

    So up to now we have the Mobile Service setup, but there is no data yet.  Go into your new Mobile Service and then click on the Data link at the top.  You can now add a new Table to the database that was setup earlier.

    mobiletablesetup

    mobilecreatetable

    The next step is to add the data fields to the new leaderboard table.  This will allow us to save the data for the UserName and the Score that is saved.  This is going to be a basic sample and not an optimized database, so I will be adding the UserName as just a string field to the table.  If this was a bigger system supporting multiple games, I would probably make a Player table with all of the players info there and then a leaderboard table that cross referenced that player table.  Since this is just a quick and simple leaderboard for a single game, keeping the raw text in the table is not that bad.  The Score field is going to be added as a Number so that we do not have to change the numbers of the score into a text field back and forth.  After clicking on the table name, you will see and can click on the Columns link to get to add new columns.  To add a new column, use the Add Column link at the bottom of the page.

    mobilecolumnlistmobileAddScore

    mobileallfields

    At this point the new leaderboard service is up and running.

    unity
    Unity GameDev

    Unity Plugin for Azure by BitRave provides a Mobile Services plugin for Unity 3D. Their GitHub repo includes cross-platform APIs (currently supporting Windows Store and Windows Phone) and example code. 

    bitrave

    Plugin Instructions

    Contents
    Before You Start

    The Azure Mobile Services plugin for Unity 3D is available open source at github.  That’s the place to go if you want to contribute or look at the source.  It’s on github here: https://github.com/bitrave/azure-mobile-services-for-unity3d .  However, if you don’t care about the source, and just use it, head to github as there is an example project with built binaries in it so you can just grab it and use it.

    The below is a guide to using the Azure Mobile Services plugin for Unity 3D.

    Overview

    A suite of Azure Mobile Services plugins for Unity3D, cross platform with common interfaces, with examples.

    The goal is simple. “Just hit build”. That means 1 API, no platform dependent code. The plugin should hide platform intracacies, not surface them.

    Runs across:

    • UnityEditor – Lightweight support in Unity so you don’t need to build to test your app. No more stubbing data locally.
    • Windows 8 Store – Uses the underlying native DLL for consistent and robust integration
    • Windows Phone 8 – Uses the underlying native DLL for consistent and robust integration

    Coming soon:

    • iOS
    • Android
    5 Second Guide

    Put the plugin binaries in your Assets/Plugins folder.  These get built into an Output folder in the root of the solution in the right folder structure.  And it’s as simple as…

    var data = new LevelSaveData() { SaveData = “some data here“, Id = 1 };

    var azure = new AzureMobileServices(_azureEndPoint, _applicationKey);

    azure.Update<LevelSaveData>(data);

    or

    var azure = new AzureMobileServices(_azureEndPoint, _applicationKey);

    azure.Lookup<LevelSaveData>(1, azureResponse =>

    {

    if (azureResponse.Status == AzureResponseStatus.Success)

    {

    var ourObject = azureReponse.ResponseData;

    }

    }

    Data comes back via callbacks and response objects.  Unity doesn’t support await/async, but when it does it will move to that model.

    API
    Initialise

    Initialisation is just as simple as you’d expect.

    var service = new AzureMobileServices(“url”, “token”);

    Insert

    Insert an item into your Azure database in a single line of code from Unity.

    service.Insert<ToDoItem>(myItem);

    Update

    Update items in the Azure databsae with just one line of code from Unity.

    service.Update<ToDoItem>(myItem);

    Delete

    Remove items from the Azure database in 1 line of code from Unity.

    service.Delete<ToDoItem>(myItem);

    Query

    Query items in your Azure Mobile Services from Unity.

    service.Where<ToDoItem>(p => p.Category == “Exercise”, azureResponse =>

    {

    List<ToDoItem> exerciseItems = azureRepsonse.ResponseData;

    NOTE: await / async will be available when supported by Unity.  Until then we are using callbacks.

    Lookup

    Lookup items in your Azure Mobile Services from Unity.

    service.Lookup<ToDoItem>(myItem, azureResponse =>

    {

    ToDoItem myToDoItem = azureResponse.ResponseData;

    NOTE: await / async will be available when supported by Unity.  Until then we are using callbacks.

    Login

    On supported platforms, LoginAsync can be called for authenticated services.

    azure.LoginAsync(AuthenticationProvider.Facebook, loginResponse =>

    {

    var token = loginResponse.ResponseData.MobileServiceAuthenticationToken;

    });

    NOTE: await / async will be available when supported by Unity.  Until then we are using callbacks.

    Visual Studio Solution
    The Projects

    There are multiple projects in the solution.

    • Bitrave.Azure.Editor – This provides Azure support directly from within the Unity Editor, it’s not currently fully featured, but offers a way to test against real data in the cloud rather than stubbed local data.
    • Bitrave.Azure.Stub – This is a stub class for assisting with building projects out of Unity.  It assists with hiding complex dependencies that cause issues with Unity.
    • Bitrave.Azure.Windows8 – The Windows 8 Azure Mobile Services plugin for Unity 3D.
    • Bitrave.Azure.Windows8.TestApp – A test app to help debug the plugin behaviours since the plugins can’t be debugged in Unity 3D.
    • Bitrave.Azure.WindowsPhone8 - The Windows 8 Azure Mobile Services plugin for Unity 3D.
    • Bitrave.Azure.WindowsPhone8.TestApp - A test app to help debug the plugin behaviours since the plugins can’t be debugged in Unity 3D.
    • RestSharp.Stub - This is a stub class that assists with building out of Unity for the specific platforms.
    Building

    Make sure you have the latest version of Nuget, then get the dependencies such as RestSharp, JSON.NET, and Azure Mobile Services.  You will need to also add a reference to the UnityEngine.dll for the respective platform.  If you can’t find these UnityEngine DLLs, just build out of Unity a blank WP8 project or a blank W8 project, and the respective DLLs will end up in the generated project.  If you want to use the PM command line for Azure, here it is:

    Install-Package WindowsAzure.MobileServices

    Once you have the DLLs all configured, hit build.

    Once built your solution directory should have an output folder.  Within this is a Plugins folder structure with DLLs that you copy directly into your Unity project’s Assets folder.  It should look something like this:

    c:\Projects\MyGame\Assets\Plugins\

    c:\Projects\MyGame\Assets\Plugins\Metro\

    c:\Projects\MyGame\Assets\Plugins\WP8\

    When you build for a specific platform, the plugins from the root Plugins folder get replaced by DLLs with identical names in the platform folder.  This is why the RestSharp.Stub gets copied into WP8 and Metro since it’s only used for the Unity editor.  Metro and WP8 leverage the Azure Mobile Services SDK DLLs for their specific platform.

    The Windows8 DLL gets copied into the Plugins/Metro folder since Windows 8 projects build nicely out of Unity.

    The WindowsPhone8 DLL does not get copied into Plugins/WP8.  The Bitrave.Azure.Stub DLL gets copied due to dependency issues when building.  WP8 builds are still in early beta so this need may go away.

    Next step, make sure you copy the right versions of Newtonsoft.Json DLL into the Plugins, Plugins\Metro, and Plugins\WP8 folders.  Also copy RestSharp into the Plugins folder.   It should look something like this:

    pllugin_folders

    And that’s how you get everything into Unity, and you should be good to start using it.  How to build for each platform is below.

    Building For Platforms
    Windows 8 Store Apps
    1. From Unity
    2. Select File->Build Settings (Ctrl-Shift-B)
    3. Select “Windows Store Apps”
    4. Select “Build”
    5. Pick a folder to build into
    6. Wait for it to build
    7. Open the generated solution in Visual Studio
    8. Check the references to the project, we’ll need to update some references.
    9. Remove RestSharp from the references
    10. Remove Boo.Lang.dll if it is there, it won’t pass WACK
    11. Make sure that Newtonsoft.Json.dll is the right version for Windows 8
    12. Open up Package.appxmanifest.  Ensure Capabilities->Internet Client is enabled
    13. Manage Nuget packages for the project, add the Windows Azure Mobile Services SDK
    14. You should be good to go!
    15. Build and Run
    Windows Phone 8 Apps
    1. From Unity
    2. Select File->Build Settings (Ctrl-Shift-B)
    3. Select “Windows Phone 8″
    4. Select “Build”
    5. Pick a folder to build into
    6. Wait for it to build
    7. Open the generated solution in Visual Studio
    8. Check the references to the project, we’ll need to update some references
    9. Remove Bitrave.Azure and add a reference to the Bitrave.Azure.WindowsPhone8 project’s Bitrave.Azure.dll in it’s bin/Release folder.
    10. Remove RestSharp.dll, it’s not needed
    11. Manage Nuget packages for the project, add the Windows Azure Mobile Services SDK
    12. You should be good to go!
    13. Build and Run
    14. PS – You need to deploy to a WP8 phone

    Creating a simply 2D Unity Game

    When Unity is launched, a dialog pops up with two tabs Open Project and Create New Project.  Select the Create New Project tab and enter in a name for the project.  In the bottom left of the dialog, there is a dropdown for selecting 3D or 2D for the project.  Select 2D and then hit the Create button to make the project.

    unitysetup

    unitydefault

    In the project pane, there is a folder names Assets. Create three folders, Plugins, Scenes, and Scripts.  This creates these folders under the Asset folder in the project’s folder.

    mobileunityorganize

    Saving the Scene

    One thing that helps at this point is to manually save the scene.  Select the File -> Save Scene menu option and then select the Scenes folder and save the scene, for this tutorial I named it MainScene.  This will create a MainScene.unity file in the Scenes folder.

    mobilesavescene

    Adding the Plugin

    Next, let’s take the plugin from the GitHub repro and take all of the files from the Asset folder in the AzureMobileServicesUniversalPlugin project and save them into the same folder as our scene. 

    mobilesaveplugin

    From here we will follow the second instruction line and drag the AzureUI script file onto the Main Camera object to attach the script.  From here we are going to be making some changes to this script to remove the Facebook login and to point it at the new leaderboard service that we made earlier.  At this point the project will not compile or run because we are missing the Newtonsoft Json.Net DLL.

    JSON Library

    As I said above, the plugin from Bit Rave suggests getting a Json library from the asset store. 

    Leaderboard Class

    The sample from BitRave is great but it just ties to the standard sample ToDo list that mobile services will make for you to test with.

    I would suggest the following to make a more robust leaderboard, the suggestion is have a leaderboard table getting called and used.  In the Scripts folder, you will see a ToDoItem.cs script file with the following class defined.
    TodoScript
    In the Scripts folder, right click and go to Create -> C# Script and name it LeaderBoard.  This will create a new class that is derived from MonoBehavior.  This is the default for any script that is added.  What we can do here is to delete the class and actually just make one for our leaderboard table that is in our Mobile Service.  Originally in Mobile Services the tables had an Id field of an int.  The current system makes the Id field a string instead.  To fit into the sample from BitRave, I am also going to create a ToString method for the class to use for displaying. So creating a class for our leaderboard will give us a class that looks like this.  Please keep in mind that the name of the class should match the name of your table.

    mobileleaderboarditem

    AzureUI.cs

    This is the file that is doing all of the GUI in this sample game and also calling the leaderboard service.

    So what is the experience?

    The free version of Azure mobile Services can get you going on a simple service.  It is limited to the number of devices and number of transactions per month, but when you hit those limited you should be able to move the service up to the next level for more resources and abilities. Another option is using a dedicated third party gaming services such as http://www.gamesparks.com/ who offer a free services for FREE services for  upto 10,000 user per month

    image

    Other Resources

    Stacey Mulcahy, making a leaderboard using Azure Mobile Services.  She showed how to add the leaderboard to your HTML5/JS game.   

    Steve Maier Azure Mobile Services to make a Leaderboard for a Unity Game Steve shows how to create a leaderboard in Unity  

  • Microsoft UK Faculty Connection

    Using Visual Studio 2015 and Deploying your first web app to your FREE Azure Subscription

    • 1 Comments

     

    Deploying a Web App using Visual Studio

    With Visual Studio 2015 and the Azure SDK you create website and publish it to Azure, all within Visual Studio 2015, and see how this works.

    Perquisites

    · Visual Studio Community 2015

    · Azure SDK 2.7

    · Activated your free Azure student subscription through Microsoft DreamSpark step by Step instructions at ://blogs.msdn.com/b/uk_faculty_connection/archive/2015/07/19/microsoft-azure-free-websites-and-blogs-via-microsoft-imagine-amp-dreamspark-and-setting-up-wordpress-on-azure-for-students.aspx

    Open Visual Studio Community 2015

    If you haven’t already, sign in to your Microsoft Account by clicking “Sign in” in the upper right corner. You need to use the same Microsoft Account that you used with DreamSpark and Azure already.

    clip_image002

    Once you sign in, Visual Studio 2015 will automatically recognize your Azure subscription key thing is ensure you login to Visual Studio with your DreamSpark account

    Open Visual Studio 2015 Cloud Explorer

    Cloud Explorer is Visual Studio 2015’s direct connection to Azure. Let’s open that tool now from the menu by clicking:

    View / Other Windows / Cloud Explorer

    clip_image004

    And just like that, here’s your Azure subscription!

    clip_image006

    See that Actions pane at the bottom? (You can get the same thing if you right click on one of your web apps.) It’s pretty handy: “Open in portal” will open your web app within the Azure Portal while “Open in Browser” pops open your default web browser and goes straight to your live web app.

    But we’re going to make something new! Let’s get started.

    Create a New Web Site Solution

    Go to the menu and click:

    File / New / Web Site

    clip_image008

    You’ll then see this window where you click ASP.NET Empty Web Site:

    clip_image009

    Then you’ll see your Solution Explorer on the right with your brand new WebSite solution!

    Make a Homepage

    From Solution Explorer, right click on your WebSite solution and click:

    Add / Add New Item

    clip_image010

    Or you can hit Ctrl+Shift+A.

    This gives you a new window where you’ll click HTML Page and Add:

    clip_image011

    Now Solution Explorer will show your new empty web page file:

    clip_image013

    It’s called HtmlPage.html. We’ll make this your homepage for the project, so we should rename it to index.html. That’s a standard name for a homepage and web browsers will find it more easily.

    Do you know how to rename a file in a Visual Studio project?

    There are two ways:

    1) Right-click on HtmlPage.html and click Rename from the pop-up window

    2) Look below Solution Explorer in the Properties window where it shows the File Name field. Click HtmlPage.html there and rename it to index.html.

    All set? Let’s do a little web coding!

    Code Your Web Page

    Let’s make as simple a web page as we can just so we can see Visual Studio 2015 and Azure in action. Your index.html file should now be open in the main window. (If not, double click it in the Solution Explorer.)

    It already has this text:

       1: <!DOCTYPE html>
       2: <html>
       3: <head>
       4: <title></title>
       5: <meta charset="utf-8" />
       6: </head>
       7: <body>
       8: </body>
       9: </html>

    Click the cursor in between <title> and </title>. We need to give your web page a title – let’s call it Hello Cloud! Just type that right in between.

       1: <!DOCTYPE html>
       2: <html>
       3: <head>
       4: <title>Hello Cloud!</title>
       5: <meta charset="utf-8" />
       6: </head>
       7: <body>
       8: </body>
       9: </html>

    Then click on that blank link in between <body> and </body>. Type this in just as it appears:

       1: <h1>Hello Cloud!</h1>
       2: <p>Check out this sweet website I made in Visual Studio 
       3: 2015!</p>

    So now you’ve got a complete web page! It should all look like this:

       1: <!DOCTYPE html>
       2: <html>
       3: <head>
       4: <title>Hello Cloud!</title>
       5: <meta charset="utf-8" />
       6: </head>
       7: <body>
       8: <h1>Hello Cloud!</h1>
       9: <p>Check out this sweet website I made in Visual Studio 
      10: 2015!</p>
      11: </body>
      12: </html>

    Done! Let’s ship this thing and go home. All we need to do is publish it as a web app to Azure.

    Publish Your Web App

    Back in Solution Explorer, right-click on your WebSite solution and click Publish Web App:

    clip_image015

    This opens a Publish Web window. “Profile” should already be selected on the left. Click Microsoft Azure Web Apps, and then from the next pop-up window click New…

    image

    Now it’s time to do some serious Azure stuff. We’re going to name your web app and assign it a bunch of Azure attributes: an App Service plan, a Resource group, and a Region. Here’s the window:

    image

     

    Let’s do a few things:

    1) Click in the blank field by Web App name and type a name for your web app.

    This will be the URL for your website. Whatever you type will be put in front of “.azurewebsites.net”.

    In my example its called “myhellocloud” so my website URL will be http://myhellocloud.azurewebsites.net. (In fact, you can go look at it right now if you want.) Since “myhellocloud” has been used you’ll need to type something else the greed tick will appear if the URL is valid.

    2) For App Service plan, click the dropdown and select “Create new App Service plan”.

    3) For Resource group, click the dropdown and select “Create new resource group”.

    4) For Region, click the dropdown and select the region closest to you in the world.

    Now your window looks like this:

    image

    So let’s fill in those two fields! You can name your App Service plan and resource group whatever you want.

    What is an App Service plan? It’s just a set of attributes that you can reuse across multiple apps. The attributes include a pricing tier (SELECT FREE and a Subscription (if you have multiple Azure subscriptions).

    The plan you create right now will probably work for all the web apps you build while you’re a student. You can name yours whatever you want. I’ve named mine “myappserviceplan”.

    What is a Resource group? It’s just a label that lets you group multiple Azure resources together so it’s easy to select them all at once in the Azure Portal.

    Developer generally create resource groups which simply group group together a bunch of specific resources so they can view them all at once, monitor them as a group, track the costs and billing for that group, and so on. Since it’s just a label you can name it whatever you want. I’ve named mine “myresourcegroup”.

    What is a Region? The dropdown lists every Azure datacenter in the world that you can host your web app in.

    Rule of thumb is you want to put data closed to your Region, So for the UK select a European Data Centre

    Here is what my window looks like now:

    image

    Let’s click Create and see what happens! Oh, this happens:

    clip_image025

    After a little while, or maybe a few minutes, the web app is set up and it’s time to actually publish your web page. Here’s the window – all you do is click Publish:

    clip_image027

    Within Visual studio you can see the Output window, this shows the progress of publishing your homepage to the Azure datacenter in the region you selected.

    Next your Web browser will open a window and display your new web site.

    clip_image029

    Want to see my site live for real? It’s right here:

    http://myhellocloud.azurewebsites.net/

    Back to Cloud Explorer

    Remember Cloud Explorer? Why did we open that thing anyway? Let’s go back and check on it. Do two things:

    1) Click the Refresh button. That’s the blue circle arrow near the top.

    2) Double click Web Apps in the list to expand its contents.

    clip_image031

    THERE IT IS! My new web app, myhellocloud, is right there in Cloud Explorer. I can right-click it (or use the Actions panel) to open it in my browser anytime. I can also open it in the Azure Portal, but we can explore that some other time.

    Make a Change and Publish Again!

    Your index.html file is probably still open. If not, double click it in Solution Explorer.

       1: <!DOCTYPE html>
       2: <html>
       3: <head>
       4: <title>Hello Cloud!</title>
       5: <meta charset="utf-8" />
       6: </head>
       7: <body>
       8: <h1>Hello Cloud!</h1>
       9: <p>Check out this sweet website I made in Visual Studio 
      10: 2015!</p>
      11: </body>
      12: </html>

    Click your cursor at the end of that </p> line and hit Enter to start a new line. Then type something like this:

       1: <p>Updating My web page which is being hosted on 
       2: Azure datacenter!</p>

    Whatever you type has to have that <p> at the start and </p> at the end.

    So now my index.html looks like this:

       1: <!DOCTYPE html>
       2: <html>
       3: <head>
       4: <title>Hello Cloud!</title>
       5: <meta charset="utf-8" />
       6: </head>
       7: <body>
       8: <h1>Hello Cloud!</h1>
       9: <p>Check out this sweet website I made in Visual Studio 
      10: 2015!</p>
      11: <p>Updating My web page which is being hosted on Azure
      12: datacenter!</p>
      13: </body>
      14: </html>

    To publish the page again

    Just right-click your Web Site solution again over there in Solution Explorer and click Publish Web App from the pop-up window:

    clip_image032

    Then you’ll see this window again:

    clip_image034

    All you do is click Publish. The window goes away, that Output window at the bottom of the screen goes crazy for a few seconds, and then BAM you’re at your updated homepage!

    If you don’t see the change you made, hit F5 to refresh your browser.

    Now you’ve made your first web page in Visual Studio 2015 and Azure.

  • Microsoft UK Faculty Connection

    DreamSpark, frequently asked questions

    • 2 Comments

    DreamSpark-2_bL_t

    Since its introduction in 2001, students and educators around the world have utilized DreamSpark to support and advance their learning and skills through technical design, technology, math, science and engineering activities. This software equips them with the tools they need to succeed during their academic experience and the skills they will need after graduation.

    · Microsoft works with educators, institutions and the academic community worldwide to expand opportunities for students and to encourage the development of a skilled workforce.

    · Microsoft is committed to providing students with access to programs and software – the tools they need to help them succeed in technology and design fields.

    · Microsoft believes in the power of technology to transform education, foster local innovation and enable jobs and economic growth for everyone. Microsoft DreamSpark is just another way of helping this next generation of young leaders seize the opportunity to harness the transformative magic of software.

    Examples of how DreamSpark might be used by educators:

    Educators have access to the top technical development and design products on the market just like their students. Teachers can teach classes on web development using Expression Studio.

    Students today get excited about seeing technology in action, and not just simply learning the fundamentals. With access to products like XNA and Visual Studio, educators can build exciting applications that demonstrate the power of technology.

    Q&A

    Q. What is Microsoft DreamSpark™?

    A. Microsoft DreamSpark ™ is a program that provides no-cost access to Microsoft designer and development tools for verified students around the world, to support and advance their learning and skills through technical design, technology, math, science and engineering activities. This program equips tomorrow’s developers with the professional tools to inspire and create today.

    The program has two primary goals:

    1. Give no-cost access to Microsoft products and platforms: DreamSpark subscriptions give students access to virtually every Microsoft product and technology, helping ensure they have the right technology choices for all current and future educational opportunities.
    2. Deliver outstanding value: These subscriptions give outstanding value through inexpensive cost of membership, and convenient management of licenses on a per-user basis, removing the complexity of licenses across multiple environments.

    Q. What is DreamSpark Premium?

    A. Advanced software applications can take years to develop, a costly investment that is often reflected in the purchase price. Microsoft makes these highly desired, advanced programs available to students far below the retail cost of any one program in the list. With this subscription, students can access a free online portal through e-academy that provides them with instant and easy access to all DreamSpark titles while also ensuring that institutions will not need to add internal resources or overhead to manage the DreamSpark software program.

    Q: What are the benefits of the DreamSpark program?

    A: Much more than a software subscription, membership includes:

    1. DreamSpark software subscription that includes Microsoft platform, server and developer tools software as well as betas, new releases and tech support.
    2. Special license rights allowing a department to install DreamSpark software on any number of departmental lab machines for instructional and research purposes.
    3. The ability for students taking at least one credit course offered by the member department to install the software on their personal machines for use in coursework and personal development projects.
    4. Instant online access to all DreamSpark content.
    5. No-charge access to e-academy’s License Management System (ELMS) for automated distribution of software and product keys to eligible users via the Web.

    Q: What happened to Developer AA?

    A: Developer AA isn’t gone—it’s simply been renamed to DreamSpark Premium. All of the titles that were previously available to you are still available. If your school had a Developer AA subscription through MSDNAA, you’ll continue to access software titles as you did before.

    Q: What happened to Designer AA?

    A: Helping students who want to be designers is critical, but we wanted to find a way to make this easier for institutions, so we have changed up the program. Instead of Designer AA membership, institutions can purchase a new DreamSpark membership that gives them access to all of Microsoft’s development and designer tools. If you currently have a Designer AA membership, don’t worry. You can continue to enjoy those benefits until your membership expires. When it’s time for you to renew, we’ll work with you to get you set up with a new DreamSpark membership.

    Product Mapping

    clip_image002

    Q: What software will be included in the DreamSpark program?

    Software for Production Use

    DreamSpark

    DreamSpark Premium

    Operating Systems

    Windows Client

    clip_image004

    Windows Server

    clip_image004[1]

    clip_image004[2]

    Developer & Design Tools

    Visual Studio Professional

    clip_image004[3]

    clip_image004[4]

    Visual Studio Premium

    clip_image004[5]

    Visual Studio Ultimate

    clip_image004[6]

    Expression

    clip_image004[7]

    clip_image004[8]

    Windows Embedded

    clip_image004[9]

    clip_image004[10]

    Applications

    clip_image004[11]

    clip_image004[12]

    Visio

    clip_image004[13]

    Project

    clip_image004[14]

    OneNote

    clip_image004[15]

    Servers

    SQL Server

    clip_image004[16]

    clip_image004[17]

    BizTalk Server

    clip_image004[18]

    SharePoint Server

    clip_image004[19]

    Q: What is the benefit of the DreamSpark program for educators?

    A: DreamSpark will give educators a chance to learn new technologies and develop courses that will excite students in the classroom. It will also help educators expand their personal and professional portfolios and enhance classroom objectives.

    Q: Why do educators need free developer and design tools?

    A: By providing the latest professional developer, design, and gaming software to educators at no charge, educators will have a unique opportunity to motivate and engage students and support those that wish to pursue a career in programming or design after graduation

    Q: What will students be able to do with this software?

    A: Students using these tools will be limited only by their own imaginations and time.  Use of developer tools in engineering, math, science and technology activities allow students to program everything from a cell phone to a robot or to create their own Web page. Students will also be able to invent compelling new gaming content and make their dream game a reality by porting their creations to their Xbox 360 console. Design tools allow students to vividly bring their creative visions to life in vibrant new Web site designs and more effective digital content, including animation, imagery and photography. And platform offerings deliver a security-enhanced and reliable environment, reliable and manageable environment for students to more quickly turn ideas into reality.

    Availability

    Q. When and where will Microsoft DreamSpark be available?
    A. Today, Microsoft DreamSpark is available to university students in 137 countries.

    Q: How do students download software?

    A: Visit www.dreamspark.com and follow the three steps to get verified located on the home page.

    Q. Is this program available to ALL students? What are the limitations?

    A. Yes. The focus of the program is technical students, but it is open to anyone looking to explore the possibilities of Microsoft’s development and design tools. The only limitation is students are only licensed for learning and research.

    Q: Why don’t you provide physical copies of software? 

    A: Providing software by download does not involve the production costs of creating physical copies, so it works well with software being provided at no charge. 

    Q. How many students total will this offer be available to eventually and how did you come up with this number?

    A. According to UNESCO, there are more than one billion university and high school students in the world today.

    Q: Why don’t you provide physical copies of software?  Are you trying to prevent non-broadband students from receiving the software?

    A: Providing software by download does not involve the production costs of creating physical copies, so it works well with software being provided at no charge.  Microsoft is not trying to prevent non-broadband students from receiving the software.  On the contrary, we hope to eventually provide this no-charge software benefit to all students, in all countries.  It will take a concerted, cooperative effort on the part of both Microsoft and academic institutions to connect to areas without existing infrastructure of student databases and server technologies.

    Cost

    Q: Why are you giving software away?

    A: In giving tech tools away without charge to students around the world, Microsoft is providing future developers and designers with professional-grade tools to create and expand their skills.  We believe that it is very important to equip students with tools that will help to foster their education in technology.  Such tools would typically be beyond the reach of these students even at very low prices. 

    Q. What is the commercial value of this software?

    A. This software is being provided to students for non-commercial use in particular academic activities.  Pricing for commercial uses varies by channel and the associated rights, but products for non-academic use by non-students would typically be hundreds of dollars or more. 

    Student Identity Verification

    Q:  How do you ensure that a student is really a student?

    A:  Microsoft verifies students by using various reputable student databases to confirm student identities.  Students will choose the identity provider that maintains the database (i.e. their school, organization, or other academic-based group) that will confirm their student status.  The Microsoft system will connect with the identity provider, and the student will supply his or her credentials to the identity provider for verification.  Microsoft will then receive confirmation from the identity provider as to whether the student is a current student.

    Q:  If students are receiving the full professional software versions, then can’t professionals just find a college student to obtain the software license from?

    A:  All students receiving free software through this program will need to accept an end user license agreement (EULA) that specifies that the software will only be used by the student for non-commercial use to support and advance their STEM-D learning and skills.  Students will only have rights to one single-user license per verified identity.  If a student were to obtain a valid single-user license and give that license to a non-student that would be in violation of the EULA and the student would no longer be eligible to continue to use the software or to obtain other software under the program. 

    Q:  Why do students need to sign-in?

    A:  The sign-in process allows students to get verified initially once and bypass the verification step for future visits to DreamSpark.  Once verification is completed and if they are signed in, students will be brought directly to the download page.  All students will keep their eligibility for 12 months and will have the option to renew after 12 months. 

    Q: Will you be collecting student information, and using it for other purposes?

    A: Microsoft is not collecting any student information from third-party identity provider databases, other than binary notification of whether the person is a student or not.  When students seek to download the software, they will be asked to verify their student status with a verification source of their choice, and the verification source will request the student’s credentials in order to verify their student status.  The credentials students provide to the verification source are not viewed or tracked by Microsoft – that is, the student is verified externally by their chosen verification method and not by Microsoft, and any exchange of sensitive credentials with the verification source will be between the student and the verification source.  Microsoft will store the general location of students, which assists with download bandwidth efficiencies.

    Q: Is there an approved list of universities? Are only students enrolled in brick and mortar universities included or are online students as well? (i.e. what about 2-year or community colleges)

    A: As this is a cooperative effort with local communities, we are working with local entities within each country to determine who the universities are.

    Q: Are only undergraduates qualified or can graduate students download DreamSpark?

    A: Graduate students are welcome to participate.

    Q:  Why are university administrators being asked to share their student database?

    A:  This program is designed to give students Microsoft technology tools at no charge as long as their student status can be verified.  University administrators hold the keys to enable verification.  If administrators are willing to cooperate and enable their students to verify themselves against the university database, universities will be able to equip them with free professional-level tools. 

    Q:  How can univeristy administrators offer this benefit to the students in their school/country?

    A:  This benefit is available to all students around the world.  However, this program requires all students to have their status verified by an authorized verification source.  Academic institutions or governments may already have all the requirements necessary to verify their students.  Microsoft can help prepare student databases to use the program.  Once institutions determine they have a reliable database of student information, we can help them become an identity provider (IDP). 

    Verification Technology

    Q: Why is Microsoft using Open Source Software (OSS) as part of the student verification process?

    A: Microsoft is pleased to be able to use Shibboleth, an open source authentication and authorization infrastructure product, as one solution for verifying students so they can receive Microsoft DreamSpark program benefits.  Shibboleth is an existing middleware solution that is widely used by universities, and federations using Shibboleth software exist in many countries.  Its use provides access to a network of institutions and students, enabling immediate connection to over 10 million students, with a path for other academic institutions to sign up.  Shibboleth also enables sites to manage the authorization decisions permitting the sharing of specific information between an identity provider database and an external party (such as Microsoft) – such as binary notification of whether the site user is a student or not, without releasing other student information. 

    Competitive

    Q:  Are you trying to flood the market with developer tools?

    A:  Microsoft is putting developer and design software in the hands of verified students to support and advance their learning and skills through technical design, technology, math, science and engineering activities. The student developer population has been growing recently, with many developers coming from fields of study other than computer science.  Even non-technical majors can benefit from using these products.  We want students to grow their capabilities by providing them with developer and designer tools that expand the limits of their imagination.  We’re putting tools in the hands of students that they would typically not be able to afford. 

    Q:  Are you trying to put other developer software companies out of business?

    A:  This program targets students and eduators, who represent a fraction of all software developers and designers. Software under this program is only available for non-commercial use to support and advance students’ academic work involving science, technology, engineering, math and technical design activities.

    Q:  Are you embracing the “free software” model by offering development and design tools to students at no cost? Will you make it free for all?

    A: Our design, development and platform tools offer significant benefits for developers, customers and partners alike. Our goal with Microsoft DreamSpark is to ensure that today’s students have even greater access to the tools they need to succeed in their studies and prepare themselves for today’s increasingly competitive business world.

    Q: Is this just a ploy to keep up/compete with open source proliferation in education?

    A: No, Microsoft is not offering students free access to developer and design tools to compete against open source software. This program is targeted specifically at students to provide them with access to the software tools used in business today and help extend the skills of the next generation of developers and designers.  The company has and will continue to make strategic bets on the Windows platform while continuing to support interop and other open source initiatives and partnerships.

    Microsoft products offer tremendous value that is perceived by the marketplace and by our customers. 

    Microsoft is a platform company committed to building technologies that empower communities of developers and partners to deliver compelling software solutions to customers. This approach is reflected in the size and health of the technology ecosystem in which Microsoft participates, including millions of developers around the world who have created a vast array of applications using Microsoft platform technologies such as Microsoft Windows, Windows Live, Microsoft Office, .NET platform, Microsoft Windows Server, and Microsoft Xbox.  Microsoft’s open source strategy is focused on helping customers and partners be successful in today's heterogeneous technology world. This includes increasing opportunities for developers to learn and create across both community-oriented open source and traditional commercial approaches to software development.

    Q: Is this the first step in Microsoft lowering its prices (possibly even free) to compete against open source?  What are the next products that might be included in this program?

    A: Microsoft products offer tremendous value that is recognized by the marketplace and by our customers.  This program is targeted specifically at students in connection with their academic studies to help prepare them as the next generation of developers and designers.  DreamSpark is the latest in a series of offerings for students just as MSDNAA (Microsoft Developer Network Academic Alliance), Imagine Cup, and other offerings Microsoft provides to academia.  Additional developer tools may be made available to students in the future under this same program, but we do not foresee that other major customer groups or products will be significantly impacted by this program.

    Q:  Do any other companies offer a free software package like this?
    A:
    Yes, other software vendors like Adobe and IBM have offers in market to make software available to students at low costs or no charge. However, we believe that Microsoft is leading the way in providing such a comprehensive offering available to the student market at no charge.

  • Microsoft UK Faculty Connection

    Microsoft Training and Certification Guide

    • 4 Comments

    We have just released a new Training & Certification Guide app into the Windows 8 store

    clip_image002

    The app is a great tool for student, educators and professionals for evaluating which technical courses and certifications should be completed to gain Microsoft Professional Certifications.

    Screen shot 1

    Available here:

    http://apps.microsoft.com/webpdp/app/cebcb8be-d6c0-48dd-bace-1a916f3f5f12

    The Training and Certification Guide features an interactive chart of our technical certifications mapped by courseware and exam. Clicking on the ‘subway map’ takes a user to more information on the different portfolios—details about the training, certifications, etc. Clicking further will then take users to /learning. A breakdown of keyword guidance is also included to map keywords to our certifications.

    The app also includes a ‘view as PDF’ option should users need to print pages.

    Wishing you a happy professional certification journey.

  • Microsoft UK Faculty Connection

    Windows Azure Offer for Academics 5 Month Pass

    • 0 Comments

    Azure_thumbnail

    Educators

    Microsoft provides grants for educators wanting to use Windows Azure platform in their curricula. These grants are facilitated through Windows Azure academic passes, which provide the following resources for a period of 5 months from the date of redemption:

    Windows Azure
    • 2 small compute instances
    • 3GB of storage
    • 250,000 storage transactions
    • 100,000 Access Control transactions
    • 2 Service Bus connections
    SQL Azure
    • Two 1GB Web Edition database
    Data Transfers

    (Per Region)

    • 3 GB in
    • 3 GB out

    Apply for a grant

    Grant applications are designated for faculty who are teaching Windows Azure in their curricula as well as faculty preparing to integrate Windows Azure into their curricula. Educator Grant awards are subject to demand and availability.

    To apply for an Educator Grant please contact AzureU@Microsoft.com and provide us with:

    • Your name
    • Your email contact
    • Institution/University name
    • Course name
    • Course description
    • Number of students in your course
    • Number of Windows Azure platform academic passes needed
    • Date when passes will be used


    Apply Today!

    Windows Azure Educator Grants FAQs

    Q: What are the Windows Azure Educator grants?

    A: The Windows Azure Education Grants are focused on enabling educators to easily leverage the benefits of the Windows Azure platform for curriculum development and teaching. Through these grants, educators can obtain easy access, with no Credit Card required, to the Windows Azure platform for an extended period of time at no cost for themselves and their students. Access to the Windows Azure platform is made possible through 5 month Windows Azure platform academic passes. Educator Grants may be available up to the number of students within the course, dependent on the volume of requests, pass availability, and the needs of the course.

    Q: What resources are available through the Windows Azure platform academic pass?

    A: Each 5 month Windows Azure platform academic pass provides the following resources:

    Windows Azure
    2 small compute instances
    3GB of storage
    250,000 storage transactions

    SQL Azure
    Two 1GB Web Edition database

    AppFabric
    100,000 Access Control transactions
    2 Service Bus connections
    Data Transfers (per region)
    3 GB in
    3 GB out

    1 Hosted Service

    Q: What is the Gifting Letter and who needs to sign this?

    A: If you are granted a Windows Azure Educator Grant, we require that you sign a “Gifting Letter” in order to ensure compliance with all applicable government gift and ethics rules, which restrict/prohibit government employees. Your ethics officer, (or designated executive/office responsible for your organization’s gifts/ethics policy), or responsible attorney should review and sign this letter.

    Q: How do the Windows Azure platform academic passes get redeemed?

    A: Each Windows Azure platform academic pass is redeemable through http://www.windowsazure.com/en-us/community/education/program/educators/ If you receive an Educator Grant we will send you a PowerPoint deck which will guide you and your students through the easy process of redeeming these passes.

    Q: Why is Microsoft offering this?

    A: A large percentage of the academic community has developed curricula materials leveraging the Windows Azure platform for teaching Cloud-centric courses. We are experiencing an increase in demand from the academic community for access to the Windows Azure platform. Windows Azure Educator Grants allows us to enable even more members of the academic community to leverage the Windows Azure platform within their courses.

    Q: Are Windows Azure Educator Grants available globally?

    A: Windows Azure Educator Grants are available worldwide.

    Q: Is there an available education discount program for the Windows Azure platform?

    A: At this time, we do not offer education discount pricing for the Windows Azure platform.

    Q: Who can apply for a Windows Azure platform Educator Grant?

    A: Educators at accredited academic institutions can apply for the Windows Azure Educator Grants.

    Q: How do I apply for a Windows Azure platform Educator Grant?

    A: Applying for a Windows Azure platform academic pass is easy. Simply go to http://www.windowsazure.com/en-us/community/education/program/educators/

    We will ask you for the following information:

    · Your name
    · Your email contact
    · Country
    · Institution/University name
    · Course name
    · Course description
    · Number of students in your course
    · Number of Windows Azure platform academic passes needed
    · Date when Windows Azure platform academic passes will be used

    Q: What factors will Microsoft consider when determining who will receive a Windows Azure Educator Grant?

    A: Windows Azure Educator Grants will be awarded based on factors such as purpose of use, number of passes required, and timing requirements for usage of the passes.

    Q: I am a student. Can I apply for a pass?

    A: Windows Azure Educator Grants are only valid for valid faculty. If your faculty has been awarded a Windows Azure Educator Grant, you will be able to get a pass through him/her for you coursework. If you are interested in learning more about the Windows Azure platform, we encourage you to share these Educator Grants with your faculty or leverage the FREE 90-day trial offer at http://www.windowsazure.com/en-us/pricing/free-trial/

    Q: Does my Windows Azure platform academic pass expire?

    A: Yes. The Windows Azure platform academic pass will expire 150 days after it has been activated. You will be receiving email notifications when the expiration date is close, and you will have the opportunity to migrate your data to a paid Windows Azure platform subscription, if you want to continue on using the Windows Azure platform.

    Q: What happens to my data application when my pass expires?

    A: Shortly prior to the expiration date you will have the opportunity to migrate your data to a paid Windows Azure platform subscription. All of your data will be erased when your pass expires. If you choose to not migrate your Windows Azure account to a paid account, please be sure to back up your data.

    Q: Do I have to use a credit card to redeem my pass?

    A: No. You do not need to use a credit card to redeem your pass activate your Windows Azure account.

    Learning Resources:

    Curricula Resources
    Short and interactive learning presentations that provide foundational learning
    Windows Azure - Step by Step Book

    Ideal for those with fundamental programming skills, this tutorial provides practical, learn-by-doing exercises for mastering the entire Windows Azure platform.

    For more details see http://www.windowsazure.com/en-us/community/education/program/overview/

  • Microsoft UK Faculty Connection

    XNA developers and Windows 8

    • 12 Comments

     


    xna_logo

     

    A large number of the UK’s Universities and colleges have been using XNA since 2004 within gaming course curricula on Windows, XBox and Windows Phone. We have a huge set of Free curricula resources for  XNA  game development at http://www.microsoft.com/faculty

    XNA over the last 7 years has provide a number of students and indie game developers with an impressive content pipeline, game assets, load functionality, animation, math, sound and user input tracking via gamepad, mouse, keyboard and touch with game logic organized in a straightforward game loop architecture, more recently we have also added curricula for XNA and Kinect.

    Within education XNA has been a huge driver for a number of students and developers who wanted to learn how to create games. XNA along with Visual Studio made it as easy as File –> New –> XNA Game Studio Project and you were off developing.

    Since Windows 8 is built on the strong foundation of Windows 7, any app built for Windows will run in the Windows 8 desktop environment. This includes apps based on XNA, Win32, .NET, WPF, Silverlight, etc. 

    Windows 8 also introduces a new type of app called a Metro Style App for developers that wish to make their app available in the Windows 8 Store, for free or for sale. Using Visual Studio 2012, you have a language choice of C++, XAML with C#, VB or C++, or HTML5/JS to create a Metro Style App.

    Using the XNA Framework is not a choice for building a Metro Style App. Official Microsoft guidance on game development is documented here.

    Windows 8 allows you too build highly immersive games using HTML5/JS, XAML/C#, XAML/VB or C++ and DirectX.

    However a number of you have already stressed too me, that you and your students have been developing with XNA and have an existing code base, or would like to import existing XNA games too Windows 8 your only option it would seem is running as a desktop app.

    This is where MonoGame comes in…

    image

    MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. The goal is to allow XNA developers on Windows & Windows Phone to port their games to the iOS, Android, Mac OS X, Linux with both PlayStation Suite and Windows 8 support currently under development.

    NOTE : This project is not linked with Microsoft or any of it subsidiaries. It is a non-profit, open source project. MonoGame is licensed under the Microsoft Public License (Ms-PL)

    MonoGame provides a cross platform XNA Framework implementation for XNA developers who want to take their code to non-Microsoft platforms as well as the ability, to target Windows 8.

    MonoGame for Windows 8  you can take your XNA code and with a recompile and some additional features too simply create a Metro Style App for example Armed within the Windows Store uses MonoGame. I have too stress MonoGame is still under development and so any use of it should come with a note of advice to stay on top of that effort.

    In order to provide a complete implementation of XNA on Windows 8, MonoGame leverages SharpDX , an open-source project delivering the full DirectX API for managed code (.NET) and Windows 8 (WinRT). SharpDX is an open-source project, free of charge available under the following MIT License.

    Theoretically by moving your code over into a new Visual Studio Project Solution along with MonoGame, you should de able too recompile a Windows 8 Metro Style game so if your a XNA Developer give it a try and let me know the results.
  • Microsoft UK Faculty Connection

    Deploying apps to Windows 10 devices via WinAppDeployCMD

    • 1 Comments

    WinAppDeployCMD is a stand-alone tool that is installed on your PC when you install the Windows 10 SDK.

    Getting the latest Windows 10 SDK

    Windows 10 SDK preview (10166 or newer) from the Windows 10 Developer Tools page. This tool will also be in the RTM version of the Windows 10 SDK..

    How do I get started?

    To deploy an app to a device, you need to enable it for development. First, upgrade the to the latest Windows 10 Mobile Insider Preview Build 10149 emulator released recently and follow these simple steps to prepare your device:

    1. On the phone that you want to enable for development, go to Settings. Choose Update & security then select For developers.
    2. Select Developer mode to enable side-load scenarios using WinAppDeployCmd.exe.

    clint1

    For more details, please read the MSDN topic Enable your device for development. Once you have successfully enabled the phone for development, follow the steps on the MSDN topic Windows 10 Application Deployment to get your apps on to the device.

    Tip: If you’d like to see the tool in action, watch this video.

  • Microsoft UK Faculty Connection

    Windows 10 is coming to the Raspberry Pi 2

    • 7 Comments

    The Raspberry Pi Foundation announced the launch of the Raspberry Pi 2 and that it will support Windows 10 and that you will also be able to get Windows 10 for FREE.

    Pi2Modboard

    So if your interested in Windows 10 on Raspberry Pi sign up to the Windows Developer Program for IoT.

    Microsoft announced the Windows Developer Program for IoT and put Windows on the Intel Galileo board. Today Windows gets even better for IoT and Maker scenarios by supporting makers on a multitude of other devices.

    It's pretty clear that the way to go with Windows 10 from a developer's perspective is Universal Apps allowing you to run an app on a 88inch surface hub, windows phone or even IoT device.

Page 5 of 112 (1,117 items) «34567»