Monday, October 31, 2005

Avoiding work with more work that I was avoiding so I can avoid yet more work

I had originally intended to tackle audio recording for 4.0d4. I decided on that because I was avoiding the new blogging architecture, like I had been doing fairly successfully for much of 4.0 so far. I just hadn’t wrapped my head around it yet. But then I looked at audio recording and CoreAudio. CoreAudio is a deceivingly small API but there are loads upon loads of things that you have to do that aren’t readily apparent, which is annoying on several levels. In a happy world, the CoreAudio folks would provide a nice wrapper to do simple operations (like what I want to do) as sample code that I could compile right into MacJournal and we’d all be shiny. I guess this sort of exists, but it’s written in C++, which I dislike more than nonintuitive C APIs. So that’s out the window. I will probably end up using this third-party wrapper framework that I found on the interweb instead. So I’m avoiding that for now.

Instead, I went back to blogging (because I’m really avoiding .Mac syncing) and actually got quite a lot done. The groundwork is all there and rough UI is in place now. This will allow for one-click upload of an entry to a blog (properly configured). This also brings MetaWeblog and Atom support. The latter makes WordPress and TypePad a lot happier, while the former works well with Blogger right now (better than the antiquated API that bears their name could do, paradoxically enough). However, I’d like to minimize the importance of the protocols as much as possible though, if only for the reason that the Blogger API will no longer be the best one to use with Blogger. Over the weekend I put in some automatic configuration so you can just put the URL of your weblog and MacJournal will figure out all the surrounding details to best of its ability. There are loads of different blogging software packages out there, but I’m focusing on six for this release: Blogger, LiveJournal, WordPress, TypePad, Movable Type, and Blojsom. Blojsom makes it on the list just because Tiger Server installs it as the weblog software, so it makes sense to try and make that work as best as possible. Others will work just as well once you have them set up, but it will all depend on how nice the software is. The nice blogging sites have little tags that help offline clients like MacJournal to figure out what to do. In fact, of the six, WordPress is the only one that includes no such information. Boo for that. However, there are other ways I can figure out it is WordPress so it’s not such a big deal. It was a little disappointing though, given the fact that WordPress is the most popular right now.

If you’re in for a laugh, check out Xanga. That is some of the worst HTML I have ever seen. There are two body tags! Can someone explain this to me? Yowzers.

The problem is going to be testing all of these sites. I only have capabilities to test uploading to a few different kinds of blogs right now (Blogger, LiveJournal, WordPress), so I will need to work out some way to test the others before I can really feel comfortable that the auto-configuration is making the right decisions.

In terms of the next pre-release, I’m still deciding how much of this I want to be done before the next release. I will probably fall on the side of having a more complete implementation that’s closer to the final product rather than putting something out now. Depending on how things go the next release will probably be mid- to late-November.

Maybe then I’ll get back to audio recording.