Save the Internet

For the serious discussion of weighty matters and worldly issues. No off-topic posts allowed.

Moderators: Azrael, Moderators General, Prelates

User avatar
aldimond
Otter-duck
Posts: 2665
Joined: Fri Nov 03, 2006 8:52 am UTC
Location: Uptown, Chicago
Contact:

Save the Internet

Postby aldimond » Wed Mar 21, 2007 7:52 am UTC

The Internet has been destroyed by the WWW. Once upon a time if people had a great idea for something to do over the Internet they'd come up with a reasonable protocol for doing it, write simple programs to be clients, servers or peers, and let people run that software or write new software to their liking. Now instead people do it all over the web. One-size-fits-all interfaces. Without a strict protocol to adhere to, a strict limiting sense of purpose, feature creep sets in. And while people seem to think the web is great for cross-platform stuff, it's really not; if the protocol is at all reasonable an interested hacker could write a client, server or peer for any operating system, desktop environment, or interface style desired. If it's over the web and requires any kind of complex interface you've pretty much hard-limited yourself to platforms with great web browsers: Windows, Mac and Unix. Maybe BeOS (do they have Firefox stable on BeOS these days?). I can't get my gmail or check Teh Fora on Plan 9, even though mail and news programs have been written for Plan 9 in a way that actually fits into the Plan 9 way of doing things, because Plan 9's web browser is not so hot.

And it wouldn't be so bad if the Web itself wasn't ruined too. The Web wasn't really made for transferring whole interfaces, it was made for hypertext. When interface code that belongs in client-side applications is put over the web as complicated X?HTML+CSS+Javascript it necessitates that web browsers must be very complicated and cover a whole variety of standards (as well as account for bugs in other browsers that web designers constantly hack around, and other bad practices) to be usable at all. If someone came up with a better way to browse hyperlinked text the whole idea would be lost because almost every useful website is put together assuming the current way of doing it.

And if that wasn't enough there was Java. Active-X (though it's not so prevalent anymore). And now, worst of all, Flash. Key navigational elements of pages unusable without 3rd-party binaries. Java and Active-X had reasonable uses as I understand it before browsers included built-in strong encryption, and I don't really have a problem with using either one of those, or Flash, for mini-games or animations if you want to do that. But the trend of using Flash for navigation and text elements is just the final skullfuck of the decaying corpse of the World Wide Web and the Internet into and out of whose skull its long since-decayed penis once thrusted.

And, because I sound like a total fuckwit by putting this at the end of my post: DISCUSS.


EDIT: Stupid bbcode overreacts when I end a sentence in WWW. Look, it did it again! God damn fucking Web. Where's my cane?
One of these days my desk is going to collapse in the middle and all its weight will come down on my knee and tear my new fake ACL. It could be tomorrow. This is my concern.

User avatar
TheTankengine
Our Fora-father
Posts: 3328
Joined: Tue Oct 17, 2006 2:09 pm UTC
Location: Louisville, KY
Contact:

Postby TheTankengine » Wed Mar 21, 2007 8:01 am UTC

I would have to agree that the www is extremely obfuscated these days. But, such is progress. Maybe the web was originally intended to push around hypertext, but evolution has taken its course. I don't think its such a bad thing that I can browse ftp directories, play flash games/watch animations, or have little slidy boxes on digg. Are you really saying the web is worse because of AJAX?

How about the "semantic web"? That should lead to all types of new content browsing styles that have yet to even be dreamed. Don't fret al, good things are on the way.

So what is your stance on bittorrent? Its a protocol and there are servers/clients to take care of it.
be centered
be compassionate
be interesting

User avatar
aldimond
Otter-duck
Posts: 2665
Joined: Fri Nov 03, 2006 8:52 am UTC
Location: Uptown, Chicago
Contact:

Postby aldimond » Wed Mar 21, 2007 8:05 am UTC

AJAX is web progress like LA is urban planning progress: progress in that it's more complicated and takes more energy. Progress in that it's the result of just doing more stuff without thinking about the end result.

You'd do better by coming up with sensible protocols and writing good client-side apps that fit into the interface paradigms of the operating environments they inhabited. AJAX and Web 2.0 can kiss my hairy ass.

EDIT: as far as the semantic web goes, I've never quite figured out what the "what" is about it. If it's all about people documenting what they write... then it's like dreaming about hot sex: hot and sexy, but a dream nonetheless.

