Are Web Interfaces "Good Enough"?

Torrent, my favorite BitTorrent client, now offers a web UI. See if you can spot the differences between the Web UI and the Windows UI:


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2007/03/are-web-interfaces-good-enough.html

That article by Joel Spolsky is just about the most intelligent thing I’ve read in a long time.

I’m agreeing with Karl G here, especially since it is most likely a rich client (non web) creating the backing data for the app. Theres sort of no reason other than the amount of time and need to implement the display of the missing information on the web. Now if we are talking about creating an entirely web based torrent application that just runs on a web server then that might be a different story but I am not an expert on torrent protocol or network programming but if there is a PHP library that could initiate a transfer with the tracker and then recieve an address it could bind to and pull data from theres sort of no reason that couldn’t be implemented either.

Applications vs User Interfaces:

Many people here are confusing UI with Applications. UI is only part of an application, not the entire application. Even the author seems to blur this definition a little too much IMHO. My guess is that, from a functionality perspective, the two applications are very similar. The fact that the web application is accessible remotely gives it an edge if you ask me.

Some might say that standalone applications have the advantages of working offline and access to stateful storage. These issues are being addressed by libraries (DOJO) and browser technology improvements. I suspect that if there is a will, there is a way. These issues will eventually be resolved, like many others.

Flash vs Javascript:

Flash has been around for quite some time. Yet in this time, another language/platform has come out on top as THE language for this generation of web based applications. Why is that? Flash is certainly capable of producing amazing applications (UI and functionality). So, why hasn’t it gone ‘mainstream’… Why hasn’t Google made a flash version of Google Maps? There are applications around, but why aren’t the big boys using it?

Some people might say, accessibility is the stumbling block. Frankly, I think it just comes down to a matter of money and ease of development. I can develop in Javascript, free of charge. I don’t have to purchase a copy of Flash from Adobe to create applications. Some one is going to yell, what about “MTASC” or OSFlash related technologies? Fair enough, but why bother when I and everybody else already have a browser+texteditor capable of producing applications RIGHT NOW.

Flash certainly has its advantages, particularly in the graphics department. But these advantages will diminish as new open technologies become more readily available (SVG and Canvas for instance) Also, Flash doesn’t have to worry about the underlying browser as much. This is still the case, even with the latest fancy framework or library… Things have become much better than they were, and that alone has been major contributing factor behind web 2.0. As libraries and frameworks have matured, hopefully browser vendors will start to adopt standards better cough Microsoft cough… That could be a big ask though, it might not be in their best interest after all…

I think if any flash developer has doubts about the capabilities of a complete javascript framework, including IDE and decent component library, check out Tibco General Interface. It is truely amazing. For Java programmers, check out GWT…

Authors Comments:

“As useful and as clever as Torrent’s web UI is, I’m still deeply disappointed. I’m disappointed that, with all the technology at our disposal, we can’t come up with some way to deliver a full-fidelity user interface over the wire for an application as nifty as Torrent.”

You are making the assumption that the interface will not improve over time. You are also making an assumption that the platform upon which the web client exists will also not improve. These things will come, and soon, it will be impossible to tell the difference between the two. In fact, there will probably only be the one web application.

As a side point, I would have to say that the interface in mutorrent is pretty horrible. A better example of good user interface design for a torrent program might be found in say Transmission for OSX. Perhaps this is just something to do with Windows application UI’s, they always seem so complicated to me… But, lets not go there.

http://transmission.m0k.org/screenshots.php

Flash has been around for quite some time. Yet in this time, another language/platform has come out on top as THE language for this generation of web based applications.

Agree. Kind of odd that Flash has been around so long, and yet uptake for developing full blown applications in the browser is pretty dismal. It’s sort of like Linux and Desktop UI: if it hasn’t happened by now, will it ever?

Actually, though Flash has been around for a long time, it hasn’t been suitable for more advanced web applications until fairly recently due to the lack of a powerful scripting language. ActionScript 2 essentially made Flash based web apps possible. ActionScript 3 (Flex 2, Flash CS3), an implementation of the latest ECMA spec, will go a long way in extending these capabilities.

Jeff Atwood: “The web browser is the giant black hole of the computing universe, and like it or not, your application is caught in its immense gravitational pull along with the rest of us.”

Zawinski’s Law of Software Envelopment: “Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.”

It is my pleasure to propose the following:

Atwood’s Law of Platform Contraction: “All end-user applications which do not support the function of a web browser will eventually incorporate a browser-based interface. Those that do not which do not are replaced by those that do.”

