Delivery

There's a commercial that depicts a school system as run by the courier companies. I forget what the commercial is for. In it a narrator asks, "What if the schools were run by courier companies?" A child is late. The lead delivery guy calls his agents in the field. And within minutes, the child is found and delivered to the school. The implication is that the courier companies are models of super-efficiency and organization.
Funny, but this has never been my experience.
For me, home delivery is an agonizingly worrisome affair. First I make my order, tentatively, gingerly, nervously. I'm then given either a range of dates, or an exact date, depending on my shipping method, when to expect my package. What follows is that, more often than not, on some day within that stated range, after returning home from work, I receive a notice on my door informing that an attempt has been made to deliver my package. From here on out I face an often major quandary.
On the notice it usually says that a signature is required for me to actually receive the package. This is New York, after all. It also states, now, a range of times when the courier will make a subsequent delivery attempt on the next business day. This is generally a range of about 4-8 hours, and those hours almost always occur during a period in which I will be at work. There is no way to negotiate this. If I am to receive a package via courier service, I must be home. I have missed days of work waiting for packages to be delivered. It's harrowing.
Today I just happen to have the day off by virtue of my regular work schedule. And I just happen to be waiting for my iPhone 3GS to be delivered by FedEx. I'm nervous as a squirrel on crack, and so I keep obsessively checking the my tracking number on FedEx's website, over and over again, for some sign that something's gone wrong. I have not showered, nor have I moved my bowels for fear that I might miss the delivery. I am trapped in my apartment afraid to do much of anything. I've been waiting since 8 AM. It's noon.
On my order tracking page I am given certain information about my shipment. Most important to me is the information regarding its whereabouts and the history thereof. Last night my package was in Pennsylvania. Then it was in New Jersey. This morning it made its way to The Bronx. And then, at 8:20 AM, was put on the truck for delivery. And so it's stayed for nearly 4 hours.
At my order tracking page, with which I'm becoming quite familiar by now, I also see that FedEx has certain information about me. They have my address, of course. But they also have my phone number. I wonder if they have my email.
The tracking page also links to an "E-mail notifications" page, where you can actually set your account up to send emails about the status of your package to up to 5 addresses. You can have them email you about a problem with delivery, after the fact, when it's to late to correct the problem; or they can email you when the package has been delivered, the one time I don't need an email because the damn thing is in my hand; or they'll email you detailed tracking info, which is already available at the tracking page I've been reloading all morning. Unfortunately, none of these notifications are useful to me.
See, what I need is the one piece of information that is conspicuously absent from my tracking page. What I want to know is where my package is once it's on the truck. And, perhaps more importantly, I'd like to know when the driver is in my neighborhood, so that I can be ready for the delivery attempt within a more reasonable time frame.
Why is it that the most vital information is impossible to obtain?
I once had an experience in which I'd arranged to pick a package up from a UPS facility, as the driver refused to leave it at my door and I couldn't miss work. But due to a communications snafu (or perhaps blind incompetence, I don't know) when I arrived at the UPS building I was informed that my package was out for delivery. The nice people at the UPS facility tried their best to contact that driver and inform him of the situation, but they seemed unable to do so. Even UPS seems hard pressed to find your package once it's out on the truck. And they're in radio communication with the drivers.
If I, as a SysAdmin, were so hard to reach, I would be out of a job. Somehow, people always manage to get ahold of me when they need me. Such is the state of global communications these days.
I really don't see why FedEx or UPS or DHL — hell, all of them — can't implement a better notification system. They have methods to determine the exact time the package was delivered. They have my phone number. And the general availability of GPS should make locating the driver at any given time a snap. Is it too much to ask that an automatic text notification (or method of my choosing) be sent to my cell phone when the driver is within a certain range of my address?
This, after all, is the crucial moment for me, and I suspect for lots of folks. This is the time we have to be here, home and ready to answer the door. Why is it the blackout time when it comes to communication?
Shit! Was that the doorbell? Gotta go!

There's a commercial that depicts a school system as run by the courier companies. I forget what the commercial is for. In it a narrator asks, "What if the schools were run by courier companies?" A child is late. The lead delivery guy calls his agents in the field. And within minutes, the child is found and delivered to the school. The implication is that the courier companies are models of super-efficiency and organization.

Funny, but this has never been my experience.

For me, home delivery is an agonizingly worrisome affair. First I make my order, tentatively, gingerly, nervously. I'm then given either a range of dates, or an exact date, depending on my shipping method, when to expect my package. What follows is that, more often than not, on some day within that stated range, after returning home from work, I receive a notice on my door informing that an attempt has been made to deliver my package. From here on out I face an often major quandary.

On the notice it usually says that a signature is required for me to actually receive the package. This is New York, after all. It also states, now, a range of times when the courier will make a subsequent delivery attempt on the next business day. This is generally a range of about 4-8 hours, and those hours almost always occur during a period in which I will be at work. There is no way to negotiate this. If I am to receive a package via courier service, I must be home. I have missed days of work waiting for packages to be delivered. It's harrowing.

Today I just happen to have the day off by virtue of my regular work schedule. And I just happen to be waiting for my iPhone 3GS to be delivered by FedEx. I'm nervous as a squirrel on crack, and so I keep obsessively checking the my tracking number on FedEx's website, over and over again, for some sign that something's gone wrong. I have not showered, nor have I moved my bowels for fear that I might miss the delivery. I am trapped in my apartment afraid to do much of anything. I've been waiting since 8 AM. It's noon.

On my order tracking page I am given certain information about my shipment. Most important to me is the information regarding its whereabouts and the history thereof. Last night my package was in Pennsylvania. Then it was in New Jersey. This morning it made its way to The Bronx. And then, at 8:20 AM, was put on the truck for delivery. And so it's stayed for nearly 4 hours.

At my order tracking page, with which I'm becoming quite familiar by now, I also see that FedEx has certain information about me. They have my address, of course. But they also have my phone number. I wonder if they have my email.

The tracking page also links to an "E-mail notifications" page, where you can actually set your account up to send emails about the status of your package to up to 5 addresses. You can have them email you about a problem with delivery, after the fact, when it's to late to correct the problem; or they can email you when the package has been delivered, the one time I don't need an email because the damn thing is in my hand; or they'll email you detailed tracking info, which is already available at the tracking page I've been reloading all morning. Unfortunately, none of these notifications are useful to me.

See, what I need is the one piece of information that is conspicuously absent from my tracking page. What I want to know is where my package is once it's on the truck. And, perhaps more importantly, I'd like to know when the driver is in my neighborhood, so that I can be ready for the delivery attempt within a more reasonable time frame.

Why is it that the most vital information is impossible to obtain?

I once had an experience in which I'd arranged to pick a package up from a UPS facility, as the driver refused to leave it at my door and I couldn't miss work. But due to a communications snafu (or perhaps blind incompetence, I don't know) when I arrived at the UPS building I was informed that my package was out for delivery. The nice people at the UPS facility tried their best to contact that driver and inform him of the situation, but they seemed unable to do so. Even UPS seems hard pressed to find your package once it's out on the truck. And they're in radio communication with the drivers.

If I, as a SysAdmin, were so hard to reach, I would be out of a job. Somehow, people always manage to get ahold of me when they need me. Such is the state of global communications these days.

I really don't see why FedEx or UPS or DHL — hell, all of them — can't implement a better notification system. They have methods to determine the exact time the package was delivered. They have my phone number. And the general availability of GPS should make locating the driver at any given time a snap. Is it too much to ask that an automatic text notification (or method of my choosing) be sent to my cell phone when the driver is within a certain range of my address?

This, after all, is the crucial moment for me, and I suspect for lots of folks. This is the time we have to be here, home and ready to answer the door. Why is it the blackout time when it comes to communication?

Shit! Was that the doorbell? Gotta go!

iPhone Video Capture

Why is it there's still no video capture application for the iPhone? Unless, of course, you hack the poor beast. That's right, if you've jailbroken your iPhone you can get a video capture application for it. In fact you'll have your choice of two, one of which is actually free (and reportedly of higher quality). But for those of us that prefer our iPhones remain in their gilded cage, we must hobble along with still-capture only. Pffthbbt! iPhone Video Recorder: Jailbreak-Only

When Apple announced the iPhone app store, video capture was one of the first apps I expected to see. Instead, here we are, a half-a-year later, and no such luck. Too bad, too. This is the one application I'd actually pay for.

Well, this and Bowling, of course.

The Best Part

Dave Caolo over at TUAW writes:

"For me, the best part of buying my original iPhone was the activation process."

And you know what? I totally frickin' — yes, I said frickin' — agree. One of the most ingenious achievements of the iPhone was pain-free activation. Apple removed that feature in a trade-off that enabled them to lower the base price of the iPhone 3G, and frankly it's the one thing that's prevented — yes, I said prevented — me from buying an iPhone for my girlfriend.

AT&T: Online iPhone Purchase

Well, it now appears that at least some semblance of easy activation is again being offered, though this time it's by AT&T and it happens online. Not as cool as the original deal, but at least I won't have to get up off my ass, get down to an Apple Store, and possibly stand in line in the hopes that they have what I want in stock. Nope, this can all be done from the comfortable comfort of my comfiest chair.

I'll take it!

UPDATE:

The other crap thing about the new 3G iPhones? The price — yes, I said the price. Sure, the phones are cheaper, but in the end the monthly is $20 bucks more, and my lady's on a budget. So I ended up getting her the Google Phone. So far, I think she likes it, though she's actually having to look at the manual: and I quote, "Totally useless." Hmmm...

There are some things I really like about the gPhone, though. The Google integration is pretty cool, for one — all your Gmail, Google Contacts and the like are instantly synced. Nice! It looks like it will make an excellent alternative to the iPhone.

Syncing Makes Me Cranky

Someone recently noted that every time I attempt to synchronize some portion of my increasingly expanding digital life — be it Address Book contacts, calendars, mail, or any of the other bits of data that seem to be essential everywhere I go and at all times — I get cranky. It's true. Syncing has become the new Holy Grail for just about anyone who has data on more than one device, which is getting to be lots and lots of people. It's no surprise that my most popular post ever has been, essentially, about syncing calendars. (Publishing, actually, but it's basically a sync issue.) There are also any number of sync-related products on the market these days. But I have yet to hear of any that would meet my syncing needs for any length of time — Mobile Me, for instance, looks great on paper, but sounds disastrous in practice.

Mobile Me: Right Idea; Wrong Implementation

A new service, Fruxx (currently in beta), looks promising. But so far I've opted for free alternatives, and, most recently, those have revolved around Google (now that it supports IMAP — more on that later), which is increasingly sync-able with the Macintosh platform, and increasingly present in my digital life.

Fruxx: Looks Promising

So why the cranky? Two reasons, really. The first is that I always feel that syncing should be easy. The second is that syncing is never easy. Syncing is, at best, a big fat pain in the ass, and at worst a vector for data loss.

Why is syncing so tricky? An illustrative scenario that springs to mind is the moving of data. Let's say I have 5 GBs of data in a folder called Movies. This folder is located in my home directory. That home directory gets synced to a spare hard drive via Time Machine. Now let's say I move those movies to another folder in my home account called Old-Movies. At last sync I had a 5 GB folder called Movies and no folder called Old-Movies. Now I have an empty folder called Movies and a 5 GB folder called Old-Movies. There are a few ways to sync this data move, and none is completely foolproof. What Time Machine will do is what I call an incremental backup. That is, Time Machine will keep a copy of the 5 GB Movies folder and make a backup of the 5 GB Old-Movies folder, even though their contents are the same. This is safe, but not storage-efficient.

Another model is to mirror the data, in which case the source is adhered to strictly, and anything not on the source is deleted from the target. In this case, the files in Movies would be deleted and the ones in Old-Movies would be copied. This is more storage-efficient, but also more destructive; it does not take into account the need to access previous iterations of the data. And all this gets even more complicated when there are two data stores and each is modified separately. For instance, what if I'm storing, accessing and editing copies of my contacts on my phone, my computer and my Google account all at the same time. How do we keep these data stores properly in sync with one another?

Again, there are numerous models. But one of the best so far — and particularly for small bits of data, like contacts and calendars, but not so much for large data like, say, movie files — is what's being referred to these days as "The Cloud" model. "The Cloud" is really just a marketing term for keeping your data in a centrally located, globally accessible place. In my biz we call these servers. Using servers to store data works well for syncing because the "master" data set is accessible from all of its clients. Make a change on your phone, and that change goes directly to the server. Next time you log on to your computer, it too talks to the server and gets the latest changes.

This is the approach I've been trying to use. These days I am syncing my iCal calendar data to Google Calendar, and my Address Book contact info to Gmail. Google is a good service to use for my stuff because it's free, extremely reliable — it's Google for Christ's sake — and it works with the Mac. But setting all this up is inordinately painful. For calendars I am forced to use a Byzanntine setup process involving login info and insane calendar URLs for each calendar on each computer.

Google Calendar Setup: Painful

With 10 calendars on 3 computers, this has been annoying, time-consuming and error-prone. Not to mention cranky-inducing. For my Address Book contacts the process was much easier: I just entered my Gmail info into a sync panel in Address Book and I was off to the races. There are problems with this too, though. For some reason I only get the Google Sync option if I've attached an iPhone to the machine in question, which is ironic considering the iPhone is mainly a target, rarely a source, and generally relies on a computer to be the data "master." Also, Address Book and Google only seemed to sync when I synced my iPhone to my computer, greatly limiting the usefulness of this feature. My main Mac, my iPhone and Google are now in sync, but what about my other computers?

Google Address Book Sync: iPhone-Only Why?

But what's most annoying is that all this setup is completely redundant. It's all been done before. All the info I need is already there. In Mail.app.

For email I've long used a protocol called IMAP, which is an example of the concept of centrally located data that's been around for some time. Yup, that's right. We've been doing mail in "The Cloud" for over twenty years now. In fact, I'd venture to say that if we'd had the sort of standards for calendars and contacts that we do for mail, we might not even be having the whole "Cloud" conversation. Calendars and contacts would all be on our mail server and served over well-worn, well-understood, free protocols. Fortunately, we're getting there, and again, by running their services using free and open protocols, Google is leading the charge. And Apple is right behind them with support for standard, open formats like CalDAV and VCF in their applications. But the process needs to be simplified: If Mail.app has my Google user info, that should be all the system needs to set up the other services.

Ideally, I think it would be really neat if someone offered up a service that simplified all of this. Imagine a site or an application that consolidated all — and I mean all — your email, calendars and contacts. I know this is what Mobile Me is going for. Google is also, basically headed in this direction. But Mobile Me can't pull your Google data and vice-versa (or at least not easily). No one is taking into account users' current data sets. Thus far, these systems are still too proprietary. This all needs to work like mail does, only better. Ideally, I could enter a username and password, and the URLs of a few servers and The Service would aggregate everything for me. Just like Mail.app does with all my mail accounts now, The Service would do for contacts and calendars as well.

Of course, then what would I get cranky about?

Don't worry. I'll find something.

Addendum: Before I even had a chance to post this, Khoi Vinh, of Subtraction fame, posted some tangential thoughts on cloud computing in a financially unstable world. I found the following passage particularly relevant to at least part of my argument:

"...I pay a company to store my mail on the cloud, ostensibly, but I have no more or less trust in their longevity than I do in any other online business. Through the underestimated miracle and beauty of IMAP though, all of my messages are also mirrored on my hard drive, an invaluable insurance policy against the sudden disappearance of my mail server or host provider. To me, the IMAP approach is really the ideal approach, and I really wish it was a model for more Web services."

See? I told you so.

Khoi's article is less about syncing and more about data storage and archiving, but it's an interesting read if you're interested in where, for instance, all your Google docs will go when the company crashes under the weight of the current financial crisis, and other drawbacks to so-called "Cloud Computing."

Capacity, Not Memory

When talking about cell phones and MP3 players with flash-based internal storage it's become commonplace to refer to the device's capacity as "memory." Even Walt Mossberg and other respected tech writers — the very folks who are supposed to make technology easier to understand — are guilty of this practice:

"The G1 also has much less memory than the iPhone."

This is technically acceptable, I suppose, as the flash mechanism used for data storage inside these devices is more similar to memory (i.e. RAM) than it is to a hard drive, but it's a pretty confusing use of language.

When talking about computers, the term "memory" refers to RAM, which is a temporary, non-user accessible space used by applications to boost the performance of certain types of operation. The term "disk space" is often used to talk about the amount of data storage available on the computer. Referring to the amount of data storage on a cell phone as "memory" is just plain confusing. But calling it "disk space" would be equally confounding.

The proper way to refer to the amount of data storage is "capacity." This term is device- and mechanism-agnostic — i.e. it means the same thing no matter what storage medium or device you're talking about. And it's completely accurate and specific — no one will ever wonder what you mean when you say "capacity;" it can only mean one thing.

So folks, please, stop calling it "memory." It's capacity. Period.

Geez!