Wow — any respect or relationship I had with Brian Ball and the macZOT enterprise just flew out the window. The basics of the story, for those who don’t have the time or energy to click through, is that Brian signed a contract to buy the application xPad from Garrett Murray for a hair over $5,500, and one month into the ten months of scheduled payments, stopped replying to invoices or emails and eventually proclaimed that it was overvalued and that he couldn’t justify continuing to meet his payment obligations. What an incredibly dirty way to do business; I figure now’s as good a time as any to cancel my macZOT account.

A few more short-takes (in lieu of actual posts that take time or energy to compose!) — consider this fair warning that they’re all a little on the geeky side.

  • Holy crap, the folks behind the kick-ass app Parallels have released a new beta version for the Mac (download here) that takes things to a whole new level. You can now interleave Windows and Mac windows on the same screen, modify shared folders while a virtual machine is running, and drag and drop between the Mac and Windows installations, and it looks like a slew of interface issues were fixed as well. It looks like you can also boot from a Boot Camp installation of Windows, but from the comments in that discussion group thread, there might be dragons so it might be worthwhile hanging back and waiting to see how that works itself out. (Thanks to Dan for letting us know about the new beta!)
  • I’m a sucker for a programmer weblog that focuses on issues of usability and logic rather than the nitty gritty insides of some technology or language. (Think Raymond Chen’s Old New Thing or Joel Spolsky’s Joel on Software, both of which are like crack for me.) Because of this, I was happy to discover today that the authors of the Head First line of programming books have a weblog, Creating Passionate Users, that solidly fits into this same mold! I’m a fan of their books, and am glad to be adding the site to my reading list.
  • Speaking of weblog reading lists, earlier this year I switched to using the web-based feed reader reBlog, and was ecstatically happy about its general level of hotness. Over time, though, it’s demonstrated a bunch of flaws — such as suboptimal parsing of pages and feeds (at times leading to feed lists rendered so poorly that the app’s own control buttons become totally nonfunctional!), feed items showing up dozens of times as new despite having been archived, and keyboard commands that randomly shut off — all of which have made me eagerly anticipate the release of a new version that incorporates bug fixes and whatnot. We’re now nine months later and no new versions have crossed the wire, so I decided to post in the forum asking about the status, and learned that the authors aren’t working on it anymore and there won’t be any more versions. That’s sad; I have a lot of data locked up in the archives of my reBlog installation, an app that’s becoming harder and harder to use with any reliability, and no real path forward… time to start looking for options.
  • And finally: my feet are famous! (Mine are the ones in the Apple socks; Alison is a good friend of ours, and the socks were a thank-you gift for some computer work I did for her.)

In terms of laptops, I’m pretty solidly in the Apple crowd, having had a 12” Powerbook G4 for the past two-plus years and now having upgraded to a MacBook Pro last week. Since I moved to DC and become a member of the CrackBerry crowd, I’ve salivated over the idea that someone might figure out how to let me tether my BlackBerry to my Mac and allow me to use the data connection to access the ‘net (something that RIM supports out-of-the-box for PC users), and was pretty excited when Alex King offered a bounty for the feature and things started moving a bit. A month ago, Daniel Pasco claimed the bounty with Pulse, a product he’s developing that aims to use a Bluetooth connection to let you connect to your BlackBerry, and with my desire to see this working I’ve been following the app’s development closely. Today, Daniel posted an update with some incredibly interesting — and disappointing — information: the Bluetooth implementations are wildly different across the various BlackBerry models, with the Pulse able to sustain data rates that are more than five times faster than those the 8700g (my model) is able to pull off, and the 8700g’s rates are two times faster than the 7290. That’s really pretty amazing… in chatting with Daniel, he’s only 95% sure that this isn’t some weirdness in his testing setup, and he’s holding out hope that someone might be able to weigh in on what might be going on here.

If you’re knowledgeable in the Mysterious Ways of the BlackBerry Bluetooth Stack and have something that might point Daniel in the right direction, I’m sure he’d be thrilled if you’d go leave him a comment!

