Category Archives: Windows Blog

Windows Blog

Candy Crush Soda Saga is here for Windows 10

Candy Crush Soda Saga is now available for Windows 10! You can download it for free from the Windows Store, and for a limited time get a great deal on a package of Gold Bars, boosters and two hours of unlimited lives – through October 5.

Candy Crush Soda Saga

Enjoy all the candies, game modes (check out Frosting and Honey modes!), juicy environments and mouth-watering graphics in this sugary, fun-filled puzzle adventure. Cross the sugar desert to get to Coconut Cream Mirage, and play all 510 sugar-shock-inducing levels. Download Candy Crush Soga Saga for Windows 10 today.

Adding polish to improve the look and feel of your app (10 by 10)

Designing an app isn’t about patterns or controls—it’s about creating a great experience for your users, every time. While you’re designing with the optimal user experience (UX) in mind, you also have to think about using color effectively, implementing usable controls, and understanding what should and shouldn’t be in the app. On top of that, of course, you need to make the app work on multiple devices with multiple sizes, whether it’s a phone, tablet, or desktop device.

Snap to the grid

The grid is where it all starts. It’s the foundation of app design, and it’s meant to guide each step of your design. The base 4-pixel grid serves a very important purpose: it helps you keep your design elements lined up, orienting the user to what’s visually important. You can find out more about the importance of grid in this MSDN article.

The grid also allows you to scale your design elements consistently across multiple display sizes. To avoid decimal numbers when your UI scales up or down, you should ensure that any guides in your grid layout are based on a number that’s divisible by four. To make your designs as crisp as possible, snap them to the grid. In the example below, you see what happens when your design elements map to a 4×4-pixel grid: the element or image will always have sharp and crisp edges.

By contrast, when you don’t snap to the grid, your design elements will have blurry and soft edges on some devices, like this:


Images and text to the grid

If your app uses horizontal alignment of icons with text, the best approach depends on the icon size and amount of text.

Where multiple or single lines of text fit within the height of the icon, we recommend the text be vertically centered. Once the height of the text extends beyond the height of the icon, the text within the height of the icon should then align vertically and additional text should flow naturally below. Here is an example of how that looks:

Aligning circles and typography

If you’re using circles with typography, you need to make sure the two align properly. The samples below show the best ways for both horizontal and vertical alignment:

Be bold with color

One of the easiest and most impactful ways you can differentiate your app is by choosing the right colors. The palette you decide on can be a huge factor in making your app attractive and user friendly.

Look at the striking use of bright yellow contrasted with black in the example below. The yellow very simply, yet effectively, highlights a selected area:

The following example shows an effective use of bold color, as well as good contrast between the primary hue and the background.

Color selection basics

Typically, you’ll start with a primary color in your app, and an accent color that you can use for things like Start, Taskbar, and hyperlinks in the common controls. Once you’ve selected an accent color, light and dark shades of the accent color are created based on HCL values of color luminosity. You can use shade variations (see below, assuming we’ve selected red) to create visual hierarchy and to provide an indication of interaction across your app.


In terms of color and contrast, typography should always be distinct from the background color. However, too much contrast can be hard to read on digital screens. As you can see in the below example, white and light background colors make the foreground color much easier on the eyes—and easier to distinguish.

Color contrast is especially important when designing for multiple devices and accessibility. A contrast ratio of at least 4.5∶1 is best, and a ratio of 7∶1 provides optimal legibility for content. The following tools and sites can help you check your color contrast:

Colour Contrast Analyzer is a helpful tool for checking contrast. Using this tool, you can sample the foreground and background color and use the results to define your color contrast ratio.

When color and contrast aren’t used properly, the results can be extremely hard to read. The examples below show some good uses of contrast, along with problematic ones (marked with diagonal lines).

Color themes

In general, a light theme works very well for productivity-centric apps. By using a light theme, you make it easier to read long blocks of text over a prolonged period of time.

A dark theme, meanwhile, provides a visible contrast for apps that are more media-centric, or in scenarios where users are presented with a lot of video or image-based content.

Taking our red accent color, these would be the light and dark themes options for our app:

And as you build out your UX, keep in mind that black, white, and grey generally go with everything. Even well-placed bold colors can work wonders against black, white, and grey, as you can see here on the Microsoft home page:
Here’s another example:

