November 21, 2007

Application tips from a developer

Sometimes I see folks struggling with their applications when I know they should have anticipated these problems earlier. And I know that because I'm a developer and I write software for a living, so I know all the dirty little secrets of developers. So here are some tips to save you time from me, an honest to god, front-line developer.

  • Install operating systems fresh - If you are going from Mac OS X 10.4 to 10.5, or XP to Vista, reinstall fresh, don't upgrade. Upgrade can leave a lot of stuff hanging around which might cause instability. Engineers in large organizations setup their environments using operating system images generated from installing fresh. You should do the same.
  • Every non-default option should be tested - When you open a dialog box and there are a series of checkboxes, anything option you change can be deadly. Engineers generally only test using the defaults. So if you check or uncheck boxes, or select different options, then you could be heading for disaster. If the option to 'print every third page upside down on the back side of the paper' is critical to you, then save the document before you try and run it.
  • Don't load up your machine with crap - Don't have multiple firewalls or virus checkers, those things can interfere with application on your system, and they don't play well together. Be very judicious about what you put on your machine that runs during startup or continuously during operation.
  • Do what the company says to do - If the software is made to run on Windows, run it on Windows. If it's made to use the Oracle database, use Oracle, not MySQL or some substitute. Companies will tell you the recommended environment for their software. And that means what their developers develop on. So if you want the application to be stable always follow their recommendations. Sales guys will tell you that their application, which was designed to run on Oracle, will run on MySQL. Don't believe them. Salesman say anything to make a sale.
  • Use features central to the application - Developers will often throw a feature into an application that is only tangential to the core idea of the app. For example, a contact management application that has a GPS function to tell you which of your friends are nearby. That GPS function is probably written by one developer on 20% time, so it only gets a little testing with just his personal GPS unit. If GPS is your thing, then get a GPS application. A contact management application is about managing contacts, use it for that purpose and avoid spurious fun features.
  • Don't install the extra stuff - Some installers will install the application and a bunch of extra applications that will help people like you. Don't install them unless they are required or unless you really think you will use them. If you install an application, you should use it or un-install it. Applications can interact with each other in negative ways. That's why the first question you will get when you report a bug is 'what else do you have installed?'
  • Clean off vendor installed stuff - This goes along with the previous comment. Uninstall all the crap Gateway, Dell, Sony or whoever installs on your Windows machine for free. Or better yet, when you get your new machine, just install Windows from the DVD from scratch. That will give you a nice clean install to start from.
  • Keep your documents in the documents folder - Both Mac and WIndows now have standard directories for your documents, images, tunes, etc. Keep your documents in your documents folder, your images in your images folder and so on. That's what developers do, and that's what they expect you to do. More importantly, that's what they test.
  • Don't bitch about screwing yourself over - Don't expect to get any sympathy from a developer when your try to do non-standard shit and FAIL. Your story about how you took a Java application then used a re-compiler to turn it into .NET code and suddenly it didn't run will just get you blank stairs from developers. Just use the application they way they intended, and if you can't do that then write your own.
  • Avoid all-in-one applications or devices - More functionality means more code, more code means less testing and more bugs. Do yourself a favor, buy a photo editing application to edit photos, and a word processor to edit documents. Avoid applications that say they do a whole bunch of big things.

These are common sense to engineers, but not common sense to your average Joe end-user. Hopefully these will at least give you some sense of when you are stepping out onto the software plank.

Posted by jherr at November 21, 2007 08:14 AM
Comments
Post a comment

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


Remember me?