Brad Wardell's Blog


This week in skinning

Published on Saturday, July 16, 2005 By Brad Wardell In OS Customization

There's a lot going on in skinning this summer.  And with with the Longhorn beta about to start, get ready for a ton of Longhorn-style themes to be made.  If you're in the beta, you'll be happy to know that the current version of WindowBlinds that's available to Object Desktop users should work fine on Beta 1 of Longhorn.  Only gotchas are that the Start menu has an entry field that obviously existing skins will have some cosmetic issues with and the same for the new toolbars.  We'll have to come up with some way for existing skins to be able to cover these new controls and look nice and then extend the format to support these new controls.

But for XP users, the next few weeks should bring some Longhorn-style stuff.  One thing that pains me as I look over other websites are all these..ahem.."make over" utilities that will completely change your system to look like something that do so by patching your resources.  Yuck.  I mean, hat's off to the guys who do all that work but the idea of patching my resources on disk sends a chill up my spine. People will be trying to get rid of that stuff for months.  So we did release a new Theme Manager that we hope will encourage people to make .suite files.  I'm going to make a Theme Manager .suite of a Longhorn theme soon so that people who want a full make-over can have it without messing with their system files.  I'll talk more about that next week.

The Dangeruss project continues with some new skins updated by MikeB:

Read the link below for a full recap of last week!

This week in skinning

Published on Friday, July 15, 2005 By Brad Wardell In WinCustomize News

This week there were a lot of noteworthy software releases.  First off, there was ObjectDock 1.2.  This version of ObjectDock was notable, for me anyway, for two things.  The first thing is that it is the first and only dock that supports interesting alternative mouse-over effects.  I'm using one where when I mouse over items on the dock, the icons swing (rotate) back and forth.  It's a really cool effect with a bit of physics thrown in for good measure.  The other cool thing that wasn't even mentioned is that it has a new, much more robust file saving system.  I have had a couple of incidents where my dock was somehow erased -- one time just as I was about to give a demo of it.  I asked Jeff to redo how he does that stuff and since then, no lost docks. 

And with ObjectDock's release, here are some cool ObjectDock released stuff for this week:

Web Gizmo's Spectre ObjectDock skin is really nice. And I make no bones about pimping a game Stardock is distributing called Gish. But here's an ObjectDock icon for it. Web Gizmo has a bunch of other cool stuff too for ObjectDock so you should just check out his personal pageIt's ranked 142th overall as I type this, I wonder what it's rank will be by next week.   I wish there were more good docklets out there for ObjectDock.

Another thing that got released this week was IconDeveloper 1.2.  It hadn't been publicly updated in nearly a year and countless fixes and tweaks were made to it that aren't really mentioned but for me, it had a couple of really cool features such as being able to turn GIF files into Windows XP icons and the ability to export ICLs into individual icons which I find very nice since many icon packages are now .ICL files (one file full of icons) but when I want to decorate things, I need individual icon (.ico) files.  IconDeveloper can now do this.  Just select all the icons, right click on them, and choose export.

 Yangge (rank 17) has been working on an icon series which is looking pretty good. Mormegil (rank 2) is working on more icons too. He is also has said he's going to be updating his existing icon packages to IconPackager 3 level -- hooray!   Speaking of IconPackager, that iprepair.dll feature has been a pain and a lot of people have reported problems stemming from it.  We've done several updates of IconPackager 3 to see if there's a happy way to get it to be more compatible but I suspect we're going to end up just removing it.  I believe that feature allows for certain additional icons to be changed that otherwise wouldn't be possible.  It works for most people but on a few systems, it causes all kinds of pain (you can just delete that DLL from the directory and that should "cure" the problem).

Currently inside Stardock we're working hard on getting DesktopX 3.1 out the door. DesktopX 3 will have heavily revamped widgets that come with it along with a number of brand-new widgets.  But what we think will be the key to DesktopX's future isn't widgets but rather GADGETS.  Gadgets are the same as widgets except that they don't require the parent program to be installed.  The million-dollar question is, will gadgets trump widgets?  So on the low-end you'll still have DesktopX Client which is only $15 and lets you run widgets and apply .desktop files.  And at the high end will be DesktopX Pro which is $70 but lets users export their widgets as stand-alone programs (gadgets).   After all, it's kind of odd to go to some guy's site who has created something neat and then have them  "Oh, btw, I know I've made this neat program but you need to go to this other guy's site and download this 10 megabyte program (and pay that other guy) in order to use my program."   With skinning programs, like WindowBlinds, it's pretty apparent what the value of the skinning program is.  But with widget enabling programs, I don't think it's quite as clear.  I think one of the reasons why widgets seem to be stuck at the "Look, it's a clock" or "Look it's an RSS reader" is because no one wants to spend the time to make something truly sophisticated only to tell users they have to go to some other site to download another program (and pay for it) in order to use theirs.  Gadgets solves that. DesktopX 3.1 should be ready in about ten days. 

Speaking of widgets, here are some cool ones that came out this week:

With all the hype that widgets get, it's easy to forget that what most people seem to prefer is not to put little do-dads on their desktop (I like to have gizmos on my desktop) but rather have a complete replacement desktop environment. Alpha-Omega (rank 104) has delivered the goods with his new, designed for DesktopX 3, LCARS desktop. You have to be running 1280x1024 in order to use this one as it's designed explicitly for their resolution.  It's possible it might work at 1600x1200 but I wouldn't count on it.   Mountain Dragon has released his first DesktopX-made desktop called Dragon Desktop. I haven't tried this, it also requires 1280x1024 resolution to use I believe and it's his first try to be warned.  But it looks neat.