If you’re looking for inspiration, there are many free color palettes to choose from online, such as and, a community where people create and share their own palettes. Other excellent sites for swatches and schemes are Coolors and Palleton.

Simplify your user flow

Navigation elements help users get to the content they want, but they can also take up space that your app could otherwise use for content. That’s why it’s critical that you spend some time considering your app’s flow and use the navigation elements appropriate for your app’s structure. Below are three ways you can use navigation elements to improve your app’s overall user flow:

  1. Tabs and pivot You can use tabs and pivot when you want to display a persistent list of links to pages at the same level, such as in an app that app has between 2–5 pages, or where you expect a user to frequently switch between pages. One tab wouldn’t sense and more than 5 would make things crowded. A good example of tabs and pivots in action is a restaurant-finding app:
  2. Nav pane A nav pane displays a list of links to top-level pages. This is a good choice when you don’t expect users to frequently switch between pages, when you want to conserve space (at the expense of slowing down navigation since a user has to expand out the control), or when most of your app’s pages exist at the top level. This smart-home app uses a simple, attractive nav pane:
  3. Master/details Lastly, let’s quickly touch on an app UX primarily driven on a list, or master view, of item summaries. In this type of data-driven app scenario, a user selects an item and displays its corresponding data elements on an items page in the details section in the app. On a smaller screen, this items page would replace the master view, while a larger screen would display them side-by-side. It’s a good idea to use this element when you expect users to frequently switch between child items, or when you want to enable the user to perform high-level operations like deleting or sorting on individual items. This stock-tracking app shows how a master/details pattern creates a good, attractive user flow:

To learn more about effective use of these navigation elements (and many more!), visit the Windows UI navigation basics pages for an in-depth discussion of topic.

Making your design responsive

Since your app will likely need to flow across different devices and multiple sizes, you should always be thinking about adaptive/responsive design. We covered this in depth in a recent 10×10 blog, which is worth checking out.

To help make responsive design seamless, Windows 10 adds the VisualStateManager and a number of new controls. By taking advantage of these controls, and the Universal Windows Platform’s built-in features, building blocks, and responsive design techniques, you’ll be able to create a UI that looks great on any device.

For additional information, explore the Design basics section of the Windows Dev Center.

Wrapping up

Remember, many users will base their judgment of the overall usability and quality of your app primarily on the design – often formed in the first minute or two of use. No matter what stage of development you’re in, it’s always worth finding some time to polish your design, whether it’s through focusing more on snapping to the grid or sprucing up your color and animation. You can find some additional design guidelines, as well as Illustrator templates, at You might also check out Smashing Magazine, a great source for good visual design info.

With week 8 of our Windows 10 by 10 development series wrapped up, we hope you try the DVLUP Quiz challenge for design and earn XP and points. Next week, we’ll continue the theme of app tuning by looking at how to better secure your app.  For now, head on over to DVLUP or reach us on Twitter via @WindowsDev and #Win10x10 in the meantime, telling us your top design tricks for making your app great.

Some Great Ways to Use Web Note in Microsoft Edge

When we first started designing Microsoft Edge, we asked ourselves how people are using the web differently today than they did a decade ago. For one, there’s just so much more content online than ever before. Our research told us that people need tools to capture and organize all the content they encounter each day, and to go even further, to personalize and share that content with others.

Web Note is a new Microsoft Edge feature that starts to address this customer need. Web Note lets you take a snapshot of a web page and mark up the page with typed notes and digital ink. You can save Web Notes to your device or share them with others.

Here are a few ways Web Note can help you be more productive (and have more fun) on the web with Microsoft Edge. It all starts by clicking the Web Note button, right at the top of your browser.


  1. Annotate articles on the web

Web Note lets you jot down notes or highlight important sections of web pages, just like you might in a textbook. Just click the Web Note button and use the pen, highlighter, and typed notes tools to add your thoughts to the page. You don’t need a device with a touch screen or pen. Save your Web Note to your favorites, reading list, or OneNote notebook, or share it with others.


  • Share to different apps like Facebook and Twitter by installing them from the Windows Store.
  • Want a cleaner, simplified view of the web page to mark up? Try entering reading view by selecting the book icon in the address bar before making your Web Note.
  • Want to organize your typed notes on the page? Drag and drop typed notes to position them where you want.

