views:

237

answers:

7

This question has a discussion of progressive enhancement. My question is about the alternative type of web application. If you have a web app in which the UI is constructed almost entirely in Javascript, won't gracefully degrade, has a desktop feel, etc., what is that kind of web application called?

+1  A: 

Monolithic?

Diodeus
Not sure why you got downvoted. That's not a bad answer, but could be mistaken for being pejorative.
Mike Sickler
Yeah, I don't get it either. Oh well, 8 points for me.
Diodeus
+2  A: 

Do you mean this type or the opposite of this type:

"Rich Internet Application" where you could have an application that runs on for example AIR.

JB King
RIA seems a bit broad, in the sense that it includes Flex/Silverlight apps. I'm talking specifically about the choice a web developer can make. You can either have a progressive-enhancement, unobtrusive Javascript approach, or a Javascript-centric, widget-oriented approach.
Mike Sickler
Its the best term I've heard for this kind of app yet, but it's kind of problematic because it's hijacked by the PR folks to mean many, many different things.
Joachim Sauer
I call it an RIA.
Nosredna
I agree that 'Rich Internet Application' is a little overloaded with PR, and it might be the best term to describe these types of apps, even if they don't require a plugin. After all, whether it's Flex, Silverlight, or ExtJS, they all face the same challenges, namely browser back button/refresh handling, accessibility, and deep linking
Mike Sickler
+2  A: 

Inaccessible.

Chuck
A: 

It just doesn't degrade well.

I'm not sure I'd categorise applications as progessively enhanced, because that inferrs that there is some sort of baseline. How far back should an app degrade before it's considered as 'progressively enhanced'?

At a push, I'd say the app is dependant on certain features of the browser - maybe it is 'edge dependant' or 'modern browser only'?

Mr. Matt
A: 

UI is constructed almost entirely in Javascript, won't gracefully degrade

Arrogant. Presumptive. Illegal (depending on specifics of application and jurisdiction).

AakashM
And going to change the Internet. I wouldn't be surprised to see many of these as desktop apps move to the internet. Especially once Cappuccino's Atlas is released.
Nosredna
+1  A: 

Well, really the opposite of "progressive enhancement" is "graceful degradation", even though they basically achieve the same thing.

Progressive enhancement means you start off with plain old HTML for older browsers, then enhance it in stages, with cross-browser CSS, additional CSS (e.g. CSS3 styles), Javascript and AJAX.
Graceful degradation means you rush headlong into creating a Rich Internet Experience, then tack on alternatives for people without Javascript/CSS.

Anyway to answer your question, I'd probably call it "ungraceful degradation". Alternatives:

  • Badly designed
  • Uncrawlable (from search engine perspective)
  • Inaccessible (credit: Chuck)
DisgruntledGoat
Why would you want to crawl an application?
Joeri Sebrechts
For the same reason you'd crawl a web site: to find information relevant to a user's search query. If SO was built entirely in Javascript/AJAX then it would be basically uncrawlable. That's probably a bad example but there are surely several "web applications" that could benefit from being crawlable/indexable.
DisgruntledGoat
+1  A: 

to me, what you describe seems to be a JavaScript based fat client ... i see nothing wrong in that ...

the thing is, that everyone forgets is that HTML means hypertext markup language ... it is a format for describing documents and was never designed to capture the functionality that some HTML-based apps offer nowadays ...

the answer "RIA" seems the best to me ... of course that includes flash and silverlight ... but your choice of HTML+JS is completely arbitrary in this case, because you manipulate the HTML DocumentObjectModel with JavaScript as a flash developer would manipulate the flash DisplayObjectModel with ActionScript ...

  1. there are simply web apps, that are document and form based ... they have a CRUD infrastructure for some type of data, that is accessed in a RESTful, or at least RESTish way ... this type of apps can employ progressive enhancement, using HTML to capture its semantics and plain HTTP for all client<->server communication... i'd tend to simply call this kind of web app a web site ... having a bit of funky AJAX won't change that really ... i mean, from a simple guest book, to a forum, to stackoverflow, the basic idea never changes ... and a guest book does not make a web application, does it?
  2. there are web apps, where the state is fully maintained by a much richer client, because these apps do a lot of granular data manipulation, as opposed to the document based CRUD web apps, and to me, this is the type of web application actually deserving the name, but i'd call them RIAs, to emphasize the difference ... in some cases this solution is faster, more lightweight, scalable, usable, easier and faster to develop/maintain/extend, and simply more natural ... this choice is often based on the type of data they deal with, as well as the functionality exposed for manipulating that data ... for example, if you were to implement a game like tetris, progressive enhancement wouldn't be the way to go ... instead, in order to create such apps, willful misuse of HTML is required ... so what? :-D

so, yeah, RIA is the right word, i'd say ... and opposed to others, i think first of all, it is a great, easy and powerful way of deploying functionality ... i mean i get the whole "inaccessible" and "incrawlable" thing ... but the latter is often pointless, and the first one is a problem you can't address properly, unless for example screen readers read whatever is in the DOM, instead of spitting out the original page ... but that's the problem you face with "real", i.e. desktop like, apps ...

back2dos