Custom Home: The Need I Saw

In this post, I’m going to describe the conceptual evolution of the project: how I originally came about the idea, and what guided it to its current conceptualization.
The primary element in the Custom Home application is the Custom Button.
The intent was to create something powerful, customize-able, dynamic, diverse, but also to maintain usability as functionality is added.

For the first several iterations, Custom Home was a desktop application, and I do plan to release some form of Custom Home desktop application some day. I had learned a power-user trick back when using XP, to create named folders in the root of the start menu, which allowed me faster and more organized access to games, applications, and servers. Of course, with the new start menu introduced in Vista, and the instant search, this became slightly less effective, and a fair bit less useful.
At the time, however, I decided this wasn’t clean enough, and it was also a sort of “power user trick” rather than an application designed to assist the user. If I were to build something easier, more intuitive, there might be a desire for it.

The original concept was to create a toolbar full of cascading, customizable multi-function buttons. I was still programming in Delphi at the time, and one of my favorite easy-to-use GUI features was the various events that could be attached to an object. You sometimes see this advanced functionality on websites: menus that “drop down” when your mouse hovers over them, buttons that visually depress as you click them, etc. However, in every operating system I’ve used, every desktop icon essentially had three actions: Select, Execute, and Context Menu. For an interface designed a few years after the mouse came out, that’s pretty impressive. Here we are two decades later, with four strong primary user interfaces (Microsoft / Windows, MacOS, Gnome, and KDE), innumerable operating systems (if you count Unix and Linux flavors, which I am), and we’ve actually starting to step backwards from that, attempting to make our software and systems more portable to touchscreen devices, which of course have a more shallow capability for user input.

Within applications, both on a desktop and on the web, you see a lot more functionality than what basic operating systems tend to give you, for a number of sensible reasons. Among them is the implication that companies will release programs to extend functionality as the user desires, and the successful ones will thrive. Over-complicating the basic Operating System could become a fatal mistake, especially with the low adoption rate for *nix systems, even given GTK and KDE’s customizability on top of Ubuntu’s user-friendliness. But, as for successful individual applications thriving, I have yet to come across any desktop usability alteration programs that are even a tenth as widely known as, say, Google Chrome. They do share enough success to be worth developing, however, and the most successful among them are created by a company called Stardock.



The GTK user interface is user-friendly and customizable, but sees little love.

Along with making very nice games, Stardock makes some excellent desktop applications. There is an entire suite of tools that they offer, but the most pertinent to this is DesktopX. The program essentially does what I had in mind (though I wouldn’t discover it until a few years after developing my first prototype), but is fairly complicated and highly reliant on a vast database of user-created desktops. It had the flexibility, the power, and the community. But I wanted simpler, smarter, more intuitive, and a little intelligent back-end to try to take work off of the user’s plate. In short, I wanted the DesktopX that Apple would have made.

DesktopX Object Properties

90% of users are now alienated.


Work began on CustomHome before I started writing it for the web, back when it was a desktop toolbar. I’ve discussed the evolution of the application in the next post.