Screenshots show Web Note on a PC without a touch screen.

  1. Archive receipts and confirmation pages

Are you still printing out the receipts from your online purchases? Why not try Web Note instead? Web Note takes a snapshot of the current web page, so you can go back to it even if the web page isn’t available later. Archive your online receipts, reservations, and confirmation pages and save them to your favorites, reading list, or OneNote notebook.

  • If you like archiving things using e-mail, use the share button to send the Web Note to yourself using the Mail app.
  • Stay organized by creating new OneNote notebooks and favorites folders.


  1. Doodle, clip, and share!

Web Note isn’t just about doing work or managing bills. We’re well aware that Web Note is great for less serious activities like filling in crosswords or turning kittens into ferocious monsters. After making your Web Note creation, select the clipping tool to choose a region to clip. Then share it or paste it somewhere else.


  • Choose different colors and pen sizes by clicking on the pen or highlighter again after selecting it.
  • The clipping tool automatically copies selected regions to the clipboard, so you can paste clippings anywhere, like in a Word document or PowerPoint presentation.
  • Always sign your name, in case you become famous.


Try it out now

If you’re already on Windows 10, check out this fun animal themed coloring book for an intro to Web Note features.  Head over to the  Web Note Coloring Book, click the Web Note button, and have some fun. Don’t forget to share your efforts with your friends.

That’s not all, folks

We’re excited for the world to take notes on the web with Microsoft Edge. We can’t wait to see how you use Web Note, in ways we’ve never dreamed.

Today you can jot down notes, save snapshots, and share doodles with your friends using Web Note. But we’re not done! This is just the beginning–we have tons of improvements planned for future versions of Microsoft Edge. And, most importantly, we’re listening to you.

Feel free to give us feedback in these ways…

Make Your Meetings More Personal with Cortana + LinkedIn

As a truly personal digital assistant, Cortana* is there to help people get things done, and like a real assistant, works with experts to help you accomplish a wide range of tasks. Today we’re excited to announce that Cortana is ready to make you even more connected and informed by working with LinkedIn, the world’s largest professional network.

If you are already using the Windows 10 Mail & Calendar apps, you’ll be used to getting Cortana’s meeting reminders. And now, those will get even more helpful with the addition of rich information about the people you are meeting with provided by LinkedIn and included in every meeting reminder. When you connect your LinkedIn account to Cortana, you’ll have access to information about people such as photo, job role and company, a link to their LinkedIn profile, and the ability to connect on LinkedIn directly from your Cortana meeting reminders.

LinkedIn integration with Cortana on Windows 10

Here’s how it works. First, connect your LinkedIn account to the Connected Accounts in Cortana’s Notebook.

LinkedIn integration with Cortana on Windows 10

The next time you get a reminder from Cortana about an upcoming meeting, you’ll be able to view available LinkedIn information about the people you are about to meet right from the meeting details.

LinkedIn integration with Cortana on Windows 10

This feature starts rolling out today, and we look forward to continuing to work with LinkedIn to bring more productive and personal experiences to you in the future.

*Cortana available in select markets.

Imagine the Future of Football and You Could Win $50,000 and a Trip to Super Bowl 50!

At Microsoft, we have a goal to empower every human being on the planet to achieve more. That simple philosophy shines through in everything we do, including our current partnership with the NFL.

Microsoft Imagine Bowl Image

Whether you’re a casual football fan or have a dozen Fantasy Football teams, you’ve probably seen some of the exciting new work being done this season with our partners at the NFL – from Surfaces on the Sidelines to Next Gen Stats on Xbox One and Windows 10. Together with the NFL, we’re making the game faster, smarter and more data-driven, and we believe it’s just the beginning of what’s possible when technology is introduced to the game in smart new ways.

As the NFL celebrates its 50th anniversary this year, Microsoft is proud to unveil today the first ever Imagine Bowl, which encourages fans to dream of the next 50 years of the sport. Three lucky finalists will be hopping on a plane to join us at Super Bowl 50 and one – the grand prize winner — will collect a cool $50,000.

So dream with us! Submit your creative pitch from October 1- December 1 with an essay of 3,000 words or less and/or a video that’s two minutes or less. Tell us how you would use technology to improve how we play, watch and experience the game. Submissions can focus on changing the game in one of three ways: on the field for players and coaches, in the stadium for fans or in the home for fans viewing experience.

