Thursday, April 21, 2011

Dear Software Developers

Note: This post first popped into my head after a recent discussion with some colleagues and an email discussion with two different vendors. Enjoy! :)

On behalf of the over-worked, under-appreciated Windows desktop and server administrators and IT minions around the world, please listen up:

- Build your Windows software properly. Read the "best practices" documents, and API materials. Know what you're doing and do it right. Don't assume everyone has 16 gb of RAM and a terabyte of free disk space. A pretty interface and a clever logo don't mean that much if your app eats all the resources and crashes a lot.

- Package your installations properly. They should ALWAYS support an easy "silent" installation, as well as an easy "silent" uninstallation. It should be simple to install it on 10 or 10,000 computers remotely overnight. Don't leave crap behind after an uninstall. Give use the option to control whether or not to create desktop shortcuts also.

- Unless your applications are built for IT staff, they should NEVER ever ever NEVER never ever ever ever never never EVER require the user to have Administrator permissions in order to use it. EVER!!!!!!!!!!!!!!!!!!!!!!!!!!!! (Followed by a trillion more exclamation marks!) If you cannot make your product run properly for a regular non-admin user, you don't know what you're doing. Period. In fact, if you think this is a trivial matter: power up the neighbor's woodchipper and stick your head in right now.

- Stop using shitty no-name packaging tools unless you like promoting the impression that your product is shitty. When an experienced IT person installs your product and sees that it was packaged with Wise or InstallShield, we know you care. If you used some lame-ass dollar store budget packaging tool, we smirk and say "more shitware, look out!" We try to avoid those whenever we can.

- If you intend to sell a lot of your product per customer, offer a concurrent license like FLEXlm. Don't expect us to activate and register 500 individual licenses. It aint going to happen. And stop requiring an Internet connection to launch your desktop app. If you need that, just make it a cloud app and stop wasting our time.

- Don't tie your products to outdated component technologies. Microsoft J++? Seriously?! Autodesk Actrix?! Really?!! Use modern tools and components. If you can't afford them, sell yourself on the corner to raise the money.

- If you anticipate your customers might want deploy your product using System Center Configuration Manager, Altiris or something similar, please make sure your installer works with them. If you have a bootstrap setup.exe that launches other installer processes, make it wait until all the child processes are done and return a real result code? Is that asking too fucking much???!

Can you tell I'm pissed off? I'm so ***-damned tired of shitware and shitty installers from half-assed dipshit developers. I can almost excuse it from garageware shops (guys working from home making shareware), but publicly-traded corporations have no excuse other than laziness and lack of concern for their customers.

And don't even try to offer the stupid redneck offshore argument. I see just as much crap coming from American vendors as from anywhere else. Get with the program or get a new career.

Thank you.

Dave "gritting his teeth"

1 comment:

Anonymous said...

My son said read this. I did. No idea what any of that is or meant. I recommend everybody raise a kid that goes into IT and have them handle it...all...all the time. Worked for me!