Visit Dennis M Wright's column >>

DENNIS M WRIGHTHome Page

Incertum ex Certis
Add To Watchlist
Articles Posted: 131; Links Seeded: 558
Member Since: 1/2006Last Seen: 11/06/2009

Microsoft UI Paradigm Comes Full Circle

advertisement

After Aero Glass, indexed search is the feature most oftened cited as iconic of how big an advance Vista is over XP. That's the search box at the foot of the Start menu and on every Explorer window. You just start to type the name of some program or Windows function and all the options that match appear instantly in a list.

This is actually very useful, and it can be quicker to find things than in XP if you happen to know what you're looking for by name.

It did get me thinking, though. Advance? I thought the use of icons and mouse-clicks, as distinct from the text-based command line, was what characterised the big advance from DOS to Windows back in the 1990s. Back then, the introduction of the graphic UI was a massive paradigm-shift. Typing in the name of the program you wanted became so passé. Graphics had moved on to the point where the interface could switch from fundamentally textual to fundamentally visual.

So how come Vista's text-based search, as the quick way to find the application you want, is any sort of "advance" to shout about? Is it a sign that the visual paradigm has failed and we're having to retreat lamely back to text?

To some degree, the answer to that question is "yes". With the advent of Windows (and yes I know Microsoft copied from Apple) we were supposed to be able to control the OS using the mouse, only resorting to the keyboard when entering data in forms or when word-processing documents. The appearance of indexed search in Vista is, though, a recognition that the visual paradigm is no longer working well enough, and was already a problem in XP.

There is just too much "stuff" on our computers. Too many files. Too many applications. Too many OS options and functions. It is too hard to find things or it takes too many mouse clicks to navigate to the option you want, even if you can remember where to find it. The visual UI concept was indeed a big step forward from the old DOS command line, but it only works up to a point. When there is too much on our computers, the paradigm starts to break down.

Despite the title of this post, things have not come exactly full circle. Vista's search is nothing like a return to DOS. You don't have to learn or remember a whole set of text commands and their quirky parameters, or the long paths to the files you need to reference. You just need to know that keying "ADO..." in the search box will bring up your favourite image editing program, etc.

Similarly, if you want to invoke the Windows device manager you just enter "DEV...". Much quicker than drilling down through a load of dialog boxes. Mind you, if you were new to Windows and had never found Device Manager the "hard way" with the mouse, how would you even know it existed? What use then, this wonderful search box?

And that's the fatal flaw. Navigation with the mouse is now too unwieldy, but the search facility is only any use if you know the name of what you're looking for.

Maybe we need a whole new paradigm. No icons, no mouse, no search box. Instead, a computer that can take simple questions in English and work out exactly what you need it to do. This is where Microsoft's Help systems for say Office have been trying to get to, but there's an awfully long way to go.

  • 14 Votes
  • Enjoy this article? Help vote it up the 'Vine.

Back To Top

Published to:

What's this?
Who's leading the conversation?
This visualization below allows you to see the impact that each user has on the current conversation. The top row contains the group of users who have had the most impact, the 2nd row the group of users who have had the 2nd most impact (et cetera). Users with similar impact are grouped together, and the average score of the group is shown to the left of the group. The author of the article is also shown on the left, in their corresponding group. Each user's score is based on the number of comments the user has made plus the number of votes their comments have received. The scores are calculated relative one another, so while their absolute value is not particularly important, their relative difference does indicate a larger difference in impact on the conversation.
5.2
3.2
1.1
{"commentId":906847,"authorDomain":"blai"}

Microsoft has done itself no favors with what I call Corporate Chinese, the ignorant semiotics of the teeny-tiny icons aboard everything. God allowed the Phoenicians to invent an alphabet for a reason. Microsoft's condescending attitudes about what constitutes Usefulness keeps users feeling ignorant and system administrators constantly annoyed.

As for the Aero interface, it's just a memory-hog implementation of what we've always had with Alt+Tab.

Microsoft continues to play stupid games with its kernel, and has long resisted virtualizing anything. The forest of .DLLs requires massively redundant code to do anything of substance. Debugging in the Windows world is a nightmare, I now refuse to code anything on Windows except Java, even C# is a hideous mess internally. The best thing Microsoft could do now is not to retire Bill Gates, but to drag Craig Mundie out behind the campus and shoot him through the head. Mundie is directly responsible for the Vista boondoggle.