An incredibly astute truth, from Raymond Chen: “Regular expressions are probably the world’s most popular write-only language.” Anyone who’s ever come across a complex regular expression in someone else’s programming will understand that perfectly.

Wow — I never realized that Google uses different sources for the maps it displays on its own Google Maps app and the ones it serves to developers who use the Google Maps API.

Looking around for a Google Maps mashup of the 2006 Boston Marathon route, I found this little application over at Running Ahead. I meandered my way to the intersection at which I usually plant myself to watch the runners go by, but I realized that the Running Ahead application didn’t allow me to bookmark that specific view so I headed over to the normal Google Maps site to find the intersection and bookmark it. Imagine my surprise, then, when I zoomed in and noticed that there was an entire street missing — Danforth Road was present on the Running Ahead map, but just wasn’t there on the map being served up on the “regular” Google Maps site. Looking more closely at the two maps, I noticed that the one at Running Ahead had a copyright notice for Tele Atlas, and the one at Google Maps was copyright NAVTEQ; noticing that Danforth Road is also missing on the NAVTEQ-based Yahoo Maps beta, I figure the source of the map data is what explains the difference.

Apparently, the differences aren’t just limited to the roads on the maps; the NAVTEQ sources provide satellite imagery at a higher resolution than Tele Atlas, meaning that Google Maps can zoom in closer than anything that’s user-generated via the API. I’m sure there are other differences, as well; now, I know enough to pay attention and find them!

Am I alone in thinking that the user interfaces of the next generation of Microsoft Office applications might be the very textbook definition of overengineered? Looking at them, the Office team appears to have done away with the File menu entirely (perhaps it’s hidden underneath the little floppy disk icon in the upper left?), and moved nearly all functionality into the toolbars, renamed “command tabs” and “ribbons” in the new UIs. What’s more, the ribbons appear to flow out of (and be entirely dependent on) choices made from the few menubar options that remain, making the interfaces even that much more confusing. Hell, in the Outlook screenshot, all the various bits of chrome appear to take up nearly a third of the window — talk about needlessly de-emphasizing the most important part of the interface, the part in which the user actually writes a message!

Years and years ago, Apple was praised to the rafters for its strict guidelines on how a program should present its functionality (known as the Apple Human Interface Guidelines). Over time, the folks in Cupertino began breaking a lot of their own rules in the interfaces of apps like QuickTime and iTunes, but there’s still a good core of consistency in the Mac interface that stretches all the way back to the Lisa in the early 1980s. Looking at these Office screenshots, it’s clear to me how important that consistency is — and how totally and utterly confused a lot of Office 2007 users will be when they’re faced with apps that don’t behave anything like their old ones. I’m not looking forward to that at all.

It’s been a bit of a busy week; I’m part of the faculty group that’s teaching the second-year medical school hematology course right now, meaning that I’ve been waking up about an hour and a half earlier than normal, teaching for most of the morning, starting all the other work I have to do around noon, and getting home feeling like I’ve been run through the ringer a little bit. That being said, teaching is a lot of fun, and it’s a hell of a reminder of how much I’ve learned since I was in the same class eight years ago back in New York.

Oddly, my respite from the world of medicine this week has been task-guided learning of a new programming language, Java. Towards the end of last week, Matt got the idea of starting up a Jabber server linked to his übersite MetaFilter, and really wanted people to be able to use their MetaFilter usernames and passwords to log into new service. He decided to try out a server that’s coded entirely in Java and has an open, extensible architecture, and asked me what I knew about getting it to talk to his user database. I started looking into the app, and quickly realized that Java is built from the same elements as are most of the other languages I know well, something that went a long way towards putting to rest my fears about delving whole-hog into the guts of the server. A few hours later, I had put together the code that Matt needed, and early this week, I wrote an plug-in from scratch which allows regular users to see a list of all the active users of the server. And while I wrote the first set of tools — the authentication modules — in response to Matt’s need, the goal of getting my feet wet in Java motivated my development of the plug-in as much as did the development of a useful tool for the MetaFilter community. For me, that’s the best way to start to learn a new technology: realize a need, discover that the technology is the best way to fulfill that need, and jump in.

