meyerweb.com

Skip to: site navigation/presentation
Skip to: Thoughts From Eric

The Web Stack

Following on my “HTML5 vs. Flash” talk of a couple of weeks ago, I’m hoping to do a bit of blogging about HTML5, Flash, mobile apps, and more.  But first I need to get some terminology straight.

As I did in my talk, I’m going to refer to the collection of front-end web-standards technologies—(X)HTML (of any flavor), CSS, and JavaScript—as “the web stack”.  I’ve seen the term used here and there and it makes the most sense to me as a condensed verbal shorthand.  It beats writing out the specific technologies every time or trying to use similarly clumsy constructions like “front-end tech”.  If you like, think of “web stack” as a rough equivalent to “Ajax”—a term that was invented because continually saying “asynchronous JavaScript + CSS + DOM + XMLHttpRequest” was unworkable.

The web stack sort of includes downloadable fonts, but only in the same sense that images or any other external resource is part of the stack.  SImilarly, it encompasses frameworks like jQuery in the sense that they’re built out of the components of the web stack.

When I use the term “web stack”, though, I’m not referring to back-end technologies.  Those things are important, certainly, but not from the front-end point of view.  A browser doesn’t care if your page was generated by PHP, Django, Rails, Perl, or what have you.  It doesn’t even care if the server runs on Apache or something else.

Furthermore, it doesn’t refer to plugins.  Yes, that means Flash, but it also means QuickTime, Real, ActiveX, and so forth.  What I need to make clear is that I’m not doing this in an attempt to imply that plugins don’t belong on the web at all.  They’re just not part of that core web stack any more than the web stack is part of them.  That doesn’t stop them working together, obviously.

Okay, so that’s out of the way, and I hope my meaning is sufficiently clear to everyone.  Please do leave a comment if it isn’t.  Onward!

