Brad Wardell's Blog


WinStyles now supports .SUITEs!

Published on Wednesday, January 9, 2002 By Brad Wardell In WinCustomize News
Stardock has released WinStyles 0.95. WinStyles is a program that allows users to treat all of their various skinnable programs as a single entity. As a result, a WinStyles theme (called a .xptheme - works on all versions of Windows) may contain a WinAmp skin, a WindowBlinds skin, a DesktopX theme, an icon package, an ICQPlus skin, and a Hoverdesk theme and more.

Additionally, it lets users interact with all the supported skinnable programs from a single unified interface in Display Properties. The practical result is that users can think of their overall desktop rather than having to deal with it as a half dozen seperate programs that modify different parts.

Version 0.95 adds the much anticipated new .SUITE format which is possibly the first distributed computing format. The practical result of it is that now users who take a screenshot of their desktop can include a .SUITE file with it (which is typically <1K in size). When a .suite is applied, WinStyles seamlessly locates the files on-line, downloads them, and then applies them (and then converts them to a .xptheme for later use).

Stardock anticipates .SUITE files to become heavily used since it allows any user to effectively highlight their own skins or their desktops without having to literally host the skin files themselves (i.e. the .suite file can grab the actual skin files from SkinBase or DeviantART or anywhere else for that matter).

WinStyles is free to download. Stardock also has available WInStyles Pro which supports even more skin/theme/icon formats than the free one. WinStyles is part of Stardock's Object Desktop, the desktop enhancement suite that includes WindowBlinds, ObjectBar, IconPackager, DesktopX, and much more.

Users can download WinStyles at http://www.winstyles.com

Visual Styles Engine not so "native" afterall?

Published on Tuesday, January 8, 2002 By Brad Wardell In WinCustomize Talk
In the course of getting IE scrollbars working with WindowBlinds we discovered something rather shocking. Something that we're quite sure that no one outside Microsoft was aware of - visual styles are implemented quite like a hack. Not at all how we thought they were.

On Windows XP, WindowBlinds is able to use the new APIs in uxtheme.dll to skin Windows. We did this because we *thought* that this would make it more compatible and faster.

But we discovered today that the Windows XP visual style engine (drum roll) uses API HOOKS to do its things. Remember how certain advocates of a certain patch have made a big deal that WindowBlinds uses system hooks? And as a result, we're not as "native" as visual styles? Turns out, visual styles are doing the same thing - system hooks. EVERY PROCESS on XP that is skinned by XP has uxtheme.dll tied to it.

Let me be clear: If you run visual styles on Windows XP, every program that is "skinned" by it gets a full copy of uxtheme.dll copied into memory via a system hook (just like if you run WindowBlinds you get a copy of wblind.dll copied into that process's memory).

What this also means is that anyone who criticizes WindowBlinds for using system hooks and uses that as a reason to boost visual styles is either being dishonest or doesn't understand how visual styles actually work. It is, frankly, very surprising that Microsoft, with access to the Windows source code one presumes, would implement it in this way.

Now obviously, since WindowBlinds works much the same way, I'm not going to condemn it. System hooks were designed so that third parties could integrate their software with the system with a minimal impact. It's just that MS isn't a third party. And that anti-WindowBlinds people have used the SetWindowsHookEx (system hooks in general) as a blunt instrument on it when all the time visual styles uses a nearly identical hook and attaches the entire uxtheme.dll to each and every process that it skins.

In short, visual styles are most definitely no more "native" than WindowBlinds. It's just bundled. Any third party could have done (and has done in the form of WB) the same exact thing without access to the source code of Windows.

LogonStudio 0.92 released

Published on Tuesday, January 8, 2002 By Brad Wardell In WinCustomize News
If you have Windows XP and would like to create or change your logon screen, download LogonStudio. It's a freeware program that lets you easily create your own logons or use .logon files. It can also import the hacked logonui's floating around the net as well. The Logons section here contains user submitted logons. Feel free to create your own and submit them.

A couple XP tips

Published on Monday, January 7, 2002 By Brad Wardell In WinCustomize Talk
Here are a couple of tips I've found for having Windows XP run better:

1) Monitor user handles. The more handles in use on your system, the SLOWER your system gets. It shouldn't exceed 9000 handles really and if it's over 12,000 your system will start to crawl. How to monitor:

