FormSaver 0.7 - Finally Here!

FormSaver 0.6 was released in March, 2006 and I haven’t done a single update until now. 0.6 was an excellent and stable version that everyone could enjoy - I’ve been using it ever since without a single issue. I’ve had one or two problems reported that only exist in very obscure situations, I’ve had tons of feature requests, and I’ve gotten some great comments on it.

FormSaver 0.7 adds some excellent features that some of you have been asking for. Inside you’ll find:

  • New option “Ignore Errors” which allows you to prevent the error window from appearing.
  • New option “Ignore blank fields/textareas” will skip any text fields or textareas that are blank. When this option is unchecked it will save the field as blank.
  • New option “Save hidden fields” will save the values of hidden form fields as well.
  • New security warning if you’re selecting the “Save Password” box for the first time.
  • FormSaver now checks the web address when you try to fill a form. If it doesn’t match the original web address if offers to redirect you.*
  • A new toolbar icon. By going to View -> Toolbars -> Customize, you can drag the FormSaver icon to anywhere on your toolbar.
  • For power users: you can enable/disable the url check by editing the about:config preferences.

*Many users requested that the bookmark take them to the URL and then fill the form. However, because the form fill script is in a bookmarklet it’s impossible to do this for two reasons. First, the javascript no longer runs after a new url has been loaded. Second, the script would run too quickly after the new URL is loaded and a bookmarklet cannot properly determine which page has been loaded. Sorry folks!

Head on over to the firefox page on Botsko.net to install 0.7. As always, I welcome any thoughts and suggestions (or bug reports).

Managing Yourself

It can be pretty difficult staying on task when working for yourself. First of all, you know that no one is going to lecture you about taking time for personal things and the office mood is pretty laid back. It’s always been difficult for me to sit in front of a computer knowing I have work to do when computers also let you play games and waste your time. Sometimes I feel like I’m just not in the mood to program, and this can be a serious issue when I haven’t even started a project yet.

Staring at the glow of a screen thinking about a large project looming over me can be such a motivation-drainer that I end up not starting the projects for days. Falling behind causes a serious amount of issues which are decent motivators themselves. A delayed project means:

  • Customer does not see milestones when they were expecting. Small delays are never an issue because clients actually expect a few of them, but when there are either too many delays they begin to get nervous about what’s going on. My goal is to never miss a deadline, and it’s important enough to have it’s own question in my project evaluation.
  • Delaying anything doesn’t prevent me from doing work, so it’s best to just do it now and then move on. It’s really the same amount of energy, it just takes some additional get-going attitude now.
  • Late work means my earnings are off schedule and payments may not be coming in when I expected. This causes problems with earnings and income estimates. If I end up wasting time not doing any work, then I’ve lost money as well.
  • Delays cause chain-reactions that can only be reversed by burning the midnight oil. If I estimate seventy hours in December but I end up doing thirty of those hours in January, that’s a decent chunk out of available work time in January. Anything originally scheduled to begin would also be delayed, and we repeat the process over.

I’ve learned that I work best when I have things clearly organized and broken down. If I break down large projects into smaller chunks I find that the project is going to be easier to manage, and at the end I feel as if I’ve accomplished more. Here are some of the tricks I’ve used to manage my work time and motivate myself (most I’ve used for a long time but are more important now):

  • Organize. I purchased some standard charting tape and I’ve used it to create nine large boxes on a dry-erase board. Each project I’m currently working on gets it’s own box and I write down a list of my next tasks for each project. Every morning I highlight the tasks that I plan on completing by the end of the day with an orange marker. Once certain tasks are completed I erase them and write in the new ones. I keep a small section empty for quick notes. Having things written out in big letters and placed in a grid gives a very good visual idea of what work I have to do.
  • Give yourself enough work to last a few hours. Pick out some CDs or playlists that you can play straight through. They’ll act as a timer - once completed you can a fifteen minute break. Surf the internet, play a game, browse the iTunes music store etc. Do something fun so that you’re essentially rewarding yourself for doing that first chunk of work.
  • Have a lunch you can look forward to. A fresh, tasty lunch is a great way to break up your day. You’ll look forward to that meal all morning and knowing that you can have that once you’ve finished half of your list, you’ll work harder. You wouldn’t really be excited for a so-cold-its-hard-and-tasteless-sandwich-that-has-fused-together-ingredients now would you?

Starting a new programming project can sometimes be like an artist staring at a blank. If I haven’t really thought about how I should begin then it can be scary, and possibly can cause a delay. I need to force myself to sit down and think about how something needs to be done and how the specifics of any existing code/design will impact what I need to do. This is probably the most difficult part of most projects because I have no one to bounce ideas off of.

Sometime next year it may be necessary for me to a hire a junior developer, or at least sub-contract some work. Maybe then I’ll have someone to bounce ideas off of.

Personal Projects, 20% Time

Everyone who works online is typically aware of the famous “20% Rule” from Google. When I was working for TechTracker, Wells Fargo, etc, I was always jealous of the idea because I had so many ideas of my own yet no time to work on them. I still managed to throw together some of the ideas that would help me the most, and some have been fairly popular.

When I began running Botsko.net full-time I had to keep up some of those personal projects (Formsaver, Squibbles, etc). Now that I’m my own boss I figured it was time to work out a system similar to Google’s. Because these pet projects have the ability to either bring in revenue directly or by bringing my name to the attention of folks around the world, I figured it was important to give up some client-work time to ensure these projects continue.

While it’s taken a little while to get the corporate-trained instincts out of my system, I’ve really come to like the system. Google began using the system because they figured it would a) make employees happy by letting them work on their pet projects, b) stimulate employees to come up with their own ideas and solutions, and c) give folks a break from their actual work.

Working on Formsaver or Squibbles can be a nice break from client work and it gives me some time to focus on how I would solve a problem. I don’t need approval for it, I don’t need to worry about getting a lecture about using the company equipment for personal use.