A Day Without a Feature
By user9157252 on Jun 07, 2007
The SPOTKnocker is a tool that I started writing just to make my life easier. Just goes to show you that what you think might make things easier often can make them more difficult. But it was a chance to improve my Java programming skills, and I was doing it for myself anyway, so I continued.
Then I made the mistake of letting my boss see it. And thus the title of this blog entry. Roger would play a little, and say "you know, it would be cool if it could ... " and I'd be off on another feature.
The tool started as a way for me to keep track of the various versions of the Sun SPOT SDK that I had installed on my machine -- everything from early test releases to current production releases, to the next latest and greatest release were always needed. How could I keep them straight? And how could I easily install the latest released engineering version? So I came up with a simple GUI to manage my SDKs. Here's what that first panel, how the application started out, looks now:
I could 'activate' any given SDK, or delete it, or rename it, or add comments to it. It was very helpful to me. But feature-creep began right away. Being able to control the Sun SPOTs themselves was the next big thing, so I added that. Now I could control the version of the firmware on the devices themselves and easily upgrade, downgrade, and query one or a collection of Sun SPOTs. So Another panel was born.
Of course, there has to be a way to configure the tool itself, for proxies, etc. so another panel was born (I won't bore you with the look of that one).
And what about controlling another Sun SPOT application in development, SPOTWorld? (Randy hasn't been forced into a space yet :-) ). So another panel was born.
And what about capturing output, rather than having it all spewed to come terminal, or /dev/null? Yep, you guessed it, another panel was born.
And having the tool be able to upgrade itself in place?? Yeah, a great idea, but another feature.
At one point, I decided I wanted just one day to go by without a request for a new feature (Proxy support? Delete everything? Multiple update sites? Update the demos? Update the NetBeans Modules?)
It's a slippery slope, and one, I have found, that never seems to end! At least I have been able to put a "1.0" version stamp on it and release it with the latest release of the SDK (we call it 'Orange' but you will know it as Sun SPOT v2.0). So look for the SPOT Manager (aka SPOTKnocker) in a Sun SPOT Development Kit near you soon!!
[The rhino is a homely beast, For human eyes he's not a feast. Farewell, farewell, you old rhinoceros, I'll stare at something less prepoceros. -- Ogden Nash ]