Ctrl-Shift-Esc. Then click on the Processes tab. Then click the view menu item and choose select columns. Select handle count. Start sorting by handles in use. Anything that uses over 1000 handles is probably evil.

2) GDI objects. Similar to handles. Beware of them. Same process as handles except choose GDI objects. ICQ is a huge pig in this area. People may put down visual styles or WindowBlinds or whatever but compared to ICQ, skins are nothing.

Handles and GDI objects are amongst the lesser known system killers out there.

Hope this helps.

SkinStudio 1.6!

Published on Monday, January 7, 2002 By Brad Wardell In WinCustomize News
NEWS: SkinStudio 1.6

SkinStudio is a program that lets you create skins for Windows XP, 2000, 98, and ME which are applied via WindowBlinds. Version 1.6 is a major update to SkinStudio in the following ways:

* It now natively supports SmartButtons (Smartbuttons are designed to replace hard coded buttons like Roll-ups and always on top buttons, A smart button can be set by the user to be any type of button they want. So rather than downloading a skin that has a roll-up button only, the user can switch that button to open up their browser to a specific website for instance).

* It will now let users convert their UIS2 skins (which 99% of WB skins are) into the new UIS1 skin type introduced in WindowBlinds 3.1 (to be made public next week). UIS1 skins aren't as powerful as UIS2 skins but are twice as fast and don't have any known compatibility issues with poorly behaving apps. (the limit on UIS1 skins is that you can't have transparent left, right or bottom borders and they all have to be the same size). Many UIS2 skins can be done as UIS1 and with the new SkinStudio they can become UIS1 in seconds (the speed difference is very noticeable - a UIS1 skin with hardware assist can be FASTER than Windows unskinned in certain cases).

* The preview window is now using the actual WindowBlinds engine which makes it more accurate (instead of constantly having to save your skin and apply it via WindowBlinds to see if you got it right).

* It is now easier to create your own font objects and use them in the skin.

* It is now easier to add standard title bar buttons (before when adding a button it would list every possible type of button WindowBlinds supported -- theyt are like 40 different types when 99% of the time skin authors just want to add a close, min, max, or restore button).

* It is now much easier to alpha blend parts of the GUI. WindowBlinds 3.1, for instance, supports TARGA (.tga) files with an alpha channel.

* SkinStudio will now automatically insert a copyright message into the skin so that anyone thinking of "ripping" will see the "scarey message".

* Now users can insert a Windows XP start bar into their skin without having Windows XP.

* The big one for new skin authors and this needs to be explained a bit: From the template tool, a user can load up a bitmap mockup of what they want to create. From there, they can drag select different parts of their template and assign it to particular parts of the skin. For example, you could load up the down state of a button you created, select it and assign it to be the down state. If you're new to skinning, this is a big deal because button states (up, down, disabled, etc.) in skins are handled as a single bit bitmap that contains all the states in them. It's traditionally been a pain to have to work with them that way. Now you can load up individual states that you created in Photoshop or whatever and assign them and SkinStudio will insert them into the proper state spot in the button bitmap image list. In a nutshell, it means that now new skin authors don't have to memorize all those different states anymore for buttons and checboxes and title bars and whatnot. They simply load up the bitmap they drew and select it, assign it and SkinStudio takes care of the painful part automatically.

SkinStudio is FREE. And can be downloaded at http://www.skinstudio.net

Stardock also has available SkinStudio PRO. The Pro version lets users import pieces from other skins and also includes a "widget" library of licensed skin parts (including Treetog's Sputnik skin pieces) that users can use in their skins (i.e. import a scrollbar widget into your skin so that you don't have to create your own from scratch). SkinStudio Pro can be had for $19.95 (or you can get Object Desktop which comes with SkinStudio).

Useless skin statistics

Published on Monday, January 7, 2002 By Brad Wardell In WinCustomize Talk
In our rather insane collection of statistics, here is an uninteresting one in particular:

The rate of new WindowBlinds skins creation.

Between April 4 2001 and November 4, 2001 the average # of *accepted* skin submission to WinCustomize averaged around .9 skins per day.

Since November 4, the average has been at 1.3 skins per day. So it would seem that Windows XP has reignited skin authors to a degree since that's a pretty significant increase. The overall *average* since WindowBlinds became available in any form is about 1.3 skins per day.

So a graph would show a huge spike when WB first showed up (probably like 3-5 skins per day for the first few months) and then a gradual decline to .8 or .9 and then a bump with XP's arrival.


Some others:
DesktopX from July to now: 3.4 accepted submissions per day average.

Litestep: .4 per day (not bad!)

The lost art form: Icons! Complete icon sets are very few and only a handful are made each month even though they are extremely popular.




Stardock makes available the WindowBlinds skin guide

Published on Sunday, January 6, 2002 By Brad Wardell In WinCustomize Talk
We're hard at work trying to get a good skin guide available. It's starting to come along.

Here is what we have done so far:

http://www.windowblinds.net/skinning

The UIS2 tutorial is complete in there as well. For UIS1 (the new language in WB 3.1) I tend to just convert UIS2 skins to it that were made with the knowledge of UIS1's limitations (UIS1 is faster and more compatible but more limited than UIS2 which is the skin language most WB skins use).

If you have any questions about it, post here.

WindowBlinds road map

Published on Sunday, January 6, 2002 By Brad Wardell In WinCustomize Talk
..Where we are now...

In November Stardock released WindowBlinds 3. Its primary goal was to add some additional productivity features over v2, increase compatibility and integrate it more closely into WIndows, particular on Windows XP.

With nearly a million downloads of it since late November and good reviews, we have had to decide what course to go towards next.

On the one hand, there is more to do still on Windows XP. Specifically WindowBlinds 3.0 doesn't handle the IE scrollbars (neither does XP itself but IE6 was modified to be a partially skinnable browser in itself) and it doesn't handle the web window on the left side. And there are a few GUI controls it doesn't handle.

On the other hand, only a small percentage of the public has XP and most *customer* feedback has focused on things like increased performance, more productivity features, greater control over existing skins.

So in WindowBlinds 3.1, coming out in about a week, we've added real-time gamma correction (change the brightness of a skin on the fly as a user), a brand new skinning language known as UIS1 that creates super fast skins (around twice as fast as an XP visual style as well as a roughly twice as fats as a typical existing WindowBlinds skin).

And we got the Smartbutton stuff fixed up. That along with countless bug fixes that affected everyone from Windows 98 users to Windows XP (very hard to support all these different versions of Windows).

We have gotten the web panel stuff skinned but we have to document a format and provide an example skin before we can put that out, that will probably show up in 3.2. The IE scrollbars we just have to futz with to see what it's looking for. Adding more controls (logoff buttons, spinners, etc.) is mainly a matter of just adding it to the skin language and documenting it so we'll hopefully have that in 3.2 or 3.3.

We also want to try to find a way, if possible, to cache skins. For people who aren't paranoid about using up a couple megs of RAM for increased performance, this option would have the skin stored in a central RAM location and new processes would read from that rather than from disk (if successful, there would be no hit over using no skin at all in loading up a program).

There are always, of course, numerous compatibility things we're working on as well. Contrary to what some people not that familiar with Windows XP may think, XP actually has a massive exclusion list built into the registry. Our goal has always been to try to find ways to make WB work on those programs when possible. We'll continue to work towards that as well.

If you have any suggestions or features that you would like to see in the near term, let us know.