EDIT2: Bittorrent is pretty much done the right way. I enjoy using bittorrent, although I've only ever used it a few times. Also lots of people still use various IM protocols, though it would be nice if XMPP became more widespread.
One of these days my desk is going to collapse in the middle and all its weight will come down on my knee and tear my new fake ACL. It could be tomorrow. This is my concern.

User avatar
wisnij
Posts: 426
Joined: Mon Jun 26, 2006 5:03 pm UTC
Location: a planet called Erp
Contact:

Postby wisnij » Wed Mar 21, 2007 9:26 am UTC

aldimond wrote:You'd do better by coming up with sensible protocols and writing good client-side apps that fit into the interface paradigms of the operating environments they inhabited. AJAX and Web 2.0 can kiss my hairy ass.

Maybe, but the Web has the advantage of actually existing already. Good luck getting everyone in the world to switch over. :?

Also: user time is more valuable than programmer time (in a supply/demand curve sort of way), in that users are less willing to invest time to get things done. Gripes about the specific implementation aside, the general idea of a single client-side browser which can run a huge number of "applications" is a very good one, because there's little to no configuration or install time. Aside from the odd Flash plugin or whatnot, for the most part you just go to a site and it works. So there's a very low opportunity cost for users to try out new services.
I burn the cheese. It does not burn me.

User avatar
aldimond
Otter-duck
Posts: 2665
Joined: Fri Nov 03, 2006 8:52 am UTC
Location: Uptown, Chicago
Contact:

Postby aldimond » Wed Mar 21, 2007 9:34 am UTC

Err, the world was already this way back when people used normal mail'n'news clients and such. I just wanna know who I've gotta kill to get some mother fucking IMAP email in this house.

I mean, without going to grad school, because most colleges give you IMAP email. Grad school is *almost* worth it just for getting decent fuckin' email, but not quite.

It's no harder to write a protocol and a client for it than it is to write a web interface. It might require different language skills, and you'll be fucked over when MS/Apple/Gnome/KDE assholes decide to "standardize" around a new shitty "more eye candy" toolkit that will supposedly revolutionize teh worlds, but at least it might convince people to at least consider their design goals when they write something. I mean, hell, your initial client can even be a web frontend if you want. And then you can focus on making your service good and maybe someone that has a strong opinion about how an interface ought to work can try something different and better. This is not some fucking pie-in-the-sky shit, it can be done today!
One of these days my desk is going to collapse in the middle and all its weight will come down on my knee and tear my new fake ACL. It could be tomorrow. This is my concern.

User avatar
tendays
Posts: 957
Joined: Sat Feb 17, 2007 6:21 pm UTC
Location: HCMC

Postby tendays » Wed Mar 21, 2007 11:59 am UTC

I tend to agree with you aldimond. There are too many layers nowadays in web applications, that make them slow, unstable and heavy. I wish there were a wide spread protocol for having a local interface for a remote application, that says "put a textbox here", "a listbox with these elements here", etc.
Now this is done by hacking javascript with layers of css and texboxes and other nonsense for re-creating a user interface toolkit and/or a windowing system. Just thinking the work the browser is doing to display a textbox in a virtual html window (I'm thinking about thedailywtf.com here) gives me nausea.
I was hoping remote xul would take off, as it seemed a reasonable compromise (with at least one less layer than ajax), but it seems to have failed, unfortunately.
But I've to say that flash, when used properly, can be good and rather responsive. You complain that people have to download a binary - well if web application were replaced by custom protocols with custom clients then it would be worse, wouldn't it?
Now, of course, I see too many people that use javascript to make links. I've even seen a webpage (for a housing agency - such a website isn't supposed to be flashy, is it??) using flash buttons for links between pages !! (i.e. the entire page in normal html and the buttons are small flash application that redirect the page when you click on them)

User avatar
aldimond
Otter-duck
Posts: 2665
Joined: Fri Nov 03, 2006 8:52 am UTC
Location: Uptown, Chicago
Contact:

Postby aldimond » Wed Mar 21, 2007 12:42 pm UTC

tendays wrote:I tend to agree with you aldimond. There are too many layers nowadays in web applications, that make them slow, unstable and heavy. I wish there were a wide spread protocol for having a local interface for a remote application, that says "put a textbox here", "a listbox with these elements here", etc.


