Do you love DesktopX? You're reading this article so I'm assuming you do. If so, be sure to visit this thread: "What would you like to see in DX 4.x"
Lots of great ideas and suggestions being tossed about there, so head on over and put in your 2 cents. The future of DesktopX depends on it!!!
But first, the picks.
Outstanding General Info
Carbon Fibre GTV by Mirsguy
This is just a beautifully made combo widget. It includes weather, calendar, and a clock. I especially like the clock, but the entire package is very sleek.
Most Creative/Original
Tok 'Dok by HAPTORK
Haptork is one of my favorite DXers, so I'm always excited to see what he does next. And he's come out with this amazing widget.
It works just like a real dock. Drag and drop your shortcuts, delete, add a separator, configure the target, image, tooltip, and display properties.
I love the display effects, the 3D elliptical zoom & scrolling (how the heck did he do that?!) It has a boatload of controls for how the dock moves and displays, so you can tweak it to just the way you like it.
I know a ton of work must've gone into this thing and it definitely shows. My hats off to the author!
Most Innovative/Resourceful
DeskNotes by _Martin_
This gadget goes way beyond sticky notes. I'm not much of a desktop notes user, but this is the one I'd go with if I did.
Let's talk about the weather note; it's powered by WeatherBug.com so you get access to an amazing amount of information: video, maps, hundreds of more precise locations, and much more.
How about the stock note? You can watch stocks at a glance or open up the stock graph. It also quickly retrieves Yahoo! Finance feeds.
The RSS note works for the 5 majror news sites and it has quick access to different news categories.
It's also got a calednar note, clock note, and search note. Of course, you've got your note note, which is really more of a super note. There are so many useful options on that alone (hyperlink, alarm, pin on top, etc.,) you just have to try it for yourself.
Buy the pro version and you get tons more features and options.
Did I mention it comes with a user's manual? This is a profesional gadget made by a long-time DX expert. It is definitely worth downloading.
Theme of the Month
Alien Farstar DX by RedneckDude
Awesomeness. Yup. I think that prety much sums it up.
This theme matches the WB of the same name by madcat21. I love the color combination. It has a dark and menacing feel to it with the black semi-transparent elements. And it just looks good on the desktop.
It's fully loaded with the usual goodies: drag and drop menus, media, weather. This is Jim (in case you've not been around lately, PuterDudeJim is now RedneckDude,) so expect nothing less than the real goods.
Which is why I do have to make one teeny, teeny-tiny request form the DXtheme Extraordinaire: could we have some new images for the media buttons? We've seen a plethora of amazing styles from this artist over the years and I'd like to see him continue being unique and different.
Other than that, it's pure awesomeness! You must give it a spin.
Global Hue Changer (or brightness or size or...anything!)
DesktopX.Objects is another one of those features in DX that can be a very powerful function. It wasn't until _Martin_ offered a tip in the "What would you like to see in DX 4.x" thread (you think I've thread-dropped enough times?) that I realized how little known it was.
He's uploaded a very nice Multiple Object Manipulation Slider to the object gallery, and it's a great example on how to use this function.
Expanding on Martin's tip, I thought I'd show a few other ways you can use the DesktopX.Objects namespace. Since the point is to control several objects, you'll want to create three or four objects to see how these scripts work.
This first script will shift the hue of ALL objects in your project on l-click. Create an object; create a new script; copy and paste; apply.
'Called when L-click is released
Function Object_OnLButtonUp(x, y, dragged)
If dragged Then Exit Function
For Each obj In DesktopX.Objects
If obj.states("").hue => 255 Then
obj.states("").hue = 0
Else
obj.states("").hue = obj.states("").hue + 10
End If
Next
End Function
You could just as easily make obj.hue, obj.width, obj.left, or any other object property.
This one will toggle ALL objects in your project on l-click, except the toggle button. Create an object; name it "toggle"; create a new script; copy and paste; apply.
Dim ToggleButton
ToggleButton = "toggle"
'Called when L-click is released
Function Object_OnLButtonUp(x, y, dragged)
If dragged Then Exit Function
For Each obj In DesktopX.Objects
If obj.name <> ToggleButton Then
If obj.visible = False Then
obj.visible = True
Else
obj.visible = False
End If
End If
Next
End Function
As you can see, with the .name property you can easily target specific objects to exclude from the action.
And for the heck of it, here's a script I use a lot to get the total number of objects in a collection that are NOT grouped. (To get the total number of grouped objects use: DesktopX.GroupObjects("groupname").count)
So I've got a bunch of objects I don't want grouped, for one reason or another, but I give them similar names--"point_1", "point_2", "point_3", etc. I can have this function search for and tally all the objects with "point_" in their names.
Again, DesktopX.Objects is the key. Using the same "toggle" object you created above, replace the entire script with the one below.
'Called when script is executed
Sub Object_OnScriptEnter
SearchString = "toggle" '--string to look for
TotalObjects = countObj(SearchString) '--call search function and assign value to variable
msgbox "There are " & TotalObjects & " objects with" & Chr(34) & SearchString & Chr(34) & " in their name."
End Sub
'--Count how many similar objects not grouped--
Function countObj(strg)
total = 0
For Each elem In DesktopX.Objects
'If string found in object name, add to total
If Instr(elem.name,strg) > 0 Then total = total + 1
Next
countObj = total
End Function
The message box should say it found one object with "toggle" in its name.
So you can see there's a lot you can do with DesktopX.Objects. It's all explained HERE in the user's guide under Namespaces and Enumerators.
How to Get to the Market
People love stuff. What's more, they love stuff that does stuff. DesktopX is a program that makes stuff that does stuff.
There's lots of stuff people would love to have and use--you know, the "hey, I wish I had an XYZ that did ABC" type stuff.
You probably have an XYZ idea. There's probably tens of thousands of XYZ's out there, floating around in the minds of the masses. If only there were some program that could harness that creative energy and bring those ideas to fruition.
The ideas are there. So, I ask myself, why isn't there a mob of people using DesktopX? Where's the market?
If we get right down to it, many people love stuff that does stuff without them ever having to do stuff to make it do stuff. And if they have to do something, it better be as quick and painless as possible. Pick it up, turn it on, use it. Download, execute, done. Learning curve? Preferably not steep.
And that's where DesktopX stumbles; that's where widget-making in general stumbles, be it Yahoo, Apple, or whatever. The two major stumbling blocks, IMO, are scripting and configuring, otherwise known as painful & time-consuming.
As far as configuring, I've given my thoughts on an intuitive interface and one-click object creation in the aforementioned DX 4.x thread (one more mention wouldn't hurt,) so I won't become a broken record here.
But learning to script is like learning a second language. Having to script in order to create the really amazing widgets is akin to saying 'batteries not included.' How do we get around this stumbling block?
I imagine a truly easy-to-use widget engine would never have the user encounter coding. Ever. Unless they wanted to. That means creating a proxy by which they could add functions without knowing they're scripting.
Supposing you had a list of actions--something quite like the Filters in Photoshop: "Shift hue on l-click," "Shrink on mouse away," "Grow on mouse over," etc. All the user would have to do is select the action, enter a few settings, and DesktopX could build the script and put it into the object for you. Add to that the repository idea RomanDA has mentioned before and DesktopX could come with a whole library of scripts, ready to use.
I've said it before, I think accessiblity is the key to opening up DesktopX for the general market. The biggest obstacle is getting all these ideas implemented. There's not much we can do on the user end of the DesktopX community besides offer suggestions. In the end, it's all up to how much time, money, and resources Stardock is able to invest in upgrading and mainstreaming DesktopX. I understand they'd have to weigh whether that investment would be profitable, whether it's got a viable market, but I believe the market is there and it's broader than just the die-hards and coders; we just have to make DesktopX more accessible to them.
Of course, this is just my take. How do you think DesktopX can get to the mass market? Is it even possible or will DesktopX be another one of those much-loved but little-known softwares? Share your thoughts below.
Thanks for reading. Until next month, Happy DXing!