I felt this years keynotes told a cohesive story better than any Microsoft conference I’ve been to. After months of hearing about 3 Screens and a Cloud we saw a fulfillment on that promise. Demo after demo the same tools (VS2010/Blend4) and the same framework (Silverlight) were used to create applications that ran in the browser, on the desktop and on a Windows Phone.
Not limiting itself to applications we also saw XNA code generate a game that ran on Windows, XBOX 360 and Windows Phone. With achievements being unlocked unto the same XBOX Live account on the Phone and XBOX. I couldn’t have been more proud to see Major Nelson up there on stage showing off the games. That spoke volumes for what has happened to Microsoft in the past 18 months. The Silverlight, XBOX, and Mobile teams had been separate in the past (both physically and from a roadmap perspective). Yet – here they were. Coming together as one Microsoft able to deliver an entirely new platform. A platform that people are truly excited about.
The message also resonated across attendees – it really feels exciting right now to be a Microsoft Developer. What developer, or designer, doesn’t want our applications to run on as many machines and devices as possible? Bigger audience = bigger chance for revenue. We also want the ability to use consistent tools, frameworks and code that will run on numerous devices and operating systems. MIX really delivered on that promise. As of right now I can write an application using Silverlight that runs on Windows, Mac, in a browser (Firefox, IE, and Chrome) and Windows Phone 7 series. Not only that but the tooling lets me work like a designer creating my assets in Adobe Creative Suite (including FXG) and importing them into Expression Studio when its time to add interaction. And, if I need to scale my mobile-web-desktop application I can simply move my data into Windows Azure and take advantage of all the power the cloud has to offer.
We’ve all checked out the betas and release candidate. The April 12th global launch is just around the corner. So what could Microsoft announce that could possibly more exciting for developers?
How about Free?
- Every tool needed to develop for Windows Phone 7 series will be free of charge.
- Every owner of Expression Blend 3 will get a free upgrade to Expression Blend 4
- The pace of innovation the Expression team continues to innovate at is astonishing. Just check out these MIX10 sessions on Blend 4 to see what’s new.
The Best Code Editor in the world is available free for use. What are you waiting for?
Silverlight 4 RC available
The big announcements here were around two areas:
We announced 60% Silverlight adoption globally at MIX. That is from 0% market adoption in September of 2007 to 60% with Silverlight 3 today. But like any statistics the important thing to follow is the pattern. We were between 30-40% at PDC and now we are well over 50%. But, don’t just take my word for it – riastats.com
When you hit those kind of adoption numbers the conversation I have with people changed from “What is Silverlight?” to “My customers are asking for Silverlight how do I get started?”
Well known Brands using Silverlight
Olympics, Monday Night Football, Netflix, and McDonalds. The list continues to grow – as the technology continues to innovate and be adopted. There is even a showcase available now online (with downloadable code) at http://uxkit.cloudapp.net/
The big surprise for a lot of folks I think was the Ebay Desktop Application built on Silverlight. You can check out the live demo starting at 15 minute mark during the Day 1 Keynote. There is also an interview with the team here.
What I liked most about this demo was how Dave Wolf, Vp of Strategy at Cynergy Systems. Dave walked through the entire design process of their initial meetings with E-Bay and how they had a designer sketch the interface right there with a tablet and Expression Blend 3 Sketchflow.
Dave had some really impressive numbers to share:
- Cynergy was a Flash shop. The Silverlight/WPF unit was created as an entirely new business unit
- By the end of 2009 it counted for 55% of their revenue.
- That revenue was entirely additive too they still continued to grow their existing business
- Dave talked about the speed of innovation with Silverlight (Version 1 to 3 was only 18 months) being a key factor in their success
Windows Phone 7 Series
With most of the major Windows Phone 7 series announcements coming out before MIX10 the focus during the conference turned to the developer story.
Here is some of the information I found interesting:
- Applications can be developed in Silverlight or XNA
- Silverlight is based on version 3 but also includes parts of version 4. These will be in parity with desktop version as time moves on.
- Silverlight should be used for heavy UI and will probably be the choice for most applications
- XNA should be used for any heavy sprite usage or 3D
- Marketplace will be global in 30 markets. Developers will be able to chose if they want to distribute globally and have the ability to include localization files
- Developers will be given the ability to distribute a trial for all their applications
- Trial is done through code (isTrialEnabled==true) and thus up to each developer on what they want to allow.
- Time based, level based, etc you name it.
- Developers will be given reports on the conversion of trials to purchases
- Developers will be able to create Experiences by plugging into Tiles, Hubs and via Notifications
- One of the demos even had an external photo editing application being called from the picture gallery
- Windows Phone Development Goal is for the Same Programming Model, Same Code, Same Tools
“This isn’t Silverlight Lite. This isn’t Silverlight different. It IS Silverilght.” – ScottGu
Most importantly MIX10 delivered on real Windows Phone 7 series applications. Be sure to check out the Day 1 keynote starting at around 27:30 to see a slew of applications in action. What’s boggling is that these applications were all build in around 3 weeks by partners who had been given the same tools that are available today.
3D GPU Accelerated Goodness
Above is an XNA created game that was shown running on Windows, XBOX 360 and Windows Phone 7. Major Nelson had logged into his XBOX Live account and as you can see above was able to unlock an XBOX Live achievement on his phone!
What had my heart pounding? Netflix streaming on Windows Phone 7! If you are a big Netflix streaming fan like me the ability to pull down movies on demand (its basically $9/mo for unlimited use of over 10,000 movies and TV shows) all in H264 was amazing news.
One of the other applications shown was Foursquare. Just like Twitter a lot of peoples first reaction to Foursquare is “What is that and why do I need it?” Foursquare was everywhere at MIX – and the more of your friends who are on it the greater value you get from it. Think of it as a geolocation aware friend tracker that awards badges based on achievements and also tips for specific locations. When I was at MIX I was able to pull up a bunch of information from others on where to get the best meals or deals.
How do I get started?
Everything you need to get started can be found at http://developer.windowsphone.com. Best of all the tools are free – both VS2010 and Blend for Windows Phone 7 series will cost you nothing. There is also an emulator included in with the tools that will let you test and debug applications without having to connect an actual device.
Also be sure to check out the teams blog for the latest announcements and tips on how to get started.
Internet Explorer 9
At PDC09 last November, Steve Sinofsky told the audience that Microsoft was committed to making Internet Explorer 9 the BEST browsing experience on Windows. At MIX10 the team really delivered and I think the questions of why doesn’t Microsoft just use Webkit were largely answered.
Webkit works differently depending on the browser implementation. We see this everyday – Safari and Chrome render pages differently. So how do we as developers (and consumers) of the web make sure all pages are rendered the same in every browser and platform? Standards.
Microsoft is supporting HTML 5 in a major way. Just hop on over to the IE testing center and point it to any of your favorite HTML5 sites and see for yourself. If you don’t know any sites there are links from the IE page to the SunSpider results, ACID3 tests and various other HTML5 features you can test out.
The team also announced they are committed to 8 week release cycles during this testing phase. This means your feedback has never been more important. Innovation and new feature turnaround will be moving at a much faster pace.
How do we really use the Web?
The IE team had a really innovative approach to improving browsing experience on the web. They looked at the top 7000 sites on the internet (based on traffic) and looked at what were the most common API’s developer called on those sites. Yes – getElementByID() was up there! Rather than trying to create a browser that ran faster overall why not target how existing sites are coded today and make that faster?
Once that was done how do we take the browser to the next level? Seems obvious once you think about it and I wonder why it took so longer. Here we are well into 2010 and every browser on the market today only uses one cpu core and renders everything through software. In an age where even Netbooks have multiple core cpus and dedicated gpu graphic cards why are browsers still stuck in 1997?
Enter GPU Powered HTML 5
The Day 2 Keynote featured numerous demos across IE9, Firefox and Chrome that showed off the difference a GPU accelerated rendering engine can make. You can run those same tests on your PC today over at the IE Test Page.
What kind of things? How about two HTML 5 HD video streams running on a Netbook without any frames being dropped. Seriously – watch the keynote.
oData – “there’s a feed for that.”
If you have been to any of my recent Azure sessions you have probably heard me mention Dallas. I’ve had to consume external data numerous times in my career. Weather it was patent information, geo data, or census data the process was not an easy one. Dallas made a marketplace where you could both consume and sell your own data for developers to consume.
But what about when you need to expose that data with an API? Enter oData! oData is an open standard, released under the Apache license, that allows all platforms to consume data via Atom or JSON feeds.
You can consume these feeds via regular REST API’s over the web or .NET managed code. It doesn’t matter to oData. There will also be an update to SQL Azure that will allow you to take any of your SQL Azure databases and generate an API around it.
During the keynote a couple of different API’s were used to create an application very quickly. One of the more interesting to me was the Netflix oData Source. There is even a browser to generate Netflix queries using Silverilght over at http://kentbrewster.com/netflix-odata/.
The “Spark” Programs
MIX also gave an update on the well received Spark programs. These programs offer free Microsoft Software to Students, Startups and Web Professionals. This includes full versions of Visual Studio, Expression Studio, SQL Server and Windows Server.
The Philosophy? Why should you have to pay for the Microsoft stack when you don’t even have a revenue stream yet. It should be frictionless to get started on the platform. Spark attempts to solve the problem and MIX10 had a really good example of that.
If you’re a World of Warcraft (Wow) player like me (For the Alliance!) you have probably been to Curse Gaming to grab your latest mods. Michael Comperda from Curse had a pretty interesting story to tell about his experience in the Bizspark program.
Everyone who plays Wow dreads patch day. At worst it means the login servers will probably be down and you won’t be able to play. At best it means none of your mods will work and need updating. Michael talked about their previous implementation of Curse.com on the LAMP stack. During the patch 2.4-2.4.2 patch days they were struggling to maintain half a million downloads and with each new release found it harder to keep up.
With patch 3.01 they moved to a fully Microsoft Web Stack and are now able to sustain well over 1.5 million downloads during a new patch. Not only that they were able to run on 1/3 less hardware but still sustain 3 times the amount of traffic.
So what didn’t I like? Or what can we learn from the Flash/Flex community?
The .NET Community is huge. To give you an idea of just how many of us there are the East Coast Untied States (of which my team of nine services) has over 1.2 million .NET developers. That doesn’t even include SharePoint or IT Pros of which there are over 4 million. With a community that large there are numerous topics and industries that get included.
One of those areas that I think has been underserved until recently is interactive design. All of those great Flash and iPhone applications didn’t happen by chance they involved hours of refinement. Iterations of creating a design and throwing it away. Create another one and throw it away again with each approach bringing a different idea. I remember watching a video of one of the top iPhone applications a few years back that showed an elapsed time period of the UI. Buttons would be moved, gradients changed, all for the sake of creating an interface that just felt right.
It is not just about coding an API against a bunch of data services. It is about creating experiences that human beings consume and in a variety of ways (be that web, desktop or mobile). Sounds familiar eh? Like Three Screens and a Cloud? The more people I met the more I realized this was an area design agencies have covered for years. It is also an area some of our fellow developers in Flex and Flash hail from.
I started my career at Microsoft around the same time Silverlight 1 was in beta. I feel like I’ve grown up with it. For me Silverlight also ignited something inside of me – an eagerness for understanding design. I’m not alone either there are numerous .NET Developer who found Expression Studio brought more appeal than Visual Studio. The more I learned the more I appreciated the work of the giants who have come before me. In fact I spent a large portion of my time at MIX10 this year with folks who haven’t really touched .NET all that much. @TheFlashBum @adamflater @jefftapper @jesterxl, @Rhall, and @__Ted__ all brought perspectives I found refreshing and insightful. What is even more interesting is we have common routes. Almost all of them had touched Visual Basic or COM at some point.
So what changed? I really feel before Silverlight and Expression Studio we didn’t have the tools to create any real interactive design solutions. We have them now. But you know what? We still need to build up design skills. We’re developers after all. We’re not alone though – design agencies have had these skills for a while. The Flash folks learned them and so did Flex Developers too. We can learn a lot from each other.
I’d like everyone to check out two great posts about their take on MIX10 from Elad Elrom and Jesse Warden. I think you’ll be pleasantly surprised. These guys don’t dislike .NET Development. In fact – they think they have a lot they can learn from it. But in the Flash/Flex world a lot of solutions to common problems come from the community not Adobe itself. I think Adobe encourages this – the platform is stronger because of its community. In the .NET Community I think we all too often look to Microsoft to solve every problem and be our one stop code solution. On the Flash/Flex side you don’t start from the bare API. You start off from a framework, like Robotlegs. Life is easier because of the amazing work your peers have already done for you. I think we have that in the .NET Space with sites like Codeplex and we’re now seeing it start in the interactive design space. I’ve seen some amazing talent out here in the community and we have a huge opportunity to create our own frameworks, especially with innovations like Expression Blend Behaviors.
So my ask is if your passionate about this space then you should get involved. The first step to bridging that gap is researching online some of the frameworks that have been created. The next step is about getting them into a format we can use in the Silverlight and Windows Phone 7 space. Over the next couple months I’ll be doing my part to help this along with the first step being Developer Happy Hour this week.
Don’t forget about the basics of design either. Bill Buxton always does a great job of hitting on this in his keynotes.
Fortunately, there are a bunch of people at Microsoft too, like Arturo Toledo, who have created a way for you to learn without having to go back to school for a design degree.
Be sure to check out the new .toolbox site and get your learning on. Look me up too I’m on there as DaveDev.