How to Spot Crapware
Crapware is my pet term for really badly written
software. There’s a lot of it out
there. All spyware falls into this category because it doesn’t serve a useful
purpose and is just a pain in the ass. But then there is other stuff that fits
into this category. MS has been pushing this stuff out as of late. The beta of SQL Server 2005 is a perfect
example. (or rather, it’s setup and uninstall routines) Windows Installer is another great
example of crapware. Designed to solve a problem, and not only didn’t solve the
problem, it made it worse. The next
time you see a boot strapped installation for software (i.e. you have to install
other things before you can install the application) you can thank Windows
Installer.
So here’s some tips to programmers to determine if your
software that you’ve slaved over is crapware:
- If your software requires the
user to run as administrator your software is definitely crapware. (The Sims,
Teraview, Timematters and zillions of others including some MS
apps…)
- If your software cannot be
installed by an administrator and then run by a regular user and have them get
all of the functionality, and instead requires that that user is an admin
during install to get full functionality requiring the admin of the network to
set the user as an admin, install and set the user back, then your software is
definitely crapware.
- If your software requires
hacked system files, you definitely have produced crapware (Corel are you
listening? You still do it even now and actually write to the Dllcache
directory!).
- If your software has nested
tabs anywhere in the software, for any reason, you have created
crapware.
- If you’re application is still
16bit on the eve of 64 bit software, you’ve definitely created crapware.
(Fortunately, it won’t even run soon…)
- If your automatic update
functionality requires that the user be logged in as an administrator to work,
you’ve created crapware. (there are ways around this, go look it up on the
internet.)
- If your software requires any
sort of install from a shared install instead of from the CD for it to know
where the network is, you’ve created crapware. If you install anything on my server
other than the data files, I HATE YOU.
One install, and if you need to know where the shared database is, ask
on first run.
- If your software crashes with
a cryptic error message if the network path it’s expecting goes away and
doesn’t say something intelligent about going to check the network path and
give an option to reset it to a new location, then you’ve created crapware.
(MS you know you do this all of the time!)
- If your software crashes
because of security permissions and doesn’t tell you exactly what security
permission you need to make it work right, then you’ve created crapware.
You’ve created shitware if it doesn’t even tell you that the reason it crashed
is because of security permissions.
- If your software doesn’t
attempt to report its own errors, in this day and age, to your developers with
lots of information so that you can fix it. You’ve created
crapware.
Yes, I’ve had to deal with all of this crap over the
last 4 days. It’s sad that software designed for networks is so bad at working
in a network. It’s why security is so bad in businesses. They can’t be any other
way and run the software that they have to run.
Oh, and Linux people: Since you’re just glad to actually get a
setup program, little own anything else in my list, please zip it. I’m not
interested.
Oh and Mac people, I’m not interested in you either.
You’re irrelevant to business or even home markets with games (just look at Doom
3 on a Mac… it’s horrible and that’s a game that actually works on a
Mac).
Oh and game developers: Lots of people are setting themselves up
as users on their computers to try and combat spyware. If they aren’t doing it
for themselves, then the kids are getting user accounts so that the parents can
control what goes on the computer and prevent them from being stupid and
installing spyware all of the time (i.e. Kazza.) Thus your games better know what the
Application Data folder is, and use it. You are no more allowed to write to the
Program Files directory than any other application, so get over it and write
games that actually work.