evan_tech

Previous Entry Share Next Entry
06:17 pm, 1 Dec 03

craftsmanship

JoelOnSoftware's latest article on Craftsmanship leaves me oddly vindicated. It discusses (in a somewhat self-important way, I might add) the pain he took to make a lengthy "load file" dialog include a progress meter.

I wasted spent a significant amount of time designing LogJam's "network processing" dialog because I hate it when apps block. (There's a picture of it on the LogJam tour page.) It's gone through multiple incarnations, from threads (yikes) to pipes between multiple processes (which Joel also picked), and then to even more abstraction for lengthy processes that span multiple network requests (the journal backup dialog). It even includes some fancy SVG support so that the animation rotates smoothly (it looks rad and is entirely useless, I assure you).

98% of the time you never see the dialog, because stuff happens too quickly. The other 2% it's wonderful to be able to watch a transfer go (loading your huge friends list over a modem) or cancel a request (LiveJournal hiccup?). It's probably the part of the program I'm most proud of, even though it (like all of it) kinda sucks.



PS: It's weird to see the needless jabs at Unix users at the end of that article. I see it a lot from Windows/Mac devotees (though less recently from the Mac-o-philes, because now it's always "elegant Unix underpinnings" etc. Though they still manage to stab at GUIs and such). Joel does it a lot, or at least enough that I notice it, but forgive him because he's frustrated with dealing with such an frustrating and useless operating system. :P
(PPS: I have written a lot of Windows code, even some professionally, so I am somewhat justified in saying that.)