I've been using Mac OS X Lion Server for a few days now at home to manage multiple computers, accounts, calendars, contacts, file sharing, VPN, and Time Machine backups. Apart from that I've also been using a CalDAV and CardDAV server for some time on my main Mac. That on its own is not very interesting or dramatic, but it does provide an indication of the direction Apple is going with iCloud.
I think that iCloud will change the way we use computers in a fairly profound way, and the most interesting thing is that I also believe we won't even notice.
I say this because iCloud, according to information that Apple has made public, will manage your data and files automagically behind the scenes. Well, if you have used a CardDAV and CalDAV server you've got a taste of what this means. Simple: you make an entry, say a calendar event, on one device, say your iPhone while you're at the doctor's office for a follow up appointment. If the device is connected to the CalDAV server, it automatically pushes the data to the server. The next time another device connects to the server, say your iPad, the server updates the calendar on that device, so your next doctor's appointment appears automatically, over the air, without any other syncing needed.
There really is no believable excuse for missing an appointment again!
iCloud will behave similar to that with the added feature that as long as the other devices get a connection to the internet, iCloud pushes the data down to the other devices at that point. The difference with the CalDAV server is that the calendar software is the one that makes the connection to get the latest calendar data, while iCloud pushes the changes without the calendar software making the request.
So why is this thing so groundbreaking? In fact, it's not, but it's a huge move forward to "cloud computing".
For the most part we think of computers as these devices that contain all our valuable data ranging from the calendar information to business files that are super sensitive. To access that data we need access to our computer, right? Well, what would happen if your computer is gone? Some of us have gone through the terrible experience of having their computer stolen. But that's not what I mean. what I mean is "not needing a computer anymore." Again, some of us are already familiar with this analogy. If you have a Gmail, Hotmail, Yahoo! or for that matter, any other web based email, you're already doing "cloud computing". You can access that email anywhere with an internet connection. You don't have to be at your computer; you could be at any internet enabled terminal.
Now, take that idea to the extreme, where all your data is accessible from anywhere, even if you don't have your computer with you. As you see here, we don't need a personal computer anymore.
Syncing contacts across the cloud will probably become even easier than doing so across local networked machines.
How does this relate to the Lion Server I mentioned at the very top of this article? With Server you can set it up so your Home directory is stored on the server. This means that if you log in to any computer that has access to that server, all your stuff in your Home directory is accessible to any computer at any time. No more need to sync your files, bookmarks, settings, etc. because everything is in a central place accessible from any machine.
There's the same logic behind iCloud. The beauty of iCloud, similar to what the CalDAV server does, is that it manages any conflict behind the scenes. What's a conflict? I'll answer that with another question. What would happen if you were to create an event on one device that is not connected to the CalDAV server, and later make yet another event on a device that does have connectivity to the server? Well, the server figures it out and ensures that the data is kept consistent once the different devices connect to the server. I'll give you an example. Say you have that doctor's appointment in your calendar and you're in a remote location with no connection to the CalDAV server. At this time you need make a change in the doctor's appointment because you're not available that day, so you make the change on your iPhone (remember, it has no connection to the server). Once you get to your own local network, in the same calendar you go and add another event unrelated to the doctor's appointment. Now, when your iPhone connects to your local network and the calendar connects to the CalDAV server, it sends the doctor's appointment to the server and retrieves the other non related appointment to your iPhone. When you open iCal on your Mac, it gets the updated doctor's appointment and the new unrelated appointment too.
So, iCloud would work in a similar way but not only for calendars or contacts, but for any application that the developer has built iCloud support. iCloud would mange any conflicts, keep the data secure, and with technologies like AutoSave and Versions in Lion, your work will be accessible without "your main computer". The inside workings of iCloud are not very public at this stage, but Apple has said that the data will be secure and only accessible to the application that creates it, plus a bunch of encryptions and keys that will be added to the process to make sure your data and files are safe.
Keeping documents secure is of prime importance if cloud computing is to succeed.
This means that the concept we currently have of a "personal computer" is morphing faster than what most people realize. In fact, an iPad is a great example. You can access some of your data on it, while the data itself is not hosted or created on the device, like your email, or your calendar and contacts while connecting to a CalDAV/CardDAV server.
I'm very much looking forward to iCloud, specially once software developers start releasing versions of their software with support for iCloud. I'll also have to come up with some cleaver password and change it offen, because if someone gets a hold of my Apple ID, they not only get access to my iTunes store account, but to my private files once they're in iCloud.
Note: The term "cloud computing" and to an extent "iCloud" comes from engineers and teachers trying to represent the internet as a cloud whenever they made a diagram of devices connecting to the internet. This is because the network itself has no shape and we really don't need the details of how data travels over the internet from its source to its destination. Hence that complex connectivity of devices, aka the internet, is most often represented by a cloud. If these academics had used something like a "black box" in their diagrams instead, it would be called "black box computing" or maybe "iBlackBox!"
Want to learn more? Check out Francesco Schiavon's Mac OS X 10.7 101 - Core Lion Tutorial here.