Windows

The 10 most important events for developers in 2011

From fallout over the Windows 8 Developer Preview to the demise of mobile Flash, this year has been momentous for developers.

2011 was one of the most eventful years I can recall for software developers. The last time the scenery changed so much in one year was probably 1995, thanks to Windows 95 and 32-bit computing. This year, we have seen major shifts in the way we program for the Web, the future of Windows is unsettling and different from what we know today, and technologies we thought were "the future" are suddenly looking like they won't even make it to has-been status. Here are the most important events in the world of software development in 2011.

1: Windows 8 Developer Preview

The Windows 8 Developer Preview dropped like a bomb on the development community. With the new Metro UI and WinRT API, it became clear that Microsoft has no intention of putting additional effort into the traditional desktop market. You can doubt "the tablet effect" all you want, but it is obvious that Microsoft thinks it is real. Unless there is a significant shift in Microsoft's strategy between now and the final launch (rumored for second half of 2012, possibly as early as August), we can expect that the traditional desktop is going to be categorized as "maintenance only" and eventually drop entirely off Microsoft's radar. Also of note: Where do languages like Ruby, Python, and Java fit into the Windows 8 ecosystem? They might not work at all in pure Metro/WinRT mode. We need to get ready.

2: The rise of HTML5

HTML5 is still nowhere near "done," but in 2011, vendor support, from browsers to authoring tools, exploded. At the same time, adoption for it has picked up, particularly for mobile devices. Why mobile? First, the mobile browsers have decent support for it; no one is using IE6 on a mobile device. Second, HTML5 has a number of features that improve the browsing experience on mobile devices. Third, mobile developers tend to be forward looking and are closer to the cutting edge, in no small part because they get to start with a clean slate much of the time.

3: Mobile Flash zapped

When Adobe announced that it was no longer developing Flash for mobile platforms (note: its partners can still continue development on it), it was more of a "So soon?" moment rather than, "I never saw that coming." If Flash won't continue to be updated on the increasingly popular mobile platforms, it suddenly becomes a tough sell for the desktop too, in many cases. Unless you are doing something that will never be used on a mobile platform (good luck, since the larger tablets are a suitable replacement for desktops in terms of screen size), Flash is now a non-starter. The rapid end of Flash is very much expected.

4: Silverlight back-burnered

Before Adobe sent mobile Flash to the maintenance-only bin, Microsoft started backpedaling from Silverlight. First, it said that Silverlight should no longer be used in the kinds of scenarios that Flash or HTML5 address, which made sense given that it never hit "nearly universally installed" levels of penetration like Flash has done and HTML5 soon will. At the same time, it said that Silverlight was more for out-of-browser applications, like WP7 or internal enterprise apps. Fair enough. Then folks noticed that the Silverlight updates and roadmap updates weren't as fast and furious as they used to be; Microsoft blamed the fact that Silverlight was now a "mature" technology. But with the Windows 8 Developer Preview, both Silverlight and WPF (Silverlight's Windows desktop-only big brother) are on the legacy side of things. The only saving grace is that Silverlight, WPF, and the new Metro UI and WinRT system are all similar, and in many cases it takes minimal work to turn a Silverlight or WPF application into a Metro/WinRT app.

5: Java 7

Java 7 finally shipped. As the .NET ecosystem kept marching on, it seemed like the Java community was mired in internal warfare, in no small part because of the Oracle acquisition of Sun. All the same, Java 7 did ship, and it made good strides keeping Java modern and relevant. By way of comparison, though, it certainly was much less of a wait than Perl 6 or C++11 have been/were!

6: iPad's domination of the tablet market

By this time, a lot of folks were expecting the Android tablet to significantly crack the walls of the iPad fortress. At best, however, Android marketshare can be considered merely a small crack. Will 2012 be the year of the Android tablet? Maybe. It could be the year of the Windows 8 tablet, too. Or it could just be the year iPad kicked everyone else out of the tablet game. Right now, if you want to develop apps specifically for tablets, go iPad or go home.

7: PaaS for every infrastructure imaginable