Learn more and enter today at

Which selfie app is best for you?

So many looks, so many apps for Lumia!

Capturing an interesting selfie means more than pointing your Lumia camera at your face and snapping a photo. Many apps exist to spice up your personal style and highlight your mood, ambition level, and even sneakiness.

Check out these free selfie apps and see which one belongs on your Lumia Start screen.




  • Random filter: Can’t decide on a filter? Tap the random button and the B612 app will select one for you.
  • Vignette: Darkens the borders of a photo to put the spotlight on what’s really important–you!
  • Collage shot: Put multiple selfies into one photo–like the opening of “The Brady Bunch,” but each square contains a different photo of you.
  • Timer: Give yourself time to strike a pose in increments of two or five seconds.

Lumia Selfie

  • Timer: Delay taking that awesome shot of yourself by two, five, or 10 seconds.
  • Auto selfie: Use this feature to take great photos with your phone’s main camera. Your device will beep to help you get the camera in the right place and then automatically take your photo.
  • Auto enhancement: All photos you take are automatically enhanced.
  • Filters: Apply various special effects to your pictures.


  • Photobooth: Transform your Lumia into a photo booth and take between one and six photos at intervals of 1-20 seconds. You’ll be rewarded with a series of cool Polaroid-style photos.
  • Text: Add fun messages to your photos.
  • Photo editor: Make your photos extra-special with more than 30 different filters, 20+ textures, and 10 masks.
  • Cortana support – Open Cortana and say something like “4shots, take three pictures” to take a trio of selfies instantly.


  • Capture both sides: Take a photo of what’s in front of you and then add your selfie to the shot to complete the story. The upper half of the photo will be from your perspective, while the lower half shows you.
  • Filters: Select a few simple filters or auto-enhancements before posting your photo online.


  • Secret selfies: Want to take a secret snapshot of a friend? Pass them your phone and while they’re looking at your screen, SecretSelfie is busy secretly snapping selfies of them.

Voice Selfie

  • Voice activation: Just say “self!” or other favorite word and Voice Selfie will take a photo automatically.
  • Timer: Take a photo on a three-second delay.

As you can see, there’s more than one way to take a selfie. For more information on how to take a perfect selfie with your Lumia, go here.

SkyWest, Inc. chooses Surface and Windows 10 over iPad for 7,500 pilots

Surface 3 – the newest member of the Surface family – was released in May, and we are very excited to see that it is following in the footsteps of the very successful Surface Pro 3. Like its sibling, Surface 3 is opening up new opportunities across many industries.

ExpressJet Pilot Surface 3

Our business customers tell us they’re choosing Surface 3 because it is the thinnest, lightest tablet we’ve ever made – but also has all the functionality of a full PC with a kickstand, a click-in keyboard and running Windows 10.

Early customers including BASF, Emirates and Prada have already chosen Surface 3 and we’re excited about the interest we’ve seen from many others. Beyond commercial industries, Surface 3 has also been adopted in K-12 education including schools like the Sarasota County School District in the U.S. as well as Broadclyst Primary School and Wymondham Academy in the UK. And in higher education, institutions including the ROC of Amsterdam, the Ministry of Education Luxembourg and Hillcrest Christian College in Australia have selected Surface for their faculty and students.

Today we are excited to share two airlines have joined the Surface family. SkyWest, Inc. is currently deploying Surface 3 running Windows 10 Professional to 7,500 pilots at its ExpressJet Airlines and SkyWest Airlines subsidiaries. In addition, we have pre-qualified Surface 3 to simplify the process for airlines to seek Electronic Flight Bag (EFB) authorization from the FAA and EASA.

expressjet aircraft

SkyWest, Inc. to empower its pilots and reduce environmental impact with Surface 3 and Windows 10

Customers of all sizes have started to voice their support and plans to adopt Windows 10 in their businesses, including SkyWest, Inc. who is currently in early deployment of Windows 10 on Surface 3 across its airline fleet, starting first with 3,200 ExpressJet pilots flying today with the new technology.

