Interview with Stardock’s Brad Wardell

I met Brad Wardell, Stardock’s CEO, two weeks ago in San Fransisco. Stardock are mostly known for creating WindowBlinds. But Stardock has a long history, going back to the OS/2 days, releasing not only the most ‘successful’ OS/2 application ever, Object Desktop, but also a number of games. Today Stardock still releases games and UI enhancement tools for Windows, but the main focus is still Object Desktop. Read more for our interview with Brad, his views on theming, the future of UIs and more.

Object Desktop



Object Desktop is a desktop environment designed as a set of components that integrate into your operating system to make it easier to use, more powerful, and more flexile. By “component” it means a software program that is relatively small in size. Instead of having 1 big program that does a lot of things, it takes the route of having many small programs that each do a single thing.


I saw a “live” demo of Object Desktop at Brad’s laptop and it was astonishing seeing an operating system changing not just its appearence completely, but also its whole UI experience, adding elements to it that are not normally supported by the underlying OS. With a bit of VB, you can bring together many different “objects” to interact with each other and do what you want them to do.


Many are thinking Object Desktop in terms of “skinning”, but it is way more. Sure, Stardock’s No1 seller, WindowBlinds, is skinning, but it is only a small part of the whole Object Desktop product. Personally, in addition to the normal “skin” market, I see Object Desktop to be an interesting player in the niche market of custom UIs for embedded systems that happen to use Windows, or for demos or for environments where very specific “appearence” is required.


In other related news, Stardock has released WinStyles, a program that extends Windows theming to include third party programs such as Stardock’s Object Desktop components. Through WinStyles, these programs can work in unison to truly transform the Windows environment. For example, a BeOS 6 theme with WinStyles would look as the one found in the 5.1/Dano version of BeOS. In that example, Winstyles talks to DesktopX, ObjectBar, WindowBlinds, and IconPackager. But this process is done relatively seamlessly.


The Interview



Brad Wardell
1. You manage Stardock, a number of web sites and also you are involved in games programming! Where do you find all the time needed for all these projects?


Brad Wardell: This is mostly done by an interdimensional time portal that allows me to do multple things at once. ๐Ÿ˜‰


Actually, it’s really more a combination of just lots and lots of hours spent each week and very very fast typing speed. My job is really like a big
hobby that I get paid for. So I’ll do many things at all hours of the day and night.


2. How do you see the future of the GUIs? What are the elements missing from today’s GUIs? More widgets or other kind of advanced features?


Brad Wardell: I think you’ll see more emphasis in the future on information environments. The UI of the computer will be designed to give the user context-sensitive information rather than the one-sized fits all type UI we have today.


For example, rather than having data displayed based on some file system conventions like c:\program files\corel\data\ you would have simply folders with names like “Graphics” and the physical location of the files will be unimportant. There will be agents that will go around in the background organizing this data for you. So the overall user interfaces you deal with will be based on what type of information you’re looking at.


What is missing is greater personalization and flexibility. That’s where we come in with Object Desktop and its components like WindowBlinds, DesktopX, ObjectBar, etc. Each user uses their computer for very different reasons. Why should the person who mainly just surfs the web have the exact interface as someone who primarily enters in data into a database? That’s what we have now by default. Our goal at Stardock as we move forward is to provide this flexibility in terms of personalization and in letting users deal with information in a more organized and easy to understand way.


3. How WindowBlinds work? WindowsXP now supports some basic theming, does Windowblinds use this interface or they access the widgets “directly”?


Brad Wardell: In a nutshell here’s how WindowBlinds works:


WindowBlinds intercepts GUI paint calls made by apps and the OS and redirects them to wblind.dll which does the painting for them.


What Microsoft has done in Windows XP is allow users to choose between 3 different styles of a new UI called “Luna” (blue, green, and silver). The way it works is that a service is run that intercepts the GIU paint calls and sends them to uxtheme.dll which handles the painting. Individual controls (buttons) are handled by a new common controls DLL (but apps have to specifically use the new common controls to have the new look which is why 99% of apps look partially like Windows 95-style and partially like the new XP look).


Put another way, the two work very similarly. When someone runs WindowBlinds on Windows XP, we use their new API calls since Microsoft was able to change XP to solve some problems we’ve had to work around along with making it easier to skin different parts of XP (like the Start bar). So on Windows XP, what WindowBlinds essentially does is extend what’s there to support additional features and treat all programs as if they are “theme aware”.


This is kind of nice because right now, the only way to make Windows XP look consistently like Windows XP is to use WindowBlinds with a “Luna” skin.