I don't think that's really necessary. People familiar with coding programs in a given UI style can write something that's consistent with that model. A Plan 9 user would want a client that fits in with the Plan 9 UI; an OpenStep user would want a model OpenStep program, and a WinVista user wants something that looks slick with Aero. They don't have to be behemoth programs; they have to do what they do well.

I was hoping remote xul would take off, as it seemed a reasonable compromise (with at least one less layer than ajax), but it seems to have failed, unfortunately.


I'm not all that familiar with XUL... my impression is that XUL only works with Gecko browsers and that it's not really designed to work outside of them. It has the same problem as web applications: it homogenizes the UI across all platforms and users, and it relies on the installation of a complicated browser. In fact it's worse: it relies on the installation of one of a small group of complicated web browsers, the Gecko ones. If you expose a reasonable protocol in addition to remote XUL I guess that's a fine way to ensure you have a working client for Mozilla users while still allowing platform coders to write good apps for their specific platforms.

But I've to say that flash, when used properly, can be good and rather responsive. You complain that people have to download a binary - well if web application were replaced by custom protocols with custom clients then it would be worse, wouldn't it?


If the protocol is open and well-designed, that's better than Flash, because it means that a client can be implemented anywhere, not only on the three OSes that Adobe will allow you to run Flash on (there is a EULA clause forbidding the use of Flash Player, for example, in FreeBSD's Linux compatibility layer, although it does work). And no matter how many OSes Flash Player runs on, it still doesn't allow flexibility. If you code an email webapp in Flash, and I want my mail client to use vi as the mail editor I can't do that. If you just give me a place where I can hook up to IMAP I can do that. If you write your own email protocol I can write a program to follow it, and give me what I want. Or I can write an email program for Plan 9 that fits in with Plan 9. I can write all kinds of crazy stuff that you might not like, but a loyal community comes to love.

Furthermore, the software that's written to follow these protocols will be written with the interests of the user in mind. Adobe (following in the footsteps of Macromedia, from whom they acquired Flash) is interested in serving you ads that you can't ignore (this comes directly from a quotation from an old Macromedia exec). Ads with animation and sound. Ads that pop up and slide over your text. There's no alternative to Adobe's player that will act on behalf of users, shielding them from these annoyances. And even if there was it would face the browser problem: since so much of the Flash format (like so much of the markup in today's web pages) must be rendered precisely to be remotely usable there is not much room to deviate from an advertiser's obnoxious intent.

Now, of course, I see too many people that use javascript to make links. I've even seen a webpage (for a housing agency - such a website isn't supposed to be flashy, is it??) using flash buttons for links between pages !! (i.e. the entire page in normal html and the buttons are small flash application that redirect the page when you click on them)


Needless complication is everywhere in the new web. In original HTML there was an <i> tag to get italics. But the <i> tag is now "deprecated". In Blogger these days if you ask for italics it gives you <span style="font-style:italic;">. Which means exactly the same thing, it just wastes bandwidth and relies on CSS support. And its use ignores the *reason* that <i> is deprecated: because usually people shouldn't be specifying italics, they should be specifying emphasis with an <em> tag that will typically render to italics.
One of these days my desk is going to collapse in the middle and all its weight will come down on my knee and tear my new fake ACL. It could be tomorrow. This is my concern.

User avatar
Roffle
Posts: 804
Joined: Fri Mar 16, 2007 1:28 pm UTC
Location: Here.
Contact:

Postby Roffle » Wed Mar 21, 2007 1:09 pm UTC

I'm thinking "Teh Valley" to mean Silicon Valley, now...

I'm not geek enough to contribute to this, however, you sound absolutely correct. Yes.
"Error juris semper nocet"

User avatar
German Sausage
3 of 5
Posts: 2933
Joined: Mon Jan 01, 2007 9:45 am UTC

Postby German Sausage » Thu Mar 22, 2007 10:59 am UTC

all i use the blagowub for is here and chat stuff, as well as school email that is compulsory. so this broken internet is not my fault.
<bakemaster> Only German Sausage can prevent forest fires
<felstaff> Hype is like a giant disappointment ray aimed squarely at the finished article.
<watson> Treat me like a criminal, Holmes!
TMT4L

