Applications don’t understand a network that isn’t on the Internet

I’ve been working with several Mac OS X apps, including NetNewWire, MarsEdit and even iTunes, that all seem to assume that if there’s a network it must be on the Internet, which just is not a good assumption to make.

For example, I find that iTunes takes forever to start.

NetNewsWire has a problem where is cannot update the article view to a different article while there’s a hanging process trying to load images referenced in the previous article. So, I can scroll around all I want, clicking on different articles, but I will only see text from the last article until all the images timeout. So, if I want to read articles without bizarre timeouts, then I have to turn off any networking. That means NetNewsWire breaks AirTunes for networks that aren’t always on the Internet while browsing subscriptions.

Mail under OS X also seems to assume there’s a constant connection to the SMTP server. There does not appear to be a way to send an e-mail later unless one either has a server to spool on the LAN or save each message as a draft.

MarsEdit appears not to understand edits to existing posts while offline. If you’ve posted it before, you have to be online to edit that post. Otherwise, you have to save the edit as a draft which then ends up being a new post, instead of an edit to an old one.

Another annoyance to MarsEdit, for me, is that while there’s dates on the drafts, posting a draft uses the time and date of the posting action, instead of the time that the draft was created.

Additionally, moving a post from one blog to another resets the timestamp as well. Instead of preserving the original timestamp, which is what I would expect. Actually, I’d also like to be able to post the same message to multiple blogs, without having to duplicate the message in the UI, but that’s feature request not a “feature” I have observed in the app.

It’s an interesting shift. Back in the day, it would have been, and should still be, wrong to assume that a network has an upstream connection. Everything should behave well on networks that are only LANs, without a WAN link.

Oh, and NetNewsWire doesn’t seem to cache images when they are loaded in the Article view, so that each time an article is viewed, it must re-load from the Internet any images. That means that it is not possible to cache the images of a photoblog and view them at a later date, offline. So it does a brute force style of display, every view it loads images fresh even if one just clicks to another post and back.

It’s just bad design to make a network application that assumes the Internet will be there, or that every network is connected to the Internet or that a connection to the Internet is always on.

Or, at the least, give a guy the option to stop the damned application from doing something stupid like trying to get to the Internet over the LAN when it isn’t there.

Then again, just to contradict myself, I’ve absolutely hated the design of USENET, which pushes all of the content of ever post to every corner of the network. I’ve also complained about the way that I have a complete copy of my music library on each machine, instead of a convenient consolidated library. So, there’s something to be said for not duplicating, but that shouldn’t mean that applications aren’t smart about the network in what they assume to be there on one layer when any other layers might be present.