Microsoft’s Vista, Apple’s Leopard, what next?
For the end user, Vista is just a pretty XP, and in classic skin mode, Vista looks even more like its predecessor. This is because the way you use the computer hasn’t changed much, there are no radical changes. The same applies to Apple’s Leopard: there have been a lot more functions added to it, a lot more prettiness, but nothing radically different. Enter WinFS!
Windows Future Storage (WinFS) was a filesystem originally slated to be shipped with Vista (then Longhorn). Development schedules for other products pushed WinFS into the background. Currently, the status of WinFS is unknown, and despite Microsoft already announcing that they’re starting development on the next Windows version, codenamed Vienna, there’s no word on whether WinFS will find its way into that. Apparently, once bitten, twice shy: Microsoft isn’t making any promises it might not be able to keep for WinFS.
Because all data in WinFS has relationships, you cantheoretically forget about having to synchronise orupdate information ever
Enough of a history lesson-it’s time to understand why we’re harping on about WinFS; what radical changes does it promise?
FAT16, FAT32, and NTFS store all your files as a contiguous and continuous stream of bytes. This means an MP3 is stored as a chunk of data on some part of your hard drive. The OS is quite dumb to what that MP3 is, and basically doesn’t care. All the OS needs to know is that it should use a media player to open files called “MP3.”
Now WinFS is less of a filesystem, and more of a relationship builder. It still sits on top of an NTFS filesystem, and stores its own data on an NTFS drive, but you cease to see your drive as files and folders. Think of how you get online and find information-you search, right? Why should items on your PC be found in any other manner?
“Now where did I store that PDF?” You remember that it’s about your company’s finances. Unfortunately, there’s also 250 GB of files there that you’re not in the mood to sift through. A regular Windows search reveals nothing, or too many PDF files, because the file is named something like 2006-07TR-SD.pdf. You can’t even search for text inside the document because it was password-protected. “Was it in a folder or in my e-mail?” You waste precious minutes (even hours) looking for it. Why? Because you cannot search for “A PDF file with transactions that was sent to me between April and June this year by one of my bosses, which I last viewed sometime this month.” With WinFS, you will be able to.
Another example is trying to find “contact information of that guy I met on my vacation to Nepal, clicked pictures with, and e-mailed once last year.” How can this be made possible? If only your e-mail client, picture viewer and search utility could talk to each other, they’d collaborate, eliminate false positives from your search-and give you exact results, and fast.
WinFS achieves this by understanding each type of data, each file if you will, generating a report about its contents, the type of file, and all related and relevant information. So when you store a picture, which you receive in your e-mail client from Suresh, with the subject “Pics of our vacation to Nepal,” WinFS stores the file in a database as type picture (regardless of JPG, GIF, TIFF, etc.), relates it to your contact Suresh, uses the keywords “Vacation” and “Nepal”, and associates it with the date it was received. It can make more associations as well,
To end users, Explorer will look very similar, but what appear to be folders are actually database tables that group similar items
such as the content of the e-mail, if you set it to do so. Now, when you forward that mail to another friend, say Ramesh, WinFS stores his information as a relationship to that picture. It also does more, like identify a relationship between Ramesh and Suresh and keywords such as “vacation”, and so on. When you search now, you will find the picture, because WinFS actually had a basic understanding of that file.
The same applies to any file, even files that Windows does not natively recognise. A good example would be a Photoshop PSD file. Let’s say you created a PSD file, using the same vacation pictures of Nepal, and added some text layers. Because WinFS requires software vendors to prepare a schema for the way their software creates and manages data, it can natively read into those files. It also means that you get to see the PSD as a derivative of the Nepal vacation, even though it’s called “Untitled-1.psd”.
Another great feature is that because all data has relationships, you can theoretically forget about having to synchronise or update information. Another scenario: you have contacts in your e-mail address book. Suresh has changed his mobile number and office address, and sends you an e-mail to inform you. You make the change in your Outlook contacts. Unfortunately, you also have a third-party software that prints labels for your newsletters. You have an Excel file that contains mobile numbers of your friends, a mobile phone manager software that also stores these numbers, a computer on the network where billing addresses are stored, etc. Now you’re going to have to go about finding everything with Suresh in it and update it… not! WinFS, if set to do so, will have already updated the changes everywhere, thanks to its relationship building and database storage.
There’s so much more to WinFS, we cannot cover it all in this space. It’s the perfect example of how the OS might be revolutionised by just adding a different method of dealing with data. Our Sixth Sense is in overdrive when we consider the possibilities, and brings us to the conclusion that WinFS, or other, similar filesystems, are our way into the future.
WinFS is the perfect example of how the OS might be revolutionised by just adding a different method of dealing with data
There once was a popular rumour circulating that Google was working on GoogleOS. This would be an OS that ran from the Net and offered you all the functionality you needed online. Some still insist that Google is ultimately working towards this, and is still developing GoogleOS. Knowing Google, this is quite possible-they’ve surprised us so much in the past with innovations, we now believe anything is possible. But is the idea of an Internet OS really far-fetched?
What’s to stop someone from making a Web-based OS? The Net is nothing more than a rather humungous LAN. Using a Live CD, USB drive, or even network booting, those with broadband connections could conceivably boot off the Net. Of course, broadband connections need to be omnipresent, and there has to be some way of making sure people can still use their computers when their ISP goes down. But these are not really unsolvable problems. Look out for something like a GoogleOS-it may be closer than you think.
As mobile devices go, we’ve already seen Apple integrate OS X into the iPhone-a lighter version, no doubt. Windows CE also brings the familiarity of the Microsoft OS to mobile devices, and enables you to do things you normally cannot on regular mobiles. As the hardware gets more powerful, we see mobile software keeping pace. In five years you might perhaps be able to load Windows XP on your mobile phone. Still speculation, but not completely improbable.
With OSes, we expect a lot to change, and radically. If the computer is ever going to be more powerful than it already is, it needs a makeover, it needs smarter software.
The future is basic AI, hopefully more…
Software is what we spend most of our lives using, whether it’s an office suite, an instant messenger, a browser, an image editor. Although we’ve seen some brilliant interfaces and UIs, software isn’t as smart as we want it to be. It’s still a very unidirectional flow of information-you telling the software what you want.
Manufacturers have started making more intuitive software, and laying things out better so everything is within easy reach-Office 2007 is an example. However, while writing this piece in Office 2007, when this writer wants to highlight each header, he has to do so manually. Wouldn’t it be nice if our software could think, see the writer highlight one header, then the second, and then at least ask if the writer wanted all the headers highlighted? This applies for repetitive tasks in any software.
For now, we just have to make do with Word
auto-correcting our obvious typoes
We’ve spoken about the need for better interfaces in this Sixth Sense section, and there’s a dire need to move away from the keyboard and mouse system of input. But how do we achieve that without smarter software? Here lies the problem. Artificial Intelligence (AI) has been a dream for over half a century now. Researchers have been building robots and software to try and mimic the human brain for as long as they possibly could, and are nowhere near building a thinking application than they were when they started. A lot of people will disagree with that, of course, and we don’t mind. A.L.I.C.E. (Artificial Linguistic Internet Computer Entity), www.alicebot.org, can simulate intelligence to an untrained observer, but doesn’t understand the meaning of what’s being said. Basically, everything to do with computers uses mathematics, and it’s near-impossible to make a computer understand characteristics of human speech or conversation such as wit and sarcasm. And if that’s hard, imagine how impossible it is for a computer to understand the difference between someone telling the truth and someone lying!
As you can see from this chat, Alice tends to lose her way sometimes
The beauty of human intelligence springs from its complexity, but forget us superior humans. What about dogs? How do we teach a robotic dog to have instincts? Will a robotic dog ever be able to “smell fear”? Will we ever be able to make a robotic dog that knows when you’re happy and wags its tail? Until we fully understand and can translate into mathematics things like instinct, feelings, and sarcasm, it’s going to be near-impossible to attain true AI.
AI Research (www.a-i.com) is one of the leading AI organisations in the world, and is taking a step backwards-instead of trying to make an adult brain, it’s focussing on making an artificial child. The idea is that a child’s brain is much less complex than an adult’s, and like a child, we need our AI to learn. We need to teach our AI the same way we all learnt as children-how to speak, nursery rhymes,… and gradually build language. This where we get our understanding of the use of language, and hopefully AI Research’s child will do so too. It’s going to take a long time though, but perhaps this is the right method.
We’re getting ahead of ourselves here. Sticking to better software, and AI in software, it’s acceptable to have simulated intelligence, because we just want the software to help us work faster and better. Think about something as simple as AutoCorrect options in MS Word; if it can actually read and understand the sentences we type: perhaps someday MS Word will actually see you type “News of his father’s death sent him into sock,” understand that the word “death” is something bad and sorrowful, “father” is a very close relative, and no one can really “go into a sock.” It will then see that the word should have been “shock” and not “sock”-or for that matter “sick”, “sack”, or “stock”. Complicated, but it doesn’t sound impossible to us. For now, we just have to make do with being auto-corrected for obvious typoes.
With any single-player game, where the computer controls other entities, AI is used. The problem is that the human brain is advanced enough to figure out behavioural patterns of AI. Because it’s based on mathematics, AI can get quite predictable. We humans are more chaotic, and especially when playing a game, no two humans have the same patterns or behaviours. In fact, the same person playing the same game for the second time might play it differently from the first time. With CPUs getting faster by the minute, the future will not be held back by lack of computing power-it’s now up to the developers of games and AI to harness that power and make AI players in games a lot more believable.
Speech recognition is another aspect that has been stuck on the 99 per cent accuracy mark for a long time. Actually, it’s easy to trip up such software when you consciously try to-just throw a tongue-twister at them for fun and see what happens. The same goes for gesture recognition-whether hand or eye movements are being tracked-accuracy is nowhere near perfect. AI has a big role to play here as well…
Unfortunately, as in some other categories, when it comes to AI, our Sixth Sense is quite numb. We really don’t see any revolutionary breakthroughs in the near future. Simulated AI will gradually get better, software will appear to keep getting a little smarter, but we’re very, very far from software that can truly help us with our work, and help us make decisions. Not every area of technology has a rosy future, and AI is one of those that don’t.
Why limit software to operating systems or platforms?
The problem with the software world today is that they’re platform-dependant. Not all of them, but the majority. Applications are being made as Windows-only, or Mac-only. Linux, being open source, has a lot of applications built for it with source code available. Thus, open source applications generally are available as source, Linux binaries and Windows binaries. In a sense, open source is more cross-platform than closed source applications-a generalisation, but the numbers support it.
It’s a problem that doesn’t seem to be solvable-Microsoft will release application programming interfaces (APIs) to developers, but they’re obviously not going to release source code. Cross-platform applications need to run on a different layer from the OS, something that is installable on any OS-something like’s Sun’s Java, which runs anywhere, and allows Java-based applications to be run on any operating system. Java has invaded the mobile phone markets as well, and anything from games to software applications are now installable on your phone.
Another truly cross-platform way of developing applications is to develop them online. Applications such as Google’s Docs and Spreadsheets, Calendar, etc., are good because they’re cross-platform. It’s very useful to have such applications when working across a large group of people, because you need not worry about what OS they’re running. Our Sixth Sense tells us we can expect to see applications in general move a wee bit closer to offering cross-platform support. And you don’t need to play soothsayer to say that applications being made into Web-based services will also increase in popularity.
We mentioned WinFS earlier in this section, and a filesystem like it could really help in turning data into seamless streams that are accessible by any platform. Application compatibility on different platforms will be harder to achieve, because they have to be coded that way, but Microsoft has started the ball rolling by supporting the Open Document Format (ODF) (www.oasis-open.org) in Microsoft Office.
Crossover running native Windows programs on a Mac
This standardises all office suites that use this format, allowing access to office documents to any office application on any platform.
The future here is garbled, and our Sixth Sense tells us that if the big names collaborate, the difference between the platforms-in terms of usability and the ability to access data-will get minimal.