
The Web Doesn't Suck. Browsers are Innovating. - wycats
http://yehudakatz.com/2010/04/30/the-web-doesnt-suck-browsers-are-innovating/
======
blehn
As mentioned by others in previous threads -- even with the web's shortcomings
vs. desktop (or native OS) applications, the web still has _major_ advantages
for both the developer and the consumer.

for the developer:

\- distribution is easy. buy a domain name.

\- agile, iterative development is possible. you can ship a MVP, and push
updates frequently and easily.

\- greater reach. developing one web app (possibly with a mobile web version)
is more efficient than creating a windows, mac, linux, iphone, ipad, android,
etc

for the consumer:

\- no installation necessary.

\- updates are invisible. I'm pretty good at keeping my software up to date,
but I just looked at my iPhone and I have 22(!) app updates waiting for me.
It's a chore to keep up with that.

\- accessible from any computer.

As new browser technologies (HTML5) allow developers to utilize more of the
computer's powerful hardware (local storage, GPU acceleration, etc), I think
native desktop/mobile applications will become even less necessary. You
couldn't pay me to use an existing desktop mail client over Gmail.

While some applications will be slow to move to the web for obvious reasons
(intensive audio and video production), I don't see any reason why ChromeOS
(or the browser-based OS) won't be a huge success.

~~~
btmorex
"You couldn't pay me to use an existing desktop mail client over Gmail."

So, I understand having your email everywhere. That _is_ a killer feature. But
you can also provide that feature by simply having a web gateway to your IMAP
mail.

What exactly is the killer feature of gmail? The tagging is nice, but other
programs have similar features. Teh spam filtering is nice, but actually there
are better spam filters. The only thing I can think of is the integration with
google docs and I actually hate that feature. I don't know how they managed
it, but opening a pdf with google docs is about 5x slower than downloading the
pdf and opening with evince. So, it's pretty much a non-feature unless you
can't be bothered installing a pdf reader.

I guess I find gmail useful, but I'd still rather use a normal email client if
for no other reason than interruptions in my network connection don't affect
working really.

~~~
rufo
As far as I know, the way Gmail handles conversations and archiving is
unreplicated by any desktop client, and single-handedly the most powerful
thing about Gmail. I now have a regular habit of archiving any message that
doesn't have an actionable item, decluttering my inbox. If another message
should arrive in a thread, I have the entire conversation history right there.
A good desktop app could replicate it, but I could see this behavior being
difficult to map on top of a standard IMAP server.

In addition, there are a ton of innovative small features (especially in Labs
- Don't forget Bob!/Got the wrong Bob? have saved my ass multiple times with
new clients) that I just don't see other e-mail clients implementing, and
they're constantly rolling out new ones. The fact I can get the exact same
functionality on any computer I happen to be on is just icing on the cake.

Ultimately: it feels like desktop clients have largely stagnated, while Gmail
has an incredibly effective way of thinking about e-mail.

