The goal of this site is to put relevant and applicable tools and information at the fingertips
With this blog we want to inform you on our latest initiatives.
Enjoy reading and stay tuned!
New Updates - What’s new
AppHub Integration: Linking your DreamSpark Account with a Microsoft Live ID
I’m very excited to inform you that we’ve completed our “AppHub Integration: Linking DreamSpark Account with Live ID”
This will now dramatically improve the experience of those students that were having difficulties with App Hub registration.
With the update to DreamSpark students and educators create a new DreamSpark account that is not a Windows Live ID. However for students who wish to produce application for Xbox or Windows Phone require a Windows Live ID, to create apphub accounts via http://create.msdn.com. We have now enabled the system, to enable educators or students to map their DreamSpark account to new or existing Windows Live ID.
Here is the workflow:
- Student/Educator visits the page https://www.dreamspark.com/Product/Product.aspx?ProductId=26 and sees [Map your Live ID] button enabled and [Register on AppHub] button disabled.
- Student/Educator Clicks on [Map your Live ID] button.
- Student/Educator Sign in on DreamSpark site with their Verified account (or get the account verified).
- Student/Educator then logs in using Windows Live ID account.
- Student/Educator is shown the message “Are you sure you want your map your DreamSpark login (email@example.com) with your Windows Live ID (firstname.lastname@example.org) with [Ok] and [Cancel] buttons.
- Student/Educator clicks on [Ok] button a Accounts will be mapped a User automatically signed out from Live ID account à User will be redirected to the page https://www.dreamspark.com/Product/Product.aspx?ProductId=26 with [Map your Live ID] button disabled and [Register on AppHub] button enabled.
One great thing about academia is that its always important to understand your skills, particular situation, objectives and what you are trying to achieve.
So thanks to Joel Citzen and his blog The following guidance will help you get started to being the most effective developer.
What type of developer are you?
New to the Platform Typically you would have no existing apps and can’t wait to build and ship your app to Windows Phone Store or Windows Store. In this case the suggestion is that as a beginner you grab the free tools and start exploring building for either platform. You can explore:
Seasoned in Windows Phone App You already built Windows Phone Apps and now want to build apps for Windows Phone 8 and Windows 8. You will find a lot of similarities when you develop your apps for both platforms. To get started explore:
Seasoned in Windows Store App You already built Windows Store apps and now want to build apps for Windows Phone 8 and Windows 8. You will find a lot of similarities when you develop your apps for both platforms. You can get started by exploring these sources:
Seasoned in another Platform You’ve built apps for other platforms, and want to ship them or port them to Windows Phone 8 and Windows 8. Many of the programming concepts will be familiar. Both platforms support C++, and the tools have templates to help you get started. To learn more explore:
Games Creator from another Platform You’ve built games for another platforms and want to port them to Windows Phone 8 and Windows 8. We’ve invested significantly in native gaming support on Windows Phone 8 and this will make it possible for you to port your existing games to both Windows Phone 8 and Windows 8. Check these resources:
Maximising Code Reuse.
After choosing your approach, based on what type of developer you fall under, you can now decide what choices to make to maximize code reuse in your apps. As a developer, you want to streamline your development and make maintaining your app efficient. When building an app for Windows Phone 8 and Windows 8, you should look for opportunities to share code, designs, and assets as much as possible so that you maximize the return on your investment.
The following is a quick guide on HTML5 Video and the Microsoft Media Platform, I have recently had a number of question and interest from a number of UK universities whom are looking at providing streamed media content both on and off campus.
Microsoft has developed the IE Test Drive Video Format support page to see some examples of how various codecs work across the different browsers.
Web developers are generally happy to leave their existing solution in place to play their pre-existing video/audio content using plugins. However many are now supplementing these plugins with the HTML5 Video and Audio tag if the browser is able to play their particular codec of choice natively. This is ideal as the most popular mobile platforms H.264, AAC and MP3 are generally well supported using the HTML5 video and audio tags.
The Microsoft Media Platform (MMP) frameworks are the glue that holds together individual pieces of the Microsoft end-to-end media solution.
Microsoft MMP is the the video platform that sits behind the Rugby World Cup 2011 event.
The Microsoft Media Platform: Player Framework (that is licensed for commercial use under the Microsoft Public License Ms-PL) has recently added a preview of support for HTML5 (API Documentation) that enables you as web developers to compliment the Silverlight player framework with a HTML5 video experience that enables you to reach additional mobile platforms.
There are a number of commercial solutions available that do all the work for you.
Example of these include
JW Player™ (licensed for commercial use)
SublimeVideo® (Player as a Service).
It is surprisingly easy to utilise your own video solution using the default browser controls and codecs that the browser supports. The markup below shows what you need to play a video in HTML5 with a “Fall Back” to an unlisted video on YouTube.
1. Video MIME types supported
Cross Browser HTML5 video running under IIS
Video Formats supported -
The order of your markup does matter please list them as above
Add in the MIME Types support to IIS.
Under IIS 7+ this is found under Website -> IIS -> MIME Types, and you’ll want to add:
File name extension / MIME type:
Turn off Compression under Website -> IIS -> Compression, and unchecking “Enable dynamic content compression”, and “Enable static content compression
Azure Storage Explorer also allows you to do this on individual files. of one of the following formats:
3. Byte Range Requests (seeking)
There are currently a few key areas not addressed by the current W3C Video Standard (full screen support, live streaming, real time communication, content protection, metadata and accessibility). Recently the W3C Web and TV Workshop discussed some of these areas and offered some early thinking on how they may be adopted as web standards in the future.
A real issues is the lack of a solution for live and adaptive streaming. Currently there are three proprietary solutions that support live and adaptive streaming.
Dynamic Adaptive Streaming over HTTP (DASH) is currently in Draft International Standard. It looks likely that it will get W3C support if it is offered royalty free.
HTML5Labs is where Microsoft prototypes early and unstable specifications from web standards bodies such as W3C. Sharing these prototypes helps Microsoft have informed discussions with developer communities to provide better feedback on draft specifications based on this implementation experience.
On the labs site Microsoft has released a Media Capture Audio Prototype that implements the audio portion of this W3C specification. The next prototype will support Speech recognition and will implement the Microsoft proposal available on the W3C website.
If you are hosting progressive download video and audio on the web you should be looking to support HTML5 video and audio today to extend the reach of your content.
Then this free day of training is the quickest way to find out all you need to know.
The Windows Phone Camps will show you how to learn and build Windows Phone apps from scratch. You'll be guided through the development process with a series of hands-on workshops and short tutorials, with some seasoned experts to give you one on one help when you need it. There'll be topics like; Introduction to Windows Phone Development, Controls & Control Toolkit, Execution Model, Storing Data, Launchers & Choosers, Accessing Cloud Services, Marketplace & Submission. Also, there will be informal Mango tutorial sessions on offer covering topics such as Multi-tasking, Debugging & Profiling, Motion API, Advertising SDK and Sockets. There's even an introductory design session to help you make your app look its best. Just pick the workshops that are most useful for you and work at your own pace.
Once you've got the basics, you’ll be off and running and ready to develop your own apps. You can work on your own projects with assistance from our Windows Phone MVPs, and of course there's the all-important opportunity to meet up with likeminded devs.
The camp kicks off at 9am and finish at 6pm. By registering and attending, you will receive (fanfare please) an exclusive Windows Phone Design Guide Sketch Pad as well as your own customized Hit & Run Windows Phone Camp T-shirt.
Spaces are limited, so register your place in the Windows Phone Camp today!
Got a question? You might find the answer below...
How much do I need to know about Windows Phone to attend this camp?
You don't need any prior experience or knowledge about Windows Phone or app development to attend. The purpose of the camp is to provide you with the basic skills and knowledge to get started with learning about Windows Phone app development.
Who can attend these camps?
Academics, Students, developers, hobbyist, technology enthusiasts. Everyone is welcome! All we ask is that you are ready and keen to learn about developing apps for Windows Phone.
How much does it cost to attend this camp?
Your luck's in - it's FREE.
What do I need to prepare in advance to make the most of this camp?
There are a basic set of things you should prepare before attending the camp. This includes bringing your own suitable laptop with the Windows Phone Developer tools installed (these are free), preferably the latest version of the tools.
It would also be useful if you could read the following documentation:
If you have a Windows Phone please bring it with you.
Are you holding these camps elsewhere in the country?
Yes, this is a series of Windows Phone Camps kicking off around the country. Follow us on Twitter (@ukmsdn) to see where we’re visiting next.
What if I've registered already and can't make it on the day?
Please let us know as soon as you can if you can't make the camp as there will be plenty of people who are keen to take your spot. Please respect the trainers and your fellow delegates by turning up if you've registered and committed. Thanks!
Who are Hit & Run?
They're do cool live on-site event screen-printing. You'll get the chance to create your very own t-shirt with your unique design at the end of the camp.
What’s the Windows Phone Design Sketch Pad?
In the spirit of highlighting good design, we intend to provide each attendee with an exclusive Windows Phone design sketch pad with Windows Phone design guidelines as well as open spaces and templates to sketch your next big Windows Phone app idea. Great stuff!
Register at the event of your choice below. Go on. You know you want to.
London - Saturday 17 September
Manchester - Saturday 24 September
Today we are announcing the following changes to www.dreamspark.com
1. An new site design which is the result of improvements to the user experience based on internal and external feedback. Notably creating more clarity around the fact that the DreamSpark program is both a direct to student program and a subscription based program for academic institutions. As a result we have created two hubs with distinctive colour branding through the site to direct users to the right information and software access depending on their role:
a. DreamSpark for Students – direct access to the individual students experience (www.dreamspark.com/Student/default.aspx )
b. DreamSpark for Academic Institutions – information about the DreamSpark subscription such as program benefits, EULAs, usage guidelines, and the steps to purchase a subscription etc. (www.dreamspark.com/Institution/Subscription.aspx )
The site today is going live in English only. Customers selecting other languages will fall back to English UI. The DreamSpark team are working as fast as we can to launch the localized versions. They should become available in the week of 24th of Sept.
As part of this site redesign we are rebranding the DreamSpark subscription to DreamSpark Standard in response to the feedback received by customers and to avoid confusion with DreamSpark for students.
2. The new site has shifted from focusing purely on software downloads to bringing tools and resources related to development on our platforms (Windows 8, Windows Phone and Games) and most importantly a new section under Student dedicated to App Development) also accessible from the Student sub-navigation .
3. A page dedicated to Windows 8 App Development where students can find the resources and tools they need to start developing Windows 8 apps, including a pointer to downloading the getting started guide. .
4. Free access for students to the Windows Store: From the Windows 8 App Development page, users will be direct to the Windows Store Access Page on DreamSpark where they can verify their user status and then get a Registration code to use in the Windows Store to register for FREE.
a. Overview of the DreamSpark program explaining what it is? www.dreamspark.com/what-is-dreamspark.aspx
b. New Software Deployment guide for institutions, www.dreamspark.com/Institution/Software-Deployment-Guide-en-us.pdf , detailing step by step how administrators can provide software access to students, faculty and labs via a DreamSpark MSDN Subscriber Portal and ELMS Webstores
c. ELMS overview: www.dreamspark.com/Institution/ELMS-Overview.aspx
d. DreamSpark Standard usage guidelines page added to academic institution overview section, www.dreamspark.com/Institution/DS-Usage-Guidelines.aspx
e. DreamSpark Premium usage guidelines page added to academic institution overview section, www.dreamspark.com/Institution/DSP-Usage-Guidelines.aspx
f. STEM definition page, www.dreamspark.com/Institution/STEM.aspx
g. New DreamSpark Standard EULA:www.dreamspark.com/Institution/DS-EULA.aspx
h. DreamSpark Premium EULA page to www.dreamspark.com/Institution/DSP-EULA.aspx
i. Revised FAQ’s; more information, more relevant to each audience (student, educator, and institution) accessible from top nav bar.
j. Separation of Student support from Subscription support with two dedicated pages: www.dreamspark.com/student/support.aspx and www.dreamspark.com/Institution/Support.aspx
k. DreamSpark for Academic Institution, and the Academic Institution Hub nav bar explaining how access an existing subscription:
Microsoft Press have a number of FREE Ebooks now available covering topics from SQL Server 2012, Office 2010 and Windows Phone, there is something here for everyone.
Many of our free ebooks are offered in three formats - PDF, Mobi (Kindle) and epub. Hope you find them useful!
Channel 9 is home base online for technical know how, how to’s and tips and tricks.
Channel 9 is used by millions of Developers worldwide each month through videos, how to articles and events.
We are excited to announce that the team has just released a Channel 9 application in the Windows 8 App Store.
So Install the application today on the Windows 8 Consumer Preview and easily browse the latest content on Channel 9, share content with your friends and view content on any of your Play To Enabled devices.
To find the app, Search the Windows 8 App store for Channel 9.
The architecture has a logical layout (below). It looks complex, but the blog will hopefully explain it.
When architecting our game your need to consider what the components, described below. Some are apps (the clients), and the rest are cloud services.
The clients are the apps that game players download to their devices. Each app must be developed for the particular device, but they must all have behave the same. The game is the same, just the UI changes.
When building a game today you want it to be played on the most number of devices so, ideally it should be capable of being played on Windows Phone 7 and 8, Windows 8.0 and 8.1, iOS, Android, and Kindle.
To enable maximum platform support communication is enabled using REST APIs. The experience of playing the game should be smooth and seamless. A key factor is to ensure that the client app makes the minimal number of calls (after authentication).
When developing your client its key to ensure that each of the client has a thin hardware abstraction layer (HAL). the HAL must contains the code necessary to display and process the UI controls, along with the code that initiates contact with the Visitor Center and the code that interacts with a Game Room.
The first stop for a player is the Visitor Center. So think of the Visitor Center as the landing page for your game i,e. you’ll find the leaderboard results and a directory of the gamer IDs. You can also find a friend on the system through the leaderboard.
When the player starts the game, the client app authenticates the player with either Facebook or another authentication services (using a username and password). The client app then sends the Visitor Center the identity of the player (via a token). The Visitor center confirms the identity by contacting Facebook or other authentication services to verify the token (and thus the player). Once confirmed, the Visitor Center sends the client app a new URL that goes to the Game Room where the user will be playing.
Note that if the user does not sign I, you may want them to allow them to play as a Guest (guests may be simply unranked or wouldn't be issued persistent stats or friends).
The Game Room consists of 3 APIs that interact with the client.
1) Game: Sends the current puzzle to the client.
2) Post: Receives the user’s individual results from the client.
3) Results: Sends the leader scores and relative ranking of user to the client, along with the next puzzle.
You may want to geo locate each of your games rooms, best practice is to locate each Game Room on the continent with the greatest player base – so European languages are housed in European data centers, for example. The hard cases are English, Spanish, and Portuguese, which have broad, world-wide audiences. English is played from everywhere, but is most concentrated in the US, UK, India, and Australia. Spanish is split between Spain and Latin America. Portuguese is most heavily played from Brazil, but there are still plenty of players from Portugal and other parts of the world.
When a game ends, each client sends the player’s results to the Game Room. The Game Room has an Azure load balancer in front of it that distributes the results to one of its three web roles. Because the results are randomly scattered, they must be gathered into one central spot—the aggregator.
The inner working of the aggregator is an Azure Cache. Caches are used in computing because they take the pressure off a system by holding recently stored data in memory and letting many operations access the data. Because the data is in memory, it can be instantaneously returned to any operation. The cache operates instead of a database engine that would otherwise query for a particular result. Multiply the queries and the database quickly reaches its capacity to respond. Caches are tried and true time savers.
Here’s what happens between the GR and the aggregator.
After a game ends, each Game Room web role receives the individual client results. The web role then sends all of its accumulated results to the aggregator. Note that due to retries, there may be duplicate client results received by the Game Room and received by the aggregator. (Two people sharing the same Gamertag while simultaneously playing using different devices also causes duplicate client results to be received.) Then, the aggregator sends all of the Game Room web role results back to each Game Room web role, as shown in Panel 3 of the diagram above.
Each Game Room web role removes duplicates and sorts the results, and sends the top results and individual results with peer ranking back to the client. After the next round starts, each Game Room writes its buffer of unsorted results to blob storage. Each blob is named in the form <puzzle language id>-<game id>-<instance number>.txt, and consists of Comma Separated Values (CSV) data.
Leader Board Orchestrator (LBO)
The LBO does the heavy lifting for the app. It works in close partnership with the two database stores that conceptually flank it to create the “best of” lists (best of right now, best of the hour, best of the day, best of the week).
When the Game Room and the aggregator have finished the results reporting work, the LOB starts.
It first gets the results of the game from the newly written blob storage. It then processes the data to create in-memory tables that are inserted into an instance of Azure SQL Database. Once the data is inserted into the database, a large number of queries, in the form of stored procedures can be run against the data. To preserve the integrity of the data, stored procedures are the only way used to determine stats. The integrity of the data can also be checked during the process. The LBO can use more than one worker role to process the data. The results can also be compared. If any discrepancies arise, then the worker can be immediately stopped, and a new worker started to retry the processing.
There is another component, although it is more of an infrastructure piece. The “Headquarters” service is used to run tests against the various other parts of the game. For example, it runs the test-bot that makes sure the game rooms (in all languages) are working. It also checks the integrity of the database operations. If a worker role running an operation creates a result that is different from others, the worker is terminated and a new one started. The headquarters handles those administrative and quality assurance duties.
And finally, a server that is on-premises builds and deploys the whole system, every night. The build system is automated, and Azure REST APIs enable deployment. The function is key in protecting the integrity of the system by only allowing only the build scripts to perform the tasks. No one physically should have the permission rights to build and deploy manually.
Azure Blob Storage
How to use the Windows Azure Blob Storage Service in .NET
Azure Cloud Services
Windows Azure PowerShell
Azure table storage
What is a Storage Account?
Azure SQL Database
Visual Studio Online
Batching Techniques for SQL Database Applications in Windows Azure
If you have been looking for an opportunity to develop curricula, work books, assessments or simply a walkthrough of a XAML/C# or HTML5/JS application step by step this it! Full source code and instructions are provided in both html and docx formats.
Today, Microsoft announced Windows Azure Toolkits for Devices, consisting of assets for Windows Phone, iOS and a preview of tools for Android.
Using the toolkits, developers can use the cloud to accelerate the creation of applications on the major mobile platforms.
Today announcement and the release of the API is a key goal to allowing developers to quickly develop and build apps that work with unique devices across a dozen platforms.
The toolkits leverage the Microsoft Azure cloud resources to simplify the complexity of supporting multiple devices. As a common back-end, developers can use cloud services to share common requirements like device notifications, authentication, storage and even higher-level services like leaderboards.
Developers can maximize the performance of each mobile device by writing client code that exploits each platform. As more and more mobile applications rely on back-end services, the Microsoft Azure cloud can become increasingly useful and strategic for developers.
A huge opportunity of the Windows Azure Toolkits for Devices to create applications on the major mobile platforms, specifically:
• Windows Azure Toolkit for iPhone (v1.0). Developers can download the package and quickly get started writing iPhone apps on the Windows Azure platform without having to have intimate knowledge of Microsoft tools, such as Visual Studio. Compiled iPhone code libraries to interact with Windows Azure, a sample iOS application, documentation, and a “Cloud Ready” Windows Azure deployment package are included.
Links to access the free toolkits are below:
https://github.com/microsoft-dpe/watoolkitios-lib https://github.com/microsoft-dpe/watoolkitios-samples https://github.com/microsoft-dpe/watoolkitios-doc
• Windows Azure Toolkit for Windows Phone (v1.2). Originally released last month, new developer features available in the next two weeks include integration with the Windows Azure Access Control Service (e.g., a wizard, automatic setup, tooling and code), full support for Windows Azure Storage Queues and an updated user interface for the supporting Web application.
Links to access the free toolkits are below:
Windows Phone 7:
• Windows Azure Toolkit for Android (Prototype Preview). With the forthcoming release this summer, developers will be able to extend the functionality now available for iOS and Windows Phone to the Android platform with the Windows Azure Toolkit for Android.
To simplify the process of setting up services in Windows Azure, we are also releasing a “Cloud Ready” package for the toolkit. This package is designed to allow someone to quickly get started using Windows Azure without having to open and modify the services.
Screencasts are available for developers seeking additional information: Getting Started with the iOS Toolkit and Deploying the Cloud Ready Package for Devices. Windows Azure Technical Evangelist Wade Wegner’s blog contains a more detailed technical review of the iOS toolkit.
By providing toolkits for Windows Phone 7, iOS, and Android, we are making it faster and easier for developers to use Windows Azure to provide services across device platforms