After nearly a year of using TextMate, I have to say two things: it’s a unbelievably fantastic application, and the folks over at MacWorld are nuts for choosing TextWrangler over it for an Editors’ Choice Award. If you’re writing code on a Mac, and using anything but TextMate to do it, you’re missing out.

This morning (don’t you love that 12:55 PM is “morning”?), I’ll share a few links that found their way into all the tabs I have open, waiting to be read. The sharing is partly because I have to update my web browser, so I’ll be losing all those tabs soon; it’s also partly because they’re all share-worthy.

  • The City Record and Boston News-Letter: this is a (TypePad-driven!) site run by Charles Swift and devoted to Boston’s history; Charles came across my June 2003 post about moving to Boston and wanting to spend time delving into the history of the region, and was kind enough to drop me a line overnight letting me know about his site. This is the kind of weblog that sits smack in the middle of my danger territory — I could start reading it, and get so engrossed and so obsessive that I might never come out.
  • Guide to Using XmlHttpRequest (with Baby Steps): I posted last Monday about Jesse James Garrett’s piece on Ajax, the newest Big Thing in web development, but lamented that there still wasn’t a user-level guide on implementing it. Well, now Bill Bercik has done that, and I couldn’t be happier. I’m currently finishing off the reimplementation of one of my web applications in PHP, and after reading Bill’s piece, I’ve already started forming a mental checklist of places that I might want to think about using Ajax in v2.1 of the app.
  • The MN Musolfs: OK, this one is mostly personal — it’s the new Blogger site of a friend of mine. The part of it that isn’t personal, and what motivated me to include it in the list, is that she (or her husband) is a natural-born blogger; in one page of posts, there are baby pictures, recipes (a hot tuna wrap!), and laments about the cancellation of the NHL season. I can’t wait to see where the site goes, and it’s nice to have the added way of keeping up with long-distance friends.
  • Rolling with Ruby on Rails: this is a O’Reilly review of the web development technology that’s being called The Way Of The Future, and while I’ve been at this long enough to know that there’s as much hype as reality in claims like that, I’ve also been at this long enough to know that, at a minimum, being called that means that the technology is at least interesting. And according to this MetaFilter thread, some of my favorite websites were built using RoR. So I’ll give it a read.
  • Stage Fright Remedy: this is a brother-sister guitar and vocal duo that Shannon and I heard on the “Talent from Twelve to Twenty” Prairie Home Companion show last weekend, and even though they didn’t win the competition, we really liked them. Turns out that they’ve got music online, and it’s already made its way onto both of our iPods. (Of note, I also loved the bluegrass music of The Lovell Sisters Band, but they’ve got nothing online, so it’s hard for me to keep listening to them!)

Jesse James Garrett has a great new piece up on the Adaptive Path website describing the technology behind the newest generation of web applications. Instead of providing the standard click-and-wait approach to doing things on the web, companies like Google, Ludicorp, and Amazon are implementing apps built on a foundation of asynchronous communication, JavaScript, and XML (hence the nickname “Ajax”); the combination allows the apps to behave more like desktop applications, with fast response times (like being able to move a map around in real time) and a ton of activity on the client side (like autocompleting entries into text fields, or an entire interface implemented at the client like in Gmail). The idea is catching on enough to show up on personal sites, as well — for example, the search functions on Anil’s and Dunstan’s weblogs return results as you type.

Jesse’s right — Ajax is a revolutionary step in the evolution of the web, and it’s certainly going to be fun watching how developers use it to create the kind of applications that make users stop noticing the difference between the web and the desktop. Google Maps and Gmail are already doing this; as soon as there’s an Ajax implementation that’s easy for the lone developer to install and use, the sky’s truly the limit.

Yesterday was a good programming day; there’s something obscenely satisfying about checking in a set of revisions to the application on which I’m working right now that includes over 400 new or changed files.