User avatar
TheTankengine
Our Fora-father
Posts: 3328
Joined: Tue Oct 17, 2006 2:09 pm UTC
Location: Louisville, KY
Contact:

Postby TheTankengine » Thu Mar 22, 2007 7:29 pm UTC

flashblock works well for ignoring those ads "you can't ignore".

I agree that the web is super-fucking over-complicated. I used to be a proponent for single-purpose or a small-group-of-purposes applications, because they tend to be more efficient at what they do. But, with the web being what it is today, I am really liking firefox. If you think about it in one way, its like its own OS that can do http, ftp, css, js, flash, xhtml, etc. And it makes it standard across three very major operating systems. I've got my browser in full screen now, so I don't even really see linux or windows. I just see tabs and a whole bunch of very different types of content. I can play music with an add on, so thats taken care of. I've got a permatab of gmail, so there is my email client. I've got an rss collection page, so there is my news reader. I've got youtube, so there is my tv. I've got fora.xkcd, so there is my discussion application. I don't see anything wrong with this.

Now, not everyone in the world uses windows, os x, or linux, but i'd estimate a good 99% do, and thats pretty damn close.
be centered
be compassionate
be interesting

User avatar
Yakk
Poster with most posts but no title.
Posts: 11083
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Postby Yakk » Thu Mar 22, 2007 8:07 pm UTC

Problems:
Requring software to be installed specific to your app is a huge barrier to entry.

If you install software on someone's computer, you own that computer. The security models of even decent operating systems tend to have serious local-account privledge escalation bugs.

Most OSs in use don't allow decent fine-grained "sub-user-level" security, whereby you can easily and intuitively restrict a downloaded application to a sandbox, out of which only non-executing data can be transported.

The browser acts as a "trusted" installation on your system. It, and a handful of attached programs (flash, java, etc) provide a sandbox within which you allow webpages to play.

While there tends to be some security issues with browsers and attached applications, they do get fixed, and taking over the computer becomes a multi-step process (first defeat the browser, then avoid local anti-malware detectors, then privledge escalate on the local machine).

AJAX is actually a decent example. AJAX is a hack. The current practics of AJAX was not what the features that AJAX was built on where designed to do -- instead, people figured out how to use them creatively. That is why AJAX is a bit strange. But because existing browsers (existing install base of client software!) could use it, it is quite effective and popular.

Next, by moving the "application level" code into a sandbox (be it java or the full browser environment), a semi-trusted application has to fail in two ways in order to comprimise your system: first, it has to have a protocol error allowing 3rd parties to hijack it, and second it has to allow those 3rd parties to execute a sandbox-breaking action and get out of the cage.

So you can install/use AJAX/Java applications from people you trust less than you can install sandboxes from. They might be able to maliciously break through your sandbox, but they are far less likely to make a mistake and allow someone else to break through your sandbox than a mistake by your sandbox makers.

....

In short, write your own protocol. Try to get people to download a client that works with your protocol. Note how hard it is to first, design a good protocol from scratch, and second, how much harder it is to get someone to download a 3rd party tool and run it than it is to just have a webpage that works with an existing installed tool.

User avatar
aldimond
Otter-duck
Posts: 2665
Joined: Fri Nov 03, 2006 8:52 am UTC
Location: Uptown, Chicago
Contact:

Postby aldimond » Thu Mar 22, 2007 8:52 pm UTC

If there's a spec you don't need to install anyone's shady binary. You can write one that you like. This works in the sense that if a bunch of people want one with the right features someone will get around to writing it.