4. What did you think of MacOSX’s User Interface that shook the world 2 years ago? They introduced two new kinds of widgets: animated window resizing and the “drawers”. Can these widgets be incorporated to Object Desktop?


Brad Wardell: I think it has a lot of very poor UI. It’s demoware in my opinion. The poor use of lines in their title bar, the dock, and poor use of transparency all look nice in a demo but when trying to get real work done, it’s a real problem. While we can technologically incorporate anything that’s in Aqua into Object Desktop, there are a number of software patents in place that would prevent this. Though we generally shy away from doing too much in
this area anyway. Afterall, we don’t want Object Desktop to be seen as some sort of “mac” emulator. If people want to make skins and themes with our
software that provide a similar environment, that’s fine but we ourselves don’t want to jump too much into that sort of thing.


5. What do you think about Linux’s diversity on widgets and UIs? A single desktop can include GTK+, TCL/TK, Motif, Qt applications that each one of them are looking completely different from the other. Do you believe in “consistency” or in “diversity”?


Brad Wardell: Consistency is better. Good UI design demands that applications have a consistent look and feel. That may sound strange coming from us, but remember, our software changes all applications, not just this or that. That said, ideally what should be able to be done is have applications
DEFAULT to having a consistent look and feel and then allow users to personalize them to their specific needs.


6. Do you use OS/2 these days? What did you think of eComStation’s “distribution”?


Brad Wardell: I use OS/2 occasionally in the form of eComStation. eComStation is a valiant effort and one that Serenity should be proud of. But realistically, it’s too late at this point. If eComStation had shipped in say 4Q1999 things might have been different. But now in 2002, OS/2’s technology is pretty long in the tooth.


7. You are a lot into gaming. Where do you see games technology heading? Do you think .NET will have an impact on the way we play or interact with online games?


Brad Wardell: If .NET affects games, it’ll come in the form of creating a new genre of games. I could see .NET being used to create games that partially exist in the real world and partially on the net. Imagine .NET being used for a quasi-scavenger hunt game where people with their PDA’s connected to a .NET service are teamed up based on their geographic location.


8. What is the console of your choice and why? PS2, XBox or GameCube?


Brad Wardell: I actually prefer the GameCube. But most of the office prefers XBox (for Halo) or PS2 (for Grand Theft Auto). The reason I like the Gamecube is that it’s cheaper, its graphics seem more crisp, and the games really are neat and original. That said, I don’t own any of them. ๐Ÿ˜‰ I am a PC gamer through and through.


9. Object Desktop uses the COM technology and lets you create custom applications with very little code. .NET is about allowing applications to
interact with each other in a very advanced way too. What kind of impact .NET can have on Object Desktop?


Brad Wardell: .NET is going to be central to our strategy because we hope to promote Object Desktop as the best way for corporations and consultants to roll out .NET solutions since we handle all the visual aspects of development, the user merely needs to use their favorite scripting language to tie the pieces together.


10. What the users of WindowBlinds should expect for the future?


Brad Wardell: In the near term we’re taking advantage of hardware acceleration. With WindowBlinds 3.3 (being released in about a week), the speed advantage of using WindowBlinds on XP over what’s included with XP becomes fairly significant. We’ve gotten a lot of help from the major video card makers (particularly ATI and Nvidia) to help make WindowBlinds much faster.


Down the line, we hope to extend the new “Smart button” features in skins so that skins can become context sensitive (i.e. where WindowBlinds can have buttons that apply to a particular program on the fly that users can configure – think of it as a global way to create hotkeys and app specific buttons for your applications). Our overall goal is for WindowBlinds to not only make Windows look cool but be a way to actually make your Windows GUI run faster and more productively.

18 Comments

  1. 2002-04-01 8:55 pm
  2. 2002-04-01 9:03 pm
  3. 2002-04-01 9:04 pm
  4. 2002-04-01 9:06 pm
  5. 2002-04-01 9:10 pm
  6. 2002-04-01 9:15 pm
  7. 2002-04-01 9:31 pm
  8. 2002-04-01 9:32 pm
  9. 2002-04-01 9:32 pm
  10. 2002-04-01 9:36 pm
  11. 2002-04-01 9:58 pm
  12. 2002-04-01 10:21 pm
  13. 2002-04-01 10:27 pm
  14. 2002-04-01 11:02 pm
  15. 2002-04-01 11:06 pm
  16. 2002-04-01 11:13 pm
  17. 2002-04-01 11:14 pm
  18. 2002-04-07 2:33 pm