Software Development Year in Review
Security, spam were dominant themes; will they have impact on development issues ahead?
I've been writing this column for three years now. It's time to look
back and reflect once again. How are those of us writing software for
Windows doing as compared to a year or so ago? Which events stick out
as having been important? Allow me to present my own idiosyncratic view
of the answers.
The New Toys
The last 12 months saw a reasonable number of product upgrades
shipping from Microsoft, including three major ones:
- Windows Server 2003
- Exchange Server 2003
- Office System 2003 (including OneNote and InfoPath)
Of these, Office is having the most impact for the developers that I
know, who are gradually moving solutions forward into the new version.
But truth be told, there's not much in Office 2003 that's a big improvement
from Office XP. The new Visual Studio Tools for Office, which lash up
.NET code with Office documents in a Rube Goldberg sort of way, point
the way to a future that merges the Office programming model with .NET
programming. But that future is a couple of years down the line yet.
| Want to read more of Mike's work? Sign
up for the monthly Developer Central e-newsletter,
including product reviews, links to web content, and more,
As for the rest: I'm happy to have Windows Server 2003 and Exchange Server
2003 on my own test network, and they certainly represent a substantial
improvement over the 2000 versions. But really, they don't have a whole
lot of impact on the development side of my business. So this has been
another year of consolidating existing skills for me, of getting better
at writing C# and VB .NET code, of using Visual Studio .NET 2003 (which
shipped more than a year ago) to create solid ASP.NET Web sites. Sometimes
it's nice to take a break and just work with existing tools for a while.
The New Toys to Come
Of course, the break isn't going to last forever. Last fall Microsoft
tempted us all by showing off three new products that will ship next year,
or perhaps the year after:
- "Longhorn" (the next version of Windows)
- "Whidbey" (the next version of Visual Studio .NET)
- "Yukon" (the next version of SQL Server
These were publicly revealed at the PDC, and quite a lot of alpha code
has been circulating; MSDN subscribers have had access to the bits for
quite a while, as have some others, and it seems likely that this is going
to be a huge beta. Certainly it's a huge marketing blitz; already at least
half of the new content on MSDN seems to revolve around these three products
and their constituent pieces.
Now, don't get me wrong; these are shaping up to be great products. I've
seen some pretty nifty demonstrations of what you can do with them, and
I've even written a few Yukon articles. But for most developers, it's
just too soon to invest time in these technologies. Oh, if you've got
a spare box with reasonable horsepower, you might as well install Longhorn
and Whidbey and give them a spin, and ooh and ah at all the eye candy.
But I think you're probably wasting your time to dig too far into the
programming model on what are, so far, just alpha builds that are sure
The Seamy Side
Not everything in the software development universe this year has been
rosy. For starters, security in Microsoft products still stinks. Oh, sure,
it's getting better, but every time I start to get even little complacent,
something new happens. Remember the Blaster worm? Then there was the round
of patches in February of this year, which revealed that it took Microsoft
six months to fix a major security bug at the heart of pretty much every
version of Windows. Sure, we keep hearing about how it will be better
in future products, but that doesn't really seem to have materialized
yet. Meanwhile, I still run across far too many developers who don't even
understand the basics of things like SQL injection or cross-site scripting
Then there's spam. There's always spam, and there probably always will
be, despite Bill Gates' cocky assurances that the spam problem would be
solved by 2005. Right now I use a couple of blacklists (SpamCop and SpamHaus)
on the Exchange server, and SpamBayes on the client, to block somewhere
upwind of 500 messages a day. That's the price of having a widely publicized
e-mail address. I know there are developers out there who get paid to
figure out a way around all this blocking technology. I'm glad I'm not
one of them.
And while we're on the subject of people that I'm glad I'm not, there's
the management over at SCO, who have spent the last year suing everyone
in sight over code in Linux using a variety of bogus copyright, trademark,
patent, and contract theories. You might thing that a squabble in the
Linux and Unix communities couldn't have much impact on your development
using Microsoft tools, but would you care to think about how much of the
Web would vanish if SCO were to be able to collect the ridiculous licensing
fees they're demanding? You'd do without Amazon and Google, for starters.
Fortunately I think even the American legal system isn't dysfunctional
enough to let SCO win here. I hope.
What would a yearly roundup be without some trends? They'd drum me out
of the pundits union if I didn't come up with some. I wouldn't want that
to happen, so here's my list of what's been hot and not in my corner of
the development world. What's hot:
Venture capital money: I know a couple of folks who are shopping
new ideas around for the first time in two or three years. I'm all for
injecting new money and Aeron chairs into the software economy again.
Outsourcing: I just hope it doesn't manage to absorb all of the
VC money. For me, the best defense against being outsourced is still to
not have a real job, but to spend my time on short contracts at the cutting
edge. I don't think that's an overall solution for the industry, though.
Openness at Microsoft: They're not putting out much open source
software yet (though parts of Services for Unix are covered by the GPL),
but Microsoft is doing more to get information out than ever before. The
widespread availability of Longhorn alpha bits, the explosion of Microsoft
bloggers, and the rapid increase in the MVP ranks all point to a company
that wants to communicate with developers. That can only help us do our
Code generation: Lots of new tools will help write code for you.
Some of them even work well enough to use. This is a great way to leverage
software to write more software.
XML: Darned if I know why XML is so much bigger than CSV ever
was, but it is. I hope we're seeing the first signs of a world where people
don't have to look at angle brackets, though. I know I'm tired of it.
And the flip side, what's not:
Computers in Politics: Hey, blogging and MeetUp were gonna revolutionize
U.S. presidential politics. Oops, maybe not. Now the same folks who were
once bullish on blogging as a replacement for traditional media are trying
to peddle blogging as a replacement for traditional politics. These people
have smoked one manifesto too many. If a politician wants to get online
community-building software from you, bill them in advance.
Peer to Peer: Now that we've had a few years experience, can we
just admit that P2P is for stealing music, movies, and software, and move
on to something else? I hate to think about how many programmer hours
have been wasted trying to find some other justification for this technology.
Grid computing: Or utility computing, or whatever you want to
call it. Maybe I'm just not looking in the right place, but so far I'm
not finding a whole bunch of exciting applications for this stuff, even
though marketing departments appear to love it.
Social computing: Turns out that the friends of the friends of
the friends of your friends are not, in fact, of any more interest to
most people than people pulled out of a phone book at random. Another
field where too many hours have gone into too little return.
RSS Aggregators: I love RSS, I really do. I read about 150 RSS
feeds myself. But we do not need another RSS aggregator. There are enough.
Go write something else.
The Bottom Line
So, here I am, another year older, and having written a great many more
lines of code and a great many more words about code. Am I going to stay
in this game for another year? You bet! For all the warts in the software
world, for all the long hours and frustration chasing bugs, it still beats
actually working for a living. I expect that most of you readers know
exactly how that feels. Only, remember: Don't tell the bosses, or they
might stop paying us to do it.
How was your last year? Any trends I missed that I should have mentioned?
You can get hold of me at [email protected].
I'll use the most interesting comments in a future issue of Developer
Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.