Spaz webOS 1.0 Ushers in New Features for Palm Pre Microblogging Client

by Ostatic Staff - Dec. 29, 2009

We covered Spaz webOS, a microblogging client for Palm devices, when it was still a babe in the woods. The project has grown considerably since then and this week its developer, Ed Finkler, announced the release of Spaz webOS 1.0. It's an important milestone that includes a slew of new features that ought to satisfy anyone looking for an open source microblogging app for their Palm device.

New features include direct image uploading to popular photo services like Twitpic, Twitgoo, and yfrog; saved search support; and the ability to share messages via email, SMS, IM, and more.

I caught up with Spaz's creator and developer, Ed Finkler, today and he talked to me a little bit about the project, where it's been, and where it's going. Originally, I planned to synthesize what he had to say into a couple of paragraphs but Finkler's explanation of the development process and its impact on his life is so insightful that I want readers to hear about it in his own words.

OStatic: What have you learned during your year of development? Are there things you would do differently if you could?

Finkler: Oh, I learned a lot. 8)

The biggest thing I learned was to not care about what other people are doing. I actually kinda knew this from working on Spaz Desktop, which predated stuff like Tweetdeck and Twhirl, and seeing those projects get crazy successful. It's really, really easy to get competitive about this stuff, and to let it affect your happiness. Some people feed off of that stuff, but I don't -- I find it really unpleasant, and it almost always leads me to not enjoy the development process.

During Spaz webOS' development, I started hearing about another Twitter client. This was before the Pre came out, and at the time I had been working under the belief that having "first mover" status would provide an advantage, and therefore the opportunity for a solid revenue stream via App Catalog sales. I felt that if I didn't push hard, I'd be missing a big opportunity. But that wasn't really sustainable, because Spaz is a free-time project for me, and I have a family who's a lot more important than a silly microblogging client. My stress level went through the roof, and it affected both my relationships and my well-being.

While I was dealing with this a friend of mine recommended Hugh MacLeod's Ignore Everybody: and 39 Other Keys to Creativity. This is apparently a book popular with people who use phrases like 'building your personal brand' without any sense of irony, but despite that it was really good. The main thing I took away from it was this: that if I tried to make the thing I enjoy into the thing that paid my bills, there's a good chance that I'll 1) stop enjoying it, and 2) make it suck. I was trying to do that with Spaz webOS, and the whole process was becoming very unpleasant.

To get back to that point of happiness, I had to change the definition of what 'success' was for the project. It couldn't be defined by how many people used it or what some "influential" blogger said about it in an article. Instead, I established some critera to define success for Spaz:

1. Is it enjoyable to make?

2. Am I sharing how I make it with others?

3. Do users enjoy using it?

4. Is anyone welcome to contribute?

5. Can users know and trust your intent?

If I can say 'yes' to those things, Spaz is successful. And, thankfully, I can say yes to those things. To that end, I wrote up a Statement of Purpose for the Spaz project that defines why Spaz exists, and helps remind me of what really matters.

I learned plenty of technical things while working on Spaz webOS, but none of them were as important as this.

OStatic: Can you elaborate a bit on why you changed your mind and decided to release this version of Spaz webOS as a milestone 1.0 instead of v0.6 as originally planned?

Finkler: Ultimately it was about making it clear that Spaz webOS was 'ready to use.' My tendency in the past has been to be very slow about iterating version numbers, and I am not sure I ever had a 1.0 release before this. I think OSS developers tend to be a little more comfortable using pre-1.0 versions of libraries and software, and I was really thinking about it from that perspective.

However, I had a conversation with another OSS dev a couple months ago about an input filtering and validation library I made called Inspekt. He was suggesting that some folks might be uneasy about using it because it was only at 0.4. The library is safe to use, and has all the functionality I initially spec'd, but some of the potential audience might think it's not good to go because of the version number.

I actually haven't gotten around to iterating the version number for Inspekt, but when I was prepping Spaz webOS 0.6, that conversation came to mind. I knew I'd be asking users to pay for App Catalog downloads, and I was prepared to do that because I felt the major bugs had been shaken out, and the functionality was where I wanted it to be. But I was concerned that, by calling it 0.6, users might think it wasn't ready for prime-time. So, I decided that it was more appropriate to call it 1.0.0, and that it was okay to put out a 1.0.1 when I fixed the inevitable bugs I missed.

OStatic: What's the future of Spaz hold?

Finkler:The heart of Spaz is really SpazCore, the component library I created to I could share code between multiple versions of Spaz on different platforms. There's already some very useful functionality in there that could be of use in many diff kinds of apps, like web service API wrappers, preference handling, string manipulation, hash generation, file operations, and more. There's plenty of work to be done here to shore up support for operations on all the web runtime platforms we target, as well as adding and extending functionality. It's my hope that other JS app devs will find SpazCore useful and push it further than I have on my own.

I'd like to get versions of Spaz on other mobile platforms, like Android and iPhone. The tech to do this is there, but my time isn't, so it's my hope that other folks who are interested in JavaScript-based app development and use those platforms will step up. Eating your own dog food tends to be the best motivator for a developer in my experience, and right now I don't have that going on for those platforms.

Spaz Desktop also is going through a lot of changes. I'm in the middle of a lengthy rewrite to use SpazCore components, and also add new functionality like multiple account support and native notifications. I've already added user and theme-based dynamic code loading to the master branch, so folks with knowledge of JavaScript can modify any aspect of Spaz's functionality.

What I really hope to see in the future is more people contributing to Spaz: coding, design, testing, support, and advocacy are all areas where we need help. I'm particularly interested in encouraging contributions from females, who are woefully underrepresented in OSS – if the Spaz project can lead in an area like that, I would be very, very pleased.