Verbosio: Coming out of hibernation

Over the last several weeks, I’ve been having this gnawing urge to restart work on Verbosio. It’s been getting stronger, to the point where I just can’t keep quiet about it: I’m getting back into it, and looking forward to completing my work on an 0.1 “proof-of-concept” XML editor.

Since I put Verbosio to sleep several months ago, I’ve had a number of thoughts:

  • I want to use the new Songbird-provided build system. I’ve played around with it a few times since it first arrived, and I’m pleased. This makes it much easier to compile a specific XULRunner-based application, using Mozilla’s own build system.
  • I’ve gotten much more comfortable working with C++ code. When I started work on Verbosio, I had a goal that said “no compiling necessary.” That was because I didn’t want to muck around too much. The new build system – and a couple years experience – obsoletes that requirement, in my opinion. Besides, I still anticipate that I might have to customize Gecko a little bit. Hopefully not that much.
  • CVS would make me pay dearly for my earlier decisions. Because of the above two points, I want to rearrange Verbosio’s source code to take advantage of the build infrastructure Mozilla already provides. That means a lot of files and directories moving. In CVS, that means you lose all revision history. No thanks. Fortunately, SVN is coming, and supposedly soon. I am looking forward to it.
  • Writing to ZIP files changes the game. nsIZipWriter means that Verbosio, in its XUL demo work, could start working with jarred chrome for real. Fun times.
  • Bit rot has been surprisingly minimal. Code that I wrote many moons ago still works, at least in Gecko 1.9 beta 5. There was a regression in 1.9b4 that has since been fixed.
  • Waiting for OpenKomodo was a bit of a mistake. I figured by now they would be on the 1.9 code base, which Verbosio requires. Also, I haven’t reached “proof-of-concept”, that working model that lays the foundation for any possible merging or sharing of code. I need to move forward without them, for the time being.
  • I still have ideas to explore. In addition to this list, I’ve had a couple more ideas that might be useful. For instance, I’ve seen myself working with DOM TreeWalkers, where the NodeFilter is wholly implemented in JavaScript. Wouldn’t it be nicer, perf-wise, if you could have the first half of the filter implemented as a common C++ object (running ten times faster than JS code, thanks)?
  • I hope I can find the time and the motivation, again. It’s been hard, yes, but I’ve learned a bit about myself. These days, I can usually find the drive to work on side projects one, maybe two days a week. Yet these side projects are what keep my skills and ability to create, to innovate, at the sharpest levels. That’s when this business of software development is most fun: creating something new, useful, and radical. It also fires me up when it comes to my day job – I’ve noticed that my biggest ideas for work come to me either during or soon after a bit of heavy-duty cogitation on something Mozilla, but not Skyfire. I can’t explain it, but it works.

Ultimately, I’m still not sure of where this Verbosio project will take me – or where I’ll take it. But I take heart in the fact that I still don’t see anyone doing anything remotely like what I have in mind for Verbosio. Sure, it’s hard to do (as I’ve said before), but I have a vision, and that makes the years of effort worthwhile.

Thanks for reading!

One thought on “Verbosio: Coming out of hibernation”

Comments are closed.