Before anyone asks, I didn't find any boot screens or logon screens this week that I liked in particular.  But if you're curious to know what my boot screen is here, it's THIS.  My Logon is THIS.

With the Longhorn beta about to start, get ready for a ton of Longhorn-style themes to be made.  If you're in the beta, you'll be happy to know that the current version of WindowBlinds that's available to Object Desktop users should work fine on Beta 1 of Longhorn.  Only gotchas are that the Start menu has an entry field that obviously existing skins will have some cosmetic issues with and the same for the new toolbars.  We'll have to come up with some way for existing skins to be able to cover these new controls and look nice and then extend the format to support these new controls.

But for XP users, the next few weeks should bring some Longhorn-style stuff.  One thing that pains me as I look over other websites are all these..ahem.."make over" utilities that will completely change your system to look like something that do so by patching your resources.  Yuck.  I mean, hat's off to the guys who do all that work but the idea of patching my resources on disk sends a chill up my spine. People will be trying to get rid of that stuff for months.  So we did release a new Theme Manager that we hope will encourage people to make .suite files.  I'm going to make a Theme Manager .suite of a Longhorn theme soon so that people who want a full make-over can have it without messing with their system files.  I'll talk more about that next week.

The Dangeruss project continues with some new skins updated by MikeB:

Boxxi (rank 28) was active this week with some cool new skins too for WindowBlinds. VStyler made a Transformer skin.  JJ Ying (rank 10) Made a T&rget WB skin which I really like and am running right now.

Here are some wallpapers I ran into this week that I liked:

I really found that I liked a lot of Dezin's (rank 80) wallpapers.

So that's all for this week. 

Debugging vs. Robust coding techniques

Published on Friday, July 15, 2005 By Brad Wardell In GalCiv Journals

The team is getting features in like a well oiled machine.  The new research screen just totally rocks. Kudos to Mudflap and Mormegil for getting that stuff humming.  BoogieBack and the Elf Girl (doncha just love these handles) made good progress for getting the new star base system in and the new freighters in.

Our newest team member, Jesse (no cool handle yet), has started on the ship battles.  We want the ship battles to be really impressive and we want ships to show damage.  Ever see Star Trek II/III where the Enterprise has phaser burns and such? We want that kind of stuff.

The big debate this week is something that's kind of an on-going thing.  I've been writing games now for 12 years. That's games on store shelves.  I'm not a great programmer as I've mentioned many times before.  But my coding style does lend itself to easy debugging and easy readability.  I.e. I can go back and look at my code from 4 months ago and know what I was doing and in a pinch, put it through the debugger with all the important stuff just a click or two away in a debugger watch. 

But I wouldn't program an application the same way as I program a game.  Most of our business is creating applications.  And when it comes to applications, robust coding techniques take the lead.  A well designed application still needs readable code, but the odds of going in and tossing out features or algorithms in a typical application on a regular basis are not as high as they are in gaming.

In a strategy game, debugging becomes critical because debugging isn't about finding bugs.  Debugging is about fine-tuning game-play.  The last couple months of development usually mean, for me, spending 90% of that time in the debugger tweaking playability.  And that means having structures and objects and classes that lend themselves to being easy to view in the debugger.  To me, CString is the devil.  STL is a pain.  I don't like iterators. Which means I really don't like container classes.  I understand the need for those things. I just find them a pain to deal with when I'm debugging.

The last few months of Galactic Civilizations II will mostly be about tweaking the AI.  Why did the AI build this kind of ship? What did the AI put together a fleet with those kinds of ships in them? Why did the AI not build a particular structure on that particular planet? Where in the heck is that AI ship giong? Why are players running out of money? Why does the morale on a planet fall so low after a certain point is reached? Why did the AI not build a certain type of star base in a certain sector? Why did the computer player declare war on the human player when he did? Why didn't the AI recognize the threat posted by the human player? Why did the AI offer help to that player despite being morally opposite of him?  Why did the AI choose to build that ship on that particular planet? How did the AI see my starship when it was over here in the corner? Why did the AI put their spending ratios and spend rate at that level? Why did the AI send their freighter there?  How much money per turn is a particular trade route established between AI player 1 and AI player 2 costing?  How many shield modules does that particular AI ship have on it? How much time is it taking the AI to research a typical technology when on Average intelligence? How much difference is there between different AI intelligence levels?

The questions go on and on.  And those questions create many subsequent questions.  The answer isn't to put a bunch of debug print statements in the code, that would take forever.  The answer, as a practical matter, is to try to make it such that you can always look at a particular ship, computer player, planet, colony, improvement, whatever and with a few clicks be able to see the numerical value of it.  And moreover, to be able to code it in such a way that it doesn't take long.

That means things like Arrays and pointers. Not special array types, but good old fashioned pClassStarShip pShipsInFleet[MAX_NUM_SHIPS_IN_FLEET]; type stuff.  This is the kind of thing that drives seasoned developers crazy because it's so prone to causing bugs later on.  One slip-up in a for loop or something and suddenly you're getting unexplained crashes that can take weeks to debug. 

The way I've tended to deal with that is to break down my stuff into lots of small functions.  So things that could potentially introduce some overrun don't happen.  I also don't allocate memory on the fly.  In 12 years of game development, none of my code has ever used a Malloc.  And I've only recently (mainly because I'm had to adapt to other people's code) had to create instances of things on the fly and destroy them when I was done.  My code has traditionally only created new things at the start of a game and deleted them at the end of a game.  A single function for creating the stuff and another to wipe it out.  Everything else is created (and stays) so I'm not messing with memory leaks, memory overrruns, etc. 

