How the mighty have fallen: TuneUp Utilities 2010
Posted by Marek Jedliński in Using software on October 31, 2009
How the mighty have fallen. I was in awe of TuneUp Utilities when I first found it in 2006. It looked beautiful, was packed with useful functionality, and every tool was logically placed and easy to find. I’ve upgraded almost every year since then (skipped version 2008) but sadly, I regretted every upgrade more, as the product turned out progressively worse.
The original layout was clear and logical. In version 2009 the distribution of tools was rearranged in the control center, so that I no longer knew where to find the tools I needed. Things that took one click now took several, as TuneUp displayed the nice-looking but ultimately irrelevant diagnostic messages on the main screen – and oh, now it took ten seconds or so before the UI became available, as it was busy performing the various system checks which should only be done at user request. As a result, I didn’t use TuneUp nearly as often as I did before, and finally only ever used the Startup Manager, which you managed not to spoil.
Meanwhile, the tools that were truly useful were not seeing much improvement. The registry editor hasn’t changed since 2006. System Information pales in comparison to what applications like Everest (previously Aida) can reveal. The Registry Optimizer always breaks MS Office 2003 installation, so much so that Word asks for the installation disks as soon as I press F1 or try to use the task panes — it’s been that way since the earliest TuneUp version I used. And the Process Manager lags behind competition lamentably — just compare it to Process Explorer or AnVir Task Manager Pro.
And then there was that funny thing about TuneUp update. The program has a “check for updates” feature, which reminds you to check for a new version every now and then. I do not remember if it was first introduced in version 2006 or 2007, but I do know that it has never ever found an update available. I even learned about the pay upgrades through the website! What’s the point of having an update checker, if there are never any updates?
So I had my little gripes, which detracted a little from the overall satisfaction with a commercial package, but there was still a lot of useful greatness under the hood… and the hood looked awesome.
TuneUp Utilities version 2010, however, is a new low. The hood may be prettier than ever, but what hides underneath is a lemon.
Now all the utilities have been hidden, so that it’s completely impossible to tell where they are or how to find them. Is my favorite Startup Manager under “Maintain system” or “Increase performance”? I can’t see where it is, so I’ll have to hunt and peck every time. And why is “Defragment hard disks” located under “Maintain system” instead of “Increase performance”? One could argue that both categories are suitable — but if so, then the categories were badly picked in the first place.
Yes, the individual utilities can be accessed via the Start menu, which is their saving grace. This doesn’t excuse the confusing mess the control center has become.
System performance advice is next to useless, sorry. TuneUp is telling me I have many programs installed. Well thank you, I do have a bunch. I use my computer for a lot of things. At the same time TuneUp installer adds as many as three new always-on services, and a tray icon. All for the sake of keeping the computer running smoothly, it seems.
The tray icon, by the way, adds insult to injury, as it has no “Exit” command. Major blunder, developers, not to let me close a program peaceably! Killing processes makes me feel bad, you know? Not mommy-I-broke-the-window bad, but Edward-Scissorhands bad!
I react emotionally to software. That’s a good thing in general.
Before I had a chance to read the docs and to configure (i.e., disable) all the automatic maintenance features that will do who knows what to the computer, TuneUp is doing outright silly things on its own. I check the report and see that TuneUp forcibly lowered the process priority of Total Commander, because it thought TC was behaving selfishly with the CPU. Well, TC was busy doing my work, gentlemen. It was searching for text in a large directory of files. By lowering its priority TuneUp ensured I had to wait longer for the result — is that a bug or a feature?
All this automated magic is not helpful at all; it is not smart, it does the opposite of what would be logical. It presumes to know better than the user and makes the wrong choices. What happened to the idea of asking the user whether a program is important (so boost it) or a background drone (so keep it tame)?
After such start, I was just curious to see what chicanery lurked inside the “Turbo Mode”. The description reads, “In Turbo Mode, all unwanted background programs and services are disabled to ensure individual programs run smoothly”. I couldn’t help but check what programs and services TuneUp considered “unwanted”, and whether it was going to make that determination by trying to read my mind, or whether it would just make a wild guess.
As I tried to click the “Configure Turbo Mode” link, two things happened. First, I did not manage to click that link, because as I approached the link with the mouse, the sliding information panel kicked in and switched to the “TuneUp Live Optimization” slide. As a result, I inadvertently clicked the “Configure Live Optimization” link instead. Just as I tried to click the link, it was replaced with another link before I had time to react. At least this is what I think happened. Congratulations for the innovative UI design! Maybe next we’ll see sliding OK and Cancel buttons, too?
The second thing that happened was that LiveOptimizer.exe crashed.
Then I tried again, this time making sure I clicked the correct link. Another crash from LiveOptimizer.exe:

TuneUp LiveOptimizer buys the farm
And the worst thing? The worst thing is we’re only getting warmed up here.
I ran Drive Defrag. It analyzed two of my physical drives, and when I clicked the other drive in the list, the process froze. I had to kill it with Task Manager:

TuneUp Drive Defrag has lost it
I ran Disk Doctor. It started scanning the filesystem, then I left the computer unattended for a while. By the time I came back 10 minutes later, DD had consumed over 330 MB of memory (was it trying to load the whole filesystem, or what?) and stopped responding. I had to kill it, too.
Oh, and then I found out that uTorrent.exe was semi-frozen. Busily churning bits just moments before, it was now sitting blankly, vacantly, as if it got clobbered over the head with something solid. When I shut it down the UI disappeared, but left behind the zombie process running. Another kill.
Now, it may have been a coincidence. Then again, µTorrent had never crashed on my system before. Never. Not once in years. My wild guess is that it did not survive some of the TuneUp’s new process-managing, smoothness-ensuring little games.
Speaking of unwanted programs… Maybe I could play my own silly game and turn the Turbo Mode on itself… Nice thought — if only it ran, rather than crash!
Time to bid TuneUp Utilities good-bye. Wish I had not spent all that money on upgrades, but for that I only have myself to blame.
(Windows XP SP2, running smoothly otherwise).
Price: $49.95 new customer, $29.95 upgrade (licensed for up to 3 PCs)
Free trial: Yes
Verdict: You’ve got to be kidding!
(This review was first posted at DonationCoder)
KeyNote under new development
Posted by Marek Jedliński in Making software on October 17, 2009
I am happy to announce that, as of 2009, further development of KeyNote has been taken up by Daniel Pradov, who has been releasing new versions under the name of KeyNote NF (New Features). The project page (at Google Code) is here.
Please note that I no longer maintain KeyNote. The last version I released here is the 1.6.9 update package.
A content management system that lives up to its name
Posted by Marek Jedliński in Using software on October 16, 2009
Here’s how to become a hero of these Internets, in one easy step: write a Better CMS.
Yes, really. Bear with me.
I can’t believe I’m so different from everyone else on the planet that there is no CMS made just for my needs. And yet there isn’t, which makes me think there’s a big, BIG niche to fill, because I cannot possibly be the only one. (One would hope!) Before I say why I think this would fly and why it would sell, here’s what the Better CMS would be like: modular. Modular on the level of text.
Most CMS-es are modular in the sense they let you pick and choose from available modules (the terms vary) that provide some functionality: a calendar, an ad banner, a photo gallery, a poll, etc. You can typically place these modules on sidebars, headers, footers etc., i.e. all around the core content of the site. But the content itself is not modular. And there’s the rub.
I may be wrong, but CMS-es seem to have grown out of blogs. In some cases (WordPress) the demarcation between a blog and a CMS has become quite fuzzy. And at the risk of being totally wrong again, many of the big names in CMS world today (Joomla) may have actually started out as blogs. (Except TextPattern, which claims to be a CMS even before it has become a proper blog.) In any case, almost every CMS I have tried seem to be a “blog plus” – start with a blog, then add stuff to it. If you read the support forums, one of the FAQs invariably is How do I create a static page? Ah, because static pages were usually added as an afterthought, and don’t necessarily fit in the overall scheme of things.(1)
If CMS-es are indeed bloggy by nature, this would explain why their “modularity” happens all around the content – the posts, the articles – but does not enter the content at all. It’s the “blog plus” mentality: you write the blog, and we’ll provide oodles of little gizmos you can put all around it.
That works if what you are publishing is conceptually a blog. It may be a serious and well-designed news site, but it’s still a blog by heart. (Apparently most of my favorites run on Drupal, and there are some great-looking ones based on WordPress.) Recognize them by the URLs like www.example.com/2009/9/23/why-things-suck-the-way-they-are. That’s a blog.
And while I’m sure there are orders of magnitude more bloggers that software authors on the planet, that’s still a huge population. And they need something completely different. Something you cannot quite do with a gizmo-encrusted blog. I’d say they need modularity of content.
If you are selling (or giving away) only one product, you worry little about consistency. Just use a nice theme to make sure all pages have the same background color. But the moment you have two products or more, consistency in layout and design becomes a concern. Each product is going to have roughly the same set of pages: one for description, one for feature list, one for screenshots, another for download links, for support options, and maybe for payment. You want all these pages to have the same look and the same structure.
Try to achieve that by typing, or pasting text in a WYSIWYG editor. Or even in a code editor. Not recommended, especially if your temper runs short. And certainly not recommended if you have other pressing priorities, like adding features to your software, fixing bugs, responding to support email or finding nicer-looking icons for the toolbar. (Or, God forbid, dealing with chargebacks.)
So a Better CMS should be based on templates, understood as forms to fill out with content. That way every page looks the same, and you can change the structure of all your “Download” pages just by editing a single template. That’s one level of modularity, but we’ve barely scratched the surface.
A lot of your product pages will contain the same content. Maybe you want to put a warning, This app requires Windows 13, on every page. Or a link to support, or a Buy one, get one free button. That’s text, or an image, plus some formatting. A block of content that you want to reuse on multiple pages – that is, in multiple templates.
A template, thus, should consist of blocks. Named pieces of text that you could arrange. This is nothing new – every site design allows for things like {header} {body} and {footer}. The problem with today’s CMS-es is that they don’t let you do that inside the {body}. Also, {header} and {footer} are not granular enough. These sections will consist of reusable blocks, too. So that’s another level of modularity.
There is one more level to cover: that of text itself. It’s easy to imagine what happens when you release a new version of your app: you have to update the documentation. All of it. Consistently. Change the version number in the app, in the readme file, in the help file, in the PAD file, in your DonationCoder thread, and everywhere on your website. It’s not all easily automated (there are partial solutions), but it should be completely automatic on the web-side at least.
Ideally, things like the version number and release date should be placed on every page for your product, so that they’re easy to find. In Joomla or WordPress, that pretty much means revisiting all those pages and changing the number and date in each article, making sure you don’t screw up the surrounding content. And what happens if you decide to change your copyright string, or the name of a product? Isn’t this one reason computers were invented in the first place?
What we need then is text substitution. The site is built from templates to ensure all pages look the same, but all pages do not have the same content. They differ: one page says “Download SuperFreeEditor 2.0“, another says “Download SuperFreeEditor Pro 3.5“. We have to have a dictionary, one for each product, that basically says “app-name=SuperFreeEditor“, “app-ver=2.0” for one product, and for another product a dictionary that says “app-name=SuperFreeEditor Pro“, “app-ver=3.5“. Then your template for the download page contains simply “Download {app-name} {app-version}“.
There would be a “product” manager, where you would add the information specific to each product. That information would then be used to fill out the templates and generate pages. And presto, a CMS based on the time-tested DRY principle. You only enter the app name once, in one place. Likewise the version number. And if you have a specific important note that you want to plaster on every page for that app you simply add {BIG-HONKING-WARNING} to a section of a template. It’s not complex or strange or anything. It should be the fundamental concept of a CMS, as long as you really want to manage content, rather than just manage the links on the page.
Oh, and let’s not forget links. Take Joomla. Every article lives in a database and has a unique ID. But if, in the editor, you want to put a link to another article on the same site, you can either manually look up the article’s URL, or use the awkward selector (where it’s always easy to pick the wrong article by mistake). And if you ever move pages around, all your existing links will be dead. If you are using “clean” URLs, and one day change the title of an article, all your existing links to the article will be dead. Or, and this is particularly amusing, if you have two articles named “Screenshots” on your site (for two different apps, right?), links in the menu will all point to only one of the two. Unless you manually fix it, giving each article a unique slug.
So there should be two ways of linking. One, by the database ID of an article. It will never change. The link can only go dead if you delete the page. But a better solution is to borrow from wikis and add some smarts. Say you are on the main description page, and want to link to a “Features” page. With all the information the CMS already has, it should be enough to type {link:Features}. Not even {link:SuperFreeEditor:Features}, no. Because the CMS already knows the current page is part of the “SuperFreeEditor” section of the site. And as long as you have a page with the internal name “Features” (this might be the name of the template on which the page is based), the CMS has enough information to construct the right link. OMG, it’s so simple! Where can I get it?
Nowhere. Nowhere I’ve looked, at least.(2)
Now, if you still want all the gizmos, knock yourself out. And there should certainly be a blog. And in the blog, I should still be able to say “Hey, I’ve just released a fantastic new version of {app-name}! {link:Download}Go get it!{/link}” See my point?
A nagging feeling is telling me all I’ve written above is trite. Captain Obvious stuff. The more puzzling to me is that this thing doesn’t seem to exist.
Now, why would this thing sell? Two reasons: because programmers already have their hands full doing all the stuff I mentioned above and more. And if they can spend thousands of dollars on the latest compilers and libraries, they will happily buy a $99 CMS if it saves them weeks and months of grief. A shareware vendor building their own website from scratch is like a shopkeeper doing their own masonry. Some do, but it’s not for everyone.
Reason number two, this could work for almost anyone distributing almost any kind of product, not just software. Just make sure the fields in the database are user-defined, not hard-coded to be “app-name” and “app-version” only. Sure, Amazon won’t buy it from you, but plenty of one-man, one-woman shops will. I will!
To be continued, I’m afraid.
(1) To put in a good word for Joomla, they got the static page part right.
(2) TextPattern has “forms”, which are a little like my “blocks”, but that’s far from enough.
(I posted an earlier version of this article at DonationCoder.)
This should explain a bit
Posted by Marek Jedliński in Recursion on October 16, 2009
