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.

Opportunities for companies in China to run Azure in their own datacenters

In my job I get to see and experience a lot of technology and today I got to get my hands on one of the most exciting things I’ve seen in a while.  It was a proof of concept deployment of the Windows Azure Services for Windows Server which we did within the datacenter of one of China’s top enterprises.

image

I’ve known that Microsoft has been building this for quite some time but this was the first time I was able to really dig in deep to see how impressive it is.  In case you aren’t familiar with it, at the Microsoft’s Worldwide Partner Conference in July we released the first CTP of a set of Windows Azure Services which can be run on top of Windows Server and System Center.  It provides anyone with at least a couple of servers the ability to run a portal which looks just like the Windows Azure portal and provide Web Sites, VMs, SQL and MySQL just like Windows Azure. 

Going through the proof of concept this morning I was really impressed with how elegant the solution is.  It leverages the power of Virtual Machine Manager (VMM) within System Center 2012 for all of the infrastructure management and uses the VMM APIs for deploying Web Sites, VMs, etc.

Now, back to how this could be huge for Chinese companies. 

Currently there are no cloud service providers that have established themselves as the leaders in China.  The companies that are dominating cloud outside of China (Amazon, Microsoft & Google) don’t offer services from a China mainland datacenter.  Even if a company is willing to deploy their services in one of these company’s datacenters outside of China the complexity of the Chinese network topology make it impractical from a performance perspective to deploy services targeting end users in China.  Of course there are some workloads which are an exception to this but for many of the cloud’s most useful workloads like media and entertainment, backend services for mobile apps, etc. datacenters outside of China are not an option. 

Even if these cloud providers launches a public cloud service from a China mainland datacenter there will still be a lot of opportunity.  After all, there are over 1 billion mobile subscribers and apps like Tencent’s Weixin/WeChata with over 100 million users, you see the opportunity.  Cloud is also one of the three technology focus area’s in China’s 12th 5-year plan along with Internet of Things and 3 Network Convergence, which is attracting a lot of investment from the Chinese government and Chinese entrepreneurs.

There have been attempts by local players like Alibaba, Baidu and Shanda to provide a cloud service but none have really taken off for a number of reasons which is a topic for another blog post or over drinks.  There aren’t any dominant players in hosting like Rackspace or Media Temple in China.  Instead there a lot of smaller companies offering hosting or colo’d within telco datacenters of China Mobile, China Unicom and China Telecom.

All of this combined with many Chinese companies’ preference for keeping data and services within their own organizations’ control makes the timing of this release of these Windows Azure Services perfect. 

For large companies and government organizations that already have a large datacenter footprint/ownership they could deploy a world-class public cloud solution based on the Windows Azure Services.

For smaller companies they could quickly come up to speed on deployment and operation of these Windows Azure Services and specialize in implementing private cloud deployments within enterprises, government organizations, etc.

For ISVs they could build out a billing solution which is integrated with Chinese payment systems and local business practices.

These are exciting times and I’m glad to be a part of it!  If you want to discuss these opportunities more just let me know.

What is Beyond Yoda?

For the past 10 years, like many bloggers, I’ve blogged off and on with some periods that were really active and other times when I’ve focused on other parts of my life. The past two years have been all about understanding China. I’ve immersed myself in learning the language, meeting friends in my new home and getting to know the business and technology landscape. Although I feel like I’ve learned a lot over these past few years, I also know I’ve barely scratched the surface which is why I’m so excited for what the coming years will bring as I continue my China journey. In summary I can say that, I LOVE CHINA!

I love this old Beijing ride that sits outside my door
I love this classic Beijing ride that sits outside my door.

So… What’s the name "Beyond Yoda" all about? As I did some soul searching on where I want to focus the next chapter in my blogging journey a few topics just kept bubbling to the surface, Cloud Computing and Big Data. Those are areas that I’ve focused my career on and are also trends that I believe will just continue to become more important through this decade. But I wasn’t happy with just focusing on technology… I’m surrounded by a lot of brilliant people whether they are friends, family, colleagues at Microsoft, leaders of China’s top tech companies, developers launching the next startup or seasoned VCs. I love talking to these people about the future evolution of society and technology which leads me to "Beyond Yoda".

Yotta kind of sounds like Yoda.

The yottabyte is a unit of information or computer storage equal to one septillion bytes (one quadrillion gigabytes).

1024 bytes = 1,000,000,000,000,000,000,000,000 bytes  -Wikipedia

Now that’s Big Data!

But… What’s Beyond that?  Not just from a data perspective but from the perspective of life…  The evolution of society…  The evolution of technology…  My own evolving path.

Hence Beyond Yoda was born.

Here I will explore my thoughts around business focusing on China and other emerging markets, technology focusing on Cloud Computing, Big Data and Connected Apps, and adventure which is easy to find living in the heart of Beijing!

Please contact me anytime you have suggestions on how I could improve the site or if you’re interested in linking up over drinks to talk about the trends in technology and society.

Middle Kingdom Here I Come!

Back in March of 2008 I wrote a series of posts about doing business in China, high context communication and Guanxi.  These were inspired while I was attending an internal Microsoft event.  Earlier this year during a similar event, inspiration struck again and now I’m moving to Beijing!  I’ll continue to focus on driving adoption of Microsoft’s data platform, Cloud and Web technologies with a laser focus on the Chinese market.

imageI see this move as a pivotal next step in my personal development and understanding of culture, technology and emerging markets.  This type of opportunity is exactly why I came to Microsoft back in 2007.  When I go back and read my post, Todo Tiene Su Final, recounting my experiences going through IE’s Global MBA, I’m reminded of the inspiration I felt moving into that big transition in my life.

The past three years living in Seattle, working as a Technical Evangelist at Microsoft have been incredible.  Some of the highlights that stand out are:

I’m really going to miss the amazing Seattle summer, my friends and family, and being so close to Maui; but I’m ultra grateful for the opportunity Microsoft is providing.

imageI have so much to learn, not the least of which is Mandarin!  After doing some research I decided to use fluenz and I’m really impressed by it.  The passion and attention to detail the fluenz team has put into developing their products is immediately clear.  It should be an inspiration for all of us dedicated to delivering high-end user experiences.  My goal is to be conversationally proficient by end of this year.  Wish me luck 🙂

In addition to learning the language and diving deeply into the technology scene I’m planning to doing some bicycle touring and mountaineering which should be a great way to experience the country.  I’ve been getting really into photography lately and I’ll try to post more pictures here.

I find it really interesting how opportunities in life unfold.  For me it’s always been about throwing myself out there and being open to new experience and adventure.  If living in China is anything like my experience living in Spain, I’m sure it will be life defining.

If you are in China and want to connect, just let me know!