44 Responses»

    • #1
    • Comment
    • Wed 19 May 2010
    • 1049
    michael wrote in to say...

    You could always call it DHTML.

    • #2
    • Comment
    • Wed 19 May 2010
    • 1054
    Eric Meyer wrote in to say...

    Sadly, michael, that term got far too poisoned around the turn of the millennium.

    • #3
    • Comment
    • Wed 19 May 2010
    • 1058
    Gregory wrote in to say...

    I think you are being too specific with a general term.

    What you describe is the front-end stack. There is also a back-end stack (more variable one).

    Together they are part of a web stack.

    But right now you are defining the “web” as front-end only, which is – and I would hope you agree – obviously false.

    • #4
    • Comment
    • Wed 19 May 2010
    • 1059
    michael wrote in to say...

    What about something like JACD – JavaScript + Ajax + CSS + DOM then we could say, “Yo! That page is JACD up!”

    • #5
    • Comment
    • Wed 19 May 2010
    • 1100
    Gregory wrote in to say...

    I should note that “web stack” is also an already used term… and usually encompasse more than the frontend.

    So I’d be careful over overloading (and de-generalizing) an already established term.

    • #6
    • Comment
    • Wed 19 May 2010
    • 1105
    Eric Meyer wrote in to say...

    According to my searches it’s already an overloaded term, Gregory. Nevertheless, I have yet to see a better term to describe the stack of structure, presentation, and behavior—”front-end stack” is still too clumsy. If a better term emerges here in the comments, then great. Otherwise, this is what I’m going to use.

    • #7
    • Comment
    • Wed 19 May 2010
    • 1106
    Dan wrote in to say...

    The web obviously isn’t front end only, but you can certainly build things with the “web stack” as defined here without using anything from the back-end stack. The opposite isn’t really true.

    And what’s included in the back end stack? Web server software? Databases? PHP/Ruby/Perl/Python? Web services? Flash media server? If you’re going to include all of that stuff would the term even be useful anymore? When would you ever use it?

    • #8
    • Comment
    • Wed 19 May 2010
    • 1109
    Adam wrote in to say...

    @Gregory: I disagree. The web is a set of conventions for sending pieces of information back and forth. It includes neither the question of how the information is generated (the server) nor how it is consumer (the psychology of human perception). Certainly a lot of value that is on the web is provided by programming languages and software that run on servers, but the value of the web as a whole is that all of those things are *outside* the web itself, and therefore anyone may use whatever they want. But html, css, javascript are the items we have in common to experience it.

    • #9
    • Comment
    • Wed 19 May 2010
    • 1110
    Pierre Quillery wrote in to say...

    Hi Eric !

    What about the « [common] browser stack » ?

    After all, it’s what it’s all about : the embedded browser technologies (that definition excludes the plugins, obviously).

    Actually, I don’t like the « web stack » expression much because it’s implying that the web is only to be viewed through the browser.

    • #10
    • Comment
    • Wed 19 May 2010
    • 1115
    michael wrote in to say...

    No love for JACD as an acronym? Damn, I thought maybe it could be all new-millenium, and appeal to the hipsters.

    • #11
    • Comment
    • Wed 19 May 2010
    • 1120
    Marco wrote in to say...

    HTML is the document layer. CSS is the presentation layer. JavaScript is the functional layer. You need something as cool as ‘Ajax’. How about ‘DoPreFun’?

    Seriously, I’ve always thought of it as simply ‘The front-end’.

    • #12
    • Comment
    • Wed 19 May 2010
    • 1123
    Dero wrote in to say...

    I really like the term “browser stack” in this context as it’s correctly reffering to the common browser technologies for *viewing* the Web. The Web itself is the sum of information (somehow tagged and structured).

    • #13
    • Comment
    • Wed 19 May 2010
    • 1124
    Jared wrote in to say...

    There are a number of other terms possible such as web suite, base stack, web mill, web hub, web core, etc; however, web stack carries the simple essence of structure, presentation and behavior you are looking for.

    • #14
    • Comment
    • Wed 19 May 2010
    • 1132
    David Siegfried wrote in to say...

    Eric,

    I hope this catches on as it would make describing things considerably more simple as far as I can see. Using AJAX was never a good answer in my mind because it was also its own subset of the technologies (although it uses all the technologies you are saying define the web stack). In my opinion this is a much more definitive phrase that points to the organizational (html), the design (css) and the functional (javascript) elements that make up the “modern” web, a stack or set of layers that work together as one.

    -David

    • #15
    • Comment
    • Wed 19 May 2010
    • 1136
    Gregory wrote in to say...

    @Adam you say you disagree… and the proceed to completely agree with me. I’m not disagreeing that HTML/js/css are part of the web and shape how we experience it, they are just part of it though. Which seems to be in line with what you said.

    I dunno the term just seems lazy. If you’re overloading terms already for easy generalization then just call it “the web” and be done with it. You’re going to be using it in a development context anyhow, and we’ve already throw away the pretense of any accurate semantics…

    Your call obviously Eric, it’s your blog, presentations, and writing – but I think you’re adding semantic confusion for the sake of brevity.

    • #16
    • Comment
    • Wed 19 May 2010
    • 1138
    Gregory wrote in to say...

    I would second “browser stack” btw

    • #17
    • Comment
    • Wed 19 May 2010
    • 1154
    Tiffany France wrote in to say...

    nothing beats a nicely JACD up website.

    • #18
    • Comment
    • Wed 19 May 2010
    • 1207
    Andreas wrote in to say...

    Well people need to stop referring html5 to “the web stack”, thats for sure.

    • #19
    • Comment
    • Wed 19 May 2010
    • 1248
    David Rodriguez wrote in to say...

    I always liked the “three legged stool” from Jeremy Keith’s DOM Scripting book.

    How about the “Webruta Triangle” ?

    Web Stack sounds good.

    • #20
    • Comment
    • Wed 19 May 2010
    • 1449
    Pete B wrote in to say...

    The word ‘stack’ has a lot of connotations with server-side technology so it’s certain to irk back-end developers, but maybe that’s a good thing :)

    A good handle term for HTML, CSS, and JavaScript would be nice, but I think it would only make sense in the general marketplace if the web browser was perceived to be a clear-cut web standards machine. The fact is, like you’ve said, there’s a lot of proprietary technology bolted in there as well (Flash, Silverlight etc.) which are bread and butter for a good segment of the industry.

    • #21
    • Comment
    • Wed 19 May 2010
    • 1556
    Miles wrote in to say...

    Possibly a side question:

    I know that I can “embed” an MOV the old way, and it plays back with the QT plugin.

    If I use <video> and it plays back “natively” in the browser, will Safari use the QuickTime plugin or what?

    It seems very mind-bendy to me, because I am under the impression that everything is played back through the QuickTime layer on a Mac anyway, so its not clear to me what the distinction would be.

    • #22
    • Comment
    • Wed 19 May 2010
    • 1920
    Jon Allured wrote in to say...

    +1for browser stack

    • #23
    • Comment
    • Thu 20 May 2010
    • 0007
    Bob Monsour wrote in to say...

    Eric, I thought that’s what the terms “web standards” was all about. It’s certainly been around for a while and my take is that it encompasses HTML, CSS, and Javascript; these being all the things that the browser makers have to do consistently so we can all develop sites that work the same in any browser.

    It’s even the view I take away from reading this…

    http://www.webstandards.org/about/mission/

    For someone like you, who has been at the forefront of so much of this (in a wonderful way), I guess I’m a little surprised that this term didn’t occur to you as the right one.

    The term “web stack,” in my view encompasses much more; most particularly the entire HTTP protocol. Whenever I hear the term “stack,” I think of networking protocols (blame it on my past life).

    • #24
    • Comment
    • Thu 20 May 2010
    • 1009
    Eric Meyer wrote in to say...

    Bob, I did consider the term “web standards”, but in my mind it refers to all the web-related standards, including HTTP, whether or not they impinge directly on the front end. That’s why it didn’t feel right to me. Which is funny, because you and I have the same reason for not preferring a particular term; it’s just the terms that are different.

    (And it should be noted that HTTP isn’t actually required for what I call the web stack—one can load pages directly from a device with no web server involvement, and still work. Is that the web? Hmmm.)

    To various commenters, “browser stack” sounds like either a suite of browsers, which isn’t quite what I’m trying to say here; or else a technology stack for creating browsers, which definitely isn’t right.

    I played around with a lot of acronyms based on a variety of terms, and nothing came up a winner. The closest I got was Basically Open Browser-Assisted Front-End Technology Triad (BOBAFETT) but besides using two potentially loaded terms and being a bit of an overstretch, the last thing I need is C&D letters from Lucasfilm Ltd.

    • #25
    • Comment
    • Fri 21 May 2010
    • 0250
    head.zoo.keeper wrote in to say...

    This isn’t perfect but it does allow the inclusion of other front-end technologies such as SVG and MathML: The W3 Stack.

    • #26
    • Comment
    • Fri 21 May 2010
    • 1333
    Tanny O'Haley wrote in to say...

    Structure Presentation And Behavior (SPAB), Browser Stack or Web Standards would be my choices as web stack means much more to me than front-end technologies.

    • #27
    • Comment
    • Sun 23 May 2010
    • 2145
    Hector Hurtado wrote in to say...

    I would go with Structure, Presentation, and Behavior… or SPB.
    This would nicely allow the inclusion of the rest of the parts as Architecture, Structure, Content, Presentation, and Behavior: ASCPB.

    It doesn’t sound fancy, but that’s not what we’re aiming for :)

    • #28
    • Comment
    • Mon 24 May 2010
    • 1625
    Nancy wrote in to say...

    Firstly, I like web stack….but for some reason it makes me hungry for pancakes…..so still thinking but the first idea:
    CJAX (Css/javascript/xhtml)?

    • #29
    • Comment
    • Mon 24 May 2010
    • 1656
    Nancy wrote in to say...

    Well, I see cjax is taken….doh! How about
    styleJax?

    styleScript?

    XScript….x from xhtml and FOR all the other parts described – also stands for eXperimental in aviation/the S of css meets the S of javascript
    …think I will go back to your first idea!

    • #30
    • Comment
    • Mon 24 May 2010
    • 1846
    Tami wrote in to say...

    I like the term web stack. The moment I heard it the first time I knew EXACTLY what it was. And it is a much better alternative to incorrectly calling all the new css3 and javascript HTML5 (yer previous post). Like Bob, I too, come from a background that calls upon the network stack term ; but to me that’s just a bonus; it makes the concepts of layering structure, presentation and behavior crystal clear.

    So I say go for it, call it “web stack”. I’ve already started to.

    • #31
    • Comment
    • Wed 26 May 2010
    • 0058
    Hector Hurtado wrote in to say...

    Coming back to it…

    “the collection of front-end web-standards technologies” = front-end standards.

    In the context of web, anyone should understand what this implies.

    • #32
    • Comment
    • Thu 27 May 2010
    • 1310
    manuel wrote in to say...

    (And it should be noted that HTTP isn’t actually required for what I call the web stack—one can load pages directly from a device with no web server involvement, and still work. Is that the web? Hmmm.)

    Eric, I’m surprised you don’t consider HTTP to be a core part of what you define as “the web stack”.

    If you exclude HTTP, it’s not the Web. You may as well call it “shiny stuff in a browser”. Some would go as far as saying that your web stack is what’s optional, rather than HTTP. I don’t agree with that view, but I do think that both are required.

    In practical terms, HTTP response headers will have a direct, visual impact on how the page is rendered in the browser. So being able to understand and manipulate those headers should be a required skill for a front-end coder.

    The absence of HTTP as a topic in front-end coding curricula causes many coders to reach dead ends when debugging, not knowing how to make use of Firebug’s Net tab. I’m thinking stuff like encoding declaration conflicts, wrong mime types, missing resources, content negotiation, and of course ajax debugging.

    • #33
    • Comment
    • Thu 27 May 2010
    • 1340
    David Hucklesby wrote in to say...

    Just a note to say that I love Nancy’s CJAX idea. Probably too derivative to catch on, but I think it’s pretty inspired…

    I love standards–there are so many to choose from.

    • #34
    • Comment
    • Sat 29 May 2010
    • 2223
    Nancy wrote in to say...

    Thanks David!!!! I am so glad Eric is busy getting beyond this point….see how long it would take me to get past this point??!

    • #35
    • Comment
    • Wed 2 Jun 2010
    • 0542
    John Larsen wrote in to say...

    Web Client Stack

    Web Front End Stack gives WebFESt

    • #36
    • Comment
    • Fri 4 Jun 2010
    • 0331
    Alex Kessinger wrote in to say...

    PPK is calling them HTML5 Apps.

    Quick, meeting of the internet-buzz-word society: fight.

    • #37
    • Comment
    • Sun 6 Jun 2010
    • 2052
    Michael Lehmkuhl wrote in to say...

    +1 for “browser stack” or “web client stack” or maybe “client-side stack” (of the three, I prefer “web client stack”)

    Reminder that the origin of the term “web” stems from the interconnectedness of the various nodes on the network. I’d suggest that presentation of and interaction with the data and UI of those nodes is a significantly different animal than the network itself.

    Sidenote: I prefer one of these terms to “HTML5 apps” because the latter is inherently dated to roughly the present time. When the next big advance in front-end web tech comes along, it will become outmoded.

    Sincerely,

    An irked server-side developer
    ;-)

    • #38
    • Comment
    • Mon 14 Jun 2010
    • 0011
    James Sarmiento wrote in to say...

    Within our office, I developed a habit to use the term ‘core front-end languages’ to define HTML, CSS and JS altogether. But after reading this and the rest of the comments I’m liking to form it as ‘core web stack’. What do you think?

    • #39
    • Pingback
    • Thu 17 Jun 2010
    • 1310
    Received from The State of HTML5 Apps

    [...] Respected web design consultant and author, Eric Meyer, has started talking about the concept of Web Stacks — and we’re in a situation not unlike the beginnings of Ajax: A few people are already [...]

    • #40
    • Comment
    • Sat 19 Jun 2010
    • 1700
    David wrote in to say...

    I like BOBAFETT myself.

    • #41
    • Comment
    • Mon 21 Jun 2010
    • 0827
    David Goss wrote in to say...

    You could call these kind of apps “browser-based”. That accounts for the technologies are dealt with by the browser e.g. markup, CSS, JS but excludes server stuff and native applications (although I suppose it includes plugins). Also, I think most regular people would get what “browser-based” means, so it wouldn’t have to be an industry “in-word”.

    Does it really need an acronym or a cool name? (not moaning, just saying)

    • #42
    • Comment
    • Mon 21 Jun 2010
    • 1025
    Mark Blackman wrote in to say...

    I favour either ‘browser stack’ or ‘render stack’ or ‘display stack’ or ‘UI stack’ over ‘web stack’ which implies a lot of things way outside the UI to my mind.

    • #43
    • Comment
    • Tue 29 Jun 2010
    • 1524
    Stephen Schneiter wrote in to say...

    I have to agree with Nancy, Web Stack does make me think of pancakes! But then again I like cooking, and in cooking there is a phrase called the “Holy Trinity of Cooking” referring, at least in the South more specifically New Orleans, as equal parts of onion, celery, and green peppers.

    It would stand to reason then that we could refer to the term of the “Web Trinity”. They go together hand-in-hand. Thoughts?

    • #44
    • Comment
    • Fri 5 Nov 2010
    • 0052
    DaNmarner wrote in to say...

    HTML5 + ECMAScript5 + CSS3 = “HEC”

Leave a Comment

Line and paragraph breaks automatic, e-mail address required but never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Remember to encode character entities if you're posting markup examples! Management reserves the right to edit or remove any comment—especially those that are abusive, irrelevant to the topic at hand, or made by anonymous posters—although honestly, most edits are a matter of fixing mangled markup. Thus the note about encoding your entities. If you're satisfied with what you've written, then go ahead...


May 2010
SMTWTFS
April June
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Sidestep

Feeds

Extras