• Microsoft UK Faculty Connection

    Where can I get some tips and guidance design resources?

    • 0 Comments

    I wanted to put this quick blog together to answer the most common questions I get from students/developers wishing to build apps.

     1. How can I get a Store Account for Windows?

    All Students get FREE Windows 8 Store accounts via DreamSpark follow this presentation on the steps to how to validate your FREE Windows 8 Store account

     
    If your not a Student? Unfortunately you don't get a FREE Store account. However All paid MSDN subscribers will receive a free one-year Windows Store subscription (regular price $49 per year, or $99 for companies)

    2. What are the resources available if I want to start developing a Windows 8 or Windows Phone application

    Windows 8 Developers – http://dev.windows.com

    Windows 8 Designers – http://design.windows.com

    Windows Phone Developers – http://dev.windowsphone.com

    Windows Phone Designers – http://design.windowsphone.com

     

    3. Not a designer, where can I get a logo?

    image

    Images from www.thenounproject.com Remember to check licensing first!

    4.  I want nice fonts, but aren’t they expensive?

    image

    www.Fontsquirrel.com is an excellent resource

     

    5. Where can I get colours to match my app?

    image

    www.kuler.adobe.com and www.colorlovers.com are excellent, free, searchable resources

    6. Where can I get background/pattern for my app?

    image

    Great resource with some nice tutorials www.dinpattern.com

  • Microsoft UK Faculty Connection

    TouchDevelop—Programming on the Go Book Released

    • 1 Comments

    TouchDevelop book cover

    Microsoft Research Connections announced the release of the book, TouchDevelop—Programming on the Go, available in print form, as an e-book, and on the web. TouchDevelop has reached new heights as the only programming environment on mobile touch devices that creates apps directly for the Windows Marketplace. This book is a comprehensive guide on how to use TouchDevelop to write fun, productive apps that make full use of a device's audio, camera, sensors, and so on.

    The Title

    Touchdevelop — Programming on the Go by  Nigel Horspool (University of Victoria), Judith Bishop, Arjmand Samuel, Nikolai Tillmann, Michał Moskal, Jonathan de Halleux, Manuel Fähndrich (Microsoft Research)

    Download the book for FREE.

    Download as single file

    Alternative download option: one file per chapter

    Who this book is for

    This book has much to offer to both students and teachers: For teachers, it walks in detail through all of the screens of the TouchDevelop app, and it points out similarities and differences of the TouchDevelop language compared to other programming languages that the teacher might already be familiar with. For students and enthusiasts, the book can serve as a handy reference next to the phone. The book systematically addresses all programming language constructs, starting from the very basic constructs such as variables and loops. The book also explores many of the phone sensors and data sources which make creating apps for mobile devices so rewarding.

    How to read this book

    If you are new to programming with TouchDevelop, or if you have not yet worked on touchscreen devices, we suggest that you read the book starting from chapter 1. If you are already familiar with the basic paradigm of the TouchDevelop programming environment, then feel free to jump ahead to the later chapters that address particular topic areas.

    Two apps, one book

    This book is written from the perspective of a Windows Phone user – all screenshots and navigation instructions refer to the Windows Phone app. The TouchDevelop Web App runs in many modern browsers on many different devices such as iPhone, iPad, Android phones and tablets, Macs, PC. The Web App uses the same programming language and has a very similar navigation structure as the TouchDevelop Windows Phone app. As a result, you can reuse the lessons of this book when you create mobile apps in your web browser.

  • Microsoft UK Faculty Connection

    Using Cloud Services to make a Leaderboard for a Unity Game

    • 1 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

    MATLAB and R on Windows Azure via Techila

    • 3 Comments

    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:

  • Microsoft UK Faculty Connection

    Windows Phone Curricula Resources DVD and Online resources

    • 0 Comments

    image

     

    image    image

    DVD + On-line

    Windows Phone Programming in C# by Prof Rob Miles;

    WP7.5 update + extra modules
    This material contains a ten chapter textbook with labs, demos and step by step instructions on how to create Windows Phone 7 applications.

    1st & 2nd Year Programming courses

    Introduction to Game Programming with XNA and Windows Phone 7 by Prof Kelvin Sung (UW)

    WP7.5 update + new material

    This material is a 16-hour course designed to teach students how to build a 2D interactive video game.

    3rd & 4th Year (require background in data structure)

    Introduction to Mobile Application Development Using Silverlight by Michael Iantosca.

    WP7.5 update + new material

    Students learn the knowledge, skills, and abilities necessary to develop a mobile application on the Windows Phone 7.5 platform using Microsoft Silverlight. 2nd & 3rd Year: background in programming needed (preferably C#, but C, C++, Java helps

    Designing for Windows Phone by Microsoft

    This material contains the following 7 lessons on how to design for the Windows Phone: METRO Design, Building WP7 Assets, Layout Controls in Expression Blend, Creating Animation and Basic Interactivity, Working with the Visual State Manager, Adding Data to your Application and Creating the Flickr4Fun app. [ HCI and Software Dev-t classes 1nd - 3rd Year: ]

    Azure Mobile Curriculum by Rob Miles

    Find out how Cloud computing works and what it brings to the Windows Phone user. The content will show you how to use the cloud for data storage and databases, farm out heavyweight tasks for cloud data processing and use the cloud to perform identity validation. [addition to above courses]

    If you would like to receive a FREE copy of the CD please email ukfac@microsoft.com with your University contact details and full UK postal address.

    PLEASE NOTE THE DVD WILL ONLY BE POSTED TO UK INSTITUTION ADDRESS

    DreamSpark_bL_t

    Don't forget students can get great resources and developer tools for free from http://www.dreamspark.com and check up on all the latest offers and prizes via the Microsoft UK Student Blog and Facebook Group

  • Microsoft UK Faculty Connection

    Building apps for Windows devices using Microsoft Open Source Technologies http://msopentech.com/

    • 1 Comments

     

    Are you are a mobile developer and want to extend your reach and your customer base?

    Do you want to make your mobile app available on more stores?

    Are using open source technologies?

    Well lets look at the opportunity of using open source technologies to build apps for Windows Phone and the Windows Store (Windows 8)

    Windows: a great playground for open source developers

    Windows has always been a great playground for developers and many open source technologies already support Windows devices. MS Open Tech is working closely with the open source communities interested in cross platform development including engagement with Web and C++ open source communities to enable a wide range of popular open source frameworks on Windows devices.

    Open source and the Windows Stores and Windows Phone 8

    To learn details on the use of open source licenses for Windows Store apps, you can read the App Developer Agreement. For Windows Phone store, read the App Provider Agreement.

    Developing for Windows 8 and Windows Phone 8

    Both the Windows dev center and Windows Phone dev center provide extensive details and instructions on what is required to build apps for Windows devices. In a nutshell, you need to have Visual Studio, which runs on Windows. You can build and publish apps to both stores using the free version of Visual Studio.

    If you are developing on a Mac, here are some interesting pointers for you in order to set things up to build apps for Windows devices on your Mac:

    If you are familiar with Android or iOS development, and not with Windows or Windows Phone dev, then we recommend looking into the following documentation that has extensive information adapted to your background:

    For Windows Phone apps

    Mobile cross platform development

    Solutions exist to help developers build apps across mobile devices running various operating systems. There are different approaches addressing different specific needs. Lots of these solutions are open source like Rhodes from RhoMobile, Appcelerator Titanium, Xamarin or Apache Cordova (a.k.a. PhoneGap), and happen to support Windows devices.

    With Xamarin for example, C# developers can build apps for iOS, Android, and Windows devices with a single code base.

    With Apache Cordova, JavaScript developers will be at ease to build apps for all these devices reusing their code and Web libraries, still accessing devices features like GPS, accelerometer, etc… from their code.

    C++ Gaming, Graphics and other libraries

    MS Open Tech has worked closely with these communities to enable these frameworks on Windows Phone and Windows Store apps which both provide native support for C++ development.

    • Cinder, a growing programming library for creative coding in C++ and used for design engineering has recently been enabled for Windows Store apps by MS Open Tech. You can find a great getting started guide on Channel 9 to learn how to integrate your Cinder magic into an app for Windows 8.
    • Cocos2DX is a game engine aiming at extending Cocos2D support to other mobile platforms beyond iPhone (the original target for the engine). Cocos2DX is used by lots of mobile gaming creators like Zynga, Konami, Glu, Gamevil, KingSoft… Cocos2DX supports both Windows Phone 8, and Windows Store apps.
    • Ogre3D is another popular 3D engine written in C++ that MS Open Tech contributed to add Windows Phone 8 support to. Windows Store apps support is work in progress.
    • Box2D and Bullet are other great gaming libraries joining the Windows Store apps.
    • The popular computer vision and machine learning framework OpenCV, can now be used in Windows Store applications as well offering C++ developers a chance to easily use their OpenCV code to build apps for Windows 8 that do face recognition, motion detection and other cool stuff based on images and video capture.
    HTML5 & JavaScript frameworks

    MS Open Tech has engaged with open source communities such as PhoneGap (now Apache Cordova) or jQuery Mobile to make Web developers life easier in their new ventures. From cross platform development tools, to HTML5/JavaScript frameworks, and development tools, we contributed to enable lots of open source technologies on Windows devices that let Web developers build apps for Windows 8 and Windows Phone 8 without wasting hours learning a new platform.

    jQuery now fully supports WinRT (the Windows Runtime, powering Windows Store apps), allowing web developers to build Windows 8 apps reusing their existing code and skills. As a direct result from this work, web developers can also use other frameworks that are based on jQuery to build Windows Store apps. You can learn more about what it took to make jQuery support WinRT on this Nettuts tutorial

    These other frameworks include

    YUI is another popular JavaScript library developers can thoroughly use in their JavaScript apps for Windows 8. Jeff Burtoft, HTML5 evangelist at Microsoft, recently posted a tutorial on how to use YUI to build a Windows 8 app.

    Many open source JavaScript mobile frameworks come with themes for Windows Phone 8 that were created with MS Open Tech’s technical support. These include

    Debugging is another area that is pretty critical for developers and while native development tools (Visual Studio for both Windows and Windows Phone apps) offer extensive tooling, there are some gaps. One of the few example is the missing support for remote DOM inspection of HTML5 code running on an actual Windows Phone 8 device. MS Open Tech filled this gap, contributing to the project weinre, enabling it on Internet Explorer 10 and allowing remote debugging of HTML5 pages.

    What’s next?

    Most and foremost, MS Open Tech have all the info on the latest open source technologies simply visit http://msopentech.com/

  • Microsoft UK Faculty Connection

    UX/UI Design the benefits of building prototype, even if you have only initial sketches of your prototype.

    • 3 Comments

    image

    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.

    For example

    • A prototype can be a rough sketch with notes
    • A linear sequence of slides with a few notes that demonstrates
    • A workflow drawn on the art board,
    • A complex graph, outlined in the panel designs and layouts, that includes reusable elements on a single screen (component screens), and navigation between screens (navigation connections).

    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

    Sketchflow Resource

    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

    image

     

    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..

    image

     

    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

    image

     

    Example of a completed template for a new app design/concept.

    image

    image

    image

    image

    Conclusion

    In summary, using any form of prototype technique makes it easy to sketch out a conceptual application and ensure the following are achieved.

    image

    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,

  • Microsoft UK Faculty Connection

    Getting Started with Unity3D here is the 1 stop of shop of great resources

    • 0 Comments

    One of the most popular question I am getting at present is how to get started or improve my knowledge of Unity the easy answer is simply keep building and playing?

    However here some quick guides and links to get you started no matter what level of experience you have.

    This list has been a collation of resources from the community and tips and tricks so thanks to Simon Jackson and the Windows Games Ambassadors who have been helping me with www.unityportinguk.com and collating and sharing these great resources with the attendees.

    Beginner tutorials

    Intermediate tutorials

    Project based training – learn by doing

    Video based tutorials

    Unity3D component tutorials

    Unity3D master sites – Unity training is just their thing

    Unity3D paid for training

    Scripting links and help

    Shader help and tutorials

    Performance and architecture

    Platform specific

    Animation and Mecanim

    Generic Tips and Tricks

    Multiplayer tutorials

    Unity Extensions

    Tools for Visual Programming:

    Music and Audio

    Unity addons and engines

    Help and forums

    Resources

    Other things to check

  • 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

    Surface 2.0 SUR40 SDK now available

    • 0 Comments

    On the 12th of July 2011 Microsoft released the Surface 2.0 SDK.

    The SDK simply makes it easy to create engaging experiences, using multitouch and object interaction, for the next generation device for Microsoft Surface – the Samsung SUR40 for Microsoft Surface.

    The Surface 2.0 SDK replaces the Microsoft Surface Toolkit for Windows Touch Beta that was released last year.

    Download the SDK and find training, documentation, and guidance on the new Surface development center at www.msdn.com/windows/surface/

    Overview

    The Microsoft® Surface® 2.0 SDK is a set of controls, APIs, templates, tools, sample applications, and documentation for application developers. Using the familiar .NET Framework 4.0, Windows Presentation Framework 4.0 (WPF) or XNA framework 4.0, and the Surface 2.0 SDK, developers can quickly and consistently create innovative applications that take advantage of the new PixelSense™ technology delivered in the Surface 2.0 platform.

    The next generation Surface device, the Samsung SUR40 for Microsoft Surface, was announced in January 2011 and will be available to commercial customers in 23 countries later this year. For more information on the Samsung SUR40 for Microsoft Surface, visit www.surface.com.

    clip_image002
    Library Controls
    clip_image003
    Element Menu
    clip_image005
    The Input Simulator
    clip_image007
    Raw Image Visualizer

     System Requirements

    The Surface 2.0 SDK runs on the Samsung SUR40 for Microsoft Surface or a PC with a 32-bit or 64-bit edition of one of the following Windows® 7 operating systems:

    Windows 7 Home Premium

    Windows 7 Professional

    Windows 7 Ultimate

    Additional Requirements:

    • Microsoft Visual C#® 2010 Express Edition or Microsoft Visual Studio® 2010
    • Microsoft .NET 4.0.
    • Microsoft XNA® Framework Redistributable is required to run some Surface SDK samples.
    • Microsoft Expression Blend® 4 is recommended to edit XAML code that defines user interface

    The Surface SDK supports input devices such as mouse, touch, and tagged objects. With the Surface SDK, you can develop an application that supports various types of input. However, to test your application in a touch-enabled environment, your computer must have a touch-screen digitizer.


    SDK Contents

    The Surface SDK contains the following resources:

    Resource

    Description

    Reference assemblies

    These assemblies provide the classes that are necessary to create a touch-enabled application.

    Visual Studio project and item templates

    These templates enable you to quickly create a touch-enabled application. When you create a project by selecting the Surface template, all of the necessary references and resources are automatically included as part of your project.

    Tools

    The input simulator, input visualizer, and Surface stress tools help you develop and test applications for the Samsung SUR40 for Microsoft Surface and Windows 7 touch-enabled PCs. With the Surface Input Simulator tool, you can simulate different inputs, hardware capabilities, and tilt of the device.

    Sample applications

    Sample applications are fully functional applications that you can build and run. These applications showcase various features of the Surface environment. You can run these applications to see Surface functionality in action, and examine the source code to see how certain tasks are performed.

    Documentation

    The documentation for the Surface SDK includes short examples of how to perform various programming tasks, longer and more detailed examination into various programming scenarios, and a detailed API reference.

    Note: When you are ready to distribute an application that you have created with the Surface SDK, download the Microsoft® Surface® 2.0 Runtime from MSDN and include it with your installation package. The Surface SDK Runtime contains the reference assemblies that are required to run your application.

    Surface API

    There are two types of APIs; presentation API and core APIs. The Presentation APIs use Microsoft Windows Presentation Foundation (WPF), which is the standard choice for developing touch-enabled applications. The cores APIs are .NET platform agnostic APIs that enable querying a raw image directly and registering for touch events. Learn more about the core API at http://msdn.microsoft.com/en-us/library/ff727894(v=Surface.20).aspx.

    Surface Controls

    Your touch-enabled application will usually contain one or more Surface controls. Some of these controls are specialized counterparts to WPF controls, and others enable you to include functionality in your application in ways that have no WPF counterpart. The following table summarizes the controls that are included in the Microsoft Surface SDK for Windows Touch Beta.

    Control

    Description

    LibraryBar

    The LibraryBar control enables you to list items horizontally, group items into several groups, and scroll groups. By default, the LibraryBar control supports drag-and-drop operations.

    LibraryContainer

    The LibraryContainer control is a dual-view control that arranges items in a horizontal bar or in a vertical stack and enables you to switch back and forth between the two views.

    LibraryStack

    The LibraryStack control enables you to display items that are stacked on each other. Users can view the individual items by rearranging the order of the stack or by removing items from the stack. By default, the LibraryStack control supports drag-and-drop operations.

    ScatterView

    The ScatterView control is a container for any other User Interface (UI) element. When you place a UI element inside of a ScatterView control, that element automatically gains the ability to be moved, rotated, and resized using one or multiple touches.

    ElementMenu

    The ElementMenu control implements a collection of items in a tree hierarchy that users can select.

    SurfaceButton

    The SurfaceButton control is a specialized version of the WPF Button control. SurfaceButton provides a different default look-and-feel, adds support for Touch Visualizations, and customizes the handling of input device events so that if multiple touches are targeting the control, the Click event is raised only after all touches are lifted.

    SurfaceCheckBox

    The SurfaceCheckBox control is a specialized version of the WPF CheckBox control. SurfaceCheckBox provides a different default look-and-feel, adds support for Touch Visualizations, and customizes the handling of input device events so that if multiple touches are targeting the control, the Click event is raised only after all touches are lifted.

    SurfaceTextBox

    The SurfaceTextBox control provides an unconstrained data entry field. The SurfaceTextBox control also provides the on-screen keyboard so that you do not have to specifically invoke the keyboard.

    SurfaceInkCanvas

    The SurfaceInkCanvas control provides a drawing canvas that you can use with touch input to create, modify, and delete drawing strokes.

    SurfaceListBox

    The SurfaceListBox control is a specialized version of the WPF ListBox control. SurfaceListBox adds support for panning, the ability to move the content by direct contact with the content itself, instead of using a scroll bar.

    SurfaceRadioButton

    The SurfaceRadioButton control is a specialized version of the WPF RadioButton control. SurfaceRadioButton provides a different default look-and-feel, adds support for Touch Visualizations, and customizes the handling of input device events so that if multiple touches are targeting the control, the Click event is raised only after all touches are lifted.

    SurfaceScrollViewer

    The SurfaceScrollViewer control is a specialized version of the WPF ScrollViewer control. SurfaceScrollViewer adds support for panning, the ability to move the content by direct contact with the content itself, instead of using a scroll bar.

    SurfaceSlider

    The SurfaceSlider control is a specialized version of the WPF Slider control. SurfaceSlider provides a different default look-and-feel, and adds support for Touch Visualizations.

    SurfaceWindow

    The SurfaceWindow control is a specialized version of the WPF Window control. SurfaceWindow provides and activates the necessary event handlers to make sure that it receives touch events.

    Sample Application Projects

    The sample applications that come with the Surface SDK show several different programming techniques in a complete application. You can use these applications as a starting point for more complete applications or just as examples of best practices in Surface programming. For information about obtaining the sample files, see Extracting and Installing the Surface Samples.

    Samples that use the Core layer and XNA Framework

    Sample

    Description

    Finger Fountain

    Draws small images for every contact at every frame. This sample emphasizes multiple touches and shows how to use the Microsoft XNA APIs.

    Framework

    Provides an extensive sample framework that helps you create controls by using the Core layer. The code in this sample eliminates inconsistent behavior among Core-based applications by using the Model-View-Controller (MVC) design pattern.

    Cloth

    An XNA-based application that demonstrates how to use the Core Interaction Framework

    RawImage Visualizer

    Shows how to use the RawImage APIs for XNA applications. This sample displays captured normalized (8 bit per pixel) images that are flipped vertically.

    XNA Scatter

    Demonstrates how to use the manipulations and inertia APIs to move graphical user interface (GUI) components around in a Surface application in a natural and intuitive way.

    Samples that use the Presentation Layer (WPF)

    Sample

    Description

    Controls Box

    Shows how to build simple application behaviors from touch-enabled controls that the Presentation layer provides, such as updating a text box when a user touches a button

    Data Visualizer

    Shows contact properties that are exposed in the Presentation layer (such as x, y, height, width, major axis, minor axis, and orientation) and how you can read and use these properties in a Surface application.

    Grand Piano

    Demonstrates how to integrate sound into Surface applications based on the Presentation layer.

    Item Compare

    Represents a simple tool that lets a user compare and contrast the properties of two "items" (tagged objects).

    Photo Paint

    Uses the SurfaceInkCanvas control to implement drawing and painting over pictures and video

    ScatterPuzzle

    Shows an implementation of the ScatterView and SurfaceListBox controls to create a simple puzzle game. The ScatterView and SurfaceListBox controls automatically provide some powerful features related to Surface.

    Shopping Cart

    Shows how to implement drag-and-drop functionality in a retail application.

    Tag Visualizer Events

    Shows how to incorporate hit-testing in the TagVisualizer control to let user interface (UI) elements react when tagged objects move over them.

Page 5 of 101 (1,007 items) «34567»