A few years ago, I started seeing platform-as-a-service offerings coming out. Other than the established Amazon Web Services, the reaction was, "Oh, that's cute" and that was about it. Today, there are PaaS offerings for everything from the mainstream (.NET, Java, and PHP) to the less common (Ruby on Rails) to the relatively unknown (OutSystems' Agile Platform). Funny enough, most of them all seem to be sitting on top of Amazon Web Services. All the same, we are now at the point where if you can put your application in the cloud in terms of regulatory, security, and performance issues, there is no reason why you can't do it. The platforms are there.

8: Inexpensive cloud tools replacing expensive desktop tools

Speaking of cloud, in the last year I've been pitched more talks about cloud-based tools than desktop tools. And you know what is interesting? These cloud-based tools are much less expensive and they are easier to use than the desktop equivalents. Many times, these vendors are just taking existing open source tools, making them easier to use and work with, and deploying them in the cloud. And that's a good idea. I can tell you, when I wear my system administrator hat, I'd much rather not have server sprawl (especially for an OS or tool I know little about) and just tell the development team to sign up for the cloud service. These tools are a winner and the future of the industry, especially for smaller shops.

9: JavaScript's increasing importance

JavaScript has been important for a long time. With HTML5 on the uptake and Flash and Silverlight on the way out, JavaScript is only getting more important. Systems like jQuery make it easier to work in, too. The real sign of its impact, though? New languages (like Google's Dart language) are coming out that compile down to JavaScript to leverage the existing install base.

10: ASP.NET WebForms downgraded

For years, ASP.NET developers have looked at developers in systems like Ruby on Rails with a touch of envy, as they weren't burdened with the mess of WebForms. While ASP.NET MVC is not new to 2011, this was the year that its usage really took off as the technology matured. Fewer and fewer .NET developers are turning to WebForms for new projects, and with good reason. While ASP.NET MVC hasn't exactly blown my socks off (partially because I always rejected WebForms and wrote ASP.NET in a very ASP.NET MVC-like manner anyway), anything has got to be better than WebForms. .NET developers are finally able to code with the same capabilities as their counterparts in the Ruby and Java world.

Honorable mention: C++11

I mentioned C++11 before, but it deserves a spot all its own. C++11 finally brings C++ into the modern world, and it's the result of a spec process that was "lengthy" to put it mildly. It was so bad, it was called "C++0X" for the longest time because no one knew when it would actually wrap up. Even with that open-ended name, it was finished more than a year past the validity of the name. All the same, C++11 may spur new interest in C++, especially since alternatives for low-level and native programming seem to be slowly fading away.

Other developer milestones?

Do you agree with the significance of the events listed here? What else do you think had a major impact on developers in 2011?

About

Justin James is the Lead Architect for Conigent.

10 comments
MTsyko
MTsyko

"Also of note: Where do languages like Ruby, Python, and Java fit into the Windows 8 ecosystem? They might not work at all in pure Metro/WinRT mode. We need to get ready" I'm ready! I quit dev on Wintendo. HTML, python, etc. are/were not supported by m$, so I don't support m$...Windows is not only irrelevant it may be the next extinction! (I can hope)

jekram
jekram

This was a great article. I would have put PaaS as the top story. This is a fundamental shift that is happening and started this year. HTML5 is also very important. However, that has been in the works for last several years. I 100% agree with your analysis that Silverlight is dead and is being replaced my Metro and HTML5. I was surprised that you did not cover mobile development.

BALTHOR
BALTHOR

"Microsoft is doing away with the exe file type" is what we're looking at here.Nasty precedence.We'll be converting our home movies to gif's.

EmreSAHIN
EmreSAHIN

Great article, I wonder if the subtitles are written with respect to the importance of them Mr.James.I mean if they are wouldn't The rise of HTML 5 be the first one?Or you have an idea like the way Windows 8 was developed have an aid for that rise?

Justin James
Justin James

"I'm ready! I quit dev on Wintendo. HTML, python, etc. are/were not supported by m$" Microsoft started supporting Python and Ruby some time ago, when they brought both into .NET, they just haven't been too popular or well-known. You can do Rails apps in Visual Studio, for example, and have been able to for a few years now. It's just not well known. On the server side, Microsoft didn't do their own implementations because others did it just as well, but you can certainly use those languages on top of IIS. Microsoft has also done a fair amount of work to directly integrate PHP into IIS (if that's your cup of tea). "Windows is not only irrelevant it may be the next extinction!" If you honestly think that Windows is irrelevant, you need to check again. Windows still dominates the desktop market. While I believe that the desktop model has no future, it will take a while (5 - 10 years?) for it to actually shrink to the point where developers can ignore it for the most part. Furthermore, as much as you might not want to see it, Windows 8 has a chance at being a success in tablets. The server room is where Microsoft has had less success, but remember, they've come from 0% of the market to dominating the backend for enterprise NON-WEB applications, and in Web applications they've gone from 0% to roughly 50%. Microsoft has the resources and ability to break into a market from nothing and own it. There was a point where they didn't have a non-desktop strategy at all, and now Active Directory and Exchange are at the heart of the overwhelming majority of companies. In the 1990's, a company called "Palm" owned the mobile space until Windows CE pushed Palm to the brink of bankruptcy in a few short years. You can dislike Microsoft all you want. They do lots of stuff I'm not happy about in the slightest. But calling them "irrelevant" just does not bear up to the facts. Microsoft is NOT down and they are NOT out. That said, I do think that the period of 2010 - 2014 will determine if Microsoft starts a slow fade into obscurity (or a retrenchment into a smaller market), or if their dominance is able to continue. Apple's tablet and phone strategy has been a perfect end run around them to break the emotional dominance of the desktop, and the Android ecosystem hopefully has enough innovation in it to push new paradigms. I feel that Windows 8 is Microsoft's half court shot at the buzzer to keep Windows at the top of the heap for client side operating systems, and if they miss, then Microsoft will be beating a retreat to the server room and looking to just make apps and add-ons for iOS and Android to have them play nicely with Windows in the backend. J.Ja

Justin James
Justin James

... is because almost all of these are the raw ingredients for mobile dev. I see these things as the aluminum, steel, and petroleum, and mobile dev as the bridge or airplane. J.Ja

Justin James
Justin James

The order is not exact, but it is *roughly* in order of importance. I'd put HTML5 and Windows 8 about the same, because they are related. HTML5 is a large part of why Windows 8 is the way it is. J.Ja

EmreSAHIN
EmreSAHIN

thank you Mr.James.It just seems to me that HTML 5 is like the beginning of a new era in web -and with the support of Windows 8- in computer technology.It also increases the importance of JavaScript as you mentioned.

EmreSAHIN
EmreSAHIN

Getting rid of all the Flash and some other plugins seems really new and great to me.However, I am not as experienced as you in web development.That is maybe just what I wish.

sehamon
sehamon

I've been developing for the web for over a decade, and I don't really see HTML5 as being a new era in the web. We will still see the same things, they will just be done faster, and with less hassle, then they used to be. Heck, for almost all of my web career I've been doing things like video and browser based games, they just used to be horrible.

Editor's Picks