Slashdot Mirror


Even Faster Web Sites

Michael J. Ross writes "Slow Web page loading can discourage visitors to a site more than any other problem, regardless of how attractive or feature-rich the given site might be. Consequently, many Web developers hope to achieve faster response times using AJAX (Asynchronous JavaScript and XML), since only portion(s) of an AJAX page need to be reloaded. But for many rich Internet applications (RIAs), such potential performance gains can be lost as a result of non-optimized JavaScript, graphics, and CSS files. Steve Souders — a Web performance expert previously at Yahoo and now with Google — addresses these topics in his second book, Even Faster Web Sites: Performance Best Practices for Web Developers." Read on for the rest of Michael's review. Even Faster Web Sites author Steve Souders pages 254 pages publisher O'Reilly Media rating 8/10 reviewer Michael J. Ross ISBN 978-0596522308 summary Advanced techniques for improving website performance. The book was published by O'Reilly Media on 18 June 2009, under the ISBN 978-0596522308. The publisher makes available a Web page, where visitors can purchase the print and electronic versions of the book (as well as a bundle of the two), read the book online as part of the Safari library service, and check the reported errata — comprising those confirmed by the author (of which there are currently two) and any unconfirmed errors (all six of which are valid, though the fifth one may be a coincidence). In a break with traditional practice among technical publishers nowadays, there is no sample chapter available, as of this writing.

In many ways, this second book is similar to Steve's previous one, High Performance Web Sites: It presents methods of enhancing the performance of websites, with a focus on client-side factors. It is fairly slender (this one is 254 pages), relative to most programming books nowadays, and the material is organized into 14 chapters. However, unlike its predecessor, Even Faster Web Sites emphasizes generally more advanced topics, such as script splitting, coupling, blocking, and chunking (which to non-developers may sound like a list of the more nefarious techniques in professional hockey). This second book also has employed a team approach to authorship, such that six of the chapters are written by contributing authors. In his preface, Steve notes that the 14 chapters are grouped into three broad areas: JavaScript performance (Chapters 1-7), network performance (Chapters 8-12), and browser performance (Chapters 13-14). The book concludes with an appendix in which he presents his favorite tools for performance analysis, organized into four types of applications: packet sniffers, Web development tools, performance analyzers, and some miscellaneous applications.

In the first chapter, "Understanding Ajax Performance," guest author Douglas Crockford briefly describe some of the key trade-offs and principles of optimizing applications, and how JavaScript now plays a pivotal role in that equation — as websites nowadays are designed to operate increasingly like desktop programs. On pages 2 and 3, he uses some figures to illustrate fixed versus variable overhead, and the dangers of attempting to optimize the wrong portions of one's code. By the way, the so-called "axes" are not axes, or even Cartesian grid lines, but simply levels. Aside from its choppy narrative style and a pointless religious reference in the first paragraph, the material serves as a thought-provoking springboard for what follows. Chapter 2, titled "Creating Responsive Web Applications," was written by Ben Galbraith and Dion Almaer, who discuss response times, user perception of them, techniques for measuring latency, browser threads, Web Workers, Google Gears, timers, and memory issues. The material is neatly explained, although Figure 2-2 is quite confusing; moreover, both of the figures on that page should not have been made Mac- and Firefox-specific.

In the subsequent four chapters, Steve dives into the critical topic of how to optimize the performance of JavaScript-heavy pages through better script content and organization — specifically, how and when to split up large scripts into smaller ones, how to load scripts without blocking one another or breaking dependencies within the code, and how to best in-line scripts, when called for. Each of the four chapters follows an effective methodology: The first author delineates a particular performance mistake made by even some of the most popular websites, with the statistics to back it up. He presents one or more solutions, including any relevant tools, again with waterfall charts illustrating how well the solutions work. Lastly, he explains any browser-specific issues, oftentimes with a handy chart showing which possible method would likely be optimal for the reader's given situation, such as expected browser choices in the site's target audience. When there are potential pitfalls, Steve points them out, with helpful workarounds. He generally provides enough example source code to allow any experienced developer to implement the proposed solutions. Unfortunately, the example code does not appear to be available for download from O'Reilly's website.

The discussion of JavaScript optimization is capped off by the seventh chapter, written by Nicholas C. Zakas, who explains variable scope within JavaScript code, the advantages of choosing local variables as much as possible, scope chain augmentation, the performance ramifications of the four major data types (literal values, variables, arrays, and objects), optimizing flow control statements, and string concatenation. He outlines what sorts of problems can cause the user's Web browser to freeze up, and the differing responses she would see depending upon her chosen browser. Nicholas concludes his chapter by explaining how to utilize timer code to force long-running scripts to yield, in order to avoid these problems. By the way, in Figures 7-2 and 7-3, the data point symbols need to be enlarged so as to be distinguishable; as it is, they are quite difficult to read. More importantly, on page 93, the sentence beginning "This makes array lookup ideal..." is either misworded or mistaken, since array lookup cannot be used for testing inclusion in ranges.

With the eighth chapter, the book shifts gears to focus on network considerations — namely, how to improve the site visitor's experience by optimizing the number of bytes that must be pushed down the wire. In "Scaling with Comet," Dylan Schiemann introduces an emerging set of techniques that Steve Souders describes as "an architecture that goes beyond Ajax to provide high-volume, low-latency communication for real-time applications such as chat and document collaboration" — specifically, by reducing the server-side resources per connection. In Chapter 9, Tony Gentilcore discusses a rather involved problem with using gzip compression — one that negatively impacts at least 15% of Internet users. Even though videos, podcasts, and other audiovisual files consume a lot of the Internet's bandwidth, images are still far more common on websites, and this alone is reason enough for Chapter 10, in which Stoyan Stefanov and Nicole Sullivan explain how to reduce the size of image files without degrading visible quality. They compare the most popular image formats, and also explain alpha transparency and the use of sprites. The only clear improvement that could be made to their presentation is on page 157, where the phrase "named /favicon.ico that sits in the web root" should instead read something like "usually named favicon.ico," since a favicon can have any filename, and can be located anywhere in a site's directory structure.

The lead author returns in Chapter 11, in which he explains how to best divide resources among multiple domains (termed "sharding"). In the subsequent chapter, "Flushing the Document Early," Steve explores the approach of utilizing chunked encoding in order to begin rendering the Web page before its full contents have been downloaded to the browser. The third and final section of the book, devoted to Web browser performance, consists of two chapters, both of whose titles neatly summarize their contents: "Using Iframes Sparingly" and "Simplifying CSS Selectors." That last chapter contains some performance tips that even some of the most experienced CSS wizards may have never heard of before. As with most of the earlier chapters, the narrative tends to be stronger than the illustrations. For instance, Figure 14-5, a multiline chart, is quite misleading, because it appears to depict three values varying over time, when actually each of the ten x-axis coordinates represents a separate major website. A bar chart would obviously have been a much better choice.

Like any first edition of a technical book, this one contains a number of errata (aside from those mentioned earlier): In Figure 1-1, "iteration" is misspelled. On page 23, in the sentence beginning "Thus, if...," the term "was" should instead read "were." In Figures 7-1 and 7-4, the "Global object" box should not contain "num2." On page 95, in the phrase "the terminal condition evaluates to true," that instead should read "false." On page 147, in the sentence beginning "However, the same icon...," the "was" should instead read "were." On page 214, "Web-Pagetest. AOL" should instead read "Web-Pagetest, then AOL," because the first sentence is one long absolute phrase (i.e., lacking a finite noun and verb).

All of these defects can be easily corrected in future printings. What will probably need to wait for a second edition, are improvements to the figures that are in need of replacement or clarification. What the publisher can rectify immediately — should the author and O'Reilly choose to do so — would be to make all of the example source code available for download.

Even though this book is decidedly longer than High Performance Web Sites, and has many more contributing authors, it does not appear to contain as much actionable information as his predecessor — at least for small- to medium-sized websites, which probably make up the majority of all sites on the Web. Even though such methodologies as Comet, Doloto, and Web Workers appear impressive, one has to wonder just how many real-world websites can justify the development and maintenance costs of implementing them, and whether their overhead could easily outweigh any possible benefits. Naturally, these are the sorts of questions that are best answered through equally hard-nosed experimentation — as exemplified by Steve Souders's admirable emphasis upon proving what techniques really work.

Fortunately, none of this detracts from the application development and optimization knowledge presented in the book. With its no-nonsense analysis of Internet performance hurdles, and balanced recommendations of the most promising solutions, Even Faster Web Sites truly delivers on its title's promise to help Web developers wring even more speed out of their websites.

Michael J. Ross is a freelance Web developer and writer.

You can purchase Even Faster Web Sites from amazon.com. Slashdot welcomes readers' book reviews — to see your own review here, read the book review guidelines, then visit the submission page.

