My Windows 8 App Dev Week – Keeping the Source Safe

Apps are all about the code behind them…  Every line of code written is like another stroke of an artist’s brush.  Well thought out and designed code is like art and once you lay it down you don’t want to lose it.  That’s why I never write a single line of code without being connected to some sort of source control system.  I used to be a Build Engineer and my dad is a Configuration Management (CM) guru so I guess you could say it’s just in my blood.

This article is from a short series “My Windows 8 App Dev Week” so you may want to checkout the others as well.

TFS in the Cloud

Good CM and dev practices are about more than just source control and build process.  It’s about integrated planning, development, test, etc.  Having great infrastructure to support development, even in very small teams, is critical to DevOps.  The more developers can just focus on building and designing systems the more amazing their creations can become.

One of the main promises of cloud is that an organization can focus on it’s core competencies instead of investing in the acquisition and maintenance of infrastructure.  DevOps is no different which is why we’re building a cloud version of Team Foundation Server called Team Foundation Service.

image

This is built on top of Windows Azure and is integrated deeply with Visual Studio.  You can also use Team Foundation Service with Eclipse and your programming language of choice.

Setting it Up

First thing to do is to sign up for a trial account.  I did this months ago so I don’t have any detailed screenshots I can share right now.

Once have an account setup you need to create a new project.

image

Within seconds you will have a full blown enterprise-class Application Lifecycle Management (ALM) system up and running which is AWESOME!

image

Once you’re setup, as long as you already Visual Studio installed, the easiest way to get connected is launching Visual Studio right from the Team Foundation Service portal.

image

From there just make sure login with the same Microsoft Account that you used to setup Team Foundation Service.

image

That will automatically connect Team Explorer within Visual Studio up to Team Foundation Service.  From there just launch the Source Control Explorer.

image

Now map a local path on your machine where you want to store your source code on your machine.

image

Now you’re good to go!  You can use Source Control Explorer to manage code check ins and outs or you can bind your solution to Team Foundation Service and Visual Studio will prompt you.

Now Go Write Some Damn Code!

So…  I guess I am a bit of CM geek.  I never even do tutorials or write sample code without being connected to some sort of source control system.  Now I can work from any of my machines and be confident that if my hard drive dies, I drop my laptop or spill carrot juice on the keyboard (all of which I’ve done in the past few months) my precious art (code) will be safe.

In this article I’ve only scratched the surface of the power of Team Foundation Service.  I’ve used it on a couple of projects using Scrum over the past 9 months and it did exactly what it should which is just get out of the way of the development team being productive and help the team move fast and build great products.

My Windows 8 App Dev Week – The Idea

One of the core things the division I work for at Microsoft does is help developers build apps for Windows 8.  It’s a dirty little secret but I’ve never actually been a .NET developer…  Shhhh, don’t tell anyone.  As a developer I’ve always written code for web applications mostly using PHP, Java and ColdFusion for the backend services and I’ve been building standards-based interfaces with HTML, JavaScript and CSS since the 90’s.  Now that Windows supports the ability to write Windows 8 apps using JavaScript, CSS and HTML I feel like the world of Windows development is finally opened up to me!

This article is from a short series “My Windows 8 App Dev Week” so you may want to checkout the others as well.

My Surface

Last Thursday night at midnight I was one of the first people in the world to buy a Surface RT device and I LOVE IT!!!

image

After having used my Surface non-stop over the weekend there’s no doubt in my mind that Windows 8 will be a total hit.  There are some things that need to be improved (which I’m confident we will do) but all-in-all it is an amazing device and an amazing OS.  So, I’m convinced…  Now it’s time to build an app and publish it to the Windows Store.

My App Idea

A lot of great startups and inventions are created because the founder was trying to create a solution for something in their own life.  For me, leading a team of Technical Evangelists in China creates some interesting challenges.  At the core of those challenges is communication.  There are lots of facets of communication but the most obvious for me is language.  I continue working hard at learning Chinese and can communicate verbally fairly well.  Most of the meetings in Microsoft China are in Chinese and I can usually follow most of the conversation and sometimes respond in Chinese.  My Chinese character reading and writing though has a VERY LONG way to go.  Now here’s the problem…

One of the important things that my team does is blogging.  This year, in particular, our whole division has really stepped up the amount of blogging we are doing which has been fun and is showing results.  Since the Technical Evangelists on my team all blog in Chinese it’s pretty difficult for me to follow.  The best solution currently for me is to use Bing Translator or Chrome with Google Translator (which is integrated better that Bing Translator and IE in my opinion).

image

What I want to build is an app that’s basically a blog reader/content aggregator but also has integrated translation through the Bing Translator API.  Instead of it being a generic content aggregator I want it to be specific for my team…  Something like “The Pulse of Microsoft China Cloud Evangelism”.

Live to Code Hackathon

Not only am I picking this week to build this app because I’m stoked about Windows 8 and my new Surface, but this weekend is set to be one of the biggest (maybe the biggest) hackathons in the world!  These 36 hour code fueled events will be taking place in 6 cities across China starting at 9:00am on Saturday and wrapping up 9:00pm Sunday evening.  There are a lot of developers who are hoping to get their apps submitted to the Windows Store over the course of that weekend and I’m one of them!

image

This hackathon is part of our Live to Code campaign which we launched last May when Steve Ballmer was in China.  Live to Code is all about loving to be a developer and being proud of it.

Jarod “Baozi” Bao was the main speaker at the event.  He’s not your traditional Microsoft keynote speaker…  He’s a young guy who writes and tests code at Microsoft.  He’s a geek, he’s a developer and he loves it.

image 

We then went on to talk about how being a developer is like being an artist.  You start with a blank canvas, which for developers is their favorite IDE whether it’s vi, Visual Studio, Notepad; pick your poison.  You work with your friends cranking code, plugging in, forgetting to eat or sleep.

The problem is that too many developers aspire to go into management and be some fat guy in a suit.

image

And as developers, we are mad…  We want a change.

We love to code.

We live to code!

image

Jarod did a great job bringing tons of energy to the event.  It wasn’t your typical Microsoft keynote…  At the unveiling of the Live to Code logo the who audience was on their feet cheering with the DJ’s rocking out music, Jarod and a bunch of students on stage dancing and getting the crowd fired up.

image

image

image

image

It was representation of a new face of Microsoft which I was proud to be a part of.

Now What?

I’ve got Visual Studio 2012 on my machine, a Windows Store Developer License and plenty of Shangrila Farms coffee at my house.  I may blog about some things on and off this week but I may also need to just put my head down and focus.

I think I will start by getting a “Beyond Yoda” blog reader app out to warm up on Windows 8 development.  Hopefully I can enroll some talent at the hackathon this weekend to help with some of the heavier lifting and if I’m lucky I’ll be able to convince a designer to help make it pretty.

If you have any ideas or want to help writing the app just let me know 🙂

Wish me luck!

If you’re interested in following my Windows 8 app dev journey checkout Keeping the Source Safe.