Windows – c:tempmycoolappreadme.txt *nix* - /home/mycoolapp/readme.txt
Storage on Amazon S3:uniquebucket/mycoolapp/readme.txt
On Windows, you can see that the object has a file path consisting of the hard drive letter "c:" followed by the "temp" folder, which is in turn followed by the "mycoolapp" folder that contains the file (object) called "readme.txt." Assuming a mount point or hard drive is involved, on a Unix/Linux/OS X system, the path is a little different though the same applies: "folder/folder/object(file)." All that's simple. Now let's change the metaphor "file" to "object." In the Amazon S3 example, think of the "uniquebucket" as your unique name space. It's yours and yours alone. That means you have to create a unique bucket name. It’s been said that S3's worst design feature is the bucket-naming limitation, since it forces you to compete with everyone else for a unique name. For example, if you wanted your name to be "cloud," too bad. "Cloud" already exists. Next, you might think "mycoolapp" is a folder, but it’s really not. It’s actually part of the entire object name, which is known to Amazon S3 as "uniquebucket/mycoolapp/readme.txt." So, what was once used as the file metaphor "readme.txt" is now using the object metaphor "uniquebucket/mycoolapp/readme.txt." In my next post, we'll go over the latency issues that occur when mobile platforms communicate with cloud storage systems.