SkyWest, Inc. is deploying Surface 3 to replace heavy paper-based flight kits containing navigational charts, and aircraft operating and reference manuals. SkyWest, Inc. committed to standardizing their Electronic Flight Bag (EFB) for ExpressJet and SkyWest pilots on Surface 3. At only 1.3lbs, Surface 3 can distill a heavy flight bag into a portable, powerful device while offering simplified management and security via Intune.

Jim Jensen, Vice President of Information Technology at SkyWest, Inc. shared, “Windows 10 on Surface 3 provides the security and management we need in a highly regulated environment. We made the decision early to use Windows 10 and deploy it immediately. Today, it is the most secure platform from Microsoft and we didn’t see a need to wait.”

Brad Sheehan, Vice President of Flight Operations, ExpressJet Airlines, added, “ExpressJet is proud to give our pilots the best technology available for our electronic flight bags, and we’re honored to be the first airline to deploy Windows 10 on Surface 3 for our 3,200 pilots.”

Capt. Brian Harris, ExpressJet Airlines, added, “The Surface 3 EFBs have been great for our pilot group. They’re easier to use than paper charts, provide up-to-date information and offer other tools that support our operation. I use it at home, too, which is a great perk and lets me get things done between flights.”

Businesses of all sizes can join SkyWest and take full advantage of Windows 10 features on Surface including protection against modern cyber threats, streamlined IT management and improved productivity with Continuum. We’re encouraging businesses to start evaluating, piloting and deploying Windows 10 today. IT administrators can test their business applications and start their deployment planning now. See the Windows for your Business blog for more details.

Surface 3 now pre-qualified for FAA authorization

Surface is committed to the commercial aviation industry and we are continuing efforts to make it easier for commercial airlines to adopt Surface tablets.  We’re happy to announce today that Surface 3 has been pre-qualified for airlines to seek authorization from both the Federal Aviation Administration (FAA) and European Aviation Safety Agency (EASA) for use as an EFB during all phases of flight. Through a rigorous evaluation process, Surface 3 has completed environmental and situational testing. Now, when airlines look to select the feature-rich Surface 3 for their EFB initiatives, deployment timelines will be significantly decreased, and the device itself may be used to its full computing potential, versus serving just as a simple document reader.

Surface now the tablet of choice for more airlines than ever before

In the past we’ve talked about how the aviation industry is embracing Surface.

Austrian Airlines was the first airline to adopt Surface Pro 3 for their Electronic Flight Bag (EFB) across their entire fleet and their over 1000 pilots, helping to save costs associated with paper charts and lighten the load on each aircraft by about 35 – 45 lbs per crew member, which also saves on fuel costs.

“When we designed the applications for use on Surface Pro 3, we really wanted to take advantage of the touch capabilities,” said Capt. Philipp Haller, Austrian Airlines head of Operational IT and EFB Administration. “This application design and touch capability will help to make our flights more efficient and more safe.”

There are many more examples. Brussels Airlines, Delta Air Lines, Emirates and Lufthansa are among the leaders in commercial aviation choosing Surface tablets. And not just in the cockpit for flight operations – Brussels Airlines has even started using Surface Pro 3 to create a differentiated guest lounge experience, allowing their guests to borrow a Surface tablet between flights to access critical travel information and provide entertainment offerings to their most valued passengers.

For those interested in learning more about the business value that Surface can bring to commercial airlines and their business modernization efforts, we have created a Surface Electronic Flight Bag (EFB) Solution white paper.

The warm reception Surface is receiving from our customers in the commercial aviation sector is exciting to see. Surface is increasingly becoming the device of choice for airlines to help give their pilots and passengers the best, most efficient and productive in-flight experience. We’re inspired to continue to work with our business customers across all sectors to open up new opportunities and find better ways to get things done with Surface.

For more information on Surface in business, visit


Cyril Belikoff Senior Director – Microsoft Surface

Asynchronous code gets easier with ES2016 Async Function support in Chakra and Microsoft Edge

While we work on rounding out our ES6/ES2015 support, the Chakra team is already looking ahead to ES2016 and, especially, to Async Functions. Today, we’re excited to announce the availability of Async Functions in Microsoft Edge as an experimental feature, available to preview starting in Microsoft Edge (EdgeHTML 13.10547).

ES7/ES2016 Async Functions