~~~
kenjackson
Have you looked at Outlook 2010. They have a similar conversation view.
Outlook also gives you the ability to respond to mail with a phone call
(Google must have this capability with Google Voice, but don't see it).

Another feature I like with Outlook 2010 is to see all correspondence from the
person I'm currently looking at (email, meeting invites, chats, etc...).

There's also this cool thing called Quick Steps, where you can construct
macros in Outlook. This is useful when you need to have specific workflow
around email that you can put together in one click (like, when responding to
legal, I need to send the reply, delete the original email, send another email
to my manager, and send a note to OneNote).

And of course Outlook has a webclient, so I can access it from anywhere too.
While Outlook is heavyweight, feature-wise, its pretty complete, and offers
some other things that are hard to beat.

~~~
sjs
Outlook only runs on Windows, and Office costs a lot of money. Unless you're
already buying Office it's probably not worth it.

------
Qz
"...and the WHAT-WG has been busily standardizing, all of these things _for
quite a number of years now._ "

Quite a number of years too long. Let's take drag-and-drop -- how long has
that been around? _Decades?_ And it's only now that we can drag and drop
attachments into emails in a handful of webmail clients? That's not
innovation, it's playing a really slow game of catchup.

I agree that 'browsers are innovating' -- but it's at a snail's pace at best.

~~~
mbrubeck
Imitating desktop platforms has never been the strong point of web sites and
web browsers.

If you think of the web platform in terms of how good it is at building
desktop applications, then you will see many valid weaknesses, but you will
completely miss many important strengths. Clay Shirky makes this point better
than I can: <http://www.shirky.com/writings/evolve.html>

Browsers have been innovating, just not where you might be looking. One type
of innovation that's totally invisible from a "competing with native apps"
viewpoint but really useful in terms of the web's strengths is Cross-Origin
Resource Sharing (CORS). CORS has been a draft spec for a while and is now
implemented by most major browsers. With CORS and other standards it's
influenced (like WebSockets), a web page can send and receive data to multiple
sites while still remaining in the browser's same-origin sandbox (which means
users don't need to trust it any more than a regular web page).

That security sandbox is a unique strength of the web; average desktop users
still need to trust every application developer with complete access of their
computer. This is an area where native platforms are playing catch-up to the
web - iPhone and Android have finally brought this level of sandboxing to
mainstream operating systems, a decade after it evolved in web browsers.

~~~
Qz
It's not about imitating a desktop application, but about having a usable
interface with one. For example:

Let's say I'm one of those wackos who keeps a zillion files on my desktop. I
want to upload a picture to imageshack or whatever. The way we've been forced
to do this for years now is to click the browse button on the webpage,
navigate to the desktop folder,and finally scroll down through a zillion files
to find the one image I want to upload.

 _Or_ , you could just drag the image file from the desktop to the imageshack
page and it would Just Work.

I realize there are apps that let you do this kind of drag and drop uploading,
but that's exactly the point -- apps did this easily, so there really was
absolutely no reason for it to take years for drag and drop to finally make it
into HTML.

Thinking in terms of desktop vs mobile is narrow-sighted. What's at stake here
is pushing forward the browser (aka: web) interaction experience, regardless
of platform.

~~~
ZeroGravitas
Safari has done this for as long as it has existed, since the ability is baked
right into Mac OS X. Open any file dialog (or the terminal) and dropping files
on it works the same as navigating (or typing) the hierarchy to that file.

Sounds to me like the popular Windows desktops are the ones innovating at a
snail's pace. Perhaps not coincidentally, I'd blame the same party for holding
back the web.

~~~
Qz
You're right, and it's insane that you can't drag a file to the browser dialog
on windows. But that doesn't make it less insane that you couldn't drag a file
directly to a webpage until just recently.

I don't think that it's just browsers that aren't innovating -- desktop UIs
have been stale crufty shit for years. OSX may have had some improvements but
it's still a lot of cruft. Ubuntu seems to be doing some interesting things
recently, but that doesn't get linux off the hook for not doing interesting
things earlier (and I'm speaking here about average-user-friendliness, not
cool stuff for us hacker types).

To be honest, I think a lot of the innovation in mobile UIs has come from the
fact that it was hard/impossible to port over the old UI, so they _actually
had to think up something new_. Touch and form-factor are just the constraints
that forced people to actually think about UI. Desktop UIs could be orders of
magnitude better if the OS shell teams were put in the same situation.

~~~
ericd
Keep in mind that iPhone just happened to be a breakthrough in phone UI.
Windows Mobile has been around for many years before the iPhone was more than
a dream in Jobs' head. It's only recently that smartphones have actually
become usable and not just frustrating toys.

What are these orders of magnitude you speak of on the desktop side? I don't
frequently find myself wishing OS X did much differently.

~~~
Qz
The iPhone illustrates exactly what I mean -- Windows Mobile is an example of
trying to port Windows (and all it's associated cruft) onto the phone. It's
better than it was, but it's still pretty terrible and a lot of that has to do
with its legacy. For iPhone they really sat down and thought, what actually
_works_ on a smartphone? This took a long damn time as far as I'm concerned. I
have a motorola phone from 2008 and the interface is godawful and makes me
want to tear things apart every time I have to navigate its unwieldly menu
system. My previous phone was from 2004 -- there was almost no improvement
from one to the next.

As for the desktop, a lot of where I see potential is in interactivity between
programs. Pretty much any time there is interactivity between programs these
days it's because the application developers programmed it in, and I think
there's a huge opportunity to weave application interactivity into the desktop
shell itself, so that things Just Work, without everyone having to code that
stuff up all the time.

There's also, in my experience, a crapload of user time wasted doing menial
things like window management that doesn't need to happen.

Those are just a few things -- don't want to give away all my ideas...

~~~
ericd
Right, but how do you see that happening with desktop OS's? Their limitations
were already largely thought through at Xerox PARC decades ago, and that's how
the mouse and windowing systems were born - they're very good methods of
dealing with the limited screen real estate. If anything, there are less
limitations on them now. Touch tablets are potentially an area for expansion,
but I don't know that I've seen anything that warrants a radical change on the
desktop.

As for the menial tasks, I do next to no window management - my screens are
completely unorganized, but a combination of Expose, alt-tab/tilde, and
Quicksilver tend to make that a nonissue.

~~~
Qz
The mouse is pretty good, but I think in many ways it has been abused as an
interface device. Now, it's a slightly different story for Macs since you all
went years with only one button, but for the rest of the world there were
multiple buttons, and while we can all generally agree what a left click
should do, the other buttons are a complete mess. Programmers basically make
them do whatever the hell they want them to do, and in doing so make software
designed for multiple mouse buttons dramatically harder to learn intuitively.
So that's one point where the desktop experience could be improved.

As for windowing systems, I think they're all terrible. I think they were good
at the point where computer's couldn't really manage to display more than a
few windows on screen to begin with. However, modern computers can display
hundreds of windows simultaneously, and windowing systems are all playing
catch up with how to handle that, rather than rethinking the basics of how to
interact with lots of data.

Another example is tabs in the browser, which is a microcosm of what I'm
talking about with windowing systems. Tabs are an awful awful user experience
once you get past 4-5 open at once. But they're way better than separate
windows, so everyone _loves loves loves_ their tabs. But tabs are awful. I'd
explain exactly how to make it better, but that's the exact project I'm
working on right now, so I'll just say that the solution I have for browser
tabs applies just as well to desktop windows.

I'm really not a Mac person, but you're right about Expose and I do get
jealous of that. I've used Expose a bit on the Macs in my university, but as a
hacker/sometimes game modder, I often get into situations where I have several
explorer windows open, with several files in each of those folders open, in
addition to whatever browser windows or IDE/text file windows I might also
have open. Managing those is a pain. I don't see how Expose or alt-tab can
help with 20 odd windows on screen. (Quicksilver seems to be a keyboard
centric program, and I'm that rare hacker who favors the mouse).

Here's the other thing -- is the Expose code really that complicated? Not
really. In fact, to me it seems like something you should be able to tell your
desktop shell to do without needing to know how to code it, and without
installing some addon that someone else coded for you. There are countless
other minor UI tweaks that any random user could think up, but that they can't
actually get their OS to do without getting someone to code it for them. Even
take the earlier example of dragging a file onto the file browser dialog. It's
great that OSX has it built in. And yet it's so ridiculously simple to
implement that I don't understand why I can't just tell Windows: "When I drag
a file into this text box, copy in the location of that file". Instead, users
have to sit around waiting for the shell-masters to approve minor improvements
to the UI/UX. Imagine if there was something like Greasemonkey that worked on
your desktop shell, but didn't require you to know even the basics of
programming. I don't know if that sounds to you like I'm talking insane-
fantasy-world here, but I've got some solid ideas on how to implement exactly
that.

~~~
Symmetry
If I might ask, what windowing systems do you have experience with? While its
true that desktop Linux has been lagging behind in a lot of areas it seems
that a lot of innovation in window managers is happening there. Having
multiple workspaces each with its own reasonably sized set of windows really
eliminates the need for expose for me. Well, thats how it is at work where I
use a default GNOME workspace.

One the laptop I'm using right now I'm running a window manager called Awesome
(its a silly name, I'll agree) that actually assigns one or more tags to each
window and displays a set of tags to the main screen at once. Mostly I just
have one tag per window and display one tag at a time and it ends up working
like multiple workspaces, but sometimes I'm working on something where I want
to toggle another window in and out repeatedly. Since Awesome has a tiling as
well as a stacking mode, when I toggle the new window in all the other window
rearrange themselves to accommodate it And using a tiling window manager makes
it easy to do everything with the keyboard instead of having to use a mouse
though you can use your mouse too if you really want to. Thanks to that and
vimium I'm not sure I've had to touch my mouse yet today.

~~~
Qz
Mostly Windows on a daily basis, although I have used linux and I've done a
bunch of research into the various window management systems linux offers,
including Awesome. The window tagging thing you're talking about is definitely
a step in the right direction -- what I'm envisioning is something along those
lines, but more naturally integrated into the shell.

------
mbrubeck
Daniel Glazman (W3C CSS Working Group co-chair) gives a few more examples from
a CSS point of view:
[http://www.glazman.org/weblog/dotclear/index.php?post/2010/0...](http://www.glazman.org/weblog/dotclear/index.php?post/2010/04/30/Innovation-
browsers-CSS-and-chutzpah)

Yet another example is "viewport" meta tag, which Mobile Safari introduced,
Android later adopted, and which we (Mozilla) are now adding to mobile
Firefox. There's no spec for this anywhere; it will probably be implemented in
half a dozen mobile browser engines before even a draft spec is written.

Now, it's clear from all these examples that Sachin and Joe's description of
the situation are _factually_ wrong. But that doesn't mean they don't have a
point. The problems they feel with web development may indeed exist, but with
some other cause than the one they imagined.

~~~
wycats
@mbrubeck I totally agree that there is a real problem, but from all the
responses, I think it's actually the _opposite_ of what they're saying.

People say "it's all well and good that Mobile Webkit has hardware accelerated
transforms, but I can't use it in IE". In other words, people are (correctly)
seeing that despite the rapid innovation, the lowest-common-denominator of
browsers in use is changing rather slowly. And that's frustrating.

Apple's work on Mobile Safari clearly puts the lie to Joe's argument about
browser innovation on the iPhone (which is where his experience lies). I see
plenty of evidence that Apple and others are improving the underlying browser
engine, and that Apple is adding mobile features to their iPhone browser, and
no evidence to the contrary.

------
est
Let me get this straight, when Microsoft add private API to IE, it's called
violating standard, while -moz or -webkit are called innovating?

How much is the difference between DirectAnimation from IE4 and WebGL?

And CSS filter from transition/transforms/animations/whatever?

And XML Data Island from E4X?

As a matter of fact, the whole concept of DHTML was introduced by Microsoft,
including AJAX, which first appeared as msxml in IE5.

~~~
FooBarWidget
Many Microsoft add-ons are inherently Windows-specific. DirectX cannot be
implemented in a reasonable manner on any non-Microsoft platform. The same can
be said for ActiveX, which depends on COM which is _huge_.

I don't get your first sentence. First you're claiming that people accuse MS
of violating standards when they add things, and then you claim that people
have adopted some of Microsoft's add-ons, thereby contradicting your first
claim?

~~~
est
Because something is not cross-platform then it's not innovation?

~~~
pieceofpeace
No, but innovation limited to single platform is violation of standards and
used to rack profits from the lock-in. But cross-platform innovation can lead
to easily adoptable new standards.

------
Silhouette
Articles like this are part of the problem. Here we have someone quite
sincerely claiming that the Web doesn't suck as a platform compared to using
native applications, because the Web can do things like drag and drop. Just
stop and think about that for a minute. The author is arguing that the Web
platform doesn't suck because at some as-yet undetermined point in the future,
some browsers will be able to do some things that desktop applications on
every major platform have taken for granted for well over a decade?

I'm sorry to be negative here, but I think a huge contributory factor in the
glacial pace of the Web's development is the staggering lack of perspective
repeatedly demonstrated by those who are leading that process and/or
evangelising the Web as a general purpose software platform. At a time when
the leading edge is considering controlled side effects and transactional
memory, the Web is learning about having multiple threads and doing message
passing. At a time when the leading edge is using GPUs to accelerate not just
graphics but intensive computations generally, the Web just learned how to do
a basic 3D rotation matrix.

In a full game of Go, there is a 19x19 grid of positions on the board. When a
weaker player has a game with a stronger one, it is traditional to let the
weaker player start with between 1 and 9 extra stones on the board as a
handicap. More than 9 stones, on a board with 361 positions, is considered
unnecessary because _at that point it's not a competition at all, it's just a
tutorial by the more advanced player for the benefit of the beginner_. Just a
thought.

------
Aegean
Web sucks big time with its plethora of different technologies and
architectures being bundled together in ad-hoc and unintuitive ways. The next
Google is going to be founded by the web architect who builds a framework that
solves all this heterogeneous, complex development environment with a clean,
structured, portable and open solution.

Even facebook is one big application based on messy technology. They can cope
with it only because they have lots of Ms.

You can't fix it by extending crippled java script whose name has a
misconception to begin with.

Let me give you an example: In 70s operating systems were built as ad-hoc
services on top of the hardware. Functionality was implemented in ad-hoc
fashion, interfacing to each other in afterthought, clunky ways. Then came
Unix, and eventually evolved the design by bundling the filesystem, disk IO
and process memory management in one implementation. We need someone clever to
do the same to web and relieve us from this mess.

------
NathanKP
All these innovations are great but can we use them yet? The answer is no:

<http://caniuse.com/>

And the reason why that answer is no is mostly because of older versions of
IE.

~~~
stephencelis
The answer is yes, but not all of your users will benefit if they use their
current browser.

If you really need to reach IE6, use libraries like IE7.js and gracefully
degrade your feature implementations, but don't hamper the experience of your
more savvy users.

------
waxman
Pardon my ignorance, but why don't all browsers auto-update to the latest
stable version, even without user permission? Because I feel like the one
thing that really holds back web techniques are old browsers (IE6, IE7,
Firefox2, etc.)... Imagine if everyone already had CSS3 and HTML5 right now?

~~~
jarek
For better or for worse, anything that autoupdates without asking for
permission is an absolute non-starter in enterprise.

I imagine a possibly small but definitely vocal group of users, too. Not
everyone thinks whatever the browser maker thinks is newest and greatest
actually is the greatest.

------
zandorg
I once thought of a browser UI feature which, when enabled, makes broken links
(eg, links leading to 404's) crossed-out as text links, and with a red border
for image links. But nobody would implement this. But I guess I could make a
plugin.