Hey… Are you sure that these screenshots are a good idea? Now everybody knows, which files you’re loading… And I can imagine some people not being too happy about 'em :wink:

“I suspect we’ve already seen most of the tricks that Ajax is going to offer.”

Lol, not if I have anything to do with it. Some of the projects I’ve helped put together to force contemporary web browsers forward, teaching them new tricks:

Dojo Offline (creating with SitePen): True offline access for web applications

Dojo Storage: Store hundreds or megabytes of client-side data for persistent access – works across 97% of the existing installed base – Safari, IE 6+, Firefox 1.5+

Really Simple History: First available open source library that solved bookmarking and back button issues in Ajax applications

HyperScope (with Eugene Kim and Douglas Engelbart): Layers supercharged hypertext on top of existing web without needing new plugins

Of course I’d love to blow up the browser and try something new (see Paper Airplane for a thought experiment I did a few years ago on this matter: http://codinginparadise.org/paperairplane ). In fact, I think that is a valid thing to try, but I think existing approaches are trying to solve yesterdays problems – they aren’t the ten times better or ten times cheaper that is required of new solutions to displace deeply entrenched ones. The best way to displace an entrenched solution is to actually move to new ground… that new ground then turns out to be bigger than the original market, ‘enveloping’ it (see: the Personal Computer versus Mainframes/Minis, the Web versus proprietary online services, etc.)

Best,
Brad Neuberg

Yeah guys very good points.

Question: can someone explain why we need different browsers competing against each other, if the W3C RECOMMENDATIONS seem to pretty much dictate everything that happens. All this competition, and for what? Power for the browser makers, I guess.

While I like web based applications they do not perform well enough for me to want to use them over a client side app. a great example of this is FeedDemon and NewsGator. I really like the NewsGator web interface (the new AJAX system currently in beta is excellent) however FeedDemon does more and is much faster so other than checking my rss feeds when i am away from my machine I never use the web interface.

It is a shame a lot of people dislike writing true Win32 applications. uTorrent is an excellent example of a well written Win32 application. It is solid as a rock, performs great and looks good. While the web interface also looks good it is no where near as nice as the real thing.

You beat me to it BlaM!

Although I was just going to mention Jeff’s good taste in TV and poor taste in films!

And so my fellow Coding Horridians, ask not what your desktop can do on the internet — ask what the internet can do on your desktop!

Stop reinventing the desktop using Ajax. There is a usability revolution out there, waiting for you to grab and make yours. You have to look beyond the metaphors of the desktop and see what is truly possible.

Stop thinking outlook and start thinking gmail.

A desktop app on the web will always pale in comparison to the same app on the desktop. Don’t make the desktop app on the web. Don’t set yourself up for failure.

The future is spelled XAML.

In a few years when the Net 3.0 installed percentage reaches critical mass, you will have browser based apps that have all of the UI features of desktop apps.

Funny, I wonder why they didn’t use the same graphics for the buttons in the web version?

Greg: “can someone explain why we need different browsers competing against each other”

Because IE sucks, basically. If IE were any good whatsoever, rather than a giant crappy security breach waiting to happen, I doubt anyone would bother with Firefox or Opera.

Though I still like Opera’s interface a lot better than the others.

Funny that “the future” has been the same future since 1996, whether it will be flash, html, interactive pdf, depending on their bias. At least no one talks about vrml anymore, at least until someone finds a way to applify second life. (Oh god, did I just use ‘applify’?)

Are there user-interface oriented AJAX toolkits? Ones that make alt-shortcuts, right clicking, and scroll wheels as easy to use as newer platform UI toolkits? Ones that keep you from having to reinvent the presentation layer every time?

flash is great, except that it follows the old adage, absolute power corrupts absolutely. The absense of firm UI standards makes most people think of it as more of a toy language.

Doug - It would be nice if that was the case. But as much as I love .NET a lot of people don’t, and I don’t think it will be adopted enough. Someone is likely to mimick it though, and then we’ll see.

I’m wrestling with this issue at the moment. We very nearly plumped for a web app, but as our UI is what separates us from our competitors, client/server is still the only way forward.

Maybe we’ll do it on the next iteration.

flash will succeed if it becomes as open as ecmascript, css, and html.

Are people stupid enough to give a company a monopoly like Microsoft had with windows? I certainly hope not.

I hope that xaml succeeds under one condition, that it does so without locking you into using windows. I really hope that people arent ignorant enough to continue locking themselves into a single vertical of software products.