The async and await keywords, part of the Async Functions proposal, provide an easy way to write asynchronous code. It is one of the killer features of C# and is often requested by JavaScript developers.  Before Async Functions and Promises, a JavaScript developer had to carve out all the asynchronous code she needed into a separate function from the synchronous core and use callbacks to retrieve the result of the asynchronous computation. This code can quickly become hard to read and difficult to maintain.

ES6 Promises helped improve the way to write asynchronous code by standardizing and by including the feature directly in the web browser. But it did not totally solve the problem as we still need to use callbacks to retrieve the result.

Async Functions are based on Promises, but take them a step further. When you add an async keyword to a function or an arrow function it will automatically return a Promise. For example, the following code is a standard ES2015 program that performs an Http request with promises:

.gist table { margin-bottom: 0; }

If we rewrite the same code and get the same behavior with Async Functions, the result is smaller and more readable code. The code below also has a refactoring to change the way we manage the error in the function:

.gist table { margin-bottom: 0; }

The async keyword also works with ES6 arrow functions, simply by adding the keyword before the arguments. Following in an example of the same:

.gist table { margin-bottom: 0; }

To clarify:

  • Use the async keyword with any function declaration or arrow function to get asynchronous code with a Promise. This includes functions in classes and static function. For this last one, the async keyword should be placed after the static keyword and before the function’s name.
  • Use the await keyword to make execution wait for the end of an async expression (a call to an async function for example) and get the returned value of the Promise.
  • If you don’t use the await keyword, you will get a Promise.
    .gist table { margin-bottom: 0; }

  • You cannot use the await keyword outside an async function, including the global scope.

How is it implemented in Chakra?

In a previous post, we discussed the architecture of the Chakra engine in detail using the diagram below. The parts requiring the most modification to support Async Functions are highlighted in green.

Global behavior

Using the async keyword will generate a Promise constructor, according to the specifications, that wraps the function’s body. To perform this action, Chakra’s Bytecode Generator generates a call to a built-in function that describe the following behavior:

.gist table { margin-bottom: 0; }

The spawn function above is designed to manage all the async expressions in the function’s body and decide to stop or continue the process depending of the behavior inside the async function. If an async expression called with an await keyword fails, for example because of an error inside the async function or something being awaited, the promise will be rejected to make it possible to manage the error higher in the stack.

Now the engine needs to make the JS script call this spawn function to get the Promise and run the function’s body. To do this, when the parser detects an async keyword, the engine changes the AST (Abstract Syntax Tree), which represents the developer’s algorithm, to add a call to the Spawn function with the function’s body. Consequently, the httpGetJson function is converted like this by the parser:

.gist table { margin-bottom: 0; }

Note the use of Generators and the yield keyword to perform the await keyword’s behavior. Indeed, the implementation of the await keyword is extremely similar to the yield keyword.

Behavior with a default argument

One of the new feature from ES6 is the possibility to set a default value to an argument in a function. When default value is set, the Bytecode Generator will set the value at the top of the function’s body.

.gist table { margin-bottom: 0; }

In the case of an async keyword, if the default value sets to this argument throw an error, the specifications ask to reject a Promise. This allows the exception to be caught easily.

To realize it, the Chakra team had two choices: change the AST (Abstract Syntax Tree), or implement it directly in the Bytecode Generator. We chose to implement it directly in the Bytecode Generator by moving the argument’s initialization to the top of the function’s body directly in the Bytecode, because it is an easier and cleaner solution in this engine. Since a try/catch needs to be added to intercept any error from the argument’s default value, it’s easier to change the Bytecode directly when we detect an async keyword.

Finally, the generated Bytecode will be similar to what would be generated for the following JavaScript code:

.gist table { margin-bottom: 0; }

How to enable Async Functions in Microsoft Edge?

To enable and experiment with the current Async Functions support in Microsoft Edge, navigate to about:flags in Microsoft Edge and select the “Enable experimental JavaScript features” flag as below:

Screen capture showing the "Experimental JavaScript features" flag at about:flags

The “Experimental JavaScript features” flag at about:flags

Async Functions are available to preview via the Windows Insider Program starting in Microsoft Edge 13.10547.We can’t wait to hear about how you will be using the feature in your ES2016 code and look forward to sharing more soon about our next investments in Chakra. In the meantime, feel free to join the comment discussion, reach out on Twitter @MSEdgeDev, or on Connect.