171 comments

  1. SOMEONE buy a copy for the /. coders! by Anonymous Coward · · Score: 5, Insightful

    Slashdot is the SLOWEST web site on the net.

    1. Re:SOMEONE buy a copy for the /. coders! by pha7boy · · Score: 1, Flamebait

      maybe it's just you.

      the parent is about as useful a comment as saying "first."

      --
      -- All this knowledge is giving me a raging brainer.
    2. Re:SOMEONE buy a copy for the /. coders! by Anonymous Coward · · Score: 0

      Wrong. xbox.com makes Slashdot look like a speeding bullet by comparision.

    3. Re:SOMEONE buy a copy for the /. coders! by Phroggy · · Score: 2, Interesting

      It's fast enough for me.

      The CSS is horribly broken, but I have no complaints about the speed. Posting is certainly faster for me than it used to be before they switched to AJAX. It just looks like crap.

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    4. Re:SOMEONE buy a copy for the /. coders! by MyLongNickName · · Score: 1, Informative

      And maybe you really are new here. This site looks like crap. The response rates at times are incredibly slow. Please mode original post up to a six or seven.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    5. Re:SOMEONE buy a copy for the /. coders! by eln · · Score: 4, Insightful

      Slashdot isn't slow, it's just buggy as hell.

    6. Re:SOMEONE buy a copy for the /. coders! by dyefade · · Score: 1

      Posting is certainly faster for me than it used to be before they switched to AJAX. It just looks like crap.

      Really? It takes AGES to preview a comment, I'm thinking 10-20 seconds, during which time you can't scroll down or do anything else (well you can, you'd just have to remember to scroll back up). At least with the vanilla html version you could open a new tab, and I don't remember having any issues with speed back then.

      The rest of the site is great though - keyboard navigation for comments is something I really miss when on other sites now.

    7. Re:SOMEONE buy a copy for the /. coders! by MogNuts · · Score: 2, Insightful

      "Classic" /. was always fast posting that I recall. I just wish I could have the features of the new /. (read: "the +/-" to meta-mod stories), with the old that was lost (read: ability to only display stories from certain sections, rather than only by author it seems now).

      And maybe it's just me, but where is the option to not timeout your login? I don't want auto-login or to stay logged in after I close the browser (for security), but I hate that /. logs me out after only like 2 minutes of inactivity. I can't even read half a discussion before I go to post and it says to login. Drive me mad, it's been over 10 years now lol!

    8. Re:SOMEONE buy a copy for the /. coders! by godrik · · Score: 1

      I was going to reply to say it is usually slow for me and just when I clicked the 'reply to this' button, I waited more than 15 seconds for the reply box to appear. Sometimes the preview button takes more than a minute to process the preview. There is probably a lot of parameter that impact the times. But it is usually slow for me.

    9. Re:SOMEONE buy a copy for the /. coders! by Hatta · · Score: 1

      Turn off javascript, it's actually usable then. Nothing worthwhile on the site actually uses javascript.

      --
      Give me Classic Slashdot or give me death!
    10. Re:SOMEONE buy a copy for the /. coders! by countertrolling · · Score: 2, Informative

      Your post is not flamebait. One of the biggest drags with Slashdot and many others is the response time of constantly linking and loading off site ad servers before the main page shows itself, which is probably the intention. Doubleclick is especially horrible, and since I blocked it Slashdot loading has sped up very nicely. c.fsdn.com which seems to contain a lot of the "pretty widgets" is another real monster. Though I can read the page, blocking it breaks too much stuff. The quest for monetizing every little thing is what will keep the internet in its miserable state, but who notices, with all the pretty pictures? Whatever new technological wizardry comes along will be completely consumed by Madison Ave.

      --
      For justice, we must go to Don Corleone
    11. Re:SOMEONE buy a copy for the /. coders! by Anonymous Coward · · Score: 1, Insightful

      Slashdot is the SLOWEST web site on the net.

      You obviously haven't had to suffer through the bloated shit that Gawker Media forces upon its victims. Not only does their slower-than-Slashdot Javashit have to be enabled to view comments, and comments were just changed to be forcibly presented in reverse chronological order. Always. No user-configurable option to sort 'em chronologically. Image galleries are forcefed as slideshows; no click-to-open-in-tab ability.

      I used to visit Jalopnik multiple times a day, and am now down to once or twice a week, and now actively avoid Gawker's other properties. The only other "design" that ever annoyed me enough that I pre-emptively avoid reading anything they do was the Forbes fetish for the Top 10 Slide Show, but the new Gawker is right up there. Compared to that, the pile of bloated Javashit that is Slashdot is tame by comparison -- because unlike the other sites, at least we can turn all the crap off (classic view) and still read the comments.

    12. Re:SOMEONE buy a copy for the /. coders! by 1u3hr · · Score: 1
      As I post, there are only 31 comments. Yet it still took THIRTY FUCKING SECONDS before the hourglass turned into a cursor and I could scroll the fucking page. During which time I notice the CPU usage going to 100%. WHAT THE FUCK IS SLASHDOT DOING????

      A couple of years ago Slashdot was bearable, especially as I could turn it to the "low tech" preference, which has now disappeared, and that even let me see it in my default font and not the sans font I do now. Now I have a later browser, twice as much RAM, and the site is dropping lower and lower in my favorite list, not just because of the dumb stories, but because when there is a good story it takes SO FUCKING LONG to open a comment page. Sometime I just skim the front page, check any interesting links, and avoid the tarpit of the comment pages.

    13. Re:SOMEONE buy a copy for the /. coders! by sootman · · Score: 1

      Agreed. Also, it's slow.

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    14. Re:SOMEONE buy a copy for the /. coders! by HTH+NE1 · · Score: 1

      It actually gets slower when you have mod points on some platforms (I can't say all as I don't use all). It can take a long time just to open the combobox choose how to mod the message, close the box, see it change, and get focus away from the box so when you try to scroll using the keyboard it doesn't change how you're modding the post. I think it is a problem with form efficiency in the browser: it just doesn't expect that many comboboxes to exist in a single form.

      Then again, it may be just as slow to have each message have its own form. I've hit limits of operating systems as to how many controls I could have in a screen.

      --
      Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
    15. Re:SOMEONE buy a copy for the /. coders! by Wireless+Joe · · Score: 1

      You're obviously not a Gawker Media fan, or haven't visited them since their last commenting system update. I still can't get comments to loand in Firefox, and switching to an IE tab means the comments load in a minute or two. They JUST fixed comment viewing in IE 8.

    16. Re:SOMEONE buy a copy for the /. coders! by Baloo+Uriza · · Score: 1

      It's not quite so bad if you use a caching web proxy, particularly if most of what you need is already cached. Granted, that doesn't help with big comment threads, but then again, bitching in the comments kind of contributes to the problem, in a way...

      --
      Furries make the internet go.
    17. Re:SOMEONE buy a copy for the /. coders! by rrhal · · Score: 1

      If your site was slashdotted 24/7/365 it would be slow too.

      --
      All generalizations are false, including this one. Mark Twain
    18. Re:SOMEONE buy a copy for the /. coders! by Ron_Fitzgerald · · Score: 1

      Interesting, xbox.com loads fine for me but their forums are terribly slow.

      --
      ~ Ron Fitzgerald
    19. Re:SOMEONE buy a copy for the /. coders! by bzipitidoo · · Score: 1

      Have your browser delete all cookies on exit. Firefox can do that. That will log you out of Slashdot, and everything else too.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    20. Re:SOMEONE buy a copy for the /. coders! by hairyfeet · · Score: 2, Interesting

      Not to mention on dialup all the extra offsite loading is uberslow! Not everybody in the USA can get broadband you know, and sadly I have members of my family trapped on the evil 28k dialup. It is getting to the point that even with ABP and Noscript page loading is God awful. And whatever they did to FF3 with the 'upgrade" to 3.5 makes it completely unusable for dialup. I am gonna have to bring out my family FF3.0.1.2 and hope that they fix the problems with the 3.5 branch before 3.0 is abandoned in Jan, otherwise it is Kmeleon and Opera for them.

      You know, there really ought to be code added to detect dialup like they do IE. Something like "If speed = 64k then offsite linking =0" or something. Because until/unless Obama rolls out nationwide broadband many like my mom will never ever see it. Nearly 40 homes are on the 1 mile stretch she lives on, and she can see the end of the cable from her front door. It was a block away when she and dad built the house 29 years ago with a "we plan to be out to run line that way in about six months" well 29 years later it has moved exactly 0 inches from where it was. So until we actually get nationwide broadband like most western countries it would be nice if the websites didn't bloat the shit out of everything with offsite linking. sorry about the rant, but with Internet access becoming more and more of a requirement to get anything done, it really sucks how websites are bloating the living hell out of their code expecting everyone to have high speed.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    21. Re:SOMEONE buy a copy for the /. coders! by sootman · · Score: 2, Informative

      It was faster before they added all the craptastic javascript everywhere.

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    22. Re:SOMEONE buy a copy for the /. coders! by Anonymous Coward · · Score: 0

      Dude, no, just no.
      iGoogle with just 10-15 feeds rips apart the CPU like crazy. (dual-core 1.6Ghz)

      But i will agree, both of them need to fix their shit BADLY.
      There is no fucking way in hell these kind of things require that much processing, and i'm not even the best JavaScript programmer either!.

      Slashdot is more buggy than slow, though.
      What the fuck is with all these silly little icons appearing at random times?
      Why is the sidebar sliders appearing INSIDE posts?
      Why is the sidebar working on some sub-domains, but not the others? (with respect to Chrome at least, not tried Opera, and i THINK FF is fine, not sure though)

      Also, bug with disconnections.
      If you make a post, but it disconnects, then reconnects, you try to submit and it errors. A truly dynamic site should fix that problem without requiring a page reload...

      "Cowardon"

      Preview bug that kills off newlines for some reason..

    23. Re:SOMEONE buy a copy for the /. coders! by Anonymous Coward · · Score: 0

      Really? It takes AGES to preview a comment, I'm thinking 10-20 seconds

      I believe that's intentional.

    24. Re:SOMEONE buy a copy for the /. coders! by pongo000 · · Score: 1

      Then check out gopher...fast without lots of extra cruft. Here's a proxy dialup users can access. If you don't see what you're looking for, e-mail the maintainer and ask for it.

      HTTP isn't the only game going...nor is it even the best game in town. Low bandwidth, high S/N ratio sites are out there. You just have to look for them.

    25. Re:SOMEONE buy a copy for the /. coders! by Adm.Wiggin · · Score: 1

      You still can open the reply in a new tab... It looks a lot like it used to if you do that, actually.

    26. Re:SOMEONE buy a copy for the /. coders! by hairyfeet · · Score: 1

      Nice thought, but we are talking about my family, which includes my mother. This is the same woman who is making dig an old 733MHz SFF out of the closet to build for her because I don't have anything newer that will run Win98SE, and she refuses to let go of Win98 because of her ancient puzzle games and AoE 1.

      So while the idea of going non HTTP might be great for those with knowledge, sadly it just won't work with my family. I must be adopted or a mutant or something, because IT is something they will never understand. hell computers are magic boxes as far as they are concerned. So I will end up having to use Outpost Firewall or a HOSTS file to block pretty much everything but the original page and hope that keeps it from crawling. Funnily enough the boys MMORPGs work great on dialup. Both Perfect World and Aura Rose play just as pretty as you please, but getting many websites is like crawling through mud.

      Thanks anyway though. I hadn't seen anyone mention Gopher since my BBS days. Man I remember those days, Archie, gopher, floppies, GIFs,...man I am so damned glad I got cable and don't have to deal with floppies and MB HDDs anymore. Say what you will about the old days, but storage back then really sucked the big wet titty. At least web pages were mostly static so they would work on dialup. At least until Angelfire and Geocities and the curse of the comet cursor came along. Thanks for the flashback though.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    27. Re:SOMEONE buy a copy for the /. coders! by css-hack · · Score: 1

      If your site was slashdotted 24/7/365 it would be slow too.

      +1 Touche

    28. Re:SOMEONE buy a copy for the /. coders! by funfail · · Score: 1

      What happens after 7 years?

    29. Re:SOMEONE buy a copy for the /. coders! by dyefade · · Score: 1

      Yeah, that did occur to me afterward... you'd think I've have tried that before.

    30. Re:SOMEONE buy a copy for the /. coders! by andreyvul · · Score: 1

      XP supports Age of Empires 1 quite nicely.
      Unless the puzzle games have Win98-isms, they should work fine in XP.

      --
      proud caffeine whore
  2. No... by Last_Available_Usern · · Score: 3, Informative

    The greatest barrier to website use is information overload, kinda like this review.

    TLDR

    WALL OF TEXT CRITS YOU FOR +5 TROLL

    1. Re:No... by Anonymous Coward · · Score: 0

      What does TLDR mean?

      "Total Loss, Don't Read"?

    2. Re:No... by flamingnight · · Score: 2, Funny
    3. Re:No... by Anonymous Coward · · Score: 0

      You were very close.

      Too Long; Didn't Read

    4. Re:No... by mcgrew · · Score: 2, Interesting

      I'd say the greatest barrier to website use is advertising, which isn't information; it's useless data. As to the book, AJAXing your site makes it slow. If you want a fast site, don't put anything on any page that doesn't absolutely need to be there, and have fast pipes and fast and enough servers.

      If I see a really fancy layout on a web site, I always wonder why its developer thought the content was so bad that they needed to disguise it with slickness?

      bing comes to mind. I've tried it quite a few times, and after seeing the "information overload" ad I finally got it - it doesn't index as many pages as Google and its results aren't as relevant. If you have an inferior product, making your product pretty and marketing the hell out of it is your only chance to obtain any market share.

      Google could indeed be improved on, and there will indeed be a better search engine eventially, but bing ain't it. Google is an excellent example of good web design.

      BTW, shouldn't that be TLTR instead of TLDR? Oh, too long DIDN'T read. Gotcha. You wouldn't like most of my journals, or anybody's books.

    5. Re:No... by Chabo · · Score: 1

      BTW, shouldn't that be TLTR instead of TLDR? Oh, too long DIDN'T read. Gotcha. You wouldn't like most of my journals, or anybody's books.

      "tl;dr" usually implies more than just the length of the text involved (although in some cases people are just that impatient). Usually it means that the writing either drags, or is just unnecessarily long for the message conveyed.

      --
      Convert FLACs to a portable format with FlacSquisher
    6. Re:No... by Orion+Blastar · · Score: 1

      Yeah the more text in a web site or Slashdot story, the longer it takes to load.

      Sometimes less is more. Learn to say more by using less text.

      Turn off "Verbose" mode.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    7. Re:No... by Bogtha · · Score: 3, Insightful

      AJAXing your site makes it slow.

      Nonsense. Using Ajax can slow down a site, or it can speed it up immensely. It depends on how you use it. When GMail was first launched, everybody raved about how fast it was. That was the Ajax.

      If you want a fast site, don't put anything on any page that doesn't absolutely need to be there, and have fast pipes and fast and enough servers.

      Assume you did that for Slashdot. You could then make further speed improvements by using Ajax in various places, for example so that it didn't reload a page full of hundreds of comments whenever you moderated.

      --
      Bogtha Bogtha Bogtha
    8. Re:No... by mcgrew · · Score: 1

      Yes, if your site is like slashdot ajax could speed it up if done properly, but unfortunately most aren't like that. Any tool can be misused, and the webmastering community is really bad about jumping on the bandwagon using tools that just aren't appropriate for the task at hand.

      I'm especially annoyed with sites that use javascript for a simple link. There are a few cases where that would be appropriate, but very few of the ones I've seen that use it are appropriate. If you right click one of these to open in a new tab or window, you get a blank screen.

      Actually I think the problem stems from people who are writing web sites that don't even know HTML and rely on automated tools.

    9. Re:No... by pongo000 · · Score: 1

      When GMail was first launched, everybody raved about how fast it was. That was the Ajax.

      So what happened? GMail definitely can't be classified as "fast" by any stretch of the imagination...

    10. Re:No... by Bogtha · · Score: 1

      What happened? Gmail stayed about the same speed. All the other major webmail providers started using Ajax and caught up, speed-wise. Now GMail doesn't stand out from the crowd any more, even though it hasn't slowed down much, if at all. The use of Ajax essentially redefined what it meant for webmail to be fast. By yesterday's standards, Gmail is blazingly fast.

      --
      Bogtha Bogtha Bogtha
  3. AJAX by metamechanical · · Score: 5, Insightful

    Has anybody else noticed that of all the websites visited, some of the SLOWEST make heavy use of AJAX? Or is that just me?

    --
    If I had a nickel for every time I had a nickel, I'd be richcursive!
    1. Re:AJAX by Anonymous Coward · · Score: 0

      Aye. Too much fancy work can slow down anything.

      Replacing XML with JSON can speed things up a lot, but it's still a problem if your site is too complex.

    2. Re:AJAX by ByOhTek · · Score: 1

      And no technology can fix a bad coder who makes more than the minimum number of request calls.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    3. Re:AJAX by Anonymous Coward · · Score: 0

      I wouldn't attribute the slowness to the use of AJAX directly but more to multiple frameworks layered on top of each other and often all in the head section so their loading stops the page rendering in it's tracks while they load. All in all just some poor design choices.

    4. Re:AJAX by Archangel+Michael · · Score: 3, Insightful

      Conversely, some of the fast websites use basic TEXT and skimp on the graphics.

      I do websites for non-profits and I one of my rules in doing a website is NO UNNECESSARY graphics. Graphics that add pretties but don't add anything else are not allowed. I also run all the graphics through a size filter to limit unneeded pixel count and quality. You don't need 25MB photo on the front page; a scaled and reduced quality is a better choice.

      My way of saying this is, "I don't need to see the pimples on the porn stars butt". Sometimes too much detail is too much.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    5. Re:AJAX by Anonymous Coward · · Score: 0

      The bottleneck in most cases is DOM access. A lot of pages these days walk the DOM tree (which isn't small for those complex sites) doing some wacky stuff.

    6. Re:AJAX by commodore64_love · · Score: 1

      >>>Conversely, some of the fast websites use basic TEXT and skimp on the graphics.

      I concur. On my 50kbit/s dialup connection the sites that load fastest are the ones that resemble old 90s-era sites - just plain text and images. The slow ones are those sites that have to preload some javascript, flash, or other executable before they can display anything. Staring at a blank screen for 2 minutes is annoying.

      >>>NO UNNECESSARY graphics. Graphics that add pretties but don't add anything else are not allowed.

      Well I disagree with you on this. First off, 25 megabyte??? I don't think I've ever seen a GIF or JPEG take-up that much room. You exaggerate.

      Second, images aren't really a big deal on fast connections because they zip right through, and on slow connections virtually all dialup ISPs provide compression. So a 100 kilobyte photo would be squeezed to about 20 kilobyte before being sent over the phoneline... a mere 3 seconds.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    7. Re:AJAX by jminne · · Score: 1

      I would hope that the user experience is improved with the additional AJAX. Balancing speed with functionality is an art.

    8. Re:AJAX by iknowcss · · Score: 3, Insightful

      You're right, but it's not the AJAX that is the cause. It's the incompetent "web developers" who think AJAX is going to solve all of their problems by getting them a better job and making them worth more. These are the same people who firmly believe that Ruby on Rails is the only way to create an AJAX application and not-so-coincidentally couldn't code their way out of a paper bag. I should know. I went to high school with them :)

      --
      Life is rarely fair. Cherish the moments when there is a right answer.
    9. Re:AJAX by Anonymous Coward · · Score: 0

      Be sensible, do not use Ajax... the majority of your users will not complain about that.

      Another way to improve the performance of a web site is to use tiny URL (so users don't have to upload a big amount of bytes...)

      p.s. to the hell with web 2.0.

    10. Re:AJAX by Archangel+Michael · · Score: 1

      Check this out ... http://web.forret.com/tools/megapixel.asp?width=3464&height=3464

      okay, so it isn't 25, it is 18MB (RAW). I would consider 7MB PNG to be overkill as well. Scale down, crop, and you can easily get it under 250k or even smaller.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    11. Re:AJAX by Chabo · · Score: 2, Interesting

      Conversely, some of the fast websites use basic TEXT and skimp on the graphics.

      As I said in another thread the other day: Whether or not you like his writing, I think Maddox hit the peak of usable web design: dark background, with large-font bright text. It's the easiest webpage on the internet to read, and despite having some graphics, it loads very quickly because he uses the graphics as actual content, not just filler.

      --
      Convert FLACs to a portable format with FlacSquisher
    12. Re:AJAX by Anonymous Coward · · Score: 0

      Before I click on that link... is that the proverbial image of "the pimple on the porn stars butt"?

    13. Re:AJAX by Ant+P. · · Score: 1

      The way most sites implement it, all AJAX does is offload the server's page-rendering load onto the user's CPU, because the developers are too lazy to write efficient server-side code.

      There was a comment on that story a while back about the MJ death news slowing the entire web down, pointing out that Twitter crashed because some abysmally low number of requests per second overloaded it.

      Cars won't end the world through an energy crisis, Web 2.0 developers will.

    14. Re:AJAX by wowbagger · · Score: 1

      You're right, but it's not the AJAX that is the cause. It's the incompetent "web developers" who think AJAX is going to solve all of their problems....

      Almost, but I would also lay the blame on the "when all you have is a hammer, all the world's a nail" developers who insist upon putting EVERYTHING into a database, because "that's how you make websites DUH LOL KTHXBYE". So every image, every bit of text, every CSS file, all require accessing a database, rather than a simple pull of a file.

      Sure, you can have a database table that maps images to URLs, so that the code that IS accessing the database to build the page can find what URL to embed, and you can change which image to use by altering the database table, but the ACTUAL IMAGE FETCH should be nothing more than pulling a file from the web server's file system. Nice, simple, and it allows the web server to correctly handle IF-MODIFIED-SINCE and Expires.

      And I have to wonder if having the database execute a command on modification, to build simple static HTML which can then be served out ad infinitum to the world until the next time the database changes wouldn't also help speed things up.

      After all, things like that work for Slashdot - why NOT look into them for other sites and use them where appropriate?

    15. Re:AJAX by sjaskow · · Score: 1

      It's not an image all, it's a calculator to tell you how big a picture you're going to get depending on type and size, etc.

    16. Re:AJAX by Anonymous Coward · · Score: 0

      on slow connections virtually all dialup ISPs provide compression. So a 100 kilobyte photo would be squeezed to about 20 kilobyte before being sent over the phoneline...

      Please explain how to compress a JPEG (or other compressed image) to 20% of it's compressed size ...

    17. Re:AJAX by Anonymous Coward · · Score: 0

      I have a handful of NEF and TIFF files between 15mb and 28mb (all at around 3800x2500 pixels) from a photoshoot on my desktop... some ~35mb JPEG at 2848x4256 pixels from another photoshoot.

      I'm guessing you don't do any high-end photography?

      In reality these get edited, scaled down to under 900 pixels wide and reduced to 150kb JPEG for the "high-res" versions on the website.

    18. Re:AJAX by WillKemp · · Score: 1

      Second, images aren't really a big deal on fast connections because they zip right through,

      That's not really true. Every image requires a separate http connection - which takes time to set up - and it has to be rendered and flowed, which takes time to do (depending on browser and processor speed etc).

      and on slow connections virtually all dialup ISPs provide compression. So a 100 kilobyte photo would be squeezed to about 20 kilobyte before being sent over the phoneline... a mere 3 seconds.

      Not even close. Photos are usually jpegs and therefore they're already compressed. Generally if you compress a file that's already compressed, it gets bigger.

    19. Re:AJAX by Anonymous Coward · · Score: 0

      The way most sites implement it, all AJAX does is offload the server's page-rendering load onto the user's CPU, because the developers are too lazy to write efficient server-side code.

      Yes, that's the main reason for using AJAX in the first place. Apart from that, you don't necessarily gain anything, since all the bits and pieces loading separately into the page add to the HTTP overhead.

    20. Re:AJAX by Freetardo+Jones · · Score: 1

      You reencode the picture with lower quality settings.

    21. Re:AJAX by Freetardo+Jones · · Score: 1

      Generally if you compress a file that's already compressed, it gets bigger.

      Then you're doing it wrong. To compress a JPEG to a lower size you would decrease the quality setting in whatever editing program you are using and reencode the picture. It's really not that hard.

    22. Re:AJAX by Anonymous Coward · · Score: 0

      Too bad he only updates once a year, otherwise it actually might be worth it to do more than an annual check for the single update that MIGHT be there.

    23. Re:AJAX by WillKemp · · Score: 1

      That's not what i'm talking about. Nor what the GP was referring to. I'm talking about, for example, gzipping a jpeg file.

    24. Re:AJAX by Amouth · · Score: 1

      i'm glad i'm not the only person that looked at XML and sat there scratching my head.. wondering why we need a solution to a non existing problem

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    25. Re:AJAX by Anonymous Coward · · Score: 0

      You reencode the picture with lower quality settings.

      Well, that's a nice ISP re-encoding with lower quality settings ...

      Well, no, they usually don't re-encode images, they just compress, which, as my following poster WillKemp pointed out, would usually increase the file size of compressed images.

    26. Re:AJAX by Chabo · · Score: 1

      He only really slowed down once he got a book deal, and started devoting his time to writing for pay. You can't really blame him; most college students who contribute to open-source projects find they have much less time and drive to do so after they get hired.

      --
      Convert FLACs to a portable format with FlacSquisher
    27. Re:AJAX by Freetardo+Jones · · Score: 1

      But that wasn't what commodore64_love was talking about. By recompressing the image he does mean that they recompress the image to a lower quality before sending it to the user.

    28. Re:AJAX by Freetardo+Jones · · Score: 1

      Well, no, they usually don't re-encode images, they just compress, which, as my following poster WillKemp pointed out, would usually increase the file size of compressed images.

      Well you and WillKemp are both wrong. Because by "recompress" he wasn't talking about gzipping it or anything like that. He was talking about them recompressing the JPEG image with lower quality settings. Just so you know, reencoding a JPEG file is "recompressing" it.

    29. Re:AJAX by WillKemp · · Score: 1

      virtually all dialup ISPs provide compression. So a 100 kilobyte photo would be squeezed to about 20 kilobyte before being sent over the phoneline

    30. Re:AJAX by techno-vampire · · Score: 1
      My way of saying this is, "I don't need to see the pimples on the porn stars butt".

      You might not, and I certainly don't, but I have a friend who's interests are exceptionally "backal" who'd probably appreciate that type of detail. Ugol's Law implies that there are at least a few people out there looking for that in their pr0n. Have you considered an alternate page that caters to them?

      --
      Good, inexpensive web hosting
    31. Re:AJAX by Freetardo+Jones · · Score: 1

      Yes, I read what he's talking about and I've seen the compression he refers to in action. The ISP will re-render the images to a lower quality they aren't gzipping them.

    32. Re:AJAX by LesFerg · · Score: 1

      I guess I haven't spent enough time learning to implement AJAX yet, but the first issue I have encountered is, you poke off your server request to do something clever on your page, but the user is still sitting there clicking on shit and trying to get on with using your page. The few instances where an AJAX callback seemed to be useful, the page really needed to be frozen to make the user wait for it to complete anyway. This must just mean that the pages should be designed differently (unfortunately I don't get to design them, I just build them to the spec) but AJAX will never bring a fat-client forms-based solution to the browser.

      --
      If I had a DeLorean... I would probably only drive it from time to time.
    33. Re:AJAX by MichaelSmith · · Score: 1

      So a 100 kilobyte photo would be squeezed to about 20 kilobyte before being sent over the phoneline... a mere 3 seconds

      Come again on that? You want to compress a compressed image by a factor of five?

    34. Re:AJAX by MichaelSmith · · Score: 1

      So compression means two things now? Damn kids. I could compress my family photos by taking them again with a crap old camera.

    35. Re:AJAX by coolgeek · · Score: 1

      No way man, websites designed like that have a persistence of vision effect that makes it extremely difficult to read any of the other windows on my computer for like 30 seconds. Poorest choice in web design. Now, I am all for using bigger fonts. Too many people are in denial about their need for glasses, so small fonts == lost customers.

      --

      cat /dev/null >sig
    36. Re:AJAX by coolgeek · · Score: 1

      Did I read what you said correctly? You're doing form input validation via AJAX? If so, you most certainly are correct in your initial assertion that you haven't been doing this very long.

      --

      cat /dev/null >sig
    37. Re:AJAX by coolgeek · · Score: 1

      Oh, that's not what AJAX is for at all, though many morons may use it that way. endlesspage is a great example of what AJAX can be used for, allowing a faster page load/render time by delivering a screenful at first, then getting the additional pieces as the user scrolls. Or displaying information in response to user input, that is not needed for every page load. That is what it is for.

      Template rendering via AJAX in the client is pure foolishness. If you have coded your backend properly, your app only generates a given page once (until it is updated, of course), keeps a copy on disk, and points the web server to the copy when it asks. Of course, you front-end it with a caching proxy so your app doesn't get asked much, and load the box up with gobs of RAM so the file system buffers everything the proxy is looking up, but I digress. My point is: Why would you want every user to pay for template processing time for every page view, on their likely inferior CPU, when you can get the page rendered faster for them by doing it just the once in the backend, and just pipe some gzipped HTML to them?

      --

      cat /dev/null >sig
    38. Re:AJAX by drwho · · Score: 1

      I agree.. For many years I had a very fast web site because everything was done in text. Now there's some graphics, but it still loads pretty fast. The problem is, there's all these new inventions, loading content that is not static, but computed, from a wide number of sites, each with several DNS lookups (multiple dns lookups slow down site view immensely). Too many web designers are paid by the hour, and tell their clients that they need to look 'modern' with whatever gadgets and eye candy is out there. Macromedia Flash is the best example of this. Any web site which is primarily informational should be easy to view on a P2-500 with 128mb of ram and a 192k net connection, or less. It's time the Internet went on a diet.

      You kids don't know what it was like, accessing the Internet, when it was called the Arpanet, at 300 baud with 48k of ram and no web. We had other ways of organizing data these days, and we liked it, because we looked like wizards to the rest of the muggles. Best of all, no ads!

    39. Re:AJAX by WillKemp · · Score: 1

      Maybe. But it's not very common (not anywhere i've ever used dialup, anyway) and it produces ugly results.

      V.42bis on-the-fly compression, which is handled by the modem, is considerably more common - and that recompresses image files, making the files bigger.

    40. Re:AJAX by commodore64_love · · Score: 1

      >>>>>on slow connections virtually all dialup ISPs provide compression. So a 100 kilobyte photo would be squeezed to about 20 kilobyte before being sent over the phoneline... a mere 3 seconds.

      >>Not even close. Photos are usually jpegs and therefore they're already compressed.

      Bzzz. They are compressed, but they can still be compressed further. The ISP opens the JPEG or GIF image, resets the quality from 90 to 10* and then sends it over the phoneline. That's how an image can be compressed from 100KB to 20KB, and help to speedup your phoneline connection.

      *
      *On my Netscape ISP the actual quality setting is set by me, the user.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    41. Re:AJAX by commodore64_love · · Score: 1

      >>>So compression means two things now? Damn kids

      Yes. There's lossless compression where you take a text or executable file and squash it with ARC or ZIP. And then there's lossy compression where you take a photo and store it as a JPEG, or music and store it as MP2 or MP3. It's been that way for about twenty years now.... grandpa. ;-)

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    42. Re:AJAX by commodore64_love · · Score: 1

      >>>[image compression is] not very common and it produces ugly results.

      ???. AOL has it. Netzero has it. Juno has it. Erols had it. Netscape has it. And you're right it produces ugly results, but if you're on dialup you're more-interested in speed than pretty pictures. Plus there's always the option to load the original image if, for example, you're viewing playboy.com. You don't have to use image compression.

      >>>V.42bis on-the-fly compression, which is handled by the modem, is considerably more common - and that recompresses image files, making the files bigger.
      >>>

      No it doesn't. V.42bis turns "off" when it encounters images, ZIPs, or other noncompressible files. That's why ISP-side compression is advantageous because it can open, recompress, and send a much smaller image, text, or flash file than V.42bis is capable of doing.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    43. Re:AJAX by commodore64_love · · Score: 1

      Maddox says black text on a white background is like "Staring into a lightbulb". I never thought of it like that, but he makes a good point. Whe was the last time you saw a TV show display pure white background with black text on it?

      Virtually never. The television world has learned the "friendliest" screen is a dark background (black, blue) with light-colored white test superimposed over it. Well computers use the same CRT or LCD technology as televisions. It makes sense to me they should follow the same lessons learned.

      My own website is normal-sized text, but like Maddox it's white text with black background. Just like a TV presentation would be. I think that's easier on the eyes.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    44. Re:AJAX by WillKemp · · Score: 1

      ???. AOL has it. Netzero has it. Juno has it. Erols had it. Netscape has it.

      None of those operate in any of the countries i've used dialup in.

      And you're right it produces ugly results, but if you're on dialup you're more-interested in speed than pretty pictures.

      I sincerely hope i never have to use dialup again (last time was the year before last in a remote part of Australia), but if i do, i'll stick to just turning off images in my browser. That's even faster.

    45. Re:AJAX by commodore64_love · · Score: 1

      >>>>>To compress a JPEG to a lower size you would decrease the quality setting in whatever editing program you are using and reencode the picture.

      >>That's not what i'm talking about. Nor what [commodore64_love] was referring to

      Yes Will I was referring to that (adjusting the quality setting). You made the mistake of thinking the word "compression" meant lossless compression, but when my ISP squeezes a 100KB image to a 20KB image, they are using *lossy* compression.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    46. Re:AJAX by WillKemp · · Score: 1

      You made the mistake of thinking the word "compression" meant lossless compression

      Not at all. But i did think you were talking about something other than what you really were talking about.

    47. Re:AJAX by Chabo · · Score: 1

      And technically, Maddox's site uses mostly grey text, so you don't get the persistence of vision effect that coolgeek refers to.

      --
      Convert FLACs to a portable format with FlacSquisher
    48. Re:AJAX by Anonymous Coward · · Score: 0

      Oh, that's not what AJAX is for at all, though many morons may use it that way.

      Well, I kind of meant that's the main reason why many morons use AJAX in the first place ...

      My point is: Why would you want every user to pay for template processing time for every page view, on their likely inferior CPU, when you can get the page rendered faster for them by doing it just the once in the backend, and just pipe some gzipped HTML to them?

      Well, to save money on the server side. But, in my opinion, most use it because it is so fucking web2.0ly.

      That said, I completely agree with everything in your comment.

    49. Re:AJAX by Anonymous Coward · · Score: 0

      He was talking about them recompressing the JPEG image with lower quality settings.

      My apologies. I didn't know that some of the ISPs actually do re-encode images.

    50. Re:AJAX by Freetardo+Jones · · Score: 1

      That's fine. Most web proxies (like Opera's) and dialup services like AOL's will re-render images to lower quality in order to compress the web pages down before sending them out to the user which is what commodore64_love was talking about.

    51. Re:AJAX by coolgeek · · Score: 1

      I agree with what you're saying too. And people will make the choice to use an anemic host to serve their websites. However, I think scrimping on the server and offloading processing (read: increasing latency) to your users is a false economy. Not to mention, the loss of presentation to search spiders.

      --

      cat /dev/null >sig
  4. Congratulations Slashdot! by Anonymous Coward · · Score: 0

    You fixed most of your bugs.

    I think you might be ready to move from Beta to Release Candidate.

  5. So what are they saying to Slashdot with this... by Anonymous Coward · · Score: 3, Insightful

    See slashdot, slow loading pages == bad.

    I hope this book helps you.

  6. Slow sites lose me by WiiVault · · Score: 4, Interesting

    I used to go to VGChartz all the time until a few months ago they "updated" their site with seeming dozens of constant flash ads, talking, moving, popping up on the forums, ect. It got to the point where my Core2Duo desktop was litterally pausing for 5 seconds everytime I navigated to a new page. Pretty quickly I realized that the content on the site wasn't worth my time. I see this happening more and more. Sure I could have used adblock but frankly they were asking for a price (getting attacked by ads) and I chose not to pay it (leaving the site). I was glad to see a few ads, but abuse is a sure sign you have little respect for your readers.

    1. Re:Slow sites lose me by Josejx · · Score: 1

      I'm in this boat too, except my machine is an old G4 laptop. I don't visit VGChartz anymore and I've cut way back on my slashdot reading because the site locks up Firefox (3.5.1 on PowerPC) for long enough that I get those "Script is taking too long to complete" errors. Noscript helps and is probably the only reason why I still come to slashdot. :(

    2. Re:Slow sites lose me by WiiVault · · Score: 1

      Yeah I've got a G4 iBook (1.2ghz) that required me to force-quit Safari about ever 5-6 page loads. Painfully unusable.

    3. Re:Slow sites lose me by Inda · · Score: 1

      This site below lost me way back. Click the link, wait 15 seconds. Yes, 15 seconds on a 50mbit connection. I wouldn't have waited that long on 56k.

      One of my cores is running at 100%. 100% on a frigging webpage. I play 3D games on this 2-year-old laptop without maxing the CPU.

      Scroll up and down and watch the page tear. Yes, tearing on a 2D webpage. What are they thinking?

      The funny thing is though, the RSS feed has nice pictures, and full article text. They fail on so many levels.

      http://www.tottenhamhotspur.com

      COYS

      --
      This post contains benzene, nitrosamines, formaldehyde and hydrogen cyanide.
  7. The first thing to do... by tcopeland · · Score: 5, Informative

    ...when your site is slow is to fire up YSlow and see what it says. Sometimes all you have to do is enable mod_expires in Apache to get a huge performance increase and a much lighter server load.

    If YSlow doesn't flag anything, then you've got to start digging. But at least you've eliminated some of the easy fixes.

    1. Re:The first thing to do... by Cow+Jones · · Score: 1

      You probably already know this, but since it wasn't mentioned in the review: YSlow was also written by Steve Souders (the author of Even Faster Web Sites).

      --

      Ah, arrogance and stupidity, all in the same package. How efficient of you. -- Londo Mollari
    2. Re:The first thing to do... by tcopeland · · Score: 1

      > YSlow was also written by Steve Souders (the author of Even Faster Web Sites)

      Ha, that's awesome, I did not know that! Very cool, thanks for the info!

  8. Running up the down escalator by intx13 · · Score: 4, Interesting
    In my opinion, tuning a Javascript laden website for speed is an exercise in futility. The Web's great difference is user-extensibility; practically anyone can throw together some HTML and make a website. It may be a MySpace page, but hey, it's something, and it contributes to the culture of the Internet. Speed, however, is not a feature of the HTML/Javascript/CSS world.

    Were I to be developing a new AJAX-driven Web application I would focus first on simplicity. I feel that if you have so much AJAX stuff going on that you need to resort to crazy tricks you have already lost. Take the following, quoted from the review:

    In the subsequent chapter, "Flushing the Document Early," Steve explores the approach of utilizing chunked encoding in order to begin rendering the Web page before its full contents have been downloaded to the browser.

    While good advice, something like this should be implemented as a natural part of the specification, or not at all. This rings to me as an attempt to manhandle HTML/Javascript/CSS into a use case for which it is not intended.

    I want to see a real protocol for webpages - something between Postscript (except less document-oriented; and yes I know about NeXT's work) and a windowing environment (except more constrained). Then, to preserve the ease of user-input, a simple HTML/XML-like layer. For 99% of the sites that are constructed directly by the user, original HTML with italics, colors, fonts, etc. is sufficient. For projects beyond the scope of Joe Facebook, a true system is needed that allows seperation of design and content. But all attempts thus far to do both, frankly, suck.

    1. Re:Running up the down escalator by godrik · · Score: 1

      I completely agree with you, those technologies were not thought to be used like that. Thus, some effects are not directly possible and need serious hacking to be reached. HTML/Javascript/CSS are definitively not the right tool for what we are doing with it. The problem is that there is no tool/technology/language to replace it; and I can't see one coming.

      I am taking here the risk to be modded troll. I do not believe in so called "web applications". If you need an application, just right a classical application that connects to remote servers. We do not lack portable tool today. python is present on most (all?) operating systems. You can easily do the GUI using portable libraries QT or GTK are available on most OS as well. You can still even use java or .net (recall mono is standard in debian now, I believe there is a similar thing for mac os x).

    2. Re:Running up the down escalator by commodore64_love · · Score: 4, Interesting

      >>>>>begin rendering the Web page before its full contents have been downloaded to the browser.

      >>This rings to me as an attempt to manhandle HTML/Javascript/CSS into a use case for which it is not intended.

      I disagree. Today's websites don't do it, but in the simpler 1990s era of pure HTML, the website DID render before completing download. The browser was expected to grab the HTML first, render the page with "X" placeholders, and then download the images last. That way the user could read the website even with the image only partially present.

      So yes prerendering the webpage before download was completed *was* the original intent of the web. It is only lately that webpages have shifted away from that, and I for one would like to see them restore it.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    3. Re:Running up the down escalator by Civil_Disobedient · · Score: 1

      While good advice, something like this should be implemented as a natural part of the specification, or not at all. This rings to me as an attempt to manhandle HTML/Javascript/CSS into a use case for which it is not intended.

      HTML already does chunked loading. This is one of the big reasons you shouldn't use tables for layout. Since most tables are set to use auto layout, the browser has to wait for the table content before it can start rendering.

    4. Re:Running up the down escalator by Chrono11901 · · Score: 1

      Except for web applications theirs no need to working about patching clients, or weird hardware issues.

      Is there a minor bug in foo.js? it will take less then a day to fix,test and push out the fix.
      Got a bug in your local app... well on out next patch release in 3 to 5 weeks it will be fix.

      Hardware/os issue causing your app to crash? good thing we piss away money on lots of tech support to solve strange isolated issues or common dependency issues. For a web app if it runs in IE,FF, and safari we're set, at worst we will get some miss aligned element.

    5. Re:Running up the down escalator by godrik · · Score: 1

      if you have weird hardware issues,you are using a low level programming language which is clearly not required for the type of apps that are web based nowaday.

      you can push a new version of the code at startup time. Since the software requires a server connexion, it is easy to send a new code/binary/resources/whatever at this time.

    6. Re:Running up the down escalator by improfane · · Score: 1

      I find web applications desperately primitive: they're no better than our time with terminals.

      The client does barely any work. The work it does is trivial over-computation such as DOM trees and inernal representations. It would be so much more efficient if the GUI was sent in an efficient format to begin with. I never understood why people write web applications to dump repeating HTML with only small changes and force the client to re-parse it. (Unless browsers are smarter than I take them to be)

      I like the sound of: http://www.geocities.com/tablizer/scgui.htm

      --
      Slashdot needs Geekcode | Can anyone recommend any good SCIFI? My tastes: Foundation, Startide Rising, CITY, Ringworld,
    7. Re:Running up the down escalator by Waccoon · · Score: 1

      Wait, no... reducing responsiveness is a feature. People go through a lot of trouble to prevent the infamous Flash of Unstyled Content.

    8. Re:Running up the down escalator by NickFitz · · Score: 1

      The chunked transfer encoding referred to in the book is not the same as progressive browser rendering, which is what you are referring to. Nor is either one dependent on the other.

      --
      Using HTML in email is like putting sound effects on your phone calls. Just say <strong>no</strong>.
    9. Re:Running up the down escalator by godrik · · Score: 1

      I believe we need things more like this. However, making them fully cross platform may be difficult. I usally use X11 redirection or mounting a remote filesystem locally to do what people do with "web applications".

    10. Re:Running up the down escalator by Anonymous Coward · · Score: 0

      I want to see a real protocol for webpages - something between Postscript (except less document-oriented; and yes I know about NeXT's work) and a windowing environment (except more constrained). Then, to preserve the ease of user-input, a simple HTML/XML-like layer. For 99% of the sites that are constructed directly by the user, original HTML with italics, colors, fonts, etc. is sufficient. For projects beyond the scope of Joe Facebook, a true system is needed that allows seperation of design and content. But all attempts thus far to do both, frankly, suck.

      Love the passion! Sounds like you're perfectly suited to help nail down a quality and workable solution, so with which organization are you volunteering to lead this effort?

  9. "Preview Post" lag by electrosoccertux · · Score: 4, Interesting

    The only part that bothers me is the "Preview Post" lag lasting for 20-35 seconds. I love everything else about the navigation on the site, though.

    1. Re:"Preview Post" lag by Ant+P. · · Score: 3, Informative

      That's the part where it port scans your computer to see if you're running an open proxy. Apparently everyone's considered untrustworthy regardless of current karma or account age.

    2. Re:"Preview Post" lag by Anonymous Coward · · Score: 0

      You're kidding, right? A port scan for every comment? How much extra traffic would be generated across the net pipelines if every site (every blog, etc) did this?

    3. Re:"Preview Post" lag by improfane · · Score: 1

      Wow, is that why? That's an intelligent security system.

      --
      Slashdot needs Geekcode | Can anyone recommend any good SCIFI? My tastes: Foundation, Startide Rising, CITY, Ringworld,
    4. Re:"Preview Post" lag by zuperduperman · · Score: 1

      I don't know how you can love it. Slashdot is one of the most awful web sites around. I come back for the community and the comments but really, especially for a community of highly opinionated geeks it's just pathetic.

      For example, this very post page I am writing in fails to render correctly in Chrome, one of the most standards compliant browsers you can get. A simple thing, the "Reply to This" button with padding that overflows so it looks crap.

      Apparently there is some whiz bang ajax interface for expanding and collapsing comments - except I don't see it in Chrome, IE or the new version of FireFox (I did see it in FF3.0). I assume they are doing some kind of user agent sniffing and are so hopeless they only manage to support a single version of one browser in the whole universe ... or something like that.

      If someone working for me wrote code as bad as Slashdot, I'd fire them. Compared to modern sites like Reddit it's a disaster.

    5. Re:"Preview Post" lag by kayditty · · Score: 0

      yeah, he's kidding, or he's incredibly retarded. slashdot does check for open proxies, but they use norma DNSBLs like every other sane human being would.

  10. Wait a second... by damn_registrars · · Score: 2, Insightful
    At first I thought this would help the slashdot coders, until I read more closely:

    Slow Web page loading can discourage visitors to a site more than any other problem, regardless of how attractive or feature-rich the given site might be

    Attractive and feature-rich are not adjectives that are appropriate to apply to slashdot it its current form. Hence I don't think this book is the cure to what ails them.

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
  11. great idea by Anonymous Coward · · Score: 0

    how about people quit using flash and other technologies that cause the page to take forever to load and go back to plain html and images with a little css thrown in

    1. Re:great idea by Anonymous Coward · · Score: 0

      how about people quit talking shit for once - like it or not animation and multimedia content is a part of the web.

      if the wankers who put css in their sites weren't so wrapped in their shitty little creations then they'd realize how sluggish they are.

      to be honest, if you haven't the brains to learn Flash then you should stay away from making websites anyway.

      good luck

  12. Or how about... by castironpigeon · · Score: 5, Insightful

    Most websites don't need to be ridiculously complicated to be effective. Go ahead and call me a luddite, but does everyone need comments on their website? Fancy sliding menus? Pop-up image galleries? Flash or other web programming up the wazoo?

    When did simple, efficient web design that presents content well and doesn't get in the way of it get tossed out the window?

    --
    mmmm...forbidden donut
    1. Re:Or how about... by godrik · · Score: 1

      I completely agree with you. I am often browsing website on low powered device and sometimes with low bandwidth and it is so slow...

      And there are website that can not be browsed if you do display images which you really don't want to do when you have a low bandwidth

      webmasters, just strip the shit out of your pages !

    2. Re:Or how about... by thedonger · · Score: 3, Funny

      Most web sites do not need to be as ridiculously complicated to look so complicated. The web is relatively young, and AJAXification even younger. Give it time and common sense will prevail.

      The semantic web, HTML5, and CSS3 will eventually usher in an era of peace and tranquility. Music will be free. Passwords will no longer be necessary. Web sites will design themselves to look different to everyone (like the alien in Contact looking like Jodie Foster's dad, or the talking taco pooping ice cream in South Park), appearing in a form with which the user feels most comfortable. Accessibility and affordance[wikipedia] will be implicit. Fluid design will exist in four dimensions, and tables will only be used for tabular data. JavaScript will be so unobtrusive it may never load, but that will be OK because all web sites will be semantic and thus 100% accessible and functional without it. And Noscript will no longer be needed on the browser because it will be installed at the ISP level...

      Whoops. Sorry. I dozed off there but I kept typing while I was dreaming...

      --
      Help fight poverty: Punch a poor person.
    3. Re:Or how about... by Anonymous Coward · · Score: 0

      ... but trust me on the sunscreen.

    4. Re:Or how about... by ViciousJello · · Score: 1

      Any web technology needs to be used as efficiently as possible to solve the needs of the visitors.

      "Simple, efficient web design" does not necessarily mean web design devoid of Javascript libraries or rich graphics and media. Even Faster Websites is written with the intent to help developers with those sites that benefit from large Javascript libraries, large amounts of images, etc.

      I offer this page as an example of a large Javascript library enhancing the performance of a site: http://insigniaproducts.com/products/televisions/NS-P501Q-10A.html

      I worked on the team that developed this site.

      All the data contained in the tabs on this page is loaded immediately on the page, and JS hides all but the essential information. It's a win for accessibility, because all of the information is visible when JS is disabled. It's also a win for server performance, as there are no additional HTTP requests needed.

      --
      There was a SIGNATURE here, but it's gone now.
  13. "Faster response times using AJAX" by Anonymous Coward · · Score: 5, Funny

    I read this guy's other book, "Clearer thought using vodka". Great read. Can't remember much of it.

  14. K.I.S.S. by Tablizer · · Score: 4, Insightful

    The fastest websites I see generally use plain-jane HTML and pre-sized graphics (via size attributes on IMG tag). AJAX, CSS, and too much JavaScript seem to cause confusing UI behavior, unexpected pausing while something fancy is doing GC, or jerky scroll motion that can be perceived as sluggishness, especially on older hardware.

    1. Re:K.I.S.S. by Grishnakh · · Score: 1

      I also wonder how much sluggishness is caused by putting everything in a database. I tried implementing a simple shopping-cart system for my website a while ago, where I have a very small handful of products I sell using Paypal buttons currently, and tried using some typical open-source packages like OScommerce. All of them make very heavy use of MySQL for every little thing: configuration settings, the actual content on each page, even images! This really seemed like overkill to me, and wasn't exactly fast, so I started work on my own shopping-cart code, though I got waylaid with other projects and had to put it aside for a while.

      My current site is just simple HTML with small images, and loads extremely quickly.

    2. Re:K.I.S.S. by Tablizer · · Score: 1

      Hopefully the database is providing something of value, such as quick configuration, content, or style changes. While speed is a good thing, it's not the only concern. It may also be that the servers are overloaded. It may be cheaper to split or beef-up the database servers than to rewrite all the code.

  15. Ads, ads and more ads? by Anonymous Coward · · Score: 0

    I'm on a slower computer at work - as such I have plenty of time to watch the status bar in the browser. I would claim that the best way to speed up a site is to reduce or remove the "fancy" (read that as "annoying as hell") ads.

    Approximately 80% of my loading time is spent waiting for Google's server to respond with ads, Yahoo's, and whoever else does those terrible javascript/flash ads. Yes yes, I could use adblock, but sadly my browser cannot install addons.

    I know people already mentioned VGCharts, but another site that is very terrible is TomsHardware. I used to be an avid reader, but now it takes me almost a minute to load the entire page - I haven't been back in months.

    1. Re:Ads, ads and more ads? by Anonymous Coward · · Score: 0

      I agree. But also, just leave out the googaws and give us content instead. It doesn't attract my attention more because it moves, sparkles, or makes unwanted sounds. I also give up on a site whose opening page has nothing more than the loading of some awesome flash app when all I want is to find a fact. These sites are often content-free anyway.

  16. It may not be a technical problem by Anonymous Coward · · Score: 3, Insightful

    I've seen a lot of good sites "re-designed" into oblivion. I think it's mostly a social problem.

    1. The "we're artistes" mentality. Unless your site is explicitly an art site (which it usually isn't), people will just want information from your site. You could do most of that with static HTML and a few simple images.

    2. The "we're losing eyeballs, we need to do something" problem. The site design is an easy target; but it may not be your site design. Maybe your content is just boring. Competition moved in. You were participating in a fad. The honeymoon is over. The public tastes change. You can't control those things, but you can control your site design so that's what you do. It's like pushing the walk button at an intersection when somebody else has already pushed it.

    3. Now, this is the one I really hate to say; but here goes... "You can't figure out how to let people go". The project is done. You need a few maintenance coders, the most experienced people. OK, maybe there's some justification for keeping staff around for new projects; but I bet often there isn't. If you're directly involved with the developers, you don't want to do this. The risk is that you'll spark brain-drain and cause the people you really need to leave. It's far less risky for you to keep everybody, even the grunts. Better yet, you can go up to the next level of management and tell them that site redesign is needed. That makes you the hero instead of the villain. The next level up from you is probably not going to figure out that you are just trying to keep your department busy. Perhaps this problem could be solved by making it clear right from the start that there will be a permanent staff and some contract workers. Instead, I bet there are a lot of companies where the web developers figured out how to justify their existance--to the detrement of the site, and the company.

    4. Cool new technology. 'nuff said.

    5. People just aren't that bright. They dynamicly generate javascript via a scripting language with a framework on top of it. Just to put "Hello World" on a page. Look at me! I'm a web developer.

  17. Google's response by peater · · Score: 1

    I suspect he overshot his 20% time while writing this, so the guys at Google decided to screw him over by posting this:

    Let's make the web faster

  18. See also "Anonymous Cowardon" by PontifexPrimus · · Score: 1

    I mean, how can you overlook something as glaring as a missing space? "Anonymous Cowardon" indeed!
    What I miss most is some kind of feedback corner - ok, sometimes the admins invite comments on new stuff, but those threads vanish too rapidly from the front page. Why not include a simple new slashbox named "Feedback" where people could notify the editors and administrators of things that bug them? This might also be an easy way to improve the site by pointing out common problems (spelling errors in submissions could be caught faster and more reliably than by posting in the respective threads, where notices would be modded as "off-topic" or even "troll" when the error was corrected, for instance).

    --
    -- Language is a virus from outer space.
    1. Re:See also "Anonymous Cowardon" by improfane · · Score: 1

      I've noticed this when I use classic mode and low bandwidth and small screen mode.

      It doesn't happen in other modes. IMHO think it's a spacing issue in my web browser. Try a different browser and see if you still see 'Anonymous cowardon'

      --
      Slashdot needs Geekcode | Can anyone recommend any good SCIFI? My tastes: Foundation, Startide Rising, CITY, Ringworld,
  19. Why is Google held in such high regard? by pongo000 · · Score: 1

    Google Mail is, hands down, *the* slowest webapp that I deal with. I'm not talking about the copout "basic HTML" option. I run any number of browsers (FF, Opera, Safari), and *all* take tens of seconds to load and interact with Google Mail. I dream about sharp needles in the eye as I wait for Google Mail to do its...magic.

    So the author of this book is a "web performance expert" who is now employed by Google. Instead of writing books, maybe said author should figure out what's wrong with the Google Mail interface?

    1. Re:Why is Google held in such high regard? by Anonymous Coward · · Score: 0

      My gmail is quite snappy most of the time - nothing like many seconds waiting for updates, but more like 1-2 seconds. Maybe your connection has issues? Or how many emails do you have in your account? Seems to me I have seen mention of that as a speed factor. I have about 1,700 FWIW (after 4 years or so with gmail).

      However, I do seem to see a lot of delays when selecting a link in a Google search, where I see the status bar showing it is waiting for Google, not the target site, so I am guessing the Google referrer is the bottleneck? Whole new area for SEO I guess...

      RO

  20. This page takes six seconds to load. by Animats · · Score: 1

    This page takes six seconds to load. "data.coremetrics.com" is slow today. "c.fsdn" is slow, too. "doubleclick.com" only wasted about a second.

    Maybe someone at Slashdot should read the book.

  21. As he says, most sites need more simple advice by greenreaper · · Score: 2, Informative

    The average webmaster doesn't need this book; they need tools like Page Speed that highlight very simple issues that webmasters can fix, usually without any code changes. And they need clear instructions on how to do it, and why it will benefit their users. I recently ran a project to cut the fluff on large furry websites. Most failed to even gzip their HTML, CSS or JS, or were resizing images into thumbnails. It's not hard, people just don't think to do it, or don't know how.

  22. Example by Anonymous Coward · · Score: 0

    > dark background, with large-font bright text. It's the easiest webpage on the internet to read, and despite having some graphics, it loads very quickly because he uses the graphics as actual content, not just filler.

    Example: http://www.riverofinnocents.com/wp/

  23. Efficient code? by dontmakemethink · · Score: 2, Insightful

    Someone advocating more efficient coding of websites should surely take less than 12 paragraphs to do so!

    --

    War as we knew it was obsolete
    Nothing could beat complete denial
    - Emily Haines
  24. It's not your own content by roc97007 · · Score: 4, Insightful

    In my experience (having 20/5 Mbit fibre to the house) is that it's almost never the website's local content that loads slow, it's the damned ads. Let me say that again so that we're clear -- I'm sitting there waiting not for the content I was seeking to load, but for the ads that I don't want to load. I know there's work-arounds for this -- I use some of them and they do help. But Fred and Ethyl Nongeek is not going to know about ad suppression. To them the 'net is "just slow" and they don't know why.

    Making your local content lightning fast isn't going to help if your customers are waiting for unwanted content from some other website. And (grrrr....) this includes CAPTCHA! Sometimes it takes almost a half minute for the captcha image to come up, long after the rest of the login page has loaded.

    The worst example, and a sign of things to come, was when Google Ads went down awhile back and took a bunch of websites down with it, including (as I remember) Slashdot. If your page included google ads, it just wouldn't load. I don't think AJAX is going to help with that. Feel free to disagree, but be specific.

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
    1. Re:It's not your own content by PMBjornerud · · Score: 1

      The worst example, and a sign of things to come, was when Google Ads went down awhile back and took a bunch of websites down with it, including (as I remember) Slashdot. If your page included google ads, it just wouldn't load. I don't think AJAX is going to help with that. Feel free to disagree, but be specific.

      Well, it's kind of obvious: Ads should support loading through AJAX.

      "We'll take your site down with us" is not a great selling point.

      --
      I lost my sig.
    2. Re:It's not your own content by roc97007 · · Score: 1

      But do you think they would do that (support AJAX)? In their view, if they're down and you're up, you are displaying your webpage without their ads. That's clearly unacceptable, from their viewpoint.

      --
      Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  25. Slow websites ... by SlashDev · · Score: 2, Insightful

    ... are slow mostly due to advertising. That being said, slow websites can also be due to: - Limited bandwidth where the site is hosted - Slow disk subsystem - Bandwidth throttling due to a large number of users

    --

    TOP DSLR Cameras Reviews of the top DSLRs
  26. Lousy Hosting = Biggest Problem by WebmasterNeal · · Score: 2, Interesting

    My personal website has been dying a slow death, not because of the fancy graphics I use on it but because I'm stuck on shared hosting with 100+ other websites (1and1). That alone can make the difference. To download 100K to 300K isn't a big deal now days.

    Also, for instance try tallying up all of Facebook's JS, CS + HTML files, and you'll discover the site clocks in over 1MB. Now consider how fast the pages on the site load (super fast) See the difference how your site is hosted can make?

    --
    "During My Service In The United States Congress, I Took The Initiative In Creating The Internet." -Al Gore
  27. What is a file system? by tepples · · Score: 1

    Sure, you can have a database table that maps images to URLs, so that the code that IS accessing the database to build the page can find what URL to embed, and you can change which image to use by altering the database table, but the ACTUAL IMAGE FETCH should be nothing more than pulling a file from the web server's file system. Nice, simple, and it allows the web server to correctly handle IF-MODIFIED-SINCE and Expires.

    What is a file system, other than a database that maps paths to blobs?

    1. Re:What is a file system? by wowbagger · · Score: 1

      That is a good philosophical question. First, I'd say that in raising that question, you in many ways validate my statement, because in many ways a file system IS a database - so the "put everything in a database" types are simply using the wrong sort of a data base.

      Using a relational database to store a "path to blob" mapping vs. using a file system is a question of the overhead of the actual mapping: locating a file in a directory structure vs. doing the SQL pattern matching. Due to the issues of concurrency and locking, the SQL check is frequently more expensive, especially when you have to do an out-of-process operation (passing the message from the web server over to the database program) vs. an in-process file system lookup. Add to that the cost of moving a large amount of data (the blob itself) from the database process to the web server process to the kernel TCP stack vs. being able to do a simple send_file() operation on the inode from the web server process, and the conventional database vs. a file system becomes the difference between being Slashdotted vs. surviving.

      And THAT is the real problem: rather than using a very cheap sort of database (a file system) they use an expensive data base, for no real advantage: they aren't saying "give me all items that match this pattern" but rather "give me THE SINGLE ITEM that matches this pattern, where it is guaranteed that there will be zero or one match, not a multiplicity of matches", they aren't saying "give me all items that match THIS pattern AND THAT pattern", etc.

      Now, if we were to see the adoption of means to use relational database operations to find inodes (as an alternative to a simple tree structure like directories), where the web server could do a data base lookup without any context switches, get an inode, then use normal operations (like send_file() ) on that inode, then that would make a great deal of sense.

  28. No privileges to install an application by tepples · · Score: 1

    I do not believe in so called "web applications". If you need an application, just right a classical application that connects to remote servers.

    Assuming "right" means "write": Your audience includes people who use a computer that they do not own and people who use lockout-chipped platforms such as Wii and iPhone. These people generally do not have the privilege to install such "a classical application".

    We do not lack portable tool today. python is present on most (all?) operating systems.

    Python does not come with Microsoft Windows, and non-administrators are not permitted to install a Python interpreter.

    You can still even use java or .net

    A Java program that does not require installation is called an applet, and web apps prior to widespread use of AJAX were often written as Java applets.

    1. Re:No privileges to install an application by godrik · · Score: 1

      Assuming "right" means "write"

      Sure, I was tired.

      Your audience includes people who use a computer that they do not own and people who use lockout-chipped platforms such as Wii and iPhone.

      I didn't though about it. Without trolling I would say that if you can not install application on a machine, then the machine is useless. So I don't use them (so I didn't though about this point).

      Python does not come with Microsoft Windows, and non-administrators are not permitted to install a Python interpreter.

      Well, you can bundle it and install it under the user's account. I know most people does not agree with me, but restriction local programmation installation is useless. It no longer provides extra security once all your applications run inside the webbrowser...

      A Java program that does not require installation is called an applet, and web apps prior to widespread use of AJAX were often written as Java applets.

      And they were better for most use. Java applet earn bad reputation mostly due to the incompatibility in different java version and the slugishness of such apps. The former is a minor problem since it should be easy to bundle the JRE with the browser or to download it from background. The latter was mainly due to poor compilers and crappy AWT API.

      Once again I'd like to recall that those solutions probably are not perfect. My main point is that we are using an engine that render static pages through a dedicated presentation languages (html/css) and we try to make it a cross platform general processing/rendering tool. It is wrong, it is not what it was designed for. What you need is a abstraction of the platform such as a virtual machine or a fully cross platform programming language.

    2. Re:No privileges to install an application by tepples · · Score: 1

      Without trolling I would say that if you can not install application on a machine, then the machine is useless. So I don't use them (so I didn't though about this point).

      So you'd call WebTV and the major video game consoles useless, and you'd prefer PCs. But are there any devices that 1. can use an SDTV as a monitor, 2. come ready to run (i.e. not assembled from parts from newegg), and 3. are not useless? Major label PCs fail 1, home-built PCs fail 2, and game consoles fail 3.

      Well, you can bundle it and install it under the user's account.

      Not if /home is mounted noexec, or equivalently if C:\Documents and Settings is covered by an active software restriction policy. You could get the corporate IT department to install it for you... a couple months after you request it.

      [Restricting software installation] no longer provides extra security once all your applications run inside the webbrowser...

      JavaScript and Java implementations provide a sandbox intended to prevent scripts and applets from interacting with the file system.

    3. Re:No privileges to install an application by godrik · · Score: 1

      Without trolling I would say that if you can not install application on a machine, then the machine is useless. So I don't use them (so I didn't though about this point).

      So you'd call WebTV and the major video game consoles useless, and you'd prefer PCs. But are there any devices that 1. can use an SDTV as a monitor, 2. come ready to run (i.e. not assembled from parts from newegg), and 3. are not useless? Major label PCs fail 1, home-built PCs fail 2, and game consoles fail 3.

      I can install applications on the hardware I own would it be a wii (and yes, homebrew channel/bootmii is legal even if nintendo does not like it), my mobile phone or my eeebox. Call me a free software freak but if i can not control my hardware, I do not buy the product.

      Well, you can bundle it and install it under the user's account.

      Not if /home is mounted noexec, or equivalently if C:\Documents and Settings is covered by an active software restriction policy [microsoft.com]. You could get the corporate IT department to install it for you... a couple months after you request it.

      I do not buy this one. The point in those 'security' measure is to prevent an employee from use external applications. Web applications are basically a workaround to avoid such policy. But you probably should not use them anyway according to the company computer usage policy. Oh, I do not buy the 'you can not download viruses' either since most of the time they do not reach the file systems and are run from memory.

      [Restricting software installation] no longer provides extra security once all your applications run inside the webbrowser...

      JavaScript and Java implementations provide a sandbox intended to prevent scripts and applets from interacting with the file system.

      That was my point with virtual machines. But the JS engine needs to access the browser stored information such as cookies or history. And need access to the file system since you can send files over the network using web based applications.

    4. Re:No privileges to install an application by tepples · · Score: 1

      I can install applications on the hardware I own would it be a wii (and yes, homebrew channel/bootmii is legal even if nintendo does not like it)

      Who would fund development of non-code components of, say, a Free video game?

      The point in those 'security' measure is to prevent an employee from use external applications. Web applications are basically a workaround to avoid such policy. But you probably should not use them anyway according to the company computer usage policy.

      It's a process issue. The IT department can approve a web application in one day but takes a month to approve an application that executes locally. It also doesn't need to approve web applications for the PC in the break room but declines locally executing applications for that PC.

      But the JS engine needs to access the browser stored information such as cookies or history.

      The JS engine enforces a same origin policy on scripts.

      And need access to the file system since you can send files over the network using web based applications.

      Only if the end user clicks "Browse..." and "Upload" in an HTML form.

    5. Re:No privileges to install an application by godrik · · Score: 1

      I can install applications on the hardware I own would it be a wii (and yes, homebrew channel/bootmii is legal even if nintendo does not like it)

      Who would fund development of non-code components of, say, a Free video game?

      It is not the point. The point was interoperability. If I can run any code I want, I will probably be able to run an abstraction layer to run this not-a-web-application on my wii.

      By the way there are nice games or application on the wii. Allmost all classical free games run, from the classical doom or quake (very fun played with a wiimote/nunchuk), scumvm, open tyrian. I haven't tried battle for wesnoth, supertux or tremulous. Globulation should be difficult to play with a wiimote. But step mania is definitely great. I believe I also am going to port magicor.

      And need access to the file system since you can send files over the network using web based applications.

      Only if the end user clicks "Browse..." and "Upload" in an HTML form.

      I am no web developper, but I believe javascript can generate clicks on a page, can't it ?

    6. Re:No privileges to install an application by tepples · · Score: 1

      If I can run any code I want, I will probably be able to run an abstraction layer to run this not-a-web-application on my wii.

      But how will people who develop not-web-applications to run in this abstraction layer feed themselves? Right now, there are four channels for getting applications onto Wii: 1. web applications through Internet Channel, 2. discs published by a large publisher, 3. WiiWare apps published by a large publisher, and 4. homebrew. Most of the audience who might want to run your non-web-application isn't aware of homebrew, and Nintendo could close Bannerbomb in Wii Menu 4.2.

      By the way there are nice games or application on the wii.

      I would address these, but that would get even more Offtopic than I already am. Do you wish to continue to discuss this line of questioning in my journal?

      I am no web developper, but I believe javascript can generate clicks on a page, can't it ?

      Sure, a script can submit a form, but it can't populate the value of an <input type="file"> with a file name because value is a read-only property (source). So a script trying to circumvent the sandbox would still have to wait for the user to click Browse... and do something in the file chooser.

    7. Re:No privileges to install an application by godrik · · Score: 1

      Nintendo could close Bannerbomb in Wii Menu 4.2.

      As far as I understood for the team twizer blog, bootmii can not be easily removed once installed. Of course not having bannerbomb to install it first would make things more difficult.

      I would address these, but that would get even more Offtopic than I already am. Do you wish to continue to discuss this line of questioning in my journal?

      yeah, why not. We are clearly off-topic. :)

      I am no web developper, but I believe javascript can generate clicks on a page, can't it ?

      Sure, a script can submit a form, [...] chooser.

      I didn't knew that. Thanks for the information. :)

  29. IE's subset of CSS doesn't like grids by tepples · · Score: 1

    This is one of the big reasons you shouldn't use tables for layout. Since most tables are set to use auto layout, the browser has to wait for the table content before it can start rendering.

    But what's the widely compatible alternative? Some document layouts fit better into a grid model than a flow model. CSS supports grid layout (display: table, table-row, and table-cell), but the subset of CSS implemented in widely deployed versions of Windows Internet Explorer doesn't.

    1. Re:IE's subset of CSS doesn't like grids by Civil_Disobedient · · Score: 1

      But what's the widely compatible alternative?

      There isn't.

      Well, that's not entirely true. You can use a handful of nested DIVs and another handful of CSS hacks to play nice with IE and get something very close to what used to work out-of-the-box with tables.

      But wait, it gets worse! If you make the mistake of adding a valid DOCTYPE to your HTML, you can't even use tables for layouts (at least, not 100% height/width layouts).

      HTML is a giant, festering boil of suck. You can't even just blame Microsoft; Mozilla has its own stupidities (-moz-css-properties, anyone?), and the W3C has its head stuck so far up its sanctimonious thou-shalt-not-use-layout ass that it will probably be another decade before it's all sorted out.

    2. Re:IE's subset of CSS doesn't like grids by commodore64_love · · Score: 1

      When I use images, I make sure to provide the size parameters so the browser can display the page even if the images are still downloading.

      Can't you do something similar with tables, such that the table can be displayed even if the content hasn't downloaded yet?

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    3. Re:IE's subset of CSS doesn't like grids by Civil_Disobedient · · Score: 1

      Not with table-layout: auto (which is the default behavior). If you use table-layout: fixed it will dramatically reduce the render time, but you will have to specify the column widths (using the little-known COLGROUP tag).

      One thing you can do to improve rendering speeds on auto-layout tables is to follow the W3C's spec and declare your footer before the body (so... THEAD, TFOOT, TBODY).

  30. Re:Or how about... Flash? by Anonymous Coward · · Score: 0

    Be glad if you do not support Oracle products. They have been pushing a "new, improved" support site to replace their "classic" MetaLink, which has been fairly straightforward HTML based from what I can tell. The new support site, cutely named "My Oracle Support" (MOS - trying to make it sound "personal" I guess), is PURE Flash-based, not just the occasional Flash pop-up or frame on the side of a page - the whole flaming site is one big, crawling Flash pop-up!
    --
    The complaints on the various Oracle fora have been quite explicit about all the negatives of that "design" choice starting with Oracle admins working for organizations that do not permit the installation of Flash on PC's for hyper-paranoid security, on down to the more prosaic issues of the bandwidth and CPU hits for someone working remotely on a major database problem trying to search the support knowledgebase, or open a Service Request (SR, formerly known as a TAR).
    --
    But Oracle's shills... err spokes-persons keep spouting a party line about how this enhances the support experience and is the result of "listening to our customers", and lay on the bafflegab about how their new SOA security model cannot work with the old HTML-based site, yada-yada ad nauseum.
    --
    It will be very interesting to see what happens with Oracle online support when Classic MetaLink is shut off at the end of July as has been announced. Some protesters threaten to make all their support requests over the phone, which Oracle likely is not geared up for. I can make do with the MOS POS, but am not liking the memory and CPU hits on my work PC when I get a session going.
    --
    To prepare, I have invested time and effort in making sure I can download the multi-megabyte patchsets and other big updates (how about a 1.8 GIGA-byte upgrade "pathchset" I got a while ago?) via the Linux command line directly on an internal RHEL staging server we use specifically to obtain vendor patches and other files to distribute internally. Oracle made some lame claim that there is a BETA (not supported mind you), Flash 10 plug-in (they require a minimum of Flash 9.something for MOS) for the Firefox that comes with RHEL 4.x 64-bit that we use on the staging server. Only problem is that it requires a newer version of glibc to run, and getting changes like that done on a corp server is difficult to say the least - all that regression testing, bureaucratic support rigamarole, etc. Never mind, I got wget working once I got the corp proxy setup info, and how to extract the multi-100 character download URL from the Oracle download page, etc. Put it all into a nice little script that prompts for all the info, and makes sure not to leave any security openings like the .wgetrc lying around (anyone using the box gets root access, and we have to give our corp SSO password for the proxy access).
    --
    When I am working from home, as I do a lot, I am not about to tie up my bandwidth (typical ISP restriction of 384 Kbps upload speed vs the 7 or 8 Mbps download speed, so, yeah, I can download the mulit-MB files fast enough, but then the upload kills the rest of my online work comms via the VPN for email, instant messaging, terminal sessions, etc). A lot of tech support people share that scenario, but how many would put up with depending on such a pig of a website for critical support? I wonder if Solaris admins face that in the future as that gets integrated into Oracle's "Collective", and how they will react to it ...
    --
    This so much fun ... NOT.
    __
    RO

  31. Google Talk: Speed Up Your JavaScript by buchner.johannes · · Score: 1
    --
    NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
  32. Look, there goes the point... by Anonymous Coward · · Score: 0
    After having read all of the up-modded comments, I am surprised that nobody commented on the quality of the book review itself (I know, I shouldn't, but it's Wednesday and I feel like believing in something impossible today, like /. posters will stay on-topic).

    Is there a particular reason why the typos in the book are the most commonly commented upon feature of the review? With the exception of the names of the authors and some general bitching about a few of the figures that the reviewer didn't like, I have no idea if this book is something I want to look at or not. Is it too much to ask to have reviews that actually discuss the point of the book as opposed to the things that the editorial staff missed?

    Well, it's almost Thursday. Time to put away that child-like innocence for another week and get back to thinking that the world could really use a good plague about now.

  33. FUSE by tepples · · Score: 1

    Due to the issues of concurrency and locking

    File systems have synchronization bottlenecks too: not just within your application and among applications that access your database but among all applications on a system.

    the SQL check is frequently more expensive, especially when you have to do an out-of-process operation (passing the message from the web server over to the database program) vs. an in-process file system lookup.

    In a user-space file system, a file system lookup isn't necessarily in-process.

    Add to that the cost of moving a large amount of data (the blob itself) from the database process to the web server process to the kernel TCP stack vs. being able to do a simple send_file() operation on the inode from the web server process

    In other words: "The file system is faster because it supports send_file()." That's a good point.

    rather than using a very cheap sort of database (a file system) they use an expensive data base, for no real advantage

    In some case, the expensive database's advantage is that it efficiently stores blobs smaller than 2 KB, while file systems without the uncommon "tail packing" feature use fixed-length records called "clusters".

  34. Nintendo. Wheee. by tepples · · Score: 1

    We can continue the discussion in my journal now.