And those people who have played our games know that they're traditionally quite solid.  I don't need a standard template library or a CString or other "stability via compiler" type stuff.   My way isn't better as any general rule.  But I believe it is better for game development on a game with limited scope (I wouldn't recommend this method for a development team of 20 people, it still requires pretty disciplined coding).

So that was our debate this week.  Things are going well though.  Beta 3 is going to rock.

IconDeveloper 1.2

Published on Friday, July 15, 2005 By Brad Wardell In WinCustomize News

IconDeveloper 1.2 has been released.  IconDeveloper is a program designed to make it easy for users and artists to create their own Windows XP icons.  Once installed, it can take nearly any image and convert it into an icon very quickly. It automatically generates all the common icon sizes and supports various advanced scaling algorithms to make sure that your icons look good at different resolutions.  IconDeveloper can also export icons as most common graphics formats.

New in IconDeveloper 1.2:

  • Ability to export icons into multiple graphics formats (PNG, GIF, JPG, BMP, etc.) at once.
  • Can export ICLs as individual icons (very handy for ObjectDock users for instance)
  • Ability to work with GIF files
  • Support for IconPackager 3 files
  • Numerous usability features

Screenshots:

IconDeveloper is available in both a freeware version and an enhanced version.  The enhanced version supports changing the color of icons, batch operations (converting entire folders of images into icons, changing the hue of a folder full of icons at once, etc.) and support for very large icons (128x128 and higher).   The enhanced IconDeveloper comes with Object Desktop (Stardock's suite of desktop enhancement programs) or stand-alone.

A History of IBM OS/2: 1991 to 1996

Published on Friday, July 15, 2005 By Brad Wardell In Personal Computing

I wrote this article quite a long time ago, but with the recent announcement that IBM has ceased production of OS/2, it bears republishing...

OS/2's fate was largely decided in mid 1991 when IBM made the decision that OS/2 2.0 would have the Workplace shell as well as "Seamless" windows. This decision ensured that OS/2 2.0 would not make it out by summer of 1991 or even the once definitive date of December 31, 1991. The reason this is important is because in April of 1992, Microsoft shipped Windows 3.1 and closed the door on OS/2's chances of replacing DOS/Windows as the general OS for the world.

Of course, it's easy to say that now. Who would have thought that back then. Windows 3.0 was barely being preloaded and it was too unstable as a corporate client to worry too much about.

But it was largely the workplace shell that delayed OS/2 and in hindsight it would have been better to release it for an OS/2 version 3 in 1993 and had kept the cruddy old Program manager type setup that was in OS/2 1.3. Because had IBM done that, OS/2 would have looked and felt like Windows 3.0 did except it would multitask, not crash, and run true 32bit software, and run existing Windows programs and it would likely have been out in 1991, nearly a year before Windows 3.1 was out.

Picture that. OS/2 2.0 could have come out as a 32bit, multithreaded OS that ran DOS (better than DOS), Windows and new OS/2 software. Was stable, worked great on networks, and had good performance. The only competition was the buggy Windows 3.0 which ran on top of DOS. The only thing different in this scenario than the OS/2 2.0 we actually had is this didn't have the WPS and came out 9 months earlier – before Windows 3.1 vapor could cloud the scene.

But as history wrote, OS/2 2.0 was theoretically released on March 31, 1992 (though most OS/2 buffs know that it really wasn't generally available until June).

By then, Windows 3.1 was out and was fairly fast and much more stable. Still not as stable as OS/2 was but any early user of OS/2 2.0 could tell you that the workplace shell of OS/2 2.0 was pretty flaky. Black icons, trap errors (i.e. the register dump kind), and of course everyone was using VGA and no sound whereas Windows 3.1 looked pretty, had SVGA support, and had some sound at least.

In the Fall of 1992, IBM made available the Service Pack for OS/2 2.0 and for some, a beta of Windows 3.1 (WinOS2 3.1) which made life much better for OS/2 2.0 users. By June of 1993, OS/2 2.1 was released which as its point upgrade name would imply, largely addressed the problems of OS/2 2.0.

It was with the release of OS/2 2.1 and the availability of MMPM/2 (the multimedia stuff for OS/2) that I began writing OS/2's first major commercial game (I say major because there were commercial black jack programs and such that came before Galactic Civilizations). The amount of attention that Galactic Civilizations received as a beta surprised most people including IBM. Suddenly, lights went on at IBM and the belief grew that OS/2 could be made into a general consumer platform.

In hindsight, this was probably a mistake since IBM wasn't prepared to do what it really took to be a good consumer product not to mention the consumer market isn't nearly as profitable per capita as the corporate product. A typical example of this is the Usenet Newsgroups. Lots of end user OS/2 users hang out there but most OS/2 ISVs make their money from corporate site licensing and service agreements. If every OS/2 user in the Usenet suddenly changed OS's tomorrow, it probably wouldn't affect OS/2 ISVs noticably (except most of their tech support calls would disappear). That's not to say that end users on Usenet aren't important, it's just that end users, as a general rule of thumb don't generate as much profit as a single IS manager who buys $50,000 in units and might make a couple tech support calls per quarter. Obviously end users matter to shareware authors and companies that produce entertainment software (nearly 15% of Stardock's revenue comes from its entertainment division). But back in 1993 or so, OS/2 as a mainstream consumer platform looked like a good idea. I sure thought it was but who knew how difficult it would be for IBM to try to create the infrastructure necessary to deal with massive numbers of end users.

But IBM dove into the consumer market head first and the result was OS/2 Warp 3. As with every release, IBM made a deadline and stuck to it regardless of the consequences. IBM's not the only one's to run into that sort of problem – giving into public pressure to meet a specific date and then releasing something that they thought was ready but probably needed just a couple more weeks of testing. The lack of Winbios support, and a config.bak problem tarnished an otherwise wonderful product.

Warp 3 went out and get nailed because of installation problems. Coincidentally, of course, in October of 1994 (when Warp 3 was officially released) Microsoft released the big "Chicago" beta which became Windows 95 later on. The press, which seems to generally prefer to talk about vapor than substance essentially reprinted Microsoft's Chicago reviewer's guide (while OS/2 users complained that the guide was in Word 6 format which had just come out too). OS/2 Warp 3 ended up being compared to the unreleased Chicago (i.e. what Chicago would be when it came out which changed from day to day).

By embracing the end user market, IBM created the biggest technical support nightmare that the IBM company may have ever seen. The #1 tech support report for OS/2 Warp 3 was not how to get TCP/IP stacks going or how to link Novell up with OS/2 clients, or how to make sure DB/2 would work on the new version. No, it was "How do you get DOOM 2 to run on OS/2 with sound?" IBM has a highly paid, highly trained technical support staff that was meant to deal with Fortune 500 companies who had paid millions of dollars for software and hardware from IBM. They weren't prepared to have to deal with a bunch of people trying to run video games and the support costs from this really hurt PSP at the time. This probably has a lot to do with why PSP today goes out of its way to discourage "kitchentop" users because they don't want to support every new user that wants to play some video game on OS/2.

So IBM ends up having tens of thousands of phone calls pouring in over trivial issues while the product sells at the local CompUSA for $89.95 with a good $30 of it going to third parties (mostly Microsoft) in royalties and another $10 in manufacturing costs. With Warp 3, IBM did the good fight and basically went at it by not trying to make a profit on it but to get market share. Critics of IBM always say that IBM didn't try hard enough but with OS/2 Warp 3. They did and they were having good success for awhile. IBM's marketing program was ineptly done to quite an extent (and indeed in a Winter 1996 meeting with IBM's ad agency I questioned them about what the heck they were thinking in those terrible TV ads). But OS/2 was indeed taking off and certainly making Microsoft nervous. In the Winter of 1995, Bill Gates is said to have remarked in frustration, "How can we compete with something that seems to have unlimited funds thrown at it?" (This was reprinted in the trade magazines from the time). It was IBM's next move though that got PSP and OS/2 into serious trouble: OS/2 for the PowerPC.

Around this time IBM was getting pretty giddy, while Windows 95 wasn't out yet, IBM was spending huge amounts of money on marketing and courting partners. An IBM business partner can gauge how important they are to IBM by the number of duffle bags they get in a given year. 1994/1995 was a big duffle bag year if you were an OS/2 ISV or partner. It really looked, despite a few bumps in its initial release, that OS/2 Warp could capture a good 15% to 20% of the general OS market. IBM was courting hardware vendors as well as software vendors to work with IBM. We'll talk about how many of these "partners" blatantly took advantage of IBM's good faith later.

The PowerPC version was also born of this vision of seeing OS/2 finally taking off and trying to expand on that success. Confident that any technical issue could be surmounted, they believed that Workplace OS (as Power OS/2 was called in those days) would run several OS's at the same time. Many people, even at the time, thought IBM might be jumping the gun a bit. OS/2's success on Intel wasn't exactly cemented yet even though things were looking up. Nevertheless, IBM worked on the PowerPC version of OS/2 for a couple of years with high amounts of resources really starting to pour in right after the Warp launch so that Fall Comdex 1994 you could already see OS/2 apps such as Desktop Observatory and Sundial's Relish running on the PowerPC version of OS/2 (as long as you didn't move the mouse). Unfortunately, popular rumor doesn't make fact and the rumor – that still exists today that the x86 chipset is at the end of its design limits was and continues to be simply not true (any computer engineer can tell you that any chipset can essentially be extended forever if you have enough money which Intel does). Someone with power at IBM convinced the powers that be that Intel couldn't really boost the speed of the x86 process line much more than where the 486 was already. The mediocre performance of the Pentium 60 made the case stronger. So IBM believed that they could create a processor for PC's that was several times faster than the Intel chips and do so very cheaply.

When this failed to happen, not only did he PowerPC not take off as a new platform (other than Macs which weren't competing with 680x0 chips at this point), it made OS/2 for the PowerPC useless. Years of work and energy had poured and subsequently wasted on OS/2 for the PowePC. The final version of it (which does exist) doesn't even have networking. This sort of thing tends to really take the wind out of one's sails.

Not only did it take the wind out of many in PSP, but it angered the other parts of IBM which lost their faith in PSP to deliver product in a timely fashion. It is my belief that the failure of OS/2 for the PowerPC to be delivered on time helped spell the doom of PSP getting funding from Lou Gerstner. In his mind, I believe, PSP had blown their chance. PSP got isolated from the rest of IBM to a degree because of this (in my opinion of course).

Even worse, projects are usually comprised of a handful of truly critical people. For example, OS/2 SMP was largely done by a single person who later left which is (so I hear) one of the reasons why it took so long for OS/2 SMP to get updated (this is rumor keep in mind). So imagine yourself in their shoes, you just spent 1 maybe 2 years working on the biggest greatest project of all time to have it be for nothing. This was a scenario that would repeat itself later with OpenDoc. What ends up happening is that many truly talented people end up leaving. IBM lost a lot of key developers because of this kind of frustration. The mega-team that delivered miracles in the form of OS/2 2.0 to OS/2 3.0 began to dwindle.

OS/2 for the PowerPC's doom was half PSP's fault for not getting it out on time and half the PowerPC chip's group's fault for not delivering on the promise of next generation performance.

When Windows 95 came out, it came up against OS/2 3.0 that was pretty much unchanged. Much of the developer resources at IBM that could have been putting new features into OS/2 had been working on PowerPC for OS/2. Instead of using money to get more third party support on OS/2 Intel, monetary resources for third parties were spent encouraging ISVs to write to the PowerPC, trade shows, etc.

Again, all this is in hindsight and at the time, most of the decisions made some sense. But when Windows 95 came out, contrary to popular belief in the OS/2 camp, it was not a bug-ridden, unstable piece of junk. It did the job and did it decently well for lots of people. Not nearly as good as OS/2 but Microsoft, the master of putting the carrot in front of the mule said "Win95 not stable enough? Not enough multitasking? No problem, just wait for NT 4.0 which will have that and run Win95 software…"

Part II: OS/2 "Warp"

At a particular IBM meeting in the Fall of 1995, one of the executives at O&M (IBM’s advertising agency) presented IBM’s next stage marketing campaign (The infamous Nuns ads and other solutions for a small planet ads).  Once he asked if there were any questions I quickly raised my hand…

Now before I tell you what my question was, I want to make clear that up to this point I had never “burned” any bridges with anyone at IBM.  My question though quickly set flame to one of my bridges with PSP…

In front of some of IBM’s top customers, I asked “Those Warp 3 ads with the surfer people…what exactly were you thinking?”  The O&M guy responded “We wanted to show that OS/2 was hip and cool to use.” I said, “Well, who exactly are you targeting? Are you trying to imply to the 15 year old market segment that if they use ‘Warp’ that they’ll get beat up less at school?  You could have shown how OS/2 was a good and beautiful OS that increases productivity but instead wasted the advertising campaign promoting OS/2 as something you use after surfing!”  At that point, the IBM customers laughed and then applauded for they felt the same way.   I knew my question would stir trouble but after seeing all the posts and meeting all the OS/2 users who were frustrated at how poorly the USA Warp 3 marketing campaign was launched, how could I not seize the opportunity to bring this up to the specific people responsible for those horrible ads?  It turned out that the presenter was one of the actual people who came up with them.  Ironically, my question helped cement the Stardock/Vobis pre-load agreement since they felt the way I did.  It should be noted that we are talking about the USA OS/2 ads.  The European ads were quite good.

Comdex 95, the end of the world.
It was by Comdex 95 that Lou Gerstner had told PSP that OS/2 Warp for the PowerPC had to be done.  IBM PSP failed.  IBM had invited Stardock to demonstrate in the PowerPC tent that year but we declined since we knew of this rumor and knew that Power OS/2 (as I liked to call it) would no way be done by then.

One of the things that made OS/2 relatively successful was that within IBM there were contingents of OS/2 advocates.  People who lived, breathed, and slept OS/2.  I won’t name names here but in Austin, in the United Kingdom, in Germany, in Denmark, and speckled elsewhere were people who made things happen for OS/2 even though they didn’t have executive level positions.  Because of them, they were able to get things to happen that would otherwise not have.  It was, for example, an IBM contractor in Boca Raton who “discovered” Stardock, got IBM to port DOOM (well before Microsoft had thought of it), got video tools put into OS/2, etc.  Most of IBM is pretty indifferent to the world.  Many IBMers think of their jobs as the thing they do between weekends.  So when you get the IBMer that is an advocate of something (like OS/2) he or she can have great impact.

I mention this because at Comdex 95 two things became clear.  #1 Because Power OS/2 failed to meet its deadline, PSP was doomed from a budget point of view.  And #2 Microsoft, ever paranoid of PSP, had spared no expense in promoting Windows 95 (and hinting that NT 4 would solve any remaining problems Win95 didn’t solve).  As a result, many of these advocates saw the light at the end of the tunnel as the freight train of the Microsoft marketing machine.  These IBMer OS/2 advocates had hoped to make OS/2 the dominate platform. But Comdex 95 made it clear that OS/2 would be, at best, a niche.  Thus began the great exodus of IBMer OS/2 advocates to either different parts (i.e. NON-PSP) of IBM or out of IBM entirely.  Even David Barnes eventually went to Lotus (even though he still loves OS/2).

Taking Stock of the Situation…
It’s January 1996 and IBM has to assess the situation.  PSP is to be trimmed drastically, largely due to its handling of PowerPC OS/2.  The Warp 3 campaign was expensive and many of the “13 million” OS/2 users left OS/2 as quickly as they came (I could write an entire article on how ridiculous the claim is that there are ‘13+ million OS/2 users’ is). The IBMer OS/2 advocates were largely gone. And to add insult to injury many of IBM’s OS/2 “Business partners” not only didn’t produce anything but blatantly ripped IBM off.

The long time OS/2 ISVs, which, unlike the DOS/Windows ISVs who had received millions of dollars to bring their products to OS/2, had not gotten any money and subsequently had not noticeably grown (except mainly for Stardock which had moved into the lucrative desktop management and utility market).  In short, IBM spent millions on DOS/Windows ISVs in an effort to get them over on OS/2 and these ISVs largely took IBM to the cleaners.  But IBM largely ignored OS/2-specific ISVs and thus they remained small <10 person shops in general.  Some people always give the suggestion that IBM should pay Windows ISVs to port to OS/2 – IBM tried that and got the short end of the stick.

But the fatal flaw (in hindsight) in the strategy is that IBM could have spent the money to help the OS/2 ISVs become big companies that would have been loyal and been able to produce “Class A” products instead of paying big companies to port their class A products to OS/2.

Again, even though to the average OS/2 user it may not seem like a big deal, OS/2 for the PowerPC is what did the most damage to OS/2 --in terms of wasted developer energy and in making the rest of IBM lose faith in IBM PSP (which in turn vastly cut PSP’s budget).  It wasn’t Microsoft that hurt OS/2 the most, it was OS/2 for the PowerPC.

So IBM’s options in January of 1996 were pretty limited.  They had blown much of their third party support money trying to get various (unnamed here) Windows ISVs onto OS/2.  Those companies largely took the money and never delivered anything. Since IBM was slow to enforce their agreements (and the agreements were structured in a half now, half later payment schedule) and now (1997) PSP doesn’t have the money to pay the other half so they just terminated all the outstanding agreements.

So now they didn’t have any money to help mature the existing OS/2 ISVs.  Most of the people who had worked on the core parts of OS/2 were contractors who were long gone (back in Boca Raton) so Warp 4 couldn’t have too many fundamental changes to it.  The marketing campaign would be very small due to budget cuts.  What were they going to do?

In February of 1996 I flew to Austin at the request of PSP.  At this point, Stardock’s market share in the OS/2 market made us the clear leader in independent native OS/2 software.  Since we were continuing to release more and more OS/2 products, IBM was interested in what Stardock thought about OS/2 Warp 4.  At this point, JAVA wasn’t even on IBM’s radar screen (yes, I realize that seems hard to believe but it wasn’t until Spring that JAVA really came into the scene).  Warp 4 was going to add in OpenDoc, Coaches (which is where a big chunk of development money went), an updated UI, Smartcenter (later called WarpCenter), a system object similar to Windows 95’s, and a number of other features that had been hanging around PSP and other divisions of IBM but hadn’t made it in before because of IBM’s rigorous testing methodology (which any IBMer could write books about).

At that meeting it became pretty clear that the development resources at IBM had disintegrated since the glory days of OS/2 2.11 and 3.0.  Basically, PSP no longer had enough developers who were familiar with the core code of OS/2 (much of OS/2 is still written in assembly).  This meant no dynamic caching, no multiple message queues (though one heroic PSP developer did much to work around the problem which is in Warp 4 and FP 17 or later), and no major changes to SOM and such.  When asked, with these issues in mind, what I thought many users would like to see in Warp 4 I said (in this order): Make WinOS2 look like OS/2. Modify the file dialog to see long file names on FAT.  Add TrueType support. Simplify the desktop (i.e. fewer objects on the desktop, sort programs by their type – applications, utilities, etc. instead of Windows apps, OS/2 apps, DOS apps, etc.). And make the networking more intuitive.  While some of the suggestions went in (true type, simpler desktop, and more intuitive networking) the biggest suggestions were left out.  Stardock had planned on putting in an enhanced file dialog into Object Desktop 1.5 but chose not to in hopes IBM would do it.  The same is true for making Windows programs look like OS/2 programs.  These two things alone would have made OS/2 much nicer to work in.  The True Type support was done very poorly, giving OS/2 fonts a very ugly look.

JAVA? Cool, who needs OS/2 ISVs?
Now, sometime in the Spring of 1996, a new mood began to perpetuate about the upper levels of IBM.  That mood was, “we’re going to JAVA, we don’t really need our existing OS/2 ISVs so we’ll not worry about what we do that might hurt them.”

Examples of this included screen shots of “Merlin” from IBM which were nothing more than Warp 3 with a modified PMMerge.DLL, Object Desktop installed, and NPS installed.  This created the impression that OS/2 Warp 4 (Merlin) would make Object Desktop obsolete. This devastated our sales at the time – a time when Stardock was co-sponsoring the IBM technical interchange with IBM and Lotus.  But it wasn’t just Stardock that IBM stepped on.  IBM implied strongly that Merlin would come with a full blown tape backup package which hurt ISVs like CDS and MSR.  And, IBM went on to imply that Merlin would come with security features which likely had effects on Pinnacle (the leader in high security OS/2 software) as well as, again, Stardock which was previewing Object Desktop Professional which secures OS/2 desktops.  So until Merlin actually shipped, we had to battle the erroneous perception that Merlin would have many features that competed with Object Desktop.

IBM also decided to publicly tell users that OS/2 should not be used for playing games.  This statement, only a few months after IBM aggressively lobbied ISVs to bring games to OS/2, had devastating effects.  For example, when IBM positioned OS/2 as a game platform, people quit their jobs to start companies dedicated to writing for OS/2.  Excellent games such as Trials of Battle, from Shadowsoft, Bug Eyed Monsters from Grinning Lizard, and others sold less than 1/40th of what Galactic Civilizations II had sold.  Sales from these games wouldn’t even pay the salary of a single developer to live on leaving some of these people with not just disappointment but serious debts!  IBM had nothing to gain by telling people what OS/2 wasn’t but they did so anyway.

So by summer of 1996, it seemed like aliens had taken control of once benevolent powers at PSP.  At this point, the well respected columnist Wil Zachmann began to notice the aforementioned budget cuts PSP had suffered (whether he realized this was due primarily to the PowerPC debacle and not just Microsoft I don’t know).  Unfortunately, he concluded that these budget cuts meant IBM was essentially abandoning OS/2 and publicly announced this.  IBM hadn’t abandoned OS/2, they had merely given up on trying to take over the entire OS market.  Make no mistake, IBM had wanted to make OS/2 THE general purpose PC OS.  But by mid 1996, IBM was positioning OS/2 as a niche OS.  They hadn’t yet figured out where it would fit but JAVA was looking promising and they had the voice type stuff floating around that PSP had managed to forcibly obtain from another IBM division.

Internal debating at IBM was between two warring parties: Either [A] Position OS/2 as a high end OS where people would talk to their OS and do poweruser type stuff with it or [B] Make OS/2 the ultimate JAVA client.  They were mutually exclusive goals but it wasn’t until after Warp 4’s release that IBM decided on a course (choice .

During the summer, IBM vigorously courted Netscape to bring their browser to OS/2.  IBM, having learned from previous experiences with “business partners” assigned some of their best developers to work on sight at Netscape to bring Navigator to OS/2.

The Warp 4 Launch…
If anyone doubted that IBM had pretty much given up on its native OS/2 ISVs, a trip to the Warp 4 launch would bring them around.  Stardock and Pinnacle were the only long time OS/2 ISVs that had a booth at the launch.  Ironically, IBM didn’t even seem concerned that Stardock had actually released a product that integrated the user’s desktop into the Internet – Object Desktop Professional’s object advisors (patent pending).  Stardock was there because of our workplace shell leadership and Pinnacle was there because of their leadership in the security market.

IBM had never resolved what OS/2 Warp 4 was supposed to be for.  It was the JAVA client you could talk to that had a kind of working Win32 API (open32).  Problem was, JAVA on OS/2 was slow and implemented so poorly on base Warp 4 to be useless.  Voicetype was a niche that required a ton of memory and was incompatible with many programs that used sound.  And Open32…well, it had more issues than this article room for.

That’s not to say that Warp 4 wasn’t a good OS and a worthy upgrade – it is.  But a successful product requires it to have a defined market, good distribution, and be technically sound.  Unfortunately, most OS/2 users even now aren’t sure who OS/2 Warp 4 is for.

Sales of OS/2 Warp 4, to put it mildly, did not live up to the glory days of Warp 3.  Many people just didn’t know why they needed to upgrade.  OS/2 Warp 3 with FP26 is pretty incredible.  If Warp 4 simply brought a slower version of JAVA and VoiceType why should people (especially corporations) upgrade was the general consensus.  Many of the sales came from an unexpected source – end users who, as this point, IBM wanted to go away.

So as 1997 began, OS/2 Warp 4’s market share became clearly a niche.  And it became clear that regardless of what IBM said or did, OS/2 would remain the choice of many “power users”, consultants, and corporations.  It also became clear that, for the first time, OS/2 was getting a life of its own.   That is to say, IBM had provided this wonderful 32bit, multithreaded, objected oriented OS and third parties and users had gotten together and begun to actually take the reigns away from IBM.  “The OS/2 Marketplace” developer’s conference was created by the Phoenix OS/2 Society – not IBM.  In October 1997, an OS/2 trade show, created by OS/2 users called Warpstock arrived.  In short, it could be that 1997 was the year that the third party proponents of OS/2 stopped riding IBM’s coat tails and took action on their own behalf.  Actions that will expand its customer base in areas IBM wouldn’t expect, enhance the OS in ways IBM cannot, and define what market segments OS/2 is for since IBM doesn’t seem to be sure where OS/2 fits in.

By 1998, mot OS/2 ISVs had either left or started to go under.  Most disappeared.  A few, such as PowerQuest, successfully made the full transition to Windows.  Stardock struggled to migrate to Windows but continue to support OS/2 (not that many OS/2 users appreciated the effort).  But by 1998, the game was over.  There was no coming back.  

Stardock tried to get IBM to license OS/2 to it to modify and resell but legal hurdles made it take so long that we finally had to give up on it.  Another vendor, Serenity, had more patience and a couple of years later was able to put together "eComStation".  But such efforts merely delayed the inevitable.  On-Line, I posted that I believed that the active OS/2 end user market was probably less than 5,000 users.  Indeed, I thought it probably less than 3,000 users.  That was back in 1999.  The number today is insignificant.

OS/2's defeat in the OS Wars was caused by a combiniation of IBM's incompotence and Microsoft's anti-competitive behavior.  But the real losers were users.  There was so many innovative concepts in OS/2 and IBM's engineers had all kinds of wonderful concepts in the pipeline (an OpenDoc based desktop, distributed computing in the client, work-group based development) long before such concepts began to show up elsewhere (and many never have shown up).

OS/2 is up there with Betamax as tales of better products losing out to better marketing.  For us, it was a wild ride and a great experience but one filled with a great deal of business tragedy.

The official death of OS/2 has arrived

Published on Friday, July 15, 2005 By Brad Wardell In WinCustomize News

The lingering death of OS/2 has come to an end.  9 years after the last major version of OS/2, IBM has officially announced what most observers (outside Usenet's comp.os.os2.advocacy) have known for years, OS/2 is dead.  IBM is directing existing customers to the Linux OS.

"We're making official what has been going on for quite some time," said Steve Eisenstadt, an IBM spokesman. "We haven't released a new version of OS/2 in nine years."

According to Eisenstadt, OS/2 has fewer than 80 customers that hold more than 10 licenses.

Stardock, from 1994 to 1998 was one of the leading OS/2 software developers.  Stardock's history on OS/2 can be found here.

WinCustomize Site issues

Published on Friday, July 15, 2005 By Brad Wardell In WinCustomize News

For the past couple of weeks we've had a number of website issues that we've been working through.

The first issue has to do with DNS.  The Secondary DNS server for this site was no longer up due to Stardock's move (Stardock was hosting the secondary DNS server for WinCustomize.com).  This has been corrected with Network solutions but it will take some time (a few days) for this change to propagate out onto the net.  This would cause extreme slowness of loading of pages, missing images, etc.

The second issue has to do wit a database bug that we're still in the final stages of tracking down.  This would cause "server too busy" errors and just crash the website entirely. We are trying to work through that as well and hope to have it clear soon.

Hopefully by this weekend things will have cleared up considerably.

Multiplicity 1.02 Released!

Published on Tuesday, July 12, 2005 By Brad Wardell In WinCustomize News

Stardock has released Multiplicity 1.02!

Multiplicity is a program for Windows XP/2000 that allows users to multiply their computing power by connecting multiple computers in an office together as a single computing platform.  It does this by establishing a high-speed network connection between each machine. A single "master" computer has a keyboard and mouse attached to it. The other computers in the room continue to have monitors connected to them. The user then assigns where each monitor is positioned in a fashion similar to setting up a multi-monitor setup.  The user can then controls the computer based on which computer's monitor the mouse cursor is on. Multiplicity sets up a universal clipboard between the machines (the Pro version even allows users to copy and paste files and folders between machines) allowing them to work together seamlessly.

Multiplicity is useful to a wide range of users including IT departments, testing centers, power users, gamers, and more.  What makes Multiplicity special is how easy it is to set up and how reliable it is to work with.  Version 1.02 includes enhanced machine detection allowing users who have Multiplicity installed on their machines to quickly connect them together.  It also includes new options for hiding the system tray icon and a few other usability tweaks.

Download: Multiplicity 1.02

How do you use Multiplicity?

Published on Tuesday, July 12, 2005 By Brad Wardell In Windows Software

So what exactly is Multiplicity and why should you use it?  Multiplicity is a program that allows users to take multiple computers in a given room and use them together as if they were one mega-computer.  It's not quite "distributed" computing but in the hands of someone who knows what they're doing, it can come pretty darn close.

The idea behind Multiplicity is that each computer in the room still has a monitor hooked up to it.  But only a single "master" computer needs to have a keyboard and mouse.  The computers are connected together via a network connection (wireless, direct ethernet, firewire, whatever).  Multiplicity can detect other computers that have it installed and allow the user to choose the physical location of the other computer (to the left or right of the master computer for example).  When the user moves their mouse cursor onto a screen connected to another computer, the user is then controlling that computer.  It's not remote control.  The monitors are still connected to their respective computers. You're just using one keyboard and mouse to handle your various computers. Multiplicity then sets up a universal clipboard between the machines which helps them work together as one. 

What makes Multiplicity special is its reliability and ease of setup and management.  It's incredibly easy to set up and manage and has a lot of usability options that can help make people highly productive.

Multiplicity is used by all kinds of people.  We've sold copies to test centers where a single person might want to be using several computers at once.  We've sold it to IT departments where the IT administrator might want to clear off their desks of various keyboards and mice and use just one set to control the various computers under or on their desks.  We've sold copies to graphics designers, 3D modelers, software developers, and power users.  We even have a lot of people using it to help them play games.

So how is Multiplicity used? Here are some specific examples:

Scenario 1: What do do with the old machine?

So you've got a new computer, but your older computer still has some life in it.  Do you just let it collect dust? And what about getting all those files off of it? Multiplicity can solve that. Just get a cheap old monitor and hook it up to the old computer and use it right next to your new machine. As you need a file from your old computer, just right click on the file, choose copy, and then paste it onto your new machine's desktop.


Scenario 2: The laptop of tablet PC user

Your main desktop has the better mouse and keyboard on it.  But you have a laptop (or tablet PC) that you use heavily.  Multiplicity is very handy for this. You can use your main desktop machine's keyboard and mouse to control your laptop or tablet PC (if you have a tablet PC, Multiplicity is a must-have).


Scenario 3: The testing lab

Do you ever have to test something on multiple hardware configurations? Multiplicity lets you r clear your work area of excess keyboards and mice and lets you run those various computers from a single keyboard and mouse. If your desktop has more than one keyboard and mouse on it, you need Multiplicity.


Scenario 4: The Artist

If you use 3D Studio Max or Maya you should think about getting Multiplicity.  Have one machine dedicated to rendering and another one that has your graphics editing package (Photoshop or whatever) and a third machine that you use that is your more casual office machine.  You get the resources of all 3 machines, you can move graphics and such between all machines, etc.


Scenario 5: The software developer

Do you write software? Having one computer that is doing the actual debugging and coding and the other one that you use for everything else can be very handy. On a personal note, when writing Galactic Civilizations II it was very handy to be able to take screenshots on the development machine and then paste them into my Word document on the other machine to let me get ready for E3.  But it also comes in handy because I never lose work due to "Bad things" happening to my other projects because debugging locked something up.  I used to use SMP boxes and multi-monitor setups, never again.


Scenario 6: The Gamer

There's a bunch of scenarios for gamers.  Whether that be the MMO player wanting to have two characters at once. Or the user who likes using Instant Messenger a lot but doesn't like getting interrupted while playing games. Or the gamer who wants to be able to surf the web for hints or whatever while they're playing but also doesn't want to give up any memory or CPU to other programs while playing.

Multiplicity really does transform how you use your computers.  Right now, as you read this, if you've got more than one keyboard and mouse on your desk, or you have a laptop and a desktop PC, you should definitely check out Multiplicity. 

For those of you who have Multiplicity, let us know how you use it.