Etienne Baudoux, Software Development Engineer Intern, Chakra Team
Brian Terlson, Senior Program Manager, Chakra Team

Windows 10 development for absolute beginners

The absolute beginners series is back for Windows 10.  It doesn’t matter if you’re a pro dev or just starting out, there’s valuable content for everyone.  If you’re looking for a faster pace content that dives deep, the Developer’s Guide to Windows 10 series may be for you.  The only thing that the absolute beginners series assumes is that participants understand the basic language fundamentals of C#; if you don’t have this covered, you should take a look at the C# Fundamental series first.

Your guide through the series, Bob Tabor from, walks you through how to create Windows 10 apps on the Universal Windows Platform (UWP) – meaning you’ll gain access to all the Windows 10 screens: PCs, phones, tablets, and even on a Raspberry Pi, HoloLens, and Xbox.  Bob will challenge you with exercises, help you build a reference sheet for future reference, and explain the techniques and concepts being used along the way in a simple, friendly manner.  The series source code for each video is at

The curriculum is laid out around in two major parts. The first part will teach you the skills to build basic apps.  The second part you’ll create of four separate full blown apps: soundboard, weather, an album cover matching game and a hero explorer app. We recommend those new to the platform start at the beginning.  But for those already familiar, here are direct links to the sections you are likely to find most helpful.

  1. Soundboard (Video 49) This first sample app plays funny sounds when the user taps a given tile.  The UWP Soundboard app will allow us to create an app allowing the user to filter the sounds by category, a search feature to find a sound quickly, databinding, working with the media element, drag and drop when using the app in desktop, and the process of submitting the app to the Windows Store.
  2. Weather (Video 57) This second sample app focuses on making calls to external web services to retrieve data from a third-party web service, deserializing the JSON returned from the call into an object graph of classes generated by an online tool, working with Location services, adding capabilities to apps, debugging location using the Phone Emulator’s map and location feature, and more.
  3. Album Cover Match Game (Video 63) This third example demonstrates how to access known folders like documents, images and music.  The application traverses a folder structure to find all .mp3 files, reads the meta data about each file including the album art, and randomly chooses files to play.  The example makes extensive use of ObservableCollection<T>, databinding and data templates.  This app demonstrates the use of a storyboard used to stop and start music and perform the count down, game logic and scoring, advanced use of the Progress Bar and more.
  4. Hero Explorer (Video 71) The final example allows the user to explore Marvel Comic’s universe of characters via their programmatic API.  The application makes calls by create an MD5 hash of a public and private key as well as a timestamp to authenticate the call.  The app will deserialize JSON data into an object graph of classes, shows how to overcome inevitable failed calls to web services through the use of exception handling, async, await and Task, and makes extensive use of ObservableCollection<T> to allow results to stream into view.  Finally, the example demonstrates how easy it is to include Cortana integration into your app.

We hope you enjoy the series and if you are looking for examples on how to do certain tasks, please reach out to us via the comments or @WindowsDev.

Welcome to Microsoft Devices Blog

The Conversations (aka Nokia/Lumia Conversations) and the Microsoft Surface blogs have moved into a new home and we’re now officially called the Microsoft Devices Blog!


If you’ve been a regular reader of our Conversations or Surface blogs, you might notice we’re now blogging from our new home on the Windows blog network. If you stumbled across our blog for the first time – welcome!

Earlier this year, we announced we would align our company structure to our strategy, bringing the Windows and Devices teams together to take the Windows ecosystem forward. Today, we do the same with our blogs, giving you a one-stop-shop for all things Windows and Microsoft devices.

The Microsoft Devices Blog brings together people and stories from our Surface and Lumia blogs. Going forward, this will be your go-to destination for the latest news and stories on all-things Microsoft Surface, Lumia, Band and HoloLens, and inspiring stories about the latest technology, innovations and people shaping the mobile industry.

To see the latest news about Windows, head over to our Windows Experience Blog. To keep up to date with all the action across all our Windows blogs, go to or follow us on Twitter.

To continue the conversation, talk with us on Twitter at @Surface, @Lumia, @MicrosoftBand, @HoloLens and @LumiaVoices.

And stay tuned for some exciting news! #Windows10devices #Oct6