• Morbii (unregistered)

    lol!

  • Bob the Web Builder (unregistered)

    So unbelievably brillant!  Why didn't I think of that?

  • Helmut (unregistered)

    Very clever!     

  • Nathan (unregistered)

    The real WTF(c) is that there is no XML in their AJAX.

    Otherwise, this is way cool, I think I will start doing it this way!

  • Frequency (unregistered) in reply to Morbii

        That's not Web 2.0, that's Web Enterprise

  • (cs) in reply to Nathan

    XML? The real WTF is that there's a fused circuit in my brain somewhere; halfway through reading that I should have blown something and just shut down to prevent the damage I now have :(

  • JS (unregistered)

    That's really stupid. They could have just made a small server-side script called redirect.php or whatever, with the redirect URL as a query parameter. The script would just log the hit and then 302 to the URL. But I guess that's lame because it doesn't use extraneous javascript and XmlRequests, break tabs, or affect accessibility!

  • mcguire (unregistered)

    Cool!  Then you only have to check the database logs to do the tracking!

  • mcguire (unregistered) in reply to JS
    Anonymous:
    They could have just made a small server-side script called redirect.php or whatever, with the redirect URL as a query parameter. The script would just log the hit and then 302 to the URL.


    If you did that, the user wouldn't hardly have any time at all to appreciate the animation and user interface genius-osity.
  • ian (unregistered) in reply to mcguire

    Plus, that would allow all those pesky non-javascript users to follow links!  We need to put a stop to those obnoxious malcontents.

  • (cs) in reply to mcguire
    Anonymous:
    Anonymous:
    They could have just made a small server-side script called redirect.php or whatever, with the redirect URL as a query parameter. The script would just log the hit and then 302 to the URL.


    If you did that, the user wouldn't hardly have any time at all to appreciate the animation and user interface genius-osity.


    Plus, it would work with Javascript disabled, which is so Web 0.9.
  • jart (unregistered)

    Does "please wait" have a rotating object like a globe next to it?

  • R. Tyler Ballance (unregistered)

    The submitter who thinks this is such a WTF has never seen ASP.NET generated code. BLECH!

     javascript__doPostBack('ctl00$ContentPlaceHolder1$UsersGridView$ctl02$LinkButton1','')

  • (cs)

    With so many points of failure, users are testing the funtionality of your entire site every time they click a link.  It's brillant.

  • IRRePRESSible (unregistered)

    Its almost insane but there is a thin line between sanity and genius.

  • Willie (unregistered)

    Wow, they implemented the browser inside the browser! Its like writing a compiler in the language your compiling, except not.

  • (cs)

    <FONT size=5>Now that is Web-(<FONT color=#d3d3d3>ec</FONT>)centric !!</FONT>

  • AnonyMouse (unregistered)

    Sounds like a conversation like the following took place

     

    Boss:  I keep reading about this web 2.0. I want to keep on the cutting edge of thnigs. Lets get our website upgraded by Thursday ok?

    Developer: Well, I'm not to sure that it's nessesary to change everything, besides its going to take months to redesign the entire website.

    Boss: Months!!!11!!1 To do an upgrade? I upgraded my version of AOL in less than an hour. That's not going to be acceptable. I'll give you untill Friday.

     

    and thus this WTF was born.

  • (cs)

    thinking: RASH DESCISION!!!! USE SHINY NEW WEB 2.0 GIDGETS!!!! HURRY, BEFORE VERSION 2.1 COMES OUT!!!

    • putting down newspaper.
    • leaving bathroom stall.
    • going back to office.
    • retrieving shotgun from wall opposite the "moose" head.
    • walking down to pet store.
    • blow away first cute (insert your favorite animal here, I choose puppy) I see.

    Darn, now I feel bad.  I forgot to wipe before leaving the stall! [6]

    [I] thinking again: I don't think I like the stink of this "Web 2.0" thingie.  I think I'll wait for World-War III, uhhh, I mean "Web 3.0" before making any further "rash" decisions.

    -- sorry for the "extremism".  I've been feeling a bit "agile" lately.

     

  • Colin (unregistered)

    Umm, if their website is 2.0 (thus the need for such fancy hit logging) then why do they set window.location?  The only time I do a window.location is to refresh the entire page, but that's rare.  This method, by way of the explanation, would refresh the entire page on each click which would basically negate the purpose of having a web 2.0 site which would mean you can go back to ye olde ways of log analyzing.

    Which means the only web 2.0 stuff here is the fancy logging, so the logger exists because of itself.  There's some messed up paradox in here somewhere...

  • RageingNonsense (unregistered)

    It's a shame when people take a great tool and use it to the point of....of....something really dumb.

    It's like trying to build a house with nothing but a sledgehammer. Great tool. Fun tool. But it's not going to get anything done properly.

    I use ajax technology for a number of things, but only when the situation merits it's use, and causes little to no browser breaking. So far, I've found the best use of it as a replacement for jump menus. By far, that made my life alot easier when creating jump menus. I've also used it to update tiny bits of dynamic content on a page. But never, EVER, have I used it in such an assinine way as these guys have.

    I agree with the above statement that a simple redirect.php would have done a much better job in a fraction of the time. Why they decided to go this route leads me to belive that they stumbled on a tutorial and were just creaming in their pants waiting for an excuse to try it out, and unfortunatly, picked the worst possible use.

  • (cs)
    Alex Papadimoulis:
    • retrieves the URL from the Hyperlinks table, then ...
    • returns it to the client script, which then ...
    • sets the window.location property to the URL retrieved, which causes ...
    • the user to be redirected to the appropriate page

    The question is - would it be better or worse if the server instead fed the page contents back in the response to the XMLHttpRequest, and the client-side JavaScript then replaced the contents of the page with the contents of the new page? I reckon that'd probably be a lot more WTF-worthy, to be honest...

  • (cs)

    Could we get a link to this site? I have to see this magic in action!

  • Pyromancer (unregistered) in reply to makomk

    I'd love to see what whould happen if their database gets messed up

  • (cs)

    You know, there may actually be a reason why they implemented links via a redirect.  I'm not saying that they way they did it was ideal -- Javascript return trip to client only to do a redirect?

    Microsoft uses numeric links all the time -- ever see those go.microsoft.com/?linkid= stuff?  That way, if the URL changes, they can easily update the database and reduce 404 errors.  At least there though, it's a "regular" redirect instead of javascript stuff. 

    --Oren

  • (cs)
    Alex Papadimoulis:

    When the user clicks on the hyperlink, the followLink() Javascript function is executed and the following occur:

    • a translucent layer (DIV) is placed over the entire page, causing it to appear "grayed out", and ...
    • a "please wait" layer is placed on top of that, with an animated pendulum swinging back and forth, then ...
    • the XmlHttpRequest object is used to call the "GetHyperlink" web service which, in turn ...
    • opens a connection to the database server to ...
    • log the request in the RequestedHyperlinks table and ...
    • retrieves the URL from the Hyperlinks table, then ...
    • returns it to the client script, which then ...
    • sets the window.location property to the URL retrieved, which causes ...
    • the user to be redirected to the appropriate page

    Now that's two-point-ohey.



    My head a splode.
    Was the designer named Rube Goldberg?
  • (cs) in reply to RyanD
    RyanD:
    Could we get a link to this site? I have to see this magic in action!


    I hate to say it but: www.netflix.com

    (Try adding a movie to your queue) 
  • Scott Stroz (unregistered) in reply to Frequency
    Anonymous:
        That's not Web 2.0, that's Web Enterprise


    Its Web Enterprise 2.0!
  • lol (unregistered) in reply to makomk

    That is a brilliant idea, friend.

  • (cs) in reply to mkb

    mkb:
    RyanD:
    Could we get a link to this site? I have to see this magic in action!


    I hate to say it but: www.netflix.com

    (Try adding a movie to your queue) 

    That's somewhat different, I'd say.

    With the Netflix example, you're essentially putting in an order, which is going to necessitate a trip to the database. In the WTF, every last clicky of linky will require a db lookup, even for pages with no dynamic content on them whatsoever.

    Netflix's div is merely annoying, not WTFy.

  • Monday (unregistered)

    Ok so the list of things wrong is:

    (a. Javascript alert on secure browsers
    (b. Bad for search engine ranking
    (c. No destination URL for 508c
    (d. Popup
    (e. No caching for you!
    (f. Animated GIF....why not just use a blink tag? It's just as effective and saves bandwidth.
    (g. ...
    (h. Ah to hell with it, I'll run out of letters. Well done though, this has job security written all over it.

  • (cs)

    I love it when people say something like "Man, that's really stupid. They should have ..." and then describe a less moronic way of doing it. We all know it's stupid! That's why it's here in the first place!

  • (cs) in reply to Fletch
    Fletch:
    I love it when people say something like "Man, that's really stupid. They should have ..." and then describe a less moronic way of doing it. We all know it's stupid! That's why it's here in the first place!


    true, but what else can we do all day with our time?

  • tdog (unregistered)

    Hey ditto heads,

    No WTF.  Don't see a problem. Yeah, there could be some minor issues here or there, but I doubt there would be much if at all.  Solution seems elegant and data driven enough to scale quite well.  I wonder how many of you actually write web applications.  As you  know, based on requirements, HTML applications can get rather trickey to implement in such a way that doesn't make them look like web applications.  Try again <FONT color=#555555>Papadimoulis.  </FONT>

    <FONT color=#555555>tdog</FONT>

  • (cs)

    The pendulum is a great touch.  But the real WTF is (tm) that they didn't use the jepoardy theme song for their "wait music".  And the pendulum should've been a video, not a graphic.

  • (cs)

    What's truly sad is that this is exactly what I think of when I hear "Web 2.0":  Clueless dimwits attempting to reinvent entire desktop and widget libraries in Javascript, the Language of Champions.

    This isn't the first time I've seen some moron attempt to accomplish the functionality of a modal dialog using Javascript.  A rather popular timekeeping system is from a company called Deltek, and ... well, it has to be seen to be believed.  Among its many offenses to the UI universe:  It presents fake "dialogs" (HTML-rendered title bar, close button, etc.).  And yes, you can drag them around within the browser.  Somewhere, someone is really proud of that.

  • doctor.jekyll (unregistered) in reply to mkb

    I hate to say it but: www.netflix.com

    I really wanted to check this out but it says my cookies are not enabled. I think it's just that the site does not work with Opera.

  • (cs) in reply to VGR
    VGR:
    What's truly sad is that this is exactly what I think of when I hear "Web 2.0":  Clueless dimwits attempting to reinvent entire desktop and widget libraries in Javascript, the Language of Champions.

    This isn't the first time I've seen some moron attempt to accomplish the functionality of a modal dialog using Javascript.  A rather popular timekeeping system is from a company called Deltek, and ... well, it has to be seen to be believed.  Among its many offenses to the UI universe:  It presents fake "dialogs" (HTML-rendered title bar, close button, etc.).  And yes, you can drag them around within the browser.  Somewhere, someone is really proud of that.

    Guess what the CommunityServer 2.0 software this site is planning to upgrade to uses for its "quick reply" function? Yes, a pseudo-dialog in the middle of the page. (It even dims and disables the rest of the page behind it whilst it's at it). To be honest, I prefer quick reply boxes that are inline with the page (LiveJournal's implementation is quite nice in particular).

  • (cs) in reply to tdog
    Anonymous:

    Hey ditto heads,

    No WTF.  Don't see a problem. Yeah, there could be some minor issues here or there, but I doubt there would be much if at all.  Solution seems elegant and data driven enough to scale quite well.  I wonder how many of you actually write web applications.  As you  know, based on requirements, HTML applications can get rather trickey to implement in such a way that doesn't make them look like web applications.  Try again <FONT color=#555555>Papadimoulis.  </FONT>

    Really.

    You think that an "elegant" solution to tracking user access is to abstract out all your links out of the text and require what's probably a pair of database hits every time someone clicks one? (Okay - perhaps they used a stored procedure. That's still one extra db operation for every page hit.)

    Just out of curiosity, what do the performance tests on your web applications look like?

  • Nifty Difty (unregistered) in reply to VGR
    VGR:
    What's truly sad is that this is exactly what I think of when I hear "Web 2.0":  Clueless dimwits attempting to reinvent entire desktop and widget libraries in Javascript, the Language of Champions.

    This isn't the first time I've seen some moron attempt to accomplish the functionality of a modal dialog using Javascript.  A rather popular timekeeping system is from a company called Deltek, and ... well, it has to be seen to be believed.  Among its many offenses to the UI universe:  It presents fake "dialogs" (HTML-rendered title bar, close button, etc.).  And yes, you can drag them around within the browser.  Somewhere, someone is really proud of that.


    I have to ask, what is wrong with that? Can you imagine the first person to show someone CGI back in the day? I'll bet people were saying "now why would you want to go and do something like that?'

    BTW. I hate javascript as well....
  • mol (unregistered) in reply to tdog
    Anonymous:

    Hey ditto heads,

    No WTF.  Don't see a problem. Yeah, there could be some minor issues here or there, but I doubt there would be much if at all.  Solution seems elegant and data driven enough to scale quite well.  I wonder how many of you actually write web applications.  As you  know, based on requirements, HTML applications can get rather trickey to implement in such a way that doesn't make them look like web applications.  Try again <font color="#555555">Papadimoulis.  </font>

    <font color="#555555">tdog</font>



    Yes the whole WTF about Web 2.0 is try to make web applications don't look like web applications. I mean, what's the point in doing this? Even the stupid users have no problems in using standard web applications. Web applications (with current technologies) will never behave like fat GUI clients so it will only confuse users. My conclusion: respect technology possibilities, use them for what they were created, but don't misuse them.
  • (cs) in reply to Monday

    A pendulum? Pfft. That's not even nearly two-point-ohey. The only true Web 2.0 "loading image" is the spinner they always use in Ruby on Rails examples ( http://lumpio.no-ip.com/b/spinner.gif )

    Anonymous:

    (f. Animated GIF....why not just use a blink tag? It's just as effective and saves bandwidth.



    Because it doesn't exist.
  • Nifty Difty (unregistered) in reply to mol
    Anonymous:


    Yes the whole WTF about Web 2.0 is try to make web applications don't look like web applications. I mean, what's the point in doing this? Even the stupid users have no problems in using standard web applications. Web applications (with current technologies) will never behave like fat GUI clients so it will only confuse users. My conclusion: respect technology possibilities, use them for what they were created, but don't misuse them.


    I think that is quite obvious that you don't "get" 2.0 (hate that term). It isn't to make web applications look more like fat clients, but to be more dynamic, like fat clients. So, you can immediate feed back (drag and drop, selections, sorting, etc etc etc). Those are very nice things to add to a site and make it feel more interactive. Sure, you can stick to the old way, but why? I mean, you could just use static HTML and nothing more as well, but why?

    Whether or not AJAX is the thing that moves the curve along (I don't think it is..people really hate Javascript...soemthing else will be the 'J', in my opinion), programming for the web is due for a change. Just embrace it and learn something new.
  • Mike (unregistered)

    Am I the only one who's first thought was: "I'd love to see how they handle form submission"?

  • (cs)

    I can actually see a use case for this (well, at least the numbered-link-database-lookup bit); the practice of using a redirect.php?url=http://othersite.com straight up is vulnerable in two ways:

    a) you can send someone a link to http://wtfsite.com/scriptz/redirect.php?url=http://evilsite.com/ and make it look like wtfsite.com is redirecting them to evilsite.com, possibly implying some sort of endorsement (particularly significant if wtfsite.com has a legitimate use for personal info or sensitive logins)

    b) aggressive ad-removing proxies (such as Privoxy) can parse the http://.../... out of the URL and do a "fast redirect" to it, bypassing the redirect.php component and your click counter

  • (cs)

    Awesome! Way to make 100% sure you drive away as many customers as possible by poorly reinventing stuff needlessly! Welcome to the web of the 21st Century people!

  • (cs) in reply to onovotny
    onovotny:

    Microsoft uses numeric links all the time -- ever see those go.microsoft.com/?linkid= stuff?  That way, if the URL changes, they can easily update the database and reduce 404 errors.  At least there though, it's a "regular" redirect instead of javascript stuff. 



    But... but...

    Just don't "change the URL"!

    That has to be my biggest pet peeve of all time-- changing URLs all the time.  The fact that nobody who makes CMS systems takes this into account really bugs me.  It's not hard.  There's no good reason that urls have to be /proprietarySystem/thingy.asp/54132huh/StringThatchangesEachVersioN/39124/wtf/XXXOH$@(*


  • (cs) in reply to reed
    reed:
    onovotny:

    Microsoft uses numeric links all the time -- ever see those go.microsoft.com/?linkid= stuff?  That way, if the URL changes, they can easily update the database and reduce 404 errors.  At least there though, it's a "regular" redirect instead of javascript stuff. 



    But... but...

    Just don't "change the URL"!

    That has to be my biggest pet peeve of all time-- changing URLs all the time.  The fact that nobody who makes CMS systems takes this into account really bugs me.  It's not hard.  There's no good reason that urls have to be /proprietarySystem/thingy.asp/54132huh/StringThatchangesEachVersioN/39124/wtf/XXXOH$@(*


    The problem is that links often live for a really long time. Think of all of the links that get compiled into an application and that the life of the application can be > 5 years.

    It would be very limiting if you were unable to restructure your site for fear of breaking someone's link. Having a link to a numeric id really does have some benefits.

    Many blogs do a similar thing -- they'll have a "permalink" to the entry's id. That way no matter how the application changes, links to the posts will continue to work.

    --Oren

  • (cs) in reply to Mike

    Surely they could have made the effort to include Regular Expressions in the solution somewhere.  Maybe next time.

    I can hardly wait 'till their users ask them for all the other features browsers have today.  Does this site handle "page back" correctly?  "Open link in new window"?  "Open link in new tab"?  <a HREF="/forums/66041/ShowPost.aspx">Bot</a> management?

  • (cs) in reply to Nifty Difty
    Anonymous:
    VGR:
    What's truly sad is that this is exactly what I think of when I hear "Web 2.0":  Clueless dimwits attempting to reinvent entire desktop and widget libraries in Javascript, the Language of Champions.

    This isn't the first time I've seen some moron attempt to accomplish the functionality of a modal dialog using Javascript.  A rather popular timekeeping system is from a company called Deltek, and ... well, it has to be seen to be believed.  Among its many offenses to the UI universe:  It presents fake "dialogs" (HTML-rendered title bar, close button, etc.).  And yes, you can drag them around within the browser.  Somewhere, someone is really proud of that.


    I have to ask, what is wrong with that? Can you imagine the first person to show someone CGI back in the day? I'll bet people were saying "now why would you want to go and do something like that?'

    BTW. I hate javascript as well....

    Same reason it's a bad idea to try to reimplement widgets in any language.  You'll have to learn all the hard lessons that the designers of previous widget libraries had to learn.

    Are you planning to support accessibility?  Can all of those whiz-bang Javascript-isms support keyboard navigation?  Not only do handicapped users need it, but it's well known in the UI world that no matter how good a designer thinks his app is, after using it a hundred times, most users will want to get through it faster and they'll want to use the keyboard.

    How about internationalization?  How many Javascript versions of widgets can handle a right-to-left locale?  I once had to use a ready-made Javascript pop-up calendar and I was dismayed to discover it could not even use an alternate date format, much less use localized day and month names.

    How about respecting the user's color and font choices on their system?  Users make those choices for a reason.  When they can read things better, they get their work done faster.

    These and many more issues are things that other widget libraries have already dealt with.  Some things took years to get right.  If you try to reinvent it all, you'll need years to get it right too.  In the meantime, you'll have a product that doesn't get things right and looks and acts shoddy as a result.  I know a lot of managers don't care, but shoddy software costs users time and costs their employers money.

Leave a comment on “Hyperlink 2.0”

Log In or post as a guest

Replying to comment #:

« Return to Article