Obligatory New Year Predictions
In my ongoing role of attempting to get everyone to prove me wrong, I've decided to write down a few predictions this year about where I think our little corner of the industry will be this year. Then, in December, I can either brag about the no-brainers that I got right, or ignore this entirely as I got too many wrong.
The phone is rapidly becoming a computer substitute for many people. I don't mean that you'll be writing your code using the keypad in 2010, I just mean that the importance of smart phones will continue to increase. The capabilities of many of these devices reach (or exceed) the laptops of just a few years ago. Add wireless data (even at Canadian telco rates), and you have a very pervasive environment. For example, DropBox provides access to a 2GB file share (for free, higher sizes are available for a monthly fee). This is accessible over the Web, as well as on PCs, Macs, Linux boxes and iPhones. This means that with the right connection, you could have access to all your files on your phone. Other tools give you full remote desktop access, and even let you view and edit Office files. The use of iPhone, Android and Blackberry devices will grow as the year goes on, and the number of people who use it as their primary device will be measurable by EoY.
Notice something missing from that last list? Yeah. Me too. Windows Mobile saddens me, and not just because I was once had "Compact Framework Evangelist" on my business cards. Microsoft seems to be struggling to get Windows Mobile 6.5 out (and I'm not even going to mention 7.0. Oh, wait. I just did.), and the Compact Framework seems to have stagnated. New features in 3.5 were slight, and neither Beta 1 nor Beta 2 of VS 2010 even support developing CF applications. I still see CF and WinMobile being fairly dominant with enterprise applications. As an example, both large bubbly beverage suppliers use - or used, I've been out of touch for a while - .NET CF applications for their distribution network. However, give the major consultancies a good SDK, ruggedized devices, and support for IR, printers and barcodes, and I think we could see a complete collapse. I've heard that iPhone development is difficult, but that won't stop people if their customers are asking for different devices.
There are times (just occasionally) that Microsoft oversells some of their technologies. I know, I know, hard to believe but bear with me for a moment or two. You know how the hype cycle goes:
- the merry elves in Redmond develop some new technology
- the technology is breathlessly announced at a conference with much hooting and canned demos
- Microsoft tells people to ignore the old technology and only use the new one
- people get their hands on the technology
- people hurt themselves with the technology
- people complain about the technology
- Microsoft comes back saying, "That was just a technology preview, the next release will be awesome!"
- Microsoft back-pedals and tells people, "The old technology is good too. Look, we're still improving it as well."
In this case, the technology that comes to mind is ASP.NET MVC. This is a *great* technology, and really (in my opinion, as well as others) a great way to build a Web application from scratch. However, it requires a large investment in relearning how you build Web applications, and the initial benefits are not necessarily obvious. However, the ASP.NET team has been pushing very hard lately to get people to learn and use MVC. I think that will change as their realize that a large (I was going to type huge there) percentage of their market either can't or won't switch. I suspect that they will realize this, and make an announcement about upcoming major improvements to the WebForms model of building applications, possibly including some form of guidance or tools to help migrate a site, or create hybrid sites.
I think this is the year that we will begin to see non-trivial, non-video playback Silverlight applications. The market penetration continues to improve, and with huge partnerships like NBC, the NFL, and the Olympics, more people will become aware of Silverlight, or at least install the runtime. Having a relatively full-featured Linux version (via Moonlight) helps round out the target machines (Silverlight also runs quite well on Macs, giving developers a relatively easy path to support both platforms). Silverlight 4 (currently targetted to release this year) provides access to devices on the client machine (at least on PCs). The 3rd party control market is growing fast. Personally, I am beginning to think that the first choice for developing a desktop (or partially desktop) application might just be Silverlight.
- Windows 7 adoption will hit double digits - it really is "the new XP". Even in a virtual machine, performace is snappy (mostly) - at least on par with XP. Add the UI improvements (the search box in the start menu for one), and you've got a very worthwhile upgrade.
- By EoY the noise about Cloud Computing will become deafening. And I still don't think we'll see a non-trivial application using it (that wasn't written by, or paid for by, the vendors themselves)
- The feature set of SQL Server will finally cause it to collapse under the weight of its own gravity, and Microsoft will split it into multiple products again (and hopefully they'll put a bit of weight behind SQL Compact Edition while they're at it).
- By EoY, you still won't likely have created an F# application (unless you graduated from CompSci in the last two years).
- HTML 5 will land with a thud, as the limited support by "that browser" prevents broad adoption by developers.
- Developers will still be looking for "the next Access".
- VS2010 will ship. It will be the greatest version of VS ever, only to be improved by VS2012, to be released just before the world ends. We'll also see one major patch for it by EoY.
- C# developers will still shoot insults at VB developers, and vice versa. Everyone will ignore the C++ developer in the corner.