Wow, another year has gone by, and as you read this, you are probably returning to the office after a few more or less relaxing holiday time spent with friends and family and a New Year's celebration. Interesting things have happened in our industry in the last 12 months, but I predict that the next 12 months will be quite a bit more interesting! Seldom before have I been as excited about new technologies and developments as I am now.
So what am I so excited about? New technologies will be introduced, great events will be held, a whole new generation of operating systems is on the horizon, and much, much more. I'd like to walk through a few of my favorites one by one:
SQL Server 2005
It's been a long time since the last version of SQL Server. Sure, we have had incremental service packs that provided new functionality rather than just bug fixes. XML features come to mind as a prime example. However, it is hard to overlook that the numbers behind the product name are 5 years apart. Remember New Year's 2000? The worries about so many things not working due to the Y2K bug. Realization about the burst Internet bubble and the impending job layoffs in the technology sector (at least in the USA) had not quite set in yet. The developer landscape (and the technology landscape for that matter) was quite different then. VB6 and C++ were the kings of programming languages, and .NET was practically science fiction. It now seems like a lifetime ago, and yet, that's the era the current version of SQL Server is from!
I think SQL Server 2005 will be a version that's worth waiting for! XML finally makes it into the core of the database as a natively supported type rather than a somewhat awkward add-on that only turns output into XML but keeps internal date strictly relational. The CLR (Common Language Runtime) is also a core component of the database, which not only allows us to write stored procedures in .NET languages, but it also means that the database tier of our applications is well on the way from Win32 to the Managed Platform. The security system got its much-needed overhaul too. In short: Things are well in database land!
Visual Studio 2005 and the .NET Framework and Runtime
The Visual Studio team didn't ask us for quite as much patience as the SQL Server team, yet Visual Studio 2005 is an almost equally important new version. Since the release of SQL Server 2000, we've seen two major releases of Visual Studio .NET and related components. The original release of the .NET Framework and Common Language Runtime was a Herculean task and providing an adequate development tool (Visual Studio .NET 1.0) wasn't much easier I am sure. Version 1.1 was a somewhat smaller, although much needed update. All in all, the quality of the releases was impressive, especially considering that the entire platform was a new paradigm and a new implementation and, at the same time, the provided functionality was much greater and the focus of the platform much broader than anything attempted before. So much so, in fact, that developers are still struggling to grasp the complete impact and significance of .NET.
Visual Studio 2005 as well as .NET 2.0 (including technologies such as ASP.NET 2.0 and C# 2.0) are the first real major update .NET developers get, and the additions are substantial. Almost every aspect is improved. I think some of the changes will be evolutionary while others are a small revolution within the boundaries of the platform. Where .NET 1.x made fundamental things work, .NET 2.0 makes them shine! It is hard to list my favorite improvements but I can tell you that there are a million things that now just seem "right".
Visual Studio Team System
Talking about a long wait: Do you remember the last significant update to Visual SourceSafe? I don't, but the 6.0 version number gives it away. In any event, team development is a major pain right now. As software developers we can help just about any industry get organized, but we tend to not do so well when it comes to using software to organize our own efforts. Collaboration on a global scale is a reality in many businesses today. But when it comes to the software industry itself, collaboration hasn't been easy. Sharing a local copy of a source file with the developer in the office down the hall can be a serious problem (especially it you are not quite ready to check it in yet). Communicating the status of the file to the project manager is even tougher. And letting the QA department know about your latest changes is a semi-manual process at best.
Visual Studio Team System aims to fix these problems and a lot more. Of course, several people I talked to point out that this will be a 1.0 release of a new product. They also point out that Microsoft has not been entirely clear what feature-set will ship with the initial version of Visual Studio Team System. But in any event, I am very excited to see that Microsoft is finally taking this issue seriously. Personally, I think that this is one of the most exciting new aspects of Visual Studio 2005.
You can find more details on this at http://lab.msdn.microsoft.com/vs2005/teamsystem.
Visual Studio Express
Getting into Visual Studio development is expensive, isn't it? Nope! Not anymore. In the past, developers, hobbyists, and students had to use command line compilers or free tools such as Web Matrix, or find a way to purchase Visual Studio if it they wanted to do .NET development. But with Visual Studio Express, Microsoft now offers a low-budget alternative to the professional product. This means that Visual Studio teams will be able to hire people straight out of universities and still have some hope that they will have some experience with Microsoft development tools. We won't see this change right away, but it is a good course to steer in the long run.
Download your beta now at http://lab.msdn.microsoft.com/express.
Windows Longhorn and WinFX
Windows Longhorn will not ship in 2005. However, with the now seemingly firm release date of 2006, 2005 should be the year where all serious developers should start educating themselves about this major new OS release so they can hit the ground running when the product hits the shelves. In particular, developers should spend the time to understand Avalon and Indigo, which are probably the most important sub-systems that are also significantly different from what developers have used in Win32 systems development in the past several years. This is especially true since these new technologies are not Longhorn-specific, but they will be made available on Windows XP as part of the WinFX SDK as well. In fact, beta versions are available today! Check out all the details at http://msdn.microsoft.com/longhorn.
I strongly believe that Tablet PC products will continue to gain importance. It simply makes a lot of sense. They work very well (in fact, I am handwriting this entire article on a Tablet PC and the software automatically converts my handwriting to regular text), they add great functionality, and they are as easy to program or any regular PC. (See http://msdn.microsoft.com/mobility/tabletpc.)
It seems that people (even the Editor-in-Chief of CoDe Magazine) are still waiting for the "killer app" for the Tablet PC. I don't think that is the right expectation or approach. Tablet PCs have killer features (in particular digital ink). Making those killer features available in all applications is much more important than finding a single killer app. I always like to compare Tablet PC features to computer mice: Today, there is no single killer app for computer mice. Instead, every application supports them. The same needs to be true for digital ink!
Recently, the entry barrier (the purchase price) has been lowered significantly as well. Tablet PCs are hardly more expensive then regular notebooks anymore. Several offerings are now below $1,000. At EPS Software and CoDe Magazine we have made the decision that all future notebooks we buy have to be Tablet PCs. We are doing this because we want our developers to become more familiar with the Tablet PC platform, but also because we find that Tablet PCs introduce features that improve our productivity. Some people argue that ink support is not crucial, but I certainly wouldn't want to live without it again.
More Connected and More Mobile
The Internet has certainly become a fundamental part of our life. However, when you look at the bandwidth situation, not much has changed in the last few years. I am still blessed with roughly the same amount of bandwidth (both at home and in the office) that I had four or five years ago. (Granted, the connectivity in the office is less expensive, and overall reliability has improved). Countries like South Korea show the way and places like North America and Europe are in a position that seemingly forces us to catch up, yet not all that much is done (often due to counter-productive laws). Bandwidth requirements have been increasing steadily. Technologies such as RSS and blogs or VoIP telephony (Skype anyone? - www.skype.com) put ever more demands on our infrastructure, yet we only improve it at a rate that makes us fall behind further and further. My hope for the next year or two is that people will start to address the fundamental issues so we can start moving in the right direction, but I do not expect rapid changes on the implementation side.
But there are more encouraging aspects of connectivity. Wireless networks have added convenience and they are now starting to appear everywhere. Certainly wireless is useful in places of business and in homes, but also in many public areas. Wireless bandwidth has also improved. And then, of course, there are many new devices that take advantage of wireless connectivity. There is no doubt now that cell-phones are here to stay. (I personally avoided them until recently.) It is interesting to note, however, how they have changed in functionality. Phones are now not just phones, but they are cameras and PDAs and many other things. So far some of these features have been nice gimmicks, but I expect to see hardware that will have more advanced uses as more advanced software is written. The devices themselves are also getting more and more powerful. While old Windows CE devices were utterly underpowered, modern devices perform a lot more like desktop PCs of the recent past. This, of course, opens up all kinds of opportunities both for the OS as well as applications based on more advanced features. I expect some interesting changes for small devices especially in the "Longhorn timeframe." Check out the Windows Mobile Application Development Center: http://msdn.microsoft.com/mobility
I am also very excited about the SPOT (Small Personal Object Technology) OS. This is a new operating system Microsoft has introduced for very small devices. Currently, the flagship implementation of SPOT is the MSN Direct Smart Watche (http://direct.msn.com). Unfortunately, SPOT watches have gotten off to a bit of a rocky start due to some hardware problems (my particular watch, for instance, does not keep the time well... kind of an important feature for a watch one would think), but that does not make the overall concept less valuable! Having a watch that knows you have an appointment in 5 minutes simply makes sense. Having a device that can relay information or messages to you in situations where you are unlikely to have another way of communicating makes sense as well. And being able to program your own functionality makes sense too. Hopefully Microsoft will introduce a Smart Watch SDK soon so we can all take advantage of this fascinating technology using the familiar Visual Studio development environment.
2005 will be a great year for events! Training and event organizers have been among the greatest businesses to suffer in the last few years because cutting the training budget seems like one of the easiest places for companies to save money. But now things are starting to speed up, again giving organizers the budget to put on great professional shows with lots of value for the attendee! If you haven't been to a conference in a few years, now might be the time to sign up for one again!
Many CoDe Magazine authors will be present at quite a few events. From a personal point of view, I am planning to be present at quite a number of them myself. If you happen to be at one of the conferences, stop by the CoDe Magazine booth or one of my sessions and say "hi."
Here's a list of the conferences I am most excited about.
Microsoft's official shows include:TechEd (A yearly highlight about technology available today or very soon.)PDC (Helps you plan for what is coming. Wonder what's coming after VS 2005? This is where you should hear about it first. Also expect to hear a lot about Longhorn.)Windows Anywhere (Mobile development and Tablet PCs. http://microsoftwindowsanywhere.com)
You can expect to see CoDe Magazine at all three shows. Check out details at http://msdn.microsoft.com/events.
Third-party conferences:DevTeach 2005 (CoDe Magazine is going to host its first official conference in Canada: DevTeach 2005 in Montreal!) www.DevTeach.comVisual Studio Connections (co-hosted with Microsoft ASP.NET Connections and SQL Server Connections) (www.devconnections.com)
Both shows present a great networking opportunity with attendees and speakers, all for a very affordable price with a more "resort" location. These shows tend to be smaller than the official Microsoft shows, but that means a more personal show and you aren't lost in a huge convention center. Expect to see CoDe Magazine staff and authors at these shows.
Creating a complete list of events is beyond the scope of this article, so we're adding an independent event calendar on the CoDe Magazine Web site. The calendar provides a list of worldwide events including major conferences as well as local events such as user group meetings. You will also be able to see which events will have CoDe Magazine presence and many other things. Check back at the CoDe Magazine Web site (www.code-magazine.com) in the next few weeks to see and subscribe to the complete calendar or submit your own events to be listed!
CoDe Magazine Is About to Turn 5!
CoDe Magazine will turn 5 this year! It is hard to believe that we have been at this for five years but the anniversary is fast approaching. When we started the publication, nobody gave us much of a chance. The idea of a magazine that focuses on technologies such as ADO or COM+ while others were focusing on languages such as VB and C++ was belittled and ridiculed by many (except Microsoft who always supported us). Was it too wild to think that VB and C++ developers might be interested in the same topics. Today, of course, cross-language development is the norm and when discussing a new feature of ASP.NET, nobody much cares whether one uses VB.NET, C#, or another .NET language.
Of course, people also got a giggle out of a small company trying to break into a market dominated by large organizations that dominated the magazine market. Most gave us less than six months or a year at best. "How could a small company that is mainly a custom software and consulting company (EPS - www.eps-software.com) challenge major publishers?" they said. But we are still here while several of our competitors have "folded" or are certainly struggling! CoDe is one of the few magazines that has increased the page count of the magazine while the majority of computer publications have reduced their page count. It seems that the idea of developers figuring out publishing has worked out much better than publishers trying to figure out development!
I want to thank our readers who have been with us for all these years and made our success possible! "We could not have done it without you" sounds like a cliché, but magazines without readers truly don't do much good. So thank you!
Am I tooting our own horn here? Yes, you could say I am guilty of that, but after five years I am taking the liberty to take a step back and say, "I am proud of what we have achieved". At the same time this does not mean that we will relax. Quite the contrary! We will take this anniversary to take a critical look at the magazine and its online component and we will introduce a number of improvements. The best is yet to come!
Happy New Year, everyone, and a toast to 2005 - a software development year I expect to be as exciting as few before it!