Look at email. Gmail may be the best webmail so far (it almost certainly was when it debuted). Gmail is about as good as an average standalone email client from 1995, its performance is slow even on fast computers (because it's so dependent on Javascript), and the user has no real choice in how the interface works. When people write blog posts through a web interface they're using a web browser to compose HTML; an entire rich-text entry scheme is delivered over the web --- AND IT SUCKS! Much better ones have been written in native code for most platforms.

AJAX is shit as an application delivery platform. What can you really count on having available? (X)HTML, CSS, Javascript. Interpreted languages. Slow as fuck, even on fast hardware. Limited choices in terms of interfaces. Incompatibilities with IE, FF, Opera, Konq, including among different versions of the same browser. Java would be better for app delivery, at least until people have time to write truly good frontends for their UI styles of choice. AJAX won because wanted a route that was easy at first. But it's a trap; it's fragile and gets really complicated really fast. If only people had the vision to put in the work first so they could be lazy later instead of the other way around.
One of these days my desk is going to collapse in the middle and all its weight will come down on my knee and tear my new fake ACL. It could be tomorrow. This is my concern.

User avatar
Yakk
Poster with most posts but no title.
Posts: 11083
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Postby Yakk » Thu Mar 22, 2007 9:25 pm UTC

Writing a good spec is harder than writing a binary.

Writing a binary is harder than logging into gmail.

I have an IMAP server availiable to me, and I prefer to use gmail -- simply because gmail's adminstration is better, it's storage is larger, and remote access on a random machine is easier.

AJAX is shit as an application delivery platform. What can you really count on having available? (X)HTML, CSS, Javascript. Interpreted languages. Slow as fuck, even on fast hardware.


Fast enough. I'm not calculating Pi.

Limited choices in terms of interfaces. Incompatibilities with IE, FF, Opera, Konq, including among different versions of the same browser.


More compatable than a binary is. Binary-requiring programs are compatable with no browser. :)

Having to download, install, and trust a particular random protocol/binary pair sucks.

Java would be better for app delivery, at least until people have time to write truly good frontends for their UI styles of choice.


Java had most of the advantages that AJAX had -- a pretty damn wide install base. Yet it didn't work. Why did AJAX work while Java didn't?

I heard of some attempts to make Java "startup" as fast as an AJAX "startup" (beans etc), but I never saw it working.

AJAX won because wanted a route that was easy at first.


Easy for the user and requires no installation on the part of the user.

But it's a trap; it's fragile and gets really complicated really fast. If only people had the vision to put in the work first so they could be lazy later instead of the other way around.


You can write Java delivery applications right now. Most browsers have a half-crappy Java implementation in them.

But Java apps, on the user side, always seemed to be far worse than the current AJAX apps are: long initial loading times, cludgy interfaces, poor response, serious resource hogging, and annoying VM managers on the system that don't like being told to "go away, I'm finished with Java for the next 4 days, stop taking up resources". Why is that?

AJAX sucks, and web-based forums suck. But they seem to beaten the alternatives senseless. And it isn't as if this is a case of lock-in: if the competition is distributing binaries that use a known protocol, you can do this in parallel with existing web-based apps.

I really wish that most forums provided a NNTP interface, so I could use a better client -- but they don't, and that is my problem, not the writers of the forum software.

User avatar
aldimond
Otter-duck
Posts: 2665
Joined: Fri Nov 03, 2006 8:52 am UTC
Location: Uptown, Chicago
Contact:

Postby aldimond » Thu Mar 22, 2007 10:49 pm UTC

If you don't come up with a good spec your project will eventually suffer from feature creep and come to suck anyway.

If you write a spec the people that care can write a simple client in a way that suits them. I'm not saying "provide a binary for everyone", I'm saying, "provde a service". Let people write good binaries.

Hell, I use Gmail too. Google's email service is excellent and free. I'd prefer a different interface, however. IMAP would allow this.

AJAX is *not* fast enough, and it's not flexible enough. Doing things that were easy and snappy on a mail client on a Pentium are now sluggish in Gmail on a P4. Entire types of interfaces available to a desktop app are either impossible or very difficult in AJAX (anything involving drag-n-drop; also menus tend to suck, but that is probably a good thing because menus are such a garbage heap in most desktop apps). That's because AJAX is another layer of abstraction between the code and the computer -- a layer that's not designed for application delivery, and a layer that is simply not very good at it. AJAX also means you're running in a web browser, which means if you try to build keybindings into your app you have to be careful not to conflict with those of the browser. Firefox uses GTK elements, and for me that means it uses a subset of readline/emacs keybindings. Gmail and Blogger don't work well with even that simple change.

If you have a website for some one-off thing, fine. I'd probably rather not have a binary for ebay, a binary for amazon, a binary for Google. But for the things where people actually will go out and write good clients, I want a spec and a client.
One of these days my desk is going to collapse in the middle and all its weight will come down on my knee and tear my new fake ACL. It could be tomorrow. This is my concern.


Return to “Serious Business”

Who is online

Users browsing this forum: No registered users and 4 guests