Download this episode

Download Video

Download captions

Download Captions


In this lesson Bob kicks off the series talking about the organization, required setup and goals of the lessons, and provides some motivation and guidance for getting started.


Download Visual Studio 2012 Express for Windows 8


Windows Development Center


Channel 9's HTML5 & CSS3 Fundamentals: Development for Absolute Beginners


Channel 9's Javascript Fundamentals: Development for Absolute Beginners


Get a Developer License


Windows 8 Camp in a Box


Series' Source Code

Download the entire series' source code




Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • Alex219267

      Awesome!!!  Thank you Channel 9!!! Thank you Bob!!

    • Ytterbium

      Can I create an app just for myself?

      I have a lot of Gadgets that I created, this is depreciated in Win8, so I should port them to Apps.

    • Rafaya

      My favorite is set Channel 9 Content for Beginners

      It's a great tutorial

      But it ends up being attractive

    • Rafaya

      Mr. Jaime is the new man behind the scenes

    • BobTabor

      @Alex219267: Good to hear from you again, Alex!  Smiley

      @Ytterbium: Yes, you can.  You simply don't go through the process of submitting to the Windows Store.  You'll need a developer license on each machine that you want to distribute the app to.  

      @Rafaya: Thanks ... Jaime is "the man" when it comes to creating Windows Store apps in JavaScript & WinJS.  Look up his talks at Build here on Channel 9.  He had a lot of valuable input (and corrected my misunderstandings a number of times.)

    • jVang

      will there ever be a c++ equivalent to this series...

    • BobTabor

      @jVang: There may be someday, but it won't involve me.  I'm simply not a C++ guy.  The first step would be to get the Hands On Lab created into C++ (and/or VB ... some have requested that as well).  You will want to use the "Feedback" link in the footer to request that.  Microsoft is very responsive in my experience and will definitely commit the resources to it if enough people ask.  Best wishes!

    • V Rambo

      @BobTabor Hi bob (bob the builder) i am sorry to post this here because its out of this topic.
      bob u have made many videos and helped a lot to absolute beginners like me to growup!i have learned a lot about WP7 development and win8 development from you,bob my main point here is "make videos to game development for WP7/8 or win8 please!" make videos for absolute beginner developers to learn game making for win8 or wp8...or please tell me from where i can get that knowledge.

    • BobTabor

      @V Rambo: thanks for the nice words ... what types of games did you have in mind?  Could you describe a game style that you want to create?  Perhaps I could point you in the right direction.

    • V Rambo

      like hangman ,angry birds or a very simple game which use touch input >like a copter moving constantly which goes down with gravity and u have to touch on screen to lift it up and go forward passing from walls or some mountains ?/ or any game other game which people will find it awesome! please give your reply to this email :

    • BobTabor

      @V Rambo: If I knew how to create any of those games, I would already be a millionaire and we wouldn't be having this conversation.  Smiley  Seriously, though, you should check out the articles and projects on Channel9's Coding4Fun and perhaps other gaming specific videos here.

    • Minowar

      Hi, Bob, I have followed all your courses for HTML5 and JavaScript for absolute beginner. I want to take this course, but first I want to know what the proper level of HTML and JS I should have before I take this. Because it seems difficult Big Smile

      And could we use it to develop apps  for Windows phone 8? Or at least reuse some code when we port the apps to Windows phone 8?

      Sorry for my bad English


    • BobTabor

      @Minowar: I'm not going to lie to you ... if you are indeed an absolute beginner, this will be a trial by fire.  Ideally, we would have created a simpler introduction in retrospect.  **HOWEVER** if you watch these videos AND follow the text of the Hands On Lab (HOL) AND follow along on your own AND ask questions in these comments, I think you (or anyone) can do it.  Take the time to really think and try to understand what each line of code is doing.  If you don't understanding it, don't blow past it ... use a search engine and search for the keywords expressed in code or in the HOL text.  There's no benefit in getting to the end of the lessons and not understanding what you did.  Examine everything, ask the hard questions of yourself and of me to make sure you really grasp what is happening.  Good luck my friend!

    • Jackson

      Firstly, I must say thank you for your video that teach me a lot! I am new to HTML/CSS development and I want to convert my existing app written in Powerbuilder (and backend: MS SQL Server) to Window Store and Window Phone app.

      Do you have a video to show me how I can connect/run a select/execute a stored procedure and get the resultset from the server using Javascript, or how to combine ASP.NET with javascript if it is easier to do that in ASP.NET?

    • BobTabor

      @Jackson: I know this isn't what you're asking, but this is how you *should* architect an app that has some centralized backend database requirement:

      It's fast, powerful and fun.  Good luck!

    • Jackson

      Thanks for your prompt reply, Bob.
      I aware of Azure but I already have my MS SQL database setup and hosted (more cheaper than Azure). Do you know where can I find some practical samples to access data MSSQL not in the Azure.

    • BobTabor

      @Jackson: Ok, then if you're set against Azure, here's another approach.  On the backend, you create a web services layer using the (relatively new) ASP.NET MVC Web API.  That web services layer will sit "on top" of your Application Services (aka your Application Facade) layer which in turn sits on top of your domain layer.  For more information about layers, I have a series on my website titled "Application Architecture Fundamentals".

      Here's an example that uses the Web API + Windows Store App approach ...

      Is that more along the lines of what you're looking for?

    • Jackson

      Yes, this is. Thanks.
      Is this the approach used by mainstream? I thought Azure is relatively new service from Mircosoft so prior the release of Azure, this is how most developer used to connect to the SQL Server at the backend?

    • BobTabor

      @Jackson: Playing devil's advocate ... you distribute your App on the Windows Store, it gets rave reviews and thousands of people begin to rely on it daily.  You've got a problem, however ... you've hard coded the URL of your SQL Server machine into the app.  Now, users are reporting strange errors about not being able to get a connection, or timing out.  You realize that your server is not powerful enough to handle all these connections.  Now what?  You can't change the IP address of the server -- it's hard coded into the app!

      Furthermore, reviewing your logs, you notice the high number of entries of failed logins coming from a single IP address.  You think nothing about it until you wake up one morning and you get a hundred emails asking why the app doesn't work at all.  You try to log into the box and your password no longer works.  Someone else has clearly taken control of your SQL Server box.  I hope you have backups!

      Those are two reason why you need a layer of abstraction (i.e., the web services layer).  Inserting a web services layer allows you to hide your persistence technology behind a set of well defined methods callable from around the world, which benefits you:

      (1) Scalability ... you can now scale out your SQL Server to a cluster to handle the load or provide redundancy.  Clients will hit a well known address ( to perform one of several limited operations in the system and will receive back just the data they need.  The web services layer can be scaled out to handle the load as well using cheap round-robin routing, or even the cloud.  

      (2) Security ... do you really want to publish the IP address to your most important asset -- the data?  Hackers will sniff the connection attempts by your app and attempt to crack your password.

      I would highly recommend you take a look at the free book from Microsoft, "Microsoft Application Architecture Guide".

      (You can buy it in book format on Amazon)

      It talks about considerations for layered architecture, the purpose of a web services layer (it really does justify its existence in native client apps that require a remote, centralized data store like the one your want to build).

      (OR ... just a plug here ... you can take my 4+ hour Application Architecture Fundamentals course on that lays out the proper approaches to architecting an app.)

      In the .NET world, you have several technology choices that map to a "web services" layer.  At the top end of flexibility (and complexity) is WCF.  At the bottom end is OData which lacks security and control.  A good middle ground is ASP.NET MVC Web API.  At least, in my humble opinion.

      re: your specific points ... Azure has been around longer than Windows Store Apps.  But prior to both technologies, if you wanted to build a client / server system, you would still never want to connect your native client app directly to SQL Server.  You're asking for trouble.  You need a Web Services layer.  The Microsoft Application Architecture Guide pre-dates Azure and Windows Store Apps and will explain some of these concepts ... again, I can't recommend that enough if you're not familiar with these ideas already.  Please feel free to ask more questions ... I love to talk about it.  Smiley

    • Joe C

      I am lost, if this what you have to do to create an app in Windows 8. Microsoft has more problems then people unhappy with windows 8. Bobs First JS series were great this is not close to beginner level. All I could say is Microsoft needs to look at Android and Apples platform and START OVER. I have been speaking to .NET developers that have given up. This is Crazy to think developers will sit here trying figure out this API mess. I thought Win 8 had a chance I no longer do after working with this API.

      This simple Example (I could write in a few days in HTML 5 and JS script). I have NOT A CLUE of what is going on, and can not even see a speed advantage of what they are doing. Bob is a good teacher this might not be teachable. Almost every Microsoft reference web page is incorrect. Bob your other videos were the best I have ever used, I think you are a great teacher. I just can not see a company paying for people to learn this just to have it change in two years. DNA,COM,Silverlight, now JS, crazy

    • BobTabor

      @Joe C: Hi Joe, I saw this and your other comment (I'll respond to it later today).  Obviously, I'm not answering "officially" on behalf of Microsoft.  I'm just going to share with you my thoughts and perhaps that will give you a slightly different perspective.

      First, I totally get the exasperation at the knowledge churn over the past 7 years or so.  Since 2005, the number of technologies seem to have exploded.  I think part of that is the perfect storm of web maturing and mobile emerging.  The fact is, you have to filter the signal from the noise.  You can't "learn it all".  You can't.  Not enough hours in the day.  There are a lot of technologies that I take a "wait and see" approach to ... sometimes I get it right (the technology dies on the vine) and sometimes I get it wrong (I thought WPF would die.  Ooops.  I was partially right -- I never thought we'd see the "dev-igner" role emerge because it's too specialized, but I didn't realize people would treat WPF as simply the new WinForms.)  But that's the only way to maintain my sanity -- is to decide what the right technology stack is for me to invest in.

      I think of my time now as an investment.  I'm investing hours learning and working with a technology in hopes of future returns.  I have an investor's mindset ... I buy things that have a long term upside and I lease things that will depreciate over time.  No, seriously ... I really do think this way.  When I use the term "buy" I mean I spend my currency (time) learning something, creating a mental model, reading every book I can find on it, etc.  When I use the term "lease", that means I borrow the knowledge I need "in real time".  I search for snippets from blog posts or forums that will do what I need for a given project and then I move on.  I learn just enough to get my job done and move on.

      Right now I see JavaScript as a core investment strategy for me.  I see it popping up all over the place (like on the server via node.js ... and I wouldn't be surprised if we saw other JavaScript-based server-side frameworks in the future), and I think the number of people with JavaScript expertise is relatively small.  I have absolutely no insider knowledge here, but I wouldn't be surprised to see it included more and more in new server-side and desktop-based frameworks from Microsoft in the near future.  Again, I have no real knowledge.  What I do know is this -- JavaScript has a lot of momentum right now.

      And it's because JavaScript has momentum that Microsoft wanted to introduce it as one of the languages / platforms to be leveraged in Windows Store app development.  There's a world of HTML5 / CSS3/ JavaScript developers out there with the skills to build apps.  Windows Store needs apps.  So that's why they opened it up to (traditionally) front-end web developers.

      Here's the key for you @Joe C: ... if you're already a .NET guy, a C# guy, a WPF guy ... then use the C# version of this video series / Hands On Lab ... and moreover ... use that stack to create Windows Store apps.  I think Microsoft's intent was NOT to force you to learn something new and foreign, but rather to LEVERAGE WHAT YOU ALREADY KNOW.

      Secondly, I don't imagine that many larger companies would invest in this just yet.  For the most part, we're talking about Windows Store apps, not enterprise development for internal / private use.  If larger organizations did want to make an investment in it, I would imagine it would be for marketing / engagement with potential customers, NOT for in-house development purposes.  At least, not just yet.  Just my 2 cents.

      Ok, now specifically about this series ... I'll take the blame for that.  In my mind, I thought it would be a good idea to use the Contoso Cookbook as a starting point for a "was just an absolute beginner a week ago" series meaning that you've already finished the JavaScript series, the HTML5 series, etc. and now are ready to move on to tackle Windows Store dev.  In retrospect, there were a handful of concepts that I needed to add to bridge the "JavaScript for absolute beginners series" to the "Windows Store app for absolute beginners series".  I made a strong case to Channel 9 why I thought it would be preferable to do this and I thought I could pull it off.  Once I got into the middle of the details, once I had already made the commitments, I realized it was going to require more than I originally thought.  But at that point, I was moving forward.

      To right the wrong, we're working on a new series that will take our time and go through things a little more slowly.  We're very much at the beginning of this, so I don't have many details.  Should be ready before the summer.

      Ok, finally ... in the past I've ignored technologies (like WPF for example) and then I paid the price for it ... new frameworks and patterns (Prism comes to mind) sprung up and I was like "Oh no ... I'm playing catch up now."  This has happened a few times during my 17 year career.  Now, I try to keep tabs on *everything*.  Note: I don't LEARN everything, I merely keep tabs on it.  I figure out where it fits / what technology stack it belongs to, and whether it's mature enough to warrant my personal attention.  If I deem it something I should be following, then I have a personal information system (mostly a combination of Evernote, "If this then that" ( for sending me blog articles via email.  Here are my shared If this then that recipes ... a list of about 50+ .NET related blogs that I subscribe to ... you can copy these and start getting these updates too:

      I guess what I'm saying is this ... while it is frustrating to constantly churn knowledge (I happen to know several people at Microsoft struggle with this too ... it's just what people in our industry do) I keep an eye on stuff like this and hedge my bets with a small investment upfront.  After my initial small investment, I commit a few minutes to reviewing new blog posts from the product team / influential developers in the weeks and months that follow.  I do this because you never know when some piece of this will be leveraged into something larger and more significant.

      Hope that helps a little?

    • Rachit Goswamy

      hello Bob !
      thank you for this series . i'm just beginning with it but i can already tell that i'm gonna enjoy it .
      you've mentioned already that its advisable to visit the html5 and css3 and javascript tutorials before moving on with this one .
      i have very basic knowledge of all 3 of them (as part of my academics) like some basic tags, and designing and how to use scripts and validation. i'm short on time and these are big series .
      if i still continue with this and on my way try to grab up concepts i'm not familiar with , is that worth a try ?

    • BobTabor

      @Rachit Goswamy: Sure, it's worth a try.  The biggest challenge is not necessarily the HTML5 / CSS3/ JavaScript itself, it's the development model and the WinRT API.  Good luck!

    • sunil kumar mano

      I was waiting for these tutorials for a long time. I came across the portal suddenly and I was happy to see this series. I was very much impressed by the windows 7 phone tutorials by Bob. Thanks for this series also. Cheers!!

    • BobTabor

      @sunil kumar mano: Thanks!  Hope this one lives up to expectations!

    • David Nealey

      Thanks Bob for a fantastic video series on Win8 development.

      Before Saturday I had not touched HTML or JS except to get out of their way. (I have been using Access for about 12 years, which helped a lot.) I had no problem following your presentation and understanding most of your instructions and this comes from a diehard "I am not a coder." I only crashed the Cookbook app a couple times because I either left out a character or typed a space by mistake. In just a couple days, I have become pretty comfortable with VS2012, HTML and JS.

      Perhaps you told us but I would really like to download a Word file with all of the code so that the next time I watch the videos I can simply copy and paste the code like you did.

      After the Cookbook, what would the next best training app for a newbie? I would like something without a .txt file this time.

      Thanks again. You are the man!

    • BobTabor

      @David Nealey: Thanks for the nice post!  (And timely ... I needed a pick-me-up.)  Honestly, I don't have anything to recommend to you as far as a next course.  I'm sure they're out there ... just nothing pops to my mind.  Perhaps someone else in this thread could recommend something?  Do you want to learn how to work with a data store like Azure as the back end?  I know some have used client-side databases, even HTML5's local storage feature.  Or are you looking for media-type examples that usually don't have "data" per se?

      re: Code in Word ... agreed ... I don't have that today, however in future series I'm definitely taking steps to include more textual resources for easy review, translation, copy & pasting, etc.

    • madushan92


    • Pappu

      Do have any subs or closed caption for this I have difficulty in hearing

    • BobTabor

      @madushan92: Thanks!

      @Pappu: I think Channel9 is working on that right now, as a matter of fact.  Please check back.

    • Harshit patel

      Sir you are doing an amazing job.You are helping the young programmer Like me I am 14 year old and Following your videos ,I know many programming languages like c,c++,java,javascript,css3,html5,xhtml,jquery etc. One again thank you sir from your great tutorials

    • WSims

      Thanks Bob and Chan.9 you guys Rock......Hello from Tyler tx Bob even if you were wearing the wrong jersey

    • BobTabor

      @WSims:  Haha!  No, I think history will show that I wore the correct jersey.  Big Smile

    • WSims

      LOL, Hey I am an old dog learning new tricks, I actually drive a truck for a living and am trying to learn on the road, This presents a problem in that 1. my hours are unpredictable, 2. I have limited finances, and 3. No real mentor or resource to ask consistent help. I am the type of person that learns from examples and trial n error (More error) I opened an account with and have been using a Tree-house learning account to learn JavaScript, I have created a couple of mobile apps not real complicated but still proud of them. Yesterday I purchased my first windows 8 laptop, I have Microsoft Visual studio 10 Pro from dream-spark on my old one but found that platform programming without any learning structure was almost imposable. Now comes Windows 8 with Java Script, HTML, and Css all but CSS I have worked with to some degree.
      Since Java Script is such a "loose" language and Windows view on it in the past so tight, can it truly be used to access all the functions and objects on the platform? I mean even Office throws a fit if you have a script stored with a spreadsheet. How does the new windows os secure and isolate the script to insure it will not harm the system? New to both languages C# and JavaScript which would you suggest C# or JavaScript?
      Some say Java Script teaches bad habits that really mess a person up trying to learn C what your take?

    • Clint

      @WSims: JavaScript is a dynamic language.  That gives it some amazing power.  C# even added in a dynamic data type.  There was great work done in Windows to support WinJS for building out.

      Some people like programming in HTML5 / JavaScript, some people like doing c#, some people like VB, some people like C++.  My advice is pick what YOU like to develop in.  Smiley

    • WSims

      Thanks Clint, Bob I swear I hadn't watched the third episode when I asked,... Like you I learn by looking behind the scenes.

    • WSims

      Not sure what I am doing wrong, But on part 4 I cant seem to get the text to change using Java Script, I checked double checked and checked again even clearing the Script out and redoing it, I am not getting any errors that I can see but no text change

      this thing keeps flagging me as spam if I insert any code.... Makes a lot of since Coding 4 Fun ask a question with code in it and it rejects it?????


    • Clint

      @WSims: i'll ping the c9 dev team on the inserting JS code.  Assuming you were doing the inserting code block.

      Does our sample work for you on part 4?  (let me see if I can't get the comments reopened for that)

    • WSims

      (function () {
          WinJS.Namespace.define("Example", {
              id: function (id) {
                  return document.getElementById(id);
          var app = WinJS.Application;
          app.onactivated = function (e) {
              var myDiv ="myDiv");
              myDiv.textContent = "Hello World";

      The only thing that was changed on the Default HTML was adding the div line in the body

      I am Using * to act as <>

      *div id=myDiv*Some Content I want to change*/div*

    • WSims

      Welll not sure what I did wrong but went back through the lesson restarting from scratch worked this time..... Loose Language my butt, !!! LOL

      Thanks Clint for your help, Hope you folks don't mind but will be calling here more I am sure?

    • WSims

      This is going to sound like a stupid Question but its something that I haven't really found a good answer for,

      How do you know what form of curly bracket closer to use?

      I mean what are the rules on grammar for the lack of  better word in ending your block and so on?

      For example the code I listed above,

      line two and three end with {

      four ends with ;

      then },


      It seems like one of those I before e rules in English ???





    • BobTabor

      @WSims: hi, I discuss the basics of JavaScript in the Channel9 JavaScript and jQuery for Absolute Beginners ... also free on this very website.  I highly recommend that you watch that series first.  I explain the syntax and the purpose for those operators there.  Good luck!

    • Clint

      @WSims: think I understand your question. 

      IMO, end your curly brace on the same "tab level" as it was opened.

      if(x > foo)
          while(i < 5)

    • Clint

      @WSims: if you have questions, try to keep them tied to the video at hand.  If the comments are closed, shoot us an email and we'll reopen them for you.


      I go through few videos in this edition. You are just awesome.

      My question is Mange gestures in WinJS.
      Sorry to say I didn't see any where. How to get gesture events in HTML/Javascript. wiating for your valuable reply. It would be great helpful if you provide any link source

    • Clint

      @GDEVENDRAK:  Not 100% what style gestures you're looking for but this link over at MSDN has a ton.


      @Clint: Thanks you for your reply..
      I looking for Swipe gesture from tag Iframe in Winjs. 

    • computer​Science​Student

      I have Windows 8.1 and Visual Studio 2013. Will this tutorial still work?

    • kumarabhina​v04

      Hi Bob,

      I have one doubt that can I use both HTML and C# ? I want to use HTML instead XAML and also C# to calling the web service. Can i do that ?




    • BobTabor

      @kumarabhinav04: Hmm... I don't think so.

    • gerdi

      You Sir are an amazing teacher. Thank you.

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.