I meant to write this follow-on-on blog to DirectX Then and Now when I got my new PC, but then work and a giant abscess got the best of me, and so my new gaming PC (and Alienware ALX) has sat unused since it arrived on Monday. As luck would have it, Elder Scrolls IV: Oblivion came out this week too, and so with my abscess treated and work done, my cool new machine and my cool new game were ready for a workout last night.
It is amazing - I can turn the Oblivion settings for detail way up, and the game plays beautifully at 2560x1600. My new Alienware Aurora ALX PC kicks ass, and I love, love, LOVE my 30" Dell monitor. Once you have one, you can't go back. Ever since 1998, I would seek out the "high end" monitor, and it always cost about $2000. First it was a couple of iterations of the 21" tube-based dinosaurs, then I moved on to a 21" LCD, then the Samsung 24" widescreen LCD (twice!) , and now the Dell 30" widescreen LCD. In each case, about $2000 bought the state of the art (good god, I don't want to add up how much I've spent on monitors in the past 8 years). I can't wait to see what $2000 buys 8 years from now.
It is remarkable to me how rapidly technology has evolved since I last worked on DirectX. When DirectX 3 shipped in September of 1996 (I didn't finish DirectX 5, I moved on to work on Internet Explorer half way through), the minimum requirements were a 486 66MHz with 8MB RAM, with a recommended Pentium 60MHz with 16MB of RAM, and a 2D/3D card. State of the art when DirectX 3 shipped was the ATI 3D Rage II, that promised 3D acceleration up to resolutions of 1280x1024, and came in 2, 4, and 8MB configurations.
My new Alienware PC seems to stack up OK against the DirectX 3 recommendations. Dual, count'em dual, ATI Radeon X1900 XTX video cards. Each with 512 MB of RAM -a long way from an 8MB max configuration. So check that box, "OK on video". At the heart of my ALX is an AMD Athlon 64 FX-60 dual core processor that whups the ass of the Intel Pentium 4 EE 955 dual core processor. While GHz (forget the sad MHz of 1996) doesn't matter any more as it is all about what can you get done in one clock cycle, not how many clock cycles are available, never-the-less, let's note that the 2.6 GHz processor certainly meets the recommended Pentium 60MHz level for DirectX 3. And of course, dual core is pretty close to 2 processors in 1, so I'm thinking I'm well covered. And the 2GB of uber-fast RAM meets the 16MB minimum recommendation, as well. My Soundblaster X-Fi with 64MB RAM appears to meet the sound card requirement of "sound card from Creative Labs". And while storage is not a DirectX 3 requirement, my ALX has two Western Digital Raptor 74GB SATA 10K RPM drives in a RAID 0 configuration with a 500GB storage drive to boot, so I'm ahead of the game.
I boldly inserted my DirectX 3 CD and ran the samples. My personal favorite is FoxBear (I spent far too many hours working on FoxBear in the day), and amazing - code from 1996 targeted at Windows 95 runs on Windows XP SP2. And good ol' FoxBear runs great at 2560x1600, rate limited at 60 frames per second, the refresh rate of my monitor. Immortal Klowns (our tongue-in-cheek version of Mortal Kombat) worked great, as did RockEM3D, our rock-em, sock-em robots take off. Amazing.
Before these CDs suffered terrible bit-rot, I figured that since they were publicly available in their day, it should be OK for them to be publicly available today. So if you just can't help yourself, I present for your (perverse) enjoyment:
And for the truly bored, the full specs of my Aurora ALX are in the extended section below... things have come a long, long way in the past 10 years.
I finally ordered my new gaming PC on the weekend (more on that in Part 2), and looking at the specs got me thinking about the amazing way things have changed since I started work on Direct X over 11 years ago. In November of 1994, 2 friends of mine (Alex St. John & Eric Engstrom) & I had what we thought was a simple idea - what if it was possible to give game developers access to the high end features of video cards? Would games finally migrate from DOS to Windows (specifically, Windows 95 back then)? Could Windows really be a gaming platform that could compete with Sega and Nintendo? At the time, it wasn't clear there was any way this could possibly happen. The efforts that I inherited when I went to work in the Windows 95 multimedia team were WinG, a port of bitmap APIs from Windows 95 back to Windows 3, and DCI, which gave access to the frame buffer of a video card but ignored all of the other cool features that were in video hardware.
The three of us figured we could do something about it, so that December Eric & I wrote a powerpoint and presented it to a bunch of game developers that Alex brought up. Thus was born a mad dash to build something to change the game so that high end games could run. We had to get to beta for the Computer Game Developers Conference (CGDC) in April of 1995, and I didn't write the first code until Christmas break 1994 - talk about a mad dash! Since multimedia on Windows had a bad reputation back then, we were adamant not to have our stuff associated with "multimedia" and so we called the first beta the "Game SDK". We got the idea to name it DirectX because some reporter made of fun of how we had DirectDraw, DirectSound, and DirectPlay - Direct "X" they wrote. We took it and ran with it, and so every set of functionality became DirectSomethingOrOther (Direct3D, DirectInput, DirectSound3D all followed).
The video card hardware folks LOVED the idea of something that took advantage of their hardware. ATI, Cirrus Logic, and S3 (there were others I'm sure but those are three I remember) all came up to the Microsoft porting lab in building 20 to get their hardware to work with DirectDraw (I lived in building 20 with those guys for almost 2 months). After a huge push we had a beta ready for April - it only worked on the ATI Mach 64 card (with what was then a huge amount of RAM - 4 megabytes) and a Soundblaster card. We finished the beta with literally minutes to spare - I remember roaring down 405 at 120mph in Eric's Mazda RX7 after being up all night, racing to make the Saturday morning fed ex pickup so the CDs could be manufactured and shipped to us at the CGDC that Tuesday. The CDs literally arrived a couple of hours before we had to go on stage.
From April to September 30th of 1995 is a giant blur, but we pulled it off, and a bunch of games shipped for Christmas 1995 - and I got an ulcer and gained 25 or 30 pounds as an added bonus. We even pulled together a CD with bunch of games on it that went into retail stores. The games had "high end" requirements of a Windows 95 PC with a 486 66mhz processor, 8mb of RAM, and a 256 color display card.
After we shipped DirectX 1, I took a vacation for about 3 weeks while Eric & Alex went to Japan to launch DirectX 1J. I heard stories of sushi on the face - they were quite popular in Japan, those two. While they were busy insulting a millenia old culture, I bought a Mazada RX7 and drove it home - having never driven a stick before. I used those weeks to teach myself to drive a standard transmission, and only had to have the clutch replaced after 4000 miles.
The next two versions were done less than a year later and were equally mad dashes - we shipped DirectX 2 on June 5, 1996 and Direct X 3 on September 15h 1996. Alex pulled off a way cool launch party for DirectX 2 at the Computer Games Developers Conference in April of 1996. 'Pax Romana' was the theme, with a playboy playmate playing Cleopatra, live lions and our own DirectX coins. The Hospitality Suite sign was from that show, and it stayed in my office at Microsoft for years (it now lives in my home office). While in my office at Microsoft, it had a clever edit from a co-worker that changed the "Hospita" to "Hosti". With that simple edit, my office forever became known as the "Hostility Suite" - a badge I wore with pride for years!
For the DirectX 3 launch that fall, we took over a part of "Red West" (the first off-campus building set Microsoft built) and did a huge Halloween launch party. There were Doom tournaments, a haunted house with some band where the lead singer dressed as a giant penis, and Alex, Eric & I dressed in demon outfits. All I remember of that skit was Alex and Eric doing a bit about arguing about whether horn width or length mattered and I came out wearing a giant set of horns ($500 buck custom job) and them shaking their heads and agreeing that horns didn't matter. DirectX 3 was where we first launched Direct3D, based on the technology of Rendermorphics, a company we acquired earlier that year.
After DirectX 3, we had planned a DirectX 4 for December 1996 that would allow access to some special features that Cirrus Logic was going to put into laptop video chips (I think, its been 9? years). When the chips got delayed, we opted not to ship DirectX 4 as it had us in a huge rush (3 months between 3 & 4) for no reason. We had also told the game developer community about Direct X 5 that was targeting summer of 1997, and so we decided to simply skip DirectX 4 rather than confuse people. DirectX 5 shipped on July 16, 1997 - and to this day, people ponder about what happened to DirectX 4. So much for avoiding confusion.
Around the end of DirectX 1 or the start of 2, we had a military coat made with the radiation logo and "Team Direct" put on it. We also had some patches made with code name of each project each time we shipped a version. You will never be able to pick out the theme...
Now here we are in 2006, DirectX is is on version 9, and the PC hardware for games is not to be believed - but more on that later. On a final note, I have seen internet debates of the dates of shipment of the various versions, so I thought I would set the record straight: here is my first "Ship It" block from Microsoft, and it has the dates of each release.
Last updated September 25, 2012
I was born in Regina, Saskatchewan, Canada, but after 7 years of gradual relocation across the country, grew up in Thunder Bay, Ontario, Canada. I attended the University of Waterloo, and during my time as a co-op student worked for around 1 1/2 as a systems programmer hacking MVS for a large bank. I also did a year and a half long stint as a grad student in mathematical physics before deciding that it wasn't for me and getting a job with a development tools company called Watcom. I didn’t think I’d see another convocation at Waterloo, but I was summoned back in June of 2009 (20 years after the last time – wow time flies) to receive the J.W. Graham Medal in Computing and Innovation – go figure.
I was at Watcom for about 3 years (from 1990 to 1993) where I worked on debuggers, compilers and even a 32-bit Windows Extender (which people cared about in 1991 and is as irrelevant to technology today as Loverboy is to music). Watcom was eventually acquired by Sybase, and all the old Watcom tools code is now available under open source from OpenWatcom.org.
While at Watcom, I became friends with a Technical Evangelist named Eric Engstrom who talked me me into interviewing at Microsoft, and before I knew it, I ended up moving to Redmond, WA in June of 1993, where I worked for the Windows Marketing group as a Technical Evangelist. A little less than a year later I moved to the Windows 95 team to work on Multimedia. After working on some projects related to games & high performance multimedia, a couple of friends (Alex St. John and Eric) & I got frustrated with what was being done and started work on something that was briefly know as the Game SDK for Windows 95, but we called it DirectX by the time we shipped the first version. I was the development manager of Direct X from the inception until half way through version 5. Eric & I filed for a few patents related to DirectX along the way. I blogged about my DirectX memories here.
The internet push for Microsoft got into full gear by late 96/early 97, and I went to focus on Internet Multimedia, where we worked on inserting a lot of cool high-end 3D into Internet Explorer. After Internet Multimedia, I was the general manager of the Windows Media Platform Group from April of 1998 (it was called Netshow when I first took the job) until I left Microsoft in January of 2000.
I was the CEO of a Redmond based wireless software company, Action Engine, from January of 2000 until March of 2004. It was a great experience - raised around $35. 5 million over the 4+ years, built a ground-breaking client-server platform that was deployed by wireless operators around the globe, and drove significant revenue growth along the way. I was even a Seattle 40 under 40 winner; of course, that was back in the good old days when I was actually under 40.
Right before I left Action Engine in early 2004, I did an interview with UW TV that goes through most of the above.
In June of 2004, I moved back east to Virginia and joined America Online (a subsidiary of Time Warner, where I kicked off the company's standardized cloud platform efforts before focusing on wireless once again - from early 2005 until I left AOL, I was the general manager of the AOL Wireless group. On August 8th, 2005, AOL announced the acquisition of Wildseed and the formation of AOL Wireless. There was a quite a bit of press coverage, here is a sample: Reuters USA Today The Register Seattle PI Seattle Times.
We did a lot of really fun stuff in AOL Wireless, like launching new WAP services, launching XT9, expanding the reach of mobile AIM, making it easy to migrate from the desktop to mobile, and my favorite thing, the launch at CES 2007 of our Smartscreens portable media hardware & software reference design with Haier America (more detail was provided in Haier's CTIA announcement).
I left AOL in February 2007 to rejoin Microsoft - for me, it looks like all roads lead to the world's largest software maker (even if it means moving across the country and back again). After spending a couple of months investigating different options inside the Entertainment & Devices Division, I became the General Manager of the Macintosh Business Unit, where I got to have a blast working with a great team shipping Office 2008 for Mac and helping to set the course for the next version of Office for Mac.
In March of 2009, I became responsible for Microsoft's Entertainment Client Software group. We shipped Media Center for Windows 7, brought the Zune Service to Xbox (now Xbox Video and Xbox Music) and the PC, and shipped the Windows Phone PC companion app - and along the journey, improved our content pipeline and brought our entertainment service to multiple new countries.
A reorg struck in early 2011 that gave me what I consider the coolest opportunity in my career - I was given the charter to build a team from scratch and bring Kinect to the Windows ecosystem. It's been a hell of a ride these past 18 months - the team has scaled up, we've shipped 3 major versions of our software stack and brought the hardware into 38 countries. And this is only the beginning. I believe in a future where computing moves into the background and where computers learn us, we don't learn them. Like Star Trek, only better. Check out our blog!