Everybody hates browser applications

Everybody hates browser applications

Summary: Exposure to the limitations of the new browser-based help system for Visual Studio 2010 made me realize a fundamental truth: people hate browser applications, which is why web developers work so hard to make their browser applications look like desktop applications.

SHARE:

We're moving to Visual Studio 2010 at my company, as we're a .NET shop, and Visual Studio generally makes big improvements with each new version. Visual Studio 2010 is particularly pleasing, with a new easy-to-access extensions "store" built into the tool, much improved graphical layout, built-in support for .NET 4.0 (new VS versions tend to track major releases in .NET), and generally, a bunch of technical candy for the programmer brain.

More esoteric was my joy that Microsoft rebuilt the entire Visual Studio user interface in WPF and .NET. As I've noted in previous blogs, it's less surprising that the developer tools division chose to embrace their own technology (which is a bit like the Pope embracing Catholicism).  It would make a bigger splash if something mission critical from a revenue standpoint - like, say, Office - made the switch, which is unlikely if they can't even convince themselves to use WPF for something like Paint in Windows 7. But, it's gratifying that the .NET dogfood is being eaten by at least one major Microsoft product (that's a coding metaphor for using your own technology, much as Microsoft did with COM way back when), and a Visual Studio written in WPF certainly will help the move towards what, on occasion, is touted as the foundation of their future platform efforts. .NET certainly makes a better baseline to span all the hardware architectures that they intend (hope) to encompass within a common development platform.

I actually installed the RTM about a month ago, which is late by the standards of other MSDN subscribers. Apparently, huge numbers have been using the beta release of Visual Studio 2010 (though the informal "poll" I read might have been a bit skewed by the fact that it constituted attendees at a Microsoft conference). Personally, I only tend jump into a new version when it is released and officially supported. As that has now happened, I'm writing more than basic applications with it, which is why I've belatedly encountered in a serious way the "improved" Help system.

For the benefit of those who have no idea what I'm talking about, Microsoft has rolled out a brand new help system with Visual Studio 2010 that is completely web browser-based. You can download the packages that drive this system, which are then run via a local HTTP process and served up to the browser of your choice (I use Firefox, and that is what gets launched when I go to help). Perhaps the goal was to achieve consistency with the MSDN online library, though if that was the case, they have a ways to go as the online version appears considerably different than the local version.

There are some fairly critical pieces missing. Gone are things like the tree view on the left pane as well as the ability to synch to that tree view from the index, something which has been a mainstay of the Visual Studio help system since I started using Visual Studio back in 1996.  Of course, synching the left tree pane likely sank in importance given that the index itself is completely absent in this version (simply wasn't ready for prime time is what the help system blog explained). To be fair, plans are afoot to release a VS Help version with a proper index in the near future, which is possible because the Help system is now managed by a team separate from Visual Studio. The help system, in other words, can be updated on a parallel track to the Visual Studio release schedule.

The missing features are clearly important, but assuming that those features were available out of the VS 2010 gate, I would still be displeased. I reject the notion that moving the help system to HTML, CSS and Javascript - however packaged on disk - is an "improvement."

This isn't the first time I've felt this way. My earliest recollection of a similar situation is from 1997, and involved the move between major Cold Fusion point releases. Back then, our Nortel division was one of the few licensees of a small company named Allaire (so named after the last names of its founders), and the Allaire brothers even flew out to ask our team a bunch of questions about how to improve their product (as well as feedback on improvements to a product named Home Site, and early web development tool the company had recently purchased).

Moving to a web based version makes some sense for a company that specialized in a framework for server-side web applications (as Allaire did), but I remember finding the web replacement clunky by comparison, even going so far as to write my own MFC-based application to replace it (I was learning C++ at the time, so there were practical reasons to do so). Perhaps I would have been happier had the web interface been more feature-rich, but in 1997, that was rather hard to achieve.

I felt similarly about the management interfaces used for Microsoft IPTV back when I worked in the division. Again, if the application had a bunch of snazzy AJAX extras, I might have felt differently (more on that later), but it didn't. I suggested that we use WPF to write the interface (the technology had been released about a year prior), but the people with the power to make such decisions had no interest in that.

I guess, though, my biggest problem with the conversion to a web-based help system is that it makes little sense from a Microsoft strategic standpoint. Why would MICROSOFT, of all companies, think it important to make a WEB-based mangement ANYTHING, and not, say, a Silverlight version. For IPTV there was some excuse, as the development of the original web management systems preceded the existence of Silverlight (or the official version of WPF, for that matter). The help system for Visual Studio 2010, however - a system designed EXCLUSIVELY to build applications for Microsoft-based platforms - has no such excuse. If Microsoft wanted consistency between the online MSDN library and the offline version, a Silverlight front-end would have made a heck of a lot of sense (the online version, like the offline version, is targeted at development for Microsoft platforms). They could still use HTTP to interact with the "back-end" (however local). Granted, that won't fix the absence of things like a properly indexed help system, but those are technical details that are easy to rectify. My biggest problem is a user interface whose "simplicity" gets in the way of usability (glad I didn't remove the VS 2008 help system).

Don't be confused about what I'm saying. I am NOT declaring that it is a bad thing for Microsoft to aim for a truly standards-compliant browser (which is a not unexpected response when I advocate Microsoft-specific technology over a web standard). Though I was once grumpy about the growth of Firefox, that grumpiness was a manifestation of dread at the prospect of revisiting the browser incompatibilities which made web development hell in the latter-90s (I first started writing HTML for Netscape 2.0). Today, I'm fully of the opinion that if you are going to make a web browser, then it darn well better adhere to the baselines web standards. That bar has now (or rather, will soon) be moved to HTML 5.0, and every browser vendor should work to implement it in a consistent fashion.

However, that doesn't mean that I want Microsoft to become Google and focus primarily on web interfaces. For a product aimed at WINDOWS developers, I see no reason why it shouldn't use WINDOWS technology.

Use Silverlight for the help system, and while you're at it, use the same front-end for the MSDN Library front-end.

I suppose those who bothered reading this far are wondering why I titled the post "Everybody hates browser applications." The point is related to the previous few paragraphs, though more as a back story.

To elucidate, think about the most sexy and interesting web application you have ever used. Odds are it used a high-level Javascript framework like jQuery, had lots of moving and gliding parts, updated sections on the fly, and made heavy use of AJAX-style interactions with the backend.

That, my friend, is a web application doing its darnedest to look like a desktop application. Though the UI certainly looks nice, if you were to peek behind the digital curtain, you'd see that the developer had to do the programming equivalent of banging a block of steel into the shape of a corvette to make it happen. There is elegance and beauty in the way HTML and CSS work, but also a lot of confusion and the suprising ability to make your interface look like a Rorschach test with the careless modification of a few CSS attributes. When you want to write applications that maintain state, you end up fighting the realities of stateless HTTP. Cookies and long-lived Javascript connections to the server are workarounds designed to force web applications to do things that are second nature to desktop applications.

That's why I said everybody hates web applications. The best web applications often look a lot like desktop applications (Google Search is a clear exception, but would you be happy with something similarly low-tech in Google Maps?). The real advantage of the browser as portal to the Internet is the safety of a constrained and interpreted environment combined with UI conventions that cross platform boundaries. That is why the web application will never go away. Users, however, are still going to pine for applications that provide the interactivity, flexibility (and offline capability) of a true standalone desktop application...even if they run in a browser and, through a bunch of markup and scripting gymnastics, force the browser environment to do things it was never really designed to do.

Topics: Browser, Microsoft, Software Development

John Carroll

About John Carroll

John Carroll has delivered his opinion on ZDNet since the last millennium. Since May 2008, he is no longer a Microsoft employee. He is currently working at a unified messaging-related startup.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

71 comments
Log in or register to join the discussion
  • It does sum up to be everybody ....

    <font color=#808080>"We're moving to Visual Studio 2010 at my company, as <strong>we're</strong> a .NET shop, ..."</font>

    As far as you can see (the cubical next to ya?).
    It's called neglected perception.

    ^o^
    <br>
    n0neXn0ne
    • If I move to VS 2010

      ...everyone else does, too. That's how things work at my company.
      John Carroll
    • Google = Goldman Sachs in IT world

      Letting Google design the web platform for future is like letting Goldman manage your investment. There's too much conflict of interests.

      There's no reason web app development gets locked down by an incapable combo of HTML / JAVASCRIPT / CSS and so on. It doesn't make sense to have tags and scripts all mixed up in a typical HTML page. There could be a far better static coupled w/ dynamic features language than Javascript to build your app so that it's easy to code, refactor, check errors and so on.

      The alternatives to HTML / JAVASCRIPT like SilverLight / .Net, JavaFX / Java and Flash all blow it out of water when it comes to developing non-trivial apps and yet Google wants you to stick to HTML / JAVASCRIPT b/c that's where they make money. Should we replace it w/ a far better web standard, all that page ranks Google is doing would be worthless, and they don't want it to happen.
      LBiege
    • But the point stands

      Browser-based help sucks, and this is just another pathetic UI regression rolled out by Microsoft.

      The Windows help system has set the standard for, well, decades. For example, the MS help browser throughout the '90s serves as an excellent example of how utterly pathetic the Mac OS Help system is.

      How can they seriously roll out a system with no treeview?

      Microsoft advanced the state of GUIs far more than anyone else over the last 20 years. But they're giving up ground almost weekly now. Sad.
      dgurney
      • Winows help sucks...

        I hate the Windows help system and also the MS website. Trying to find any relevant information or some sample code is a big pain. I'd much rather do a Google search and find much more relevant answers.
        prof123
      • RE: Everybody hates browser applications

        @dgurney I hate Windows help... online or offline. I am a .Net developer and whenever I need some help, I Google the web.
        prof123
  • If MS developers believe more in the web than in their own platform ...

    ... what long term hope is there for Windows? MS is increasingly performing product suicide, as it produces vast amounts of browser based technologies, than most other companies. Every time MS develops for the web, it chips away at the relevance of Windows. And MS developers simply don't care. You would think that MS would systematically develop technologies that counter the browser at every turn. Instead it does the exact opposite. What's wrong with keeping the old help system and making it richer by doing things like allowing users to annotate the help text and make notes, and having them synchronized to two or more copies of Visual Studio they may have? What's wrong with extending the old help system to be able to browse all of MSDN online, and to download and annotate article's you are interested in? Instead of MS extending Windows applications to do things better than the browser (thereby making them more compelling), MS consistently 'webifies' stuff, driving more and more nails into Windows' coffin.

    I know companies rise and fall all the time, but I didn't expect MS would go by the works of its own hands. While Apple with the iPad makes better, richer local applications than counterpart browser applications, MS does the opposite by focusing on bringing Windows applications to the browser. Apple makes its operating system ever more valuable by countering browser applications with much more compelling local apps; MS makes its own OS ever more irrelevant, by pushing Windows applications and functionality to the browser. Go figure.
    P. Douglas
  • Couldn't agree more

    Programming web applications is mental torture and while good things came out from HTTP and HTML (web services, cross platform portability, etc) writing front ends is not one of them. The challenges a GUI developer encounters when faced with the browser and HTML are significant and that's why after a good deal of effort most of the web applications out there are pure junk. After many years of frustration over an obviously a faulty model I gave up and went back to pure desktop (you know, stateful, multi-threaded, local resources based applications). I believe I am not alone and the explosion in the mobile space of the regular apps vs the web based proves me right.
    epaval@...
  • .Net ...

    ... FAILED the <a href="http://blogs.computerworld.com/london_stock_exchange_suffers_net_crash" target="_blank">LSE</a>.

    "The London Stock Exchange will switch to a Linux-based platform trading system, but it's not because of a love of open source."

    ^o^
    <br>
    n0neXn0ne
    • Read the comments for the link you posted

      They make for an informative and interesting read... Again, what is the point you are making?
      epaval@...
    • Really?

      Because the LSE had problems with a new .NET trading system in September, 2008, that means .net is completely and irretrievably damaged? System written atop Unix or Linux have never, ever had catastrophic failure...why? Because the developers are archangels and write applications using golden mainframe terminals that emit only perfection straight from the mind of god?

      Give me a break. By that standard, the fact that a Honda had an engine failure should mean nobody should ever buy Hondas again.

      Programmers make mistakes, and there are good designs and bad designs. I can write a great big monster of a procedural application in .NET or Java, if I wanted. I can create threading bottlenecks in ANY language.
      John Carroll
      • London Stock Market was the poster child of MS

        to prove the value of .net versus OSS. As much I know they were deeply involved in the design of the system. This is not a "programmer mistake". I think is far more than that.
        TD
        theo_durcan
    • RE: Everybody hates browser applications

      @n0neXn0ne
      There were huge problems with that project, debated extensively on ZDnet at the time, it wasn't as simple as .NET = fail.
      AndyPagin
  • UI functionality is one thing

    Yes, many people want their web UI's to react an awful lot like a native application. The thing is that not everyone wants to go through the install and upgrade routine that comes along with native applications. (Let alone the platform lock-in that comes with most.)

    I do have to agree with you, however, that most help applications do not benefit from being "web-ized" since the big issue for them is the search capabilities. That requires some type of application piece to support it.
    Robert Crocker
    • Using VS. Cannot use VS help

      I think it happened around the time when google became popular. It is much easier to find MSDN topic on google than using either VS help system or MSDN website. MS should do something here. Maybe get some guy from bing for couple of days?
      paul2011
    • Install and upgrade

      Slverlight and click once as well as Flash and Air are solutions to the problem you mentioned. As for the platform lock-in, Silverlight works in IE and Firefox, Flash, Air on almost anything and usually a user will not switch plaforms on a regular basis because usually again, it's the applications that kept you locked in not the platform itself.
      epaval@...
    • There are ways to address your concern

      [i]Yes, many people want their web UI's to react an awful lot like a native application. The thing is that not everyone wants to go through the install and upgrade routine that comes along with native applications. (Let alone the platform lock-in that comes with most.)[/i]

      There are several things MS can do to counter the advantages of the browser you mentioned above. E.g. MS could create a generic e-Publication platform Windows application, that allows users to browse publications based on rich Office XML. Users could publish their texts to a service similar to a blogging service, and have their publication appear super rich on the e-Publications platform. If access to the publications from non-MS platforms is insisted upon, then some type of virtual access could be provided, or else a bare bones version of the experience could be provided in the browser. However MS doesn?t appear to be attempting to do stuff like this: MS appears to be attempting to make the browser just as good a platform as Windows - and is doing a better job than Google at it.
      P. Douglas
    • With Silverlight

      ...that install process happens only once. Hundreds of millions around the world did that once with Flash, and don't think about it again.

      Besides, you have to update browsers, too, if you want to get the latest features. Upgrading a runtime that adds features to a browser isn't much different.
      John Carroll
      • The Tie In, The Time, The Registry Suxs! Browsers= less Hassles! ;)

        We have platform tie in... we have hardware tie
        (Apple)... we have apps registered to your machine
        OS... we have apps registered to your hardware
        (Apple)..... and I can avoid all of that by simply
        utilizing the majority of applications I use Free and
        available on the Web in the Clouds.

        Not to mention NO REQUIREMENTS for Uber hardware in my
        hand or home to do it with, that's even close to the
        power up in the Clouds. Sorry.... but I've been using
        a Cloud app (email) for years without loss of any data
        that'd be gone with my Uber resident apps bought,
        registered and installed on my own expensive Uber
        equipment. That's gone the moment my Uber Harddrive
        takes a dive! ....on my Gateway Seagate drive for
        instance.... DEAD in 3 months!

        I'm through updating hardware and OS's to the latest
        greatest planned obsolescence Super Uber Duper
        Resident Evil Spyware infiltrated machines and
        software I pay for. Google's new Chrome OS will keep
        your OS and hardware sandboxed off the Web for better
        security and your data safely encrypted in the clouds!
        ....and don't feed me the crapola that there has been
        any successful attacks on clouds... because there
        hasn't been!!!

        btw... make a bad password using your dog's name and
        that's your own fault. But the reality is that Clouds
        will be or are using external 3way authentication,
        like what CC transactions use!
        i2fun@...
        • Oh rly?

          http://blogs.zdnet.com/mobile-gadgeteer/?p=3062&tag=content;col1

          When one company has a whole lot of data, they become a big target. And all one has to do is exploit the human element in that company to get in. No amount of technology can stop that.

          I use two "Uber" hard drive in RAID and avoid the cloud for most of my stuff. Personally, I don't like the idea of a corporation having a complete database of my emails, places I've been, my pictures, etc...

          But hey, to each their own.
          crazydanr@...