It never ceases to surprise me how life has its little twists and turns, often in an unexpected direction. I'm still working on fixing up my house, which is funny, because I had originally planned on having it all done and my house being put on the market by the end of June. Boy, I have to laugh about how far off even our best-laid plans can be. God must have something else in mind, but being He knows best, I'm not really worrying about it. The school year started for the teachers this past Wednesday, so I've had significantly less time for fun stuff, but even then, I've made some time to unwind by sitting down and hacking some code for a bit.
Since last time, I've spent more than a little time attempting to finish up the other project that I've mentioned this summer -- an application bundling program. The concept? To the user, the program is just one file; delete it and you've uninstalled a program. Installation is as simple as downloading it from the Internet. The only downside to this method of packaging programs is the size of the file. The BFS filesystem forces packages to be at least about 1.5MB for even something small like Mr. Peeps or Run Program. With hard drive storage being so cheap and the unlikelihood that someone will have as many program bundles as MP3s, I figure it's not that big of a deal except when downloading. The solution? Compress them, which they do very nicely.
There is one problem, however. In testing a Filer rule for uncompressing and installing zipped bundles, I ran into some very strange instances where if I zipped a bundle and then turned around and unzipped a new, theoretically exact duplicate of the original, the original would run just fine but the new one wouldn't. I even compared CRC32 signatures with perfectly matching results. The conclusion? Something doesn't work so well under R5. I get some totally different error messages in Haiku, so a bug report is probably in order there. If any of you more technical readers would be willing to do a little testing under Zeta or Dano, I'd genuinely appreciate it. E-mail me or leave a comment. In any event, the program bundling is on the back burner for the moment, leaving me time to work on my final R2 project of the summer: the Deskbar.
In my R2 desktop proposal, I described changing the Deskbar to make it more functionally useful and better organized. All the details can be boiled down to breaking the Be menu into three and making the Deskbar behave a little more like a panel used in Linux, with addon widgets for things like inbox monitoring, weather, and other useful tools. I've started it and made much more headway than I thought I would. I was intimidated by the Deskbar code, which is mature, stable code which more complicated, architecturally speaking, than I'm used to dealing with. After some code study, though, it isn't nearly as difficult as it looks.
How far have I gotten? Well, I have all three menus implemented: Programs, Computer, and Bookmarks. Integration of NetPositive bookmarks is complete, and would be wildly convenient if I had a decent browser to use them with (might try NetSurf). No more broken Deskbar links, either -- applications are found by query and there is an almost-imperceptible delay when browsing the menu. The system settings program (screenshot in an earlier post) drastically reduces the clutter in the Computer menu. The Bookmarks menu doesn't create bookmarks when you drop files on it yet, but that's currently being investigated. Overall, I really like it, and I can't wait to get it to the point where I can replace the Deskbar on my machine with it. That day will come, and it will be a good one. No screenshots yet -- I'm also working on some nice icons to replace the cruddy placeholder ones I currently have in place. Stay tuned!