{"commentId":906847,"threadId":"131525","contentId":"867000","authorDomain":"blai"}
  • 1 vote
Reply#1 - Mon Jul 30, 2007 11:36 AM EDT
{"commentId":907038,"authorDomain":"denniswright"}

I hope there's a MS team somewhere with an up to date OS requirements list but designing a new kernel from scratch. If so we may not see it for years but it would be worth it. Vista is bloated with years' worth of legacy dross code. It hasn't helped that they keep throwing in absurd extra functionality (eg Superfetch), which just slows it down, so they can say they've added features.

{"commentId":907038,"threadId":"131525","contentId":"867000","authorDomain":"denniswright"}
    #1.1 - Mon Jul 30, 2007 12:38 PM EDT
    {"commentId":907348,"authorDomain":"blai"}

    Hmmm... back to basics.. process management, scheduler, memory management and synch, system calls, threading, file systems, security... woops, that's not really needed, scrap that. Write another goddamn DLL, boys.

    {"commentId":907348,"threadId":"131525","contentId":"867000","authorDomain":"blai"}
    • 1 vote
    #1.2 - Mon Jul 30, 2007 2:01 PM EDT
    {"commentId":907829,"authorDomain":"vulgrin"}

    I'm curious - who does debugging and coding better than, say, Microsoft .NET? I'm curious as to what you are comparing the features or issues to exactly?

    I've been programming in Microsoft for long time, mainly VB until about 6 years ago, then now completely .NET with C# and frankly, its pretty dang easy. Debugging is very simple with VS.Net and quite a bit above other IDEs that I've tried. (Granted, I have a lot of experience with VS.Net now, so I've overcome the learning curve.)

    I haven't found a ton of redundancy in .NET libraries, though I haven't really sat down and looked. But compared to some languages / libraries like PHP, or Java, .NET is a LOT clearer to me. I remember trying to learn PHP 4 a few years back and a) not having ANY debugging tools to speak of and b) finding 5 or 6 different ways to perform the exact same function, but with different inputs or results. (And I'm not just talking about a bunch of overloads.)

    Also, what do you mean when you say "virtualizing anything"? I'm confused on what you are speaking to. MS has had the HAL and other abstraction layers since Windows NT. MS supports pretty good PC virtualization with Virtual PC and Virtual Server and supports some of the advanced virtualization techniques in the newer Intel processors.

    And on your second post, I'm not sure how rewriting all of those kernel and O/S systems is going to help anything? I mean, I know its good to shake out the code and start over, but its a VERY big deal to do that - and then people would be complaining that all of the other windows software that's out there suddenly doesn't work exactly right because the underlying O/S changed. Literally billions of hours of software development over the past 12 years would be at risk.

    Even Linus and the Linux kernel devs don't just rewrite parts of the kernel on a whim. Its a very, very well thought out process, that requires a lot of time, deprecating functions and waiting several months or years for developers to stop using them, warning people their code is going to break, etc.

    Sounds more like you are just doing random Microsoft bashing.

    {"commentId":907829,"threadId":"131525","contentId":"867000","authorDomain":"vulgrin"}
    • 1 vote
    #1.3 - Mon Jul 30, 2007 4:00 PM EDT
    {"commentId":908231,"authorDomain":"blai"}

    Oh, puh-leeze. Dot Net is neither architecture nor protocol. C# is nothing but a barstardized version of Java, written by and for people who wouldn't know a virtual machine if it bit them in the ass. The old Vee Bee hacks. Downright ugly code, lashed to the OS like a bunch of suitcases tied to the top of Uncle Bill's station wagon on its way to Cape May, every so often a suitcase flies off... woops! Better upgrade that pesky OS ! Darn!

    There's no magic to an OS, fella. It's just a program like anything else which loads from the boot process. If Microsoft paid its OS architects half as well as it paid those goddamn lawyers chasing down patents in Linux, they might have a real OS on their hands. Vista is an enormous bust, the largest bust in software history. Had Microsoft bitten the bullet and rewritten its kernel, instead of first playing little games with making a SuperXP or a Super Windows Server 2003 and virtualized all those goddamn Win32 calls, Vista would look less like Jabba the Hutt.

    As it is, Craig Mundie and all those marketing weasels are going to drag MSFT down the same path those weasels dragged Apple down until Steve Jobs got back in the saddle.

    {"commentId":908231,"threadId":"131525","contentId":"867000","authorDomain":"blai"}
      #1.4 - Mon Jul 30, 2007 5:57 PM EDT
      {"commentId":908289,"authorDomain":"mattschwartz"}

      Vulgrin, just like you I spent a long time programming on Windows with VB and then .NET. So you must know that .NET is nothing but a thick layer on top of Win32. Most of Microsoft's own programs are still not written in .NET, but C++. If .NET's that great why is it still largely not adopted by its creator after more than 5 years?

      Debugging in Windows programs has been a nightmare for quite a long time and will continue to be so. Once you get to the DLL levels you're stuck with proprietary compiled code. And thorough use of .NET can show you the bugs in the underlying DLLs. In .NET 1.0 I recall a few troublesome bugs that Microsoft simply refused to fix, even with our extremely expensive support contract, which caused me a lot of trouble for a small server I was writing.

      Now I develop full time in PHP. While there's no great debugging tools that I enjoy using, debugging overall is pretty easy with simple error logging and trapping. It doesn't bother me at all that there may be 10 ways of doing something because I can simply choose what works best for me. It's all so easy that the learning curve is minimal.

      {"commentId":908289,"threadId":"131525","contentId":"867000","authorDomain":"mattschwartz"}
      • 1 vote
      #1.5 - Mon Jul 30, 2007 6:19 PM EDT
      {"commentId":909866,"authorDomain":"denniswright"}

      Blaise - what did you mean about virtualisation?

      Was it that if MS created a clean new kernel they'd have to support legacy applications by running the supporting bits of the old OS in a process running a virtual PC? That would do fine. As users were weaned off legacy technology they'd eventualy be able to drop the virtualised legacy support, and at no time would the shiny new kernel get contaminated.

      This contrasts with the present approach where MS just keep piling more stuff onto the legacy dross, for backwards compatibility, so the whole thing just gets bloated out of control.

      {"commentId":909866,"threadId":"131525","contentId":"867000","authorDomain":"denniswright"}
      • 2 votes
      #1.6 - Tue Jul 31, 2007 10:22 AM EDT
      {"commentId":909978,"authorDomain":"blai"}

      Yes, exactly, as OS/2 ran all the old DOS-based apps with virtual interrupt handlers. If an old app needed support, they'd get a nice clean wrapper with all the old signatures in place. The old DLL calls would be politely ignored: the relevant code loaded and executed on an as-needed basis.

      {"commentId":909978,"threadId":"131525","contentId":"867000","authorDomain":"blai"}
      • 1 vote
      #1.7 - Tue Jul 31, 2007 10:50 AM EDT
      {"commentId":910049,"authorDomain":"DeepThought"}

      Having done a lot of fresh installs, I could easily implement a non-backwards compatible version of Windows in around 80% of the cases. That includes data center scenarios as well.

      I would like the option of a non-bloated OS that I could provide to clients, using code optimised for modern hardware that maximises the full potential of the PC.

      If Microsoft could be convinced, then we could also get hardware manufacturer involved too. This way we could give hardware designs a significant boost that would lay the foundations for the next generation of computers.

      It needs to happen at some point, phasing legacy code out is killing innovation and productivity.

      {"commentId":910049,"threadId":"131525","contentId":"867000","authorDomain":"DeepThought"}
        #1.8 - Tue Jul 31, 2007 11:09 AM EDT
        {"commentId":910107,"authorDomain":"blai"}

        As the games people and the video card industry pushed for reforms in the OS, (basicially telling MSFT to get the hell out of the way) so should applications drive out better security and simplified interfaces in the rest of the OS. Microsoft really needs to be slapped down, and hard. IBM has a bolt-on hardware Java for their mainframes, zAPP , but Microsoft continues to bind its applications ever-closer to its operating system, e.g. .NET, which only pretends to be open software.

        {"commentId":910107,"threadId":"131525","contentId":"867000","authorDomain":"blai"}
        • 1 vote
        #1.9 - Tue Jul 31, 2007 11:21 AM EDT
        {"commentId":910536,"authorDomain":"DeepThought"}

        There is a good arguement for applications being integrated with the OS. From an administration and security point of view, it means that given the proper backend tools, I can implement a domain-wide security policy very rapidly. An additional benefit is that it prevents overlapping technologies competing to do the same thing using incompatible standards.

        From a development point of view, there is nothing worse than trying to get various technologies to function together. From a security perspective, it can become a nightmare.

        .NET is open, in the sense that the specification is provided to create abstracted interfaces that can be implemented on any OS. In practice, however, .NET's specifications have been designed to abstract certain key features that only exist within Windows. This makes portability a problem.

        I certainly cannot write one application and have it run under both .NET and Mono, unless it is a simple console application. In one respect, it is missing features in the Mono API and in another it is the Widget toolkits such as Gtk# and Qt#. That's not to mention ASP.NET support.

        So, in the cross-OS environment, Java can make a lot of sense.

        The games, movie and video card industries have leverage over Microsoft, because if they abandon the system for Linux, Microsoft on the desktop is finished. That's why Microsoft has been pushing DRM and encrypted HD platforms. As Linux is open-source, it cannot really deploy these technologies which eliminates the OS from the domestic market.

        Take a look at AACS and you will see the companies that were involved in carving up the market to assist in Microsoft's continued monopoly.

        http://www.aacsla.com/founders/

        {"commentId":910536,"threadId":"131525","contentId":"867000","authorDomain":"DeepThought"}
          #1.10 - Tue Jul 31, 2007 1:05 PM EDT
          {"commentId":910715,"authorDomain":"blai"}

          Well, let's take that argument at face value, yes, there is a need for controlling app security. But under whose terms?

          From a developer and architect's perspective, implementing a MSFT solution is a nightmare, doesn't matter how you look at it. Trying to get technologies to work together from Microsoft to anywhere else is nigh-on impossible. Oh, MSFT has done some interesting things with XML based formats, but look at the mess created by carriage-return linefeed versus mere carriage-return. I've watched that problem break everything in an SOA application, literally everything, all at once, ever last bit of the parsing died horribly. MSFT simply does not play well with others, and it's always something. Within the MSFT Happy Valley, sure, your point is valid, but don't try to go any further, there are some Bad Nasties out there.

          The games industry will probably begin writing its own OS, anyway. They're sick of MSFT's screwing around.

          {"commentId":910715,"threadId":"131525","contentId":"867000","authorDomain":"blai"}
            #1.11 - Tue Jul 31, 2007 1:51 PM EDT
            {"commentId":910777,"authorDomain":"DeepThought"}
            The games industry will probably begin writing its own OS, anyway. They're sick of MSFT's screwing around.

            Actually, that's not a bad idea. A striped down OS dedicated to games that could run from CD, or USB.

            A hardware feature that suspends the current OS and boots the game OS would allow quick switching back and forth. I wouldn't really mind if I were to get max performance out of my hardware as a result.

            {"commentId":910777,"threadId":"131525","contentId":"867000","authorDomain":"DeepThought"}
              #1.12 - Tue Jul 31, 2007 2:05 PM EDT
              {"commentId":910801,"authorDomain":"blai"}

              Yeah, some variant of an RTOS, teeny little thing, geared to the gamer, where the video card runs most of the cycles.

              {"commentId":910801,"threadId":"131525","contentId":"867000","authorDomain":"blai"}
                #1.13 - Tue Jul 31, 2007 2:14 PM EDT
                {"commentId":910868,"authorDomain":"DeepThought"}

                A live linux distro would work well. I run Knoppix or DSL from a USB stick, with a little modification, it could support the addition of updated drivers quit easily. On first boot it could detect the machine type and download the necessary drivers.

                Providing a live distro to act as a base OS for games would be quite straight forward. That could be downloaded to a 2GB USB key and the CD/DVD would carry the game data and engine. A 2GB USB drive costs around $20-$30 and it would be a one off cost. The drives could be sold in game stores, or you could roll your own.

                Game manufactures would gain OS independence and full control over the development of the base OS.

                As everything runs in RAM with a read-only main partition, isolated from the rest of the system, it would be very secure.

                {"commentId":910868,"threadId":"131525","contentId":"867000","authorDomain":"DeepThought"}
                  #1.14 - Tue Jul 31, 2007 2:33 PM EDT
                  Reply
                  {"commentId":907352,"authorDomain":"DrJuice"}
                  There is just too much "stuff" on our computers. Too many files. Too many applications. Too many OS options and functions. It is too hard to find things or it takes too many mouse clicks to navigate to the option you want, even if you can remember where to find it. The visual UI concept was indeed a big step forward from the old DOS command line, but it only works up to a point. When there is too much on our computers, the paradigm starts to break down.

                  And this is why text and graphics are useful. I think the big advance with Vista search (and OS X Spotlight) is the background indexing and the speed with which these results can be called up.

                  I hope there's a MS team somewhere with an up to date OS requirements list but designing a new kernel from scratch. If so we may not see it for years but it would be worth it. Vista is bloated with years' worth of legacy dross code. It hasn't helped that they keep throwing in absurd extra functionality (eg Superfetch), which just slows it down, so they can say they've added features.

                  I think the legacy code is a bi-product if Microsoft's market dominance. I have no doubt they could create an amazing OS, but in doing so they'd probably piss a lot of customers off and I'm sure they'd like to stay at the top of the heap. The question then becomes who would pick up the slack if Microsoft did that?

                  {"commentId":907352,"threadId":"131525","contentId":"867000","authorDomain":"DrJuice"}
                  • 1 vote
                  Reply#2 - Mon Jul 30, 2007 2:03 PM EDT
                  {"commentId":907885,"authorDomain":"vulgrin"}

                  Why single out Microsoft in this article? This is an issue with Mac OSX as well isn't it? Don't they have SearchLight, so that you can find something by name? I'm not a Mac user, but I'm not aware of some great new searching paradigm there, or on any Linux distros.

                  Also, searching by name is a pretty powerful paradigm that EVERYONE already uses EVERY DAY. Google's 125 Billion dollar market cap proves it.

                  What I think you want is more metadata. You complain that you have to know what you are searching for to find something - the way to solve that is by adding more metadata to the items you are searching, so that people can find them with alternative terms. That is possible with some items in Vista, by adding more information to the properties of the object. I don't know if OSX has something similar - I would imagine it does.

                  Also, a newbie user wouldn't be looking for "Device Manager" unless they knew what they were doing or had instructions to look it up. If they needed to do something with a device they would likely turn to the Help and Support option and do searches for terms like Video Card. Whether or not that help is actually helpful, I don't know - Microsoft hasn't always had the best help content.

                  I understand where you are coming from with the article, but I get a little peeved by people holding MS to a higher standard over anyone else.

                  {"commentId":907885,"threadId":"131525","contentId":"867000","authorDomain":"vulgrin"}
                  • 1 vote
                  Reply#3 - Mon Jul 30, 2007 4:16 PM EDT
                  {"commentId":907888,"authorDomain":"vulgrin"}

                  my bad, "Spotlight" not "Searchlight" I never claimed to own a Mac. :)

                  {"commentId":907888,"threadId":"131525","contentId":"867000","authorDomain":"vulgrin"}
                    #3.1 - Mon Jul 30, 2007 4:16 PM EDT
                    {"commentId":908287,"authorDomain":"DrJuice"}
                    You complain that you have to know what you are searching for to find something - the way to solve that is by adding more metadata to the items you are searching, so that people can find them with alternative terms. That is possible with some items in Vista, by adding more information to the properties of the object. I don't know if OSX has something similar - I would imagine it does.

                    Right- or ctrl-clicking an item in OS X 10.4 allows you to add 'Spotlight comments.' I've never used this feature myself though I do use Spotlight from time to time. I'd like to see more applications that allow you to add these right within the Save dialog, right now I don't bother because I try to keep things as organized as possible and just don't feel like saving a document, finding it through the Finder, and then adding comments to it.

                    {"commentId":908287,"threadId":"131525","contentId":"867000","authorDomain":"DrJuice"}
                    • 1 vote
                    #3.2 - Mon Jul 30, 2007 6:18 PM EDT
                    Reply
                    {"commentId":907911,"authorDomain":"DeepThought"}
                    Maybe we need a whole new paradigm. No icons, no mouse, no search box. Instead, a computer that can take simple questions in English and work out exactly what you need it to do.

                    This sounds like a speech from Bill Gates. The truth is voice recognition is crapware. It is bloated, unreliable and impractical.

                    Can you imagine being in an office with a staff of 100 people each talking to their PC? Not only would it drive you insane after a while, it would also be fun when the system picks up commands intended for another machine.

                    Imagine two kids at home, fighting over the computer. The endless 'Open, close, open, close, etc.' arguements would be funny at first would would degrade into mayhem.

                    Have you ever tried to use voice recognition to write a document with the TV, or radio on in the background? Its hilarious. In the middle of your well crafted document you get adverts for cheese, a snippet of the latest news and the plot of the movie you are watching.

                    Voice recognition is like Microsoft's 'Surface', a gimmick with limited practical applications. They really need to give the 'innovators' from the mid-1980's the boot and start hiring people that understand the wants and needs of the next generation.

                    {"commentId":907911,"threadId":"131525","contentId":"867000","authorDomain":"DeepThought"}
                    • 1 vote
                    Reply#4 - Mon Jul 30, 2007 4:23 PM EDT
                    {"commentId":908242,"authorDomain":"denniswright"}

                    I didn't mean voice recognition - a typed question in plain english, like "I want to edit the video I captured last week" and PC opens the right video editing program, and loads right video file.

                    {"commentId":908242,"threadId":"131525","contentId":"867000","authorDomain":"denniswright"}
                      #4.1 - Mon Jul 30, 2007 6:00 PM EDT
                      {"commentId":908296,"authorDomain":"blai"}

                      The machine should do more remembering. Google Desktop works now, Microsoft's search is just more copycat nonsense. Linux has virtual desktops, why can't Microsoft do the same? What are those brains at Microsoft Research doing with all that money? The one thing we've always wanted from a computer is to handle rules. Take it from a linguist, language processing obeys Chomsky's Laws of endless fractal exceptions, diversions and recursions from a theme. the very stupidest thing computer science could ever tackle. You can put a hog in a tuxedo and put him onstage at La Scala, but he will not sing Mozart. He will sing what pigs sing.

                      Until the computer resembles the brain, not only in numbers of neurons, but glial cells and neurochemistry, not to mention the infinitude of the skin, the eye, the ear, the mouth, in short, until a computer can weep or love or cry out in pain will language ever be necessary, and they will speak on their own. Until then, we will obey Von Neumann and his Paradox, and work to improve the computer to handle the repetitive tasks for which it serves admirably.

                      {"commentId":908296,"threadId":"131525","contentId":"867000","authorDomain":"blai"}
                        #4.2 - Mon Jul 30, 2007 6:24 PM EDT
                        {"commentId":909241,"authorDomain":"DeepThought"}
                        I didn't mean voice recognition - a typed question in plain english, like "I want to edit the video I captured last week" and PC opens the right video editing program, and loads right video file.

                        That's what we call 'natural language processing' and it is bloatware. I have almost half a Terabyte of disk space and I never use search features. It would be another piece of junk that would make my new PC feel like a 386.

                        That type of search may have a place in a corporation. As such, the search should be a centralised system running from a dedicated server that tracks the corporations documents. A search server if you will.

                        As most companies use Lotus notes, sharepoint or something similar to manage documents, search facilities of this nature are both a little redundant and rather intrusive.

                        Again, these are silly ideas by people stuck in the past. People want simplistic, fast, operating systems that play games, music and DVDs. XP was as much complexity as the market requires, Vista is overkill and quite annoying to use (both visually and functionally). I have a lot of companies complaining about Vista's user interface.

                        {"commentId":909241,"threadId":"131525","contentId":"867000","authorDomain":"DeepThought"}
                        • 1 vote
                        #4.3 - Tue Jul 31, 2007 2:45 AM EDT
                        Reply
                        {"commentId":908212,"authorDomain":"lacto"}

                        Microsoft copied from Xerox, as did Apple.

                        {"commentId":908212,"threadId":"131525","contentId":"867000","authorDomain":"lacto"}
                          Reply#5 - Mon Jul 30, 2007 5:52 PM EDT
                          {"canLink":false,"threadId":"131525","isPrivate":false}
                          Leave a Comment:
                          You're in Easy Mode. If you prefer, you can use XHTML Mode instead.
                          As a new user, you may notice a few temporary content restrictions. Click here for more info.
                          {"threadId":"131525","contentId":"867000"}
                          Start TrackingStart Tracking
                          Stop TrackingStop Tracking