Wtf about TheDailyWTF



  • First of all, great site. Unless you consider the fact that my productivity has plummeted since I discovered it. I can't read enough of this stuff.

    I do have a WTF about the forums tho.

    Seems all of the threads are arranged in descending order by last-post date. This makes for forums that rearrange themselves between visits. I can't tell where I left off and where to pick up because nothing is in order.

    It's all well and good if you want to order the threads like that, but could we get the option at least to re-sort by when the thread was created? then I can more efficiently catch up on the history of WTF!

    cheers.




  • I agree, the forum software is less than good. Perhaps we can talk Alex into moving to vBulliten? Maybe we can hold a fund-raiser drive so he doesn't have to buy it himself.... 



  • Threads with new posts are blue and threads you just visited become grey.

    That should be enough clue to browse casually. :)



  • That's the standard sort order for forums, pretty much all forum
    software does it that way. It makes it easy to see what threads have
    new posts since your last visit.



    You can change it if you want, just click on the "options" button at
    the bottom and one of the ways to sort it by original post date.


  • ♿ (Parody)

    New software coming soon ... I'm going to have quite a bit more freetime in May as my full-time gig is ending at the end of the month.

    You should like the new version. Looks promising: take a look at what comes out of the box:

    http://test.thedailywtf.com --> admin/admin

    Pls dont change the password or anythhing obnoxious like that -- its just a preview.



  • Making links works now (in Firefox) and there's a preview. That's an improvement, but it still seems a bit off compared to most other forum software I've used. It could be that I just don't like rich text edit boxes in web forms. Here's my short list of problems: my keyboard shortcuts for editing don't work, I can't center-click to paste, clicking below the last line of text doesn't move the cursor to the bottom, everything is VERY slow to render and the back button doesn't work right for returning from a preview.



  • @Goplat said:

    That's the standard sort order for forums, pretty much all forum
    software does it that way. It makes it easy to see what threads have
    new posts since your last visit.



    You can change it if you want, just click on the "options" button at
    the bottom and one of the ways to sort it by original post date.


    Thanks for the options pointer. I didn't even see that down there. I was looking in my profile options.

    In deference to "all forum software does it that way", let me quote that famous philosopher known a "Mom" and say "if all your friends jump off a bridge does that mean you have to do it too?" :P



  • That "colon P" was supposed to be a tongue smiley thing.

    And yes, I messed up and posted this into a new thread by accident...<sigh>


  • ♿ (Parody)

    I'm not a fan of the FreeTextBox editor that comes with this software and will definitely look into switching to the de facto standard of text editors (FckEditor) when making the upgrade.



  • @Alex Papadimoulis said:

    I'm not a fan of the FreeTextBox editor that comes with this software and will definitely look into switching to the de facto standard of text editors (FckEditor) when making the upgrade.



    Why can't you just use a normal html textarea with some buttons for bb
    tags at the top like 99% of other fourms? It's simple and works on all
    browsers, even ones without javascript since you can manually type the
    bbtags in by hand.



  • Re: wtf about TheDailyWTF That way you only have to test once instead of multiple times for all the different ways the fancy text editor degrades on different browsers.

    Here is the rest of my post that didn't get posted.

    That way you only have to test once instead of multiple times for all the different ways the fancy text editor degrades on different browsers.



  • @Alex Papadimoulis said:

    New software coming soon ... I'm going to have quite a bit more freetime in May as my full-time gig is ending at the end of the month.

    You should like the new version. Looks promising: take a look at what comes out of the box:

    http://test.thedailywtf.com --> admin/admin

    Pls dont change the password or anythhing obnoxious like that -- its just a preview.

    CommunityServer again?

    Are you a masochist?



  • @RiX0R said:

    CommunityServer again?

    Are you a masochist?


    He might be, but consider that he's making a site for lots of other people to use; I think it's more likely he's a sadist.


  • @Alex Papadimoulis said:

    I'm not a fan of the FreeTextBox editor that comes with this software and will definitely look into switching to the de facto standard of text editors (FckEditor) when making the upgrade.


    The standard for text editors is a textarea.  Maybe with a few formatting buttons that most people will completely ignore anyway. 

    Using shit like FckEditor makes me say things like "Fucking Editor!!!!" loudly and repeatedly.  The site doesn't need preview, it doesn't need rich text, all it needs is a simple interface that works.  Like every other forum on the 'net that doesn't use CommunityServer.  Oh, and it most certainly doesn't need fucking ajax.

    Please, Alex, just use something else.  CommunityServer is a complete clusterfuck of massive proportions.  If you need help converting stuff over, drop me a line.  I'll happily waste a couple of days unpaid to never have to ever see CommunityServer ever again.

    Oh, and the new version is slower than a very slow thing moving very slowly.  Even slower than the current version.  That may be due to bandwidth issues where it's hosted, of course.

    Simon


  • ♿ (Parody)

    On another site I maintain, I give users the option to use a TEXTAREA or the RTE. I prefer a RTE myself b/c I use Internet Explorer and it works great for me. So, maybe I'll give that option if its easy to add.

    I was strongly considering switching away from CS -- but the new direction they're going is really good. I've played around and seen the insides of 2.0 enough to know that these guys are going the right way. Yes, it was a complte clusterfuck, combining a number of different .NET web apps -- but it's much more consistant and cleaner now.

    New version runs from my basement (Cable broadband). If you accessed it around the same time you posted (~4AM EST), then I'm surprised it works at all. I have a backup job that's uploading ~6GB running from 2AM to about 8AM.



  • @makomk said:

    @Alex Papadimoulis said:

    New software coming soon ... I'm going to have quite a bit more freetime in May as my full-time gig is ending at the end of the month.

    You should like the new version. Looks promising: take a look at what comes out of the box:

    http://test.thedailywtf.com --> admin/admin

    Pls dont change the password or anythhing obnoxious like that -- its just a preview.

    I would, if the snazzy Javascript drop-down buttons actually worked in Konqueror (they change colour when clicked, but that's all). I tried digging through the JavaScript to figure out what's going on, but it's hideously verbose, convoluted, and generally confusing - all the identifier names are long and disorienting, it uses classes in some marginally interesting ways, and I'd rather not deal with the stub functions to delay until the actual code has loaded. The last isn't too bad an idea IMO, but the functions do stuff like doing some initialisation, then calling a function of the same name - now referring to a different function (and this looks as though it must be switched by code elsewhere in some cases) - which presumably does more stuff.

    Also, I'm still not sure what the Function class does, and this code is totally beyond me (not to mention probably a WTF):

    new Function('eval(\'window.ctl00_ctl01_bcr_ctl00___PostRepeater_ctl01_FavoritePopupMenu___Menu_ServerPopulatedPopupMenu.ContextMenuClosed()\')')

    On the plus side, I don't have to pretend to be using IE to stop the new forum mangling my posts...

    (Hmmm, interesting - it's not which browser it thinks you're using when it sends you the "add post" page, it's the one it thinks you're using when you submit it. Fun.)



  • @Alex Papadimoulis said:

    On another site I maintain, I give users the option to use a TEXTAREA or the RTE. I prefer a RTE myself b/c I use Internet Explorer and it works great for me. So, maybe I'll give that option if its easy to add.


    Well, respectfully, "I use IE and it works fine for me" is the reason why half the fucking net shopping sites don't work for me.  Or, if they do, I have to enable Javascript, flash, offsite images and a shitload of other crap to actually use them.  Accessibility is king.  I appreciate that you're putting up a site that nobody is forced to hit, at your own cost, and all that, and power to you for it, but please think about those who simply can't access the site or use it properly.

    Currently, Firefox is somewhere between 11% and 25% of the browser market, and by all accounts that number is growing as people start to realise that IE is a massive malware vector.  Head over to https://addons.mozilla.org/firefox/722/ and you'll find the second most popular extension for firefox, Noscript, which allows you to turn off javascript in a more flexible way than the browser itself allows you to do.   Over 6 million downloads, and nearly a hundred and fifty thousand downloads [b][/i]this week[/i][/b].  Now look at what category that extension falls into : "Web Annoyances".  Yes, Javascript is considered by an awful lot of people as an annoyance.

    As an example, your current demo site [b]won't let me log in[/b] without javascript enabled due to its fuck-awful javascript-reliant login form (with no fallback) that [i]does nothing to improve usability or security[/i].  A simple, standards-compliant form login that feeds to an https action would, and would improve security.  I mean, jeez.  It's not like this is rocket science.

    Need I mention that [i]just[/i] the login page html has 20 errors according to the w3c validator,  and the css errors / warnings are too many to enumerate?  Hell, it's not even validly formed xhtml according to its doctype.  It fails pretty much every accessibility test that applies to the tags used in the page, too.  An added bonus, I guess.

    I was strongly considering switching away from CS -- but the new direction they're going is really good. I've played around and seen the insides of 2.0 enough to know that these guys are going the right way.


    So, it's less accessible than the current version, generates broken xhtml for a trivial page, and somehow this is "going the right way"?  I couldn't care less about the internals; it's the interface that I see.

    Sorry if I'm coming across as snarky here, this is intended to be an attack on lousy web developers, not on you personally.  I do think you've been sold a pup, though.  Still, do what you think best.  It's your site, after all.

    New version runs from my basement (Cable broadband). If you accessed it around the same time you posted (~4AM EST), then I'm surprised it works at all. I have a backup job that's uploading ~6GB running from 2AM to about 8AM.

    Heh.  Figured it was on a lousy uplink.

    Simon



  • @tufty said:

    Head over to https://addons.mozilla.org/firefox/722/ and you'll find the second most popular extension for firefox, Noscript, which allows you to turn off javascript in a more flexible way than the browser itself allows you to do.   Over 6 million downloads, and nearly a hundred and fifty thousand downloads [b][/i]this week[/i][/b].  Now look at what category that extension falls into : "Web Annoyances".  Yes, Javascript is considered by an awful lot of people as an annoyance.

    I dunno, I quite like it. (Hint: go there in Firefox with JavaScript enabled - don't worry, it's perfectly safe. Doesn't happen in IE - I tried to add IE support, but it kept on crashing the browser so I gave up...)


  • ♿ (Parody)

    @makomk said:


    new Function('eval(\'window.ctl00_ctl01_bcr_ctl00___PostRepeater_ctl01_FavoritePopupMenu
    ___Menu_ServerPopulatedPopupMenu.ContextMenuClosed()\')')

    No, it's not pretty. It's generated from ASP.NET and I'm not sure (given the OO design) one could do much better. All in all, ASP.NET has made web development easier/cheaper for the masses, this is just a side effect I suppose.

    @tufty said:

    I have to enable Javascript, flash, offsite images and a shitload of other crap to actually use them.  Accessibility is king.

    I know web accessibility well -- it was a requirement for one of my clients to adhere to the highest level of standards (AAA for W3C I think) -- and it was a lot more expensive to develop. But when it comes down to it, catering to a small minority (those who require accessibility) is rarely, if ever, worth while. No, that's not fair, but it's reality.

    This is why we have to enact laws such as ADA to require that everyone has access. Until we have more disabled people browsing the web, or an ADA enacated for the web, the accessibility movement is going nowhere.


    @tufty said:

    Currently, Firefox is somewhere between 11% and 25% of the browser market, and by all accounts that number is growing as people start to realise that IE is a massive malware vector.

    Your stats are far off: it's a long way off before FireFox even claim 10% of the market. But no less, if I were to develop an Internet app, it has a big enough share that I would include FF in testing. Maybe Safari and Opera, but much less testing for those.

    FYI -- for TDWTF, 54% of users are on Firefox, 22% on IE, 5% on Opera, and 4% on Safari. Konqueror sits in the almost 1% camp. I'm shocked that Lynx commands 0.03% (68 visitors).

    @tufty said:

    Yes, Javascript is considered by an awful lot of people as an annoyance.

    Personally, I find the whole web thing to be annoying. Blogs and forums are at the top of the list of things that I can't stand. I'd take Fidonet and a workhorse printer anyday. But Blogs, JavaScript, Flash, DHTML, etc is where the majority is at. Turning off Javascript is just plain silly -- that'll put you in the really small minority and hardly anything will work for you. See above on "fairness" and "minorities."



  • @Alex Papadimoulis said:

    FYI -- for TDWTF, 54% of users are
    on Firefox, 22% on IE, 5% on Opera, and 4% on Safari. Konqueror sits in
    the almost 1% camp. I'm shocked that Lynx commands 0.03% (68 visitors).





    Ok, Alex, we all know by now that you're a big time Microsoft fan. Fine
    with me. But you just admitted being in the minority on your own forum.
    Shouldn't you cater a little more to the poor FF users who want... I
    don't know... post a link at least?



    As for ensuring accessibility, it might be difficult with ASP, which, if I understand correctly, generates
    HTML and Javascript based on the code you write, so you have no real
    control. I found it quite easy to write A and even AA accessible HTML
    by hand. Heck, the first and only online shopping application I've
    written by my own specs can be administered from Lynx - a completely
    unintended consequence of just following the standards and not relying
    on Javascript.



    Oh, and before you remind me how much PHP "sucks", let me remind you
    that customers never see your source code, only the interface. In fact,
    many people don't even see the address bar...



  • @Alex Papadimoulis said:

    @tufty said:
    I have to enable Javascript, flash, offsite images and a shitload of other crap to actually use them.  Accessibility is king.

    I know web accessibility well -- it was a requirement for one of my clients to adhere to the highest level of standards (AAA for W3C I think) -- and it was a lot more expensive to develop. But when it comes down to it, catering to a small minority (those who require accessibility) is rarely, if ever, worth while. No, that's not fair, but it's reality.

    No, I'm not talking about full-on accessibility.  I'm talking about basic accessibility for people who might want to browse and use your site.  You know, those 54% of hits using Firefox, the 4% Safari users, etc.  Full-on accessibility is relatively expensive to develop (I know, it's a large part of what I currently do for money), but simple standards-compliance is easy and cheap, and doesn't affect the usability of your site at all.

    @Alex Papadimoulis said:

    @tufty said:
    Currently, Firefox is somewhere between 11% and 25% of the browser market, and by all accounts that number is growing as people start to realise that IE is a massive malware vector.

    Your stats are far off: it's a long way off before FireFox even claim 10% of the market. But no less, if I were to develop an Internet app, it has a big enough share that I would include FF in testing. Maybe Safari and Opera, but much less testing for those.

    FYI -- for TDWTF, 54% of users are on Firefox, 22% on IE, 5% on Opera, and 4% on Safari. Konqueror sits in the almost 1% camp. I'm shocked that Lynx commands 0.03% (68 visitors).

    I was very careful in pulling those figures, I was looking at [i]non-techie[/i] sites, things like the stats for the EPA website (11% netscape / firefox), various hit counter websites (averaging 15-25%), etc.  For techie sites like sourceforge and W3schools etc the percentage of firefox users is at the lowest 25%.

    So no, my figures are not, I believe, way off whack, and I didn't just randomly pull the figures from my arse.  I spent quite some time carefully checking.  The growth of firefox is at least partially due to people like me who dislike having to do malware cleanups on other people's machines.

    @Alex Papadimoulis said:

    @tufty said:
    Yes, Javascript is considered by an awful lot of people as an annoyance.

    Personally, I find the whole web thing to be annoying. Blogs and forums are at the top of the list of things that I can't stand. I'd take Fidonet and a workhorse printer anyday. But Blogs, JavaScript, Flash, DHTML, etc is where the majority is at. Turning off Javascript is just plain silly -- that'll put you in the really small minority and hardly anything will work for you. See above on "fairness" and "minorities."

    I don't care if your site has javascript, flash, whatever, but it simply shouldn't rely on it for basic functionality.  Or, if it does, it should at least fall back gracefully to standards compliance.  That means stuff like *gasp* using standards compliant forms, generating (x)html that conforms to its doctype, etc.  Whatever the code inside community server looks like, what comes out of it is, speaking from a web developer point of view, utter gash.  Taking a crappy product and bolting an ajax interface onto it doesn't make a good product.  It makes a crappy product that is less accessible.  You can't make a silk purse from a pig's ear, etc.

    Now, I guess that you've paid for CommunityServer: my advice to you would be to ask for a refund on grounds of fitness for purpose.  "Fool me once, shame on you.  Fool me twice, shame on me"  There's loads of software out there that will do what you need to do with the site, and the vast majority is open source.  The vast majority of it generates valid html, and doesn't require javascript to function.

    Yeah, I'm a grumpy old bastard.  But I'm [i]right[/i].

    Simon


  • @OpBaI said:

    "FYI -- for TDWTF, 54% of users are on Firefox, 22% on IE, 5% on Opera, and 4% on Safari. Konqueror sits in the almost 1% camp. I'm shocked that Lynx commands 0.03% (68 visitors)."

    Konqueror still above one percent? Surprising, given that the forum software fucks up posts when the fallback text entry box (like Konqueror gets) was used.

    BTW, it isn't possible at all to log in to the new site with Konqueror. Well, I don't really need this site... so when you change to that new version, you'll have one user less. And probably more than that.

    I use Konqueror. For the current forums, you have to pretend to be an IE user, in order to avoid getting the text entry box, then go to HTML view and enter your post there. (Pretending to be using Firefox doesn't work; you get the HTML view, but the text entry box is disabled.

    On the new CS 2.0, you have to not pretend to be using IE, or posting doesn't work (you get a blank page) - but that's OK, since the fallback text entry box works more-or-less OK now. I could log in fine on the new site (using Konqueror 3.5.2) - the only things that seem to be broken are the drop-down buttons and the quick reply.



  • @Alex Papadimoulis said:

     I'm shocked that Lynx commands 0.03% (68 visitors).



    We just do it to mess with your mind... [:D]



  • I found this bit in the JS, in which I was interested because a QS param is passed to it. Maybe they pre-parse the js on the server. Whatever.

      function HideObject (nodeID) {    
        var node = document.getElementById( nodeID );
        
        if (typeof node != "undefined") {
          ...
      }



    getElementById() returns NULL on failure, not Undefined. The IF is always true and the code inside it is always executed.

    The code inside this IF hides an element by:

    • setting its visiblity to 'hidden', making it 0% opaque. See-through, while still affecting layout.
    • setting its display to 'none' which removes it from the render tree entirely, which makes the previous hiding a wholly pointless excercise.

    I submit this as evidence to show that Telligent have no idea what they're doing.



  • Once more, with formatting:


    getElementById() returns NULL on failure, not Undefined. The IF is
    always true and the code inside it is always executed.

    The code inside this IF hides an element by:
    - setting its visiblity to 'hidden', making it 0% opaque. See-through,
    while still affecting layout.
    - setting its display to 'none' which removes it from the render tree
    entirely, which makes the previous hiding a wholly pointless excercise.

    I submit this as evidence to show that Telligent have no idea what
    they're doing.



  • @Alex Papadimoulis said:

    @makomk said:


    new Function('eval('window.ctl00_ctl01_bcr_ctl00___PostRepeater_ctl01_FavoritePopupMenu
    ___Menu_ServerPopulatedPopupMenu.ContextMenuClosed()')')

    No, it's not pretty. It's generated from ASP.NET and I'm not sure (given the OO design) one could do much better. All in all, ASP.NET has made web development easier/cheaper for the masses, this is just a side effect I suppose.

    There's other WTF-worthy stuff, too. Such as:

    ComponentArt_SetProperties(ctl00_ctl01_bcr_ctl00___ChangeViewPopupMenu___Menu, properties);

    Where properties is a huge array of key, value pairs representing all the properties (many of which are set to null and most of which should probably have some default and be left at it), and ctl00_ctl01_bcr_ctl00___ChangeViewPopupMenu___Menu is an instance of ComponentArt_Menu representing the menu to set them for. I'm not sure that really counts as object-oriented, to be honest.

    (Oh, and this code is in a function also called ctl00_ctl01_bcr_ctl00___ChangeViewPopupMenu___Menu, which replaces itself with the newly-created object before doing all this, then as its last action calls the object - it looks like recursion, but it isn't because the name no longer refers to the same thing.)

    Not to mention, of course, ['OverlayWindowedElements',cart_browser_overlays && true] - WTF?


  • ♿ (Parody)

    @dhromed said:


    I submit this as evidence to show that Telligent have no idea what they're doing.

    I don't think it's fair to find one example of possibly-generated Javasript code to prove that someone doesn't know what he's doing in general. Javascript and the DOM are not the easiest things to work with and few are experts who know all the details about it.

    That aside, I went to look at the logon page and see why they went they way they did. The [Logon] button they use is actually a LinkButton in ASP.NET and is a hyperlink that (effectively) just does a "form.submit()". The reason for going this route is that it's much easier to stylize a hyperlink than it is a submit button.

    The ASP.NET runtime will look at your browser identification code and display controls in the "low level" format if it's not a compatable browser. Lynx users, for example, would see a submit button instead of a hyperlink when the LinkButton control is rendered for them. You seem to be in the small minority that identifies itself as a "high level" browser but does not render "high level" things appropriately (e.g. unable to use JavaScript to submit a link).

    If I were in Telligent's position, I would have made the same choice: potentially alienate the users who browse with a "high level" browser but disable such features to provide a more consistant and aesthetically pleasing interface throughout the system.

    But in any case, the good news is that this new forum software will work *much* better for the overwhelming majority of users (Firefox + IE + probably most others). I'm sorry that it doesn't work the best for everyone -- unless we move to something like NNTP *, we're all stuck using the same software.

    * This is, by the way, a direction Telligent says they are going. I think that'd be sweet.



  • @Alex Papadimoulis said:

    That aside, I went to look at the logon page and see why they went they way they did. The [Logon] button they use is actually a LinkButton in ASP.NET and is a hyperlink that (effectively) just does a "form.submit()". The reason for going this route is that it's much easier to stylize a hyperlink than it is a submit button.

    The ASP.NET runtime will look at your browser identification code and display controls in the "low level" format if it's not a compatable browser. Lynx users, for example, would see a submit button instead of a hyperlink when the LinkButton control is rendered for them. You seem to be in the small minority that identifies itself as a "high level" browser but does not render "high level" things appropriately (e.g. unable to use JavaScript to submit a link).

    Doesn't work - logging in in Lynx fails (nothing happens when you hit Login), and logging in on Konqueror also doesn't work (nothing happens) unless you can convince it you're using a high-level browser (by faking the user agent).



  • @makomk said:

    @makomk said:
    @Alex Papadimoulis said:

    That aside, I went to look at the logon page and see why they went they way they did. The [Logon] button they use is actually a LinkButton in ASP.NET and is a hyperlink that (effectively) just does a "form.submit()". The reason for going this route is that it's much easier to stylize a hyperlink than it is a submit button.

    The ASP.NET runtime will look at your browser identification code and display controls in the "low level" format if it's not a compatable browser. Lynx users, for example, would see a submit button instead of a hyperlink when the LinkButton control is rendered for them. You seem to be in the small minority that identifies itself as a "high level" browser but does not render "high level" things appropriately (e.g. unable to use JavaScript to submit a link).

    Doesn't work - logging in in Lynx fails (nothing happens when you hit Login), and logging in on Konqueror also doesn't work (nothing happens) unless you can convince it you're using a high-level browser (by faking the user agent).

    Yep - turns out Lynx and Links both get fed a login form with a JavaScript link for a login button. In addition, Konqueror gets the page with the JavaScript link for the login button both when identifying as itself and when identifying as (say) Firefox - the only <a href="http://pastebin.ca/49982>difference in the page it gets is that, when identifying as Firefox, the function called by the JavaScript link is defined, whereas when it's identifying as itself it isn't. WTF?

    I submit this as evidence to show that Telligent really, undeniably, have absolutely no idea what they're doing.

    Heh - that's what I get for changing my User-Agent away from IE...



  • @makomk said:

    Doesn't work - logging in in Lynx fails (nothing happens when you hit Login),


    The Lynx that I use says "Alert! Unsupported URL Scheme." I wanted to try posting in Lynx, but...



  • Come on!

    There are approximately fifty-three trillion boards out there that are all better than that piece of crap communityserver.

    Yes, many of them are written in PHP, but before you come with the usual knee-jerk reaction (OMG PHP SUXX0RS!!!1elevenone), consider how many other sites those boards are being used on, without any problems, by people with all kinds of browsers.

    And before you start about security leaks: a lot of those PHP boards are open source, and any security leaks that are found are actively fixed. With communityserver, all the accessibility issues are considered "features" and will probably never be fixed.

    Do the math.



  • @R.Flowers said:

    @makomk said:
    Doesn't work - logging in in Lynx fails (nothing happens when you hit Login),


    The Lynx that I use says "Alert! Unsupported URL Scheme." I wanted to try posting in Lynx, but...

    The "unsupported URI scheme" in question being javascript: as you might've guessed. Javascript-enabled Links works on the current forum's login form, but it doesn't work on the CS 2.0 test forums (probably because the server-side code omits a vital bit of JavaScript if you use a browser that it doesn't think supports JavaScript - hence my problems with Konqueror).



  • @Alex Papadimoulis said:

    I don't think it's fair to find one
    example of possibly-generated Javasript code to prove that someone
    doesn't know what he's doing in general. Javascript and the DOM are not
    the easiest things to work with and few are experts who know all the
    details about it.


    I find that code generation is a very bad idea in many instances, Web programming included. Usually you just trade control for a bunch of WTFs, as you have shown us countless times.

    @Alex Papadimoulis said:


    The [Logon] button they use is actually a LinkButton in ASP.NET and is a hyperlink that (effectively) just does a "form.submit()". The reason for going this route is that it's much easier to stylize a hyperlink than it is a submit button.

    That's a WTF for several reasons:
    1. In my experience, styling a <button> is very easy. Provided you write the CSS, not some stupid code generator.
    2. Actually, why change the aspect of a button? I hate hunting for clickable thing on a Web page.
    3. Then, why use Javascript for something that can be done with plain HTML? Just to be "kewl"? And if you're going to, can't you at least use the onclick attribute, as per the standard?
    4. There are good reasons for a user of even a modern browser to disable Javascript. No I won't start enumerating them here.

    @Alex Papadimoulis said:


    The ASP.NET runtime will look at your browser identification code and display controls in the "low level" format if it's not a compatable browser.

    Guess they never heard of feature sniffing, as opposed to browser sniffing. Then again, you can't "sniff" for the utter lack of Javascript. Or can you? <noscript/>, anyone?

    @Alex Papadimoulis said:


    If I were in Telligent's position, I would have made the same choice: potentially alienate the users who browse with a "high level" browser but disable such features to provide a more consistant and aesthetically pleasing interface throughout the system.

    I take it you're in the "aesthetics over functionality" camp? :) You do know that's against the very spirit of HTML, right?



  • @felix said:

    @Alex Papadimoulis said:


    The ASP.NET runtime will look at your browser identification code and
    display controls in the "low level" format if it's not a compatable
    browser.



    Guess they never heard of feature sniffing, as opposed to browser
    sniffing. Then again, you can't "sniff" for the utter lack of
    Javascript. Or can you?

    Yes, you can.  But you don't even have to detect javascript here.  What you do is have a standard form submit button, and then dynamically replace it using innerHTML for those that have javascript capable browsers with javascript enabled.  That way the form works for everyone.

    Or just use noscript.

    There are so many things wrong with just the login page I think we can, indeed, say that Telligent don't know their arse from a hole in the ground when it comes to web developent.

    @felix said:

    @Alex Papadimoulis said:


    If I were in Telligent's position, I would have made the same choice:
    potentially alienate the users who browse with a "high level" browser
    but disable such features to provide a more consistant and
    aesthetically pleasing interface throughout the system.
    I take it you're in the "aesthetics over functionality" camp? :) You do know that's against the very spirit of HTML, right

    Nah, Alex uses IE.  Ubiquity over Usability :)

    Simon



  • ♿ (Parody)

    @felix said:

    Or can you? <noscript/>, anyone?

    You raise a very good point that I did not consider. The overwhelming majority of web programming I do is for Intranet applications where we do not need to worry about such things like people turning off Javascript. However, I think NOSCRIPT and NOFRAMES are a really good idea to do these days on internet apps. I will make sure to add this to the next internet app that requires the use of Javascript -- hopefully the message/functionality gets displayed by the browser.

    @felix said:

    I take it you're in the "aesthetics over functionality" camp? :) You do know that's against the very spirit of HTML, right?

    Yes, I am guilty of being in that camp. But, I'm a businessman first and a programmer second -- and aesthetics sell much better than functionality. As a programmer, I do my best to ensure functionality is there -- but if my designer suggests to use a "Link Button" for that instead of a "Submit Button", who am I to argue?

    @tufty said:

    Telligent don't know their arse from a hole in the ground when it comes to web developent.

    I'll just assume by that you mean "not the best" -- they did produce a pretty slick application (2.0) that a lot of users love and swear by. I don't swear by it (I swear at it, but different story) -- but it's the path of least resistance right now and I trust that these guys will (eventually) get it right.

    I've met some of them personally -- and they're really bright guys who made the mistake of getting into a huge application that they didn't have the experience or resources to handle. They're getting a lot of feedback and are trying to make fixes and improvements (not all I agree with as priority) that "make sense" in the big picture.

    @tufty said:

    Nah, Alex uses IE.  Ubiquity over Usability :)

    I am "guilty" I guess of being an IE-only user. I don't use the web enough to care. My prefered web-browser is actually paper.



  • I guess I am going to be siding with Alex on this one as personally I think that CS is a farily decent way to go.  Granted it isn't perfect but I will NOT admit that any of the forum softwares out there are really WTF free.  Each have their own quirks and special "Issues" that come up.

    I spend a lot of time on a site (www.cbrworld.net) that is running on CS 2.0 and it runs very well, it handles the load and we have minimal WTFage now.  However it took some bug tracking and fixes by those of us that moderate the site.  If Alex has time to code it, or if he allows others to help him this site could use CS 2.0 and be stable and reliable at minimum for both IE and FF. 



  • @Alex Papadimoulis said:

    @felix said:

    I take it you're in the "aesthetics over functionality" camp? :) You do know that's against the very spirit of HTML, right?

    Yes, I am guilty of being in that camp. But, I'm a businessman first and a programmer second -- and aesthetics sell much better than functionality. As a programmer, I do my best to ensure functionality is there -- but if my designer suggests to use a "Link Button" for that instead of a "Submit Button", who am I to argue?



    You're the person implementing it.  And if your opinion doesn't count, then get the fuck out and do another contract.  Aesthetics sell, but functionality is necessary.

    Now Flash, and Ajax, and even link buttons, have their place, but you have to be aware that there is a tradeoff.  The tradeoff in this case is that if people can't use your site, they _will_ go elsewhere.  And the best bit of it is, you don't even know how many of them there are, as they can't hit your site.

    True story.  I just got through suing to get paid a significant amount of money that had been owed to me for over 2 years by an ex-client.  As a "thank you", I send a couple of bottles of champagne to my lawyer.  So, he's in the UK, I figure "Okay, I'll check one of the delivery companies and see what does.  *company name deleted* are a pretty good wine merchants, and they have a store close to the guy's office, so I figure that's a goodie.  So, I trawl over to their site, order a bottle for delivery.  Get to the checkout page, and it doesn't work.  I tried several times, then fired off an email to their support people.  Apparently they don't support firefox on the mac.  In fact, they don't support mac browsers period.  Not for any particular reason, just because.  I could probably have spoofed my agent and it would have worked.  But frankly, why the fuck should I?  I went elsewhere.  I'll never go back.  And I'll probably never shop in one of their physical stores again either.

    2 days later, I need to order some flowers for my mother.  So, head off to *another company name deleted*'s site.  Fucking odd.  No pictures.  I can't select anything?  What the?  Turns out all their images are hosted at doubleclick.net, who I have adblocked to try and cut down on the insane deluge of crap the web seems to have turned into.  Again, I went elsewhere, even though in this case the "fault" is mine.

    Flash is great for sites that are there for flash content, but if you're just using it to have "groovy" menus and I can't access your site, well guess what?  I won't come back.  Ajax is fine for some stuff.  But it better have a graceful fallback, or I'm off.  "link buttons" might work in a controlled environment where you're sure that everyone has javascript turned on, but on the web you better have a noscript element or a load of people simply won't bother.

    Remember, the second most downloaded firefox extension is Noscript.  Nearly 3 times as many downloads as Adblock...

    Still, I'm only a user.  Who am I to argue?

    Simon


  • @Alex Papadimoulis said:

    The overwhelming majority of web
    programming I do is for Intranet applications where we do not need to
    worry about such things like people turning off Javascript. [...]
    I will make sure to add this to the next internet app that requires the use of Javascript.




    I had the exact same problem when I got my current job: adapting to
    writing code for the Web at large. Not an easy job at all. I'm glad I
    could help.

    @Alex Papadimoulis said:

    aesthetics sell much better than functionality

    Heh, that's why everyone uses Windows. And we all know what people think about Windows, don't we?

    Guess I'm going to rate this topic a few stars.



  • @tufty said:



    Apparently they don't support firefox on the mac.  In fact, they don't support mac browsers period.


    ...

    But as far as functionality is concerned, FFX mac == FFX win. The engine does the same things in the same way.

    You mean to say they just checked for UA strings and found 'mac' and said NO SOUP FOR YOU?

    I'd like that url.



  • @dhromed said:

    getElementById() returns NULL on failure, not Undefined. The IF is always true and the code inside it is always executed.

    They're testing the type of null here, not the value itself (I don't know what the hell they were thinking though, the type of null is "object", the only object of type "undefined" is an unbound name e.g. a name either not defined or defined via "var" but not bound to any object)

    Best part, of course, is that since an object always coerces to "true" in javascript (as far as JS is concerned, null, false, "", 0 and non-existence is false, everything else is true) you could replace that whole line with if(node) and it would even work in every single browser, but I guess it isn't enterprisey enough for the CS guys)

    @Alex Papadimoulis said:

    @dhromed said:


    I submit this as evidence to show that Telligent have no idea what they're doing.

    I don't think it's fair to find one example of possibly-generated Javasript code to prove that someone doesn't know what he's doing in general. Javascript and the DOM are not the easiest things to work with and few are experts who know all the details about it.

    That could be acceptable if this was a non-trivial code, but getElementById is bread and butter of using the DOM, and not even knowing how to check for getElementById failure is a sure sign that the dev hasn't been shot often enough.

    @Alex Papadimoulis said:

    The ASP.NET runtime will look at your browser identification code and display controls in the "low level" format if it's not a compatable browser. Lynx users, for example, would see a submit button instead of a hyperlink when the LinkButton control is rendered for them. You seem to be in the small minority that identifies itself as a "high level" browser but does not render "high level" things appropriately (e.g. unable to use JavaScript to submit a link).

    And it shouldn't, this kind of shit never works, we've known it since the Browser Wars. It doesn't work because browsers lie in the first place. Ever wondered why IE6' prefix was "Mozilla/4.0"? Because idiots were discriminating for NS4 and against everything else based on User Agent. Ever noticed that there are like 2 browsers that do not offer the ability to switch your UA String in 2 clics (that would be Firefox and IE6, and there is a quite popular extension to add it in FF)? So browsers lie on their UA String, making it unreliable at best, and a race you will always lose against browser updates (cause they add new UAS you know).

    And the other reason is that the UA String doesn't give you any information about the configuration of the browser itself anyway. You don't know if the user installed noscript, disabled just about every single JS annoyance, banned cookies by default, ... The only way to know this is client side, it's to check for it. There is only one situation (outside of statistics, they always lie so UAS lies don't matter) where you should check for UAS: known implementation bugs.

    Every other UAS check is a mistake in itself, and will lead at least some of your users down a very painful road with sheer stupidity as the only reason.

    And Javascript/DOM is not hard either anyway, not for anyone who can code in C, C++, Java, Ruby, Python, ... it's just that people who can usually just sneer when you tell them about javascript, JS is considered as a sub-language, down there with VB, fortran and Cobol.

    So you only get copy&paste and PHP guys to code in JS (i'm exagerating here of course, but not by mutch) and we all know how good PHP guys are.

    @Alex Papadimoulis said:

    @felix said:

    Or can you? <noscript>, anyone?
    </noscript>

    You raise a very good point that I did not consider. The overwhelming majority of web programming I do is for Intranet applications where we do not need to worry about such things like people turning off Javascript. However, I think NOSCRIPT and NOFRAMES are a really good idea to do these days on internet apps. I will make sure to add this to the next internet app that requires the use of Javascript -- hopefully the message/functionality gets displayed by the browser.

    Don't, seriously, just build your JS thingy on top of a working pure HTML website (unless you really can't afford to, and that kind of things is really rare, much rarer than it's made up to be).

    You'll often end up with a clearer, more usable website or webapp to boot.

    @Alex Papadimoulis said:

    @felix said:

    I take it you're in the "aesthetics over functionality" camp? :) You do know that's against the very spirit of HTML, right?

    Yes, I am guilty of being in that camp. But, I'm a businessman first and a programmer second -- and aesthetics sell much better than functionality. As a programmer, I do my best to ensure functionality is there -- but if my designer suggests to use a "Link Button" for that instead of a "Submit Button", who am I to argue?

    You don't have to argue, a submit button can be made to look like a link button, and if you really need to you can even switch one for the other at runtime, though javascript.



  • @masklinn said:

    You don't have to argue, a submit button can be made to look like a link button, and if you really need to you can even switch one for the other at runtime, though javascript.

    Actually, they've styled the link in question to look almost, but not quite, like a submit button. (If that isn't a WTF, I don't know what is - especially as they use actual submit buttons in other parts of the software).



  • There are issues styling a form button.

    Of the browsers I have installed (IE7 beta, FFX 1.5, Opera 8.5), [i]only[/i] Opera allows full control over the styling.

    The problems are ass follows:
    - FFX adds an indestructible psuedo-padding of a pixel or two around the text on the button.

    - IE adds such a "padding" also, but worse, it's bigger for all sides, and the left/right "padding" scales in accordance with the text. This is nice, but should be under my control.
    - IE has issues with a backround image in a button. Sometimes (I haven't quite isolated the environment parameters for it to occur), there's a 1px "padding" around the bg-image. The button's size isn't affected, though.

    There are issues with natural margin-overflowing as well, and there's the fact that a button sort of hovers between Block and Inline: the INPUT tag is inline, but to humans, they are little blocks.

    Stuff like that irks designers greatly (I know: I am one) and can cause them to choose links (not me; I design the surroundings to accomodate less pixel-strict accuracy).



  • "ass follows"

    hehe

    hehehe

    I said 'ass'

    hehehe

    [i]back to work, Office-Man![/i]


  • ♿ (Parody)

    @tufty said:

    You're the person implementing it.  And if your opinion [about LinkButton vs FormButton]doesn't count, then get the fuck out and do another contract. 

    Kind of like what dhromed said -- graphic designers are just as insane about pixel-level details as we are about programming details. If I second-guess / override every descision like this, then I'm going to have to find a designer who doesn't care about the "pixel details." Such a designer is going to be as good as a programmer who doesn't care about "programmer details."

    They are aware of the requirements and audience and understand that their design descisions will alienate some users no matter what. So, unless a specific design descision they make will go against an actual requirement (e.g. 7-pt font for a brochure targeting retirees), I won't argue.

     

    @tufty said:

    I went elsewhere.  I'll never go back.  And I'll probably never shop in one of their physical stores again either.

    This is unfortunate and if you decide that the new site does not meet your accessibility requirements then I would feel bad to lose you as a member. However, the forum users (4,100+) represent a small portion (2%) of the total readership and most (I can't guess) would greatly benefit from the upgrade. A liberal guess is that 2% of forums members would be turned off by the new software.

    Like those businesses that you won't patronize anymore, it's a business descision that I have to weigh against the time it takes me to do (I don't get paid to do this). So, this is why I've decided to stick with the CS2.0, which makes the most business sense.

     

    @masklinn said:

    Every other UAS check is a mistake in itself, and will lead at least some of your users down a very painful road with sheer stupidity as the only reason.

    I agree with you completely on this. This is one reason why I strongly dislike the WEB as a whole; we are now just beginning to see the serious problems with uncoordinated amatures throwing together a mishmash of pseudo-standards. But, it's the world we live in and to compete in it we have to do things like work with the UAS.

    Don't blame the people who use this "standard" -- blame instead the morons who came up with it. Had they looked at their predecessors they would have learned there are much better ways of doing things.

    @masklinn said:

    just build your JS thingy on top of a working pure HTML website (unless you really can't afford to, and that kind of things is really rare, much rarer than it's made up to be).

    This is much more costly than you realize. This neary doubles the required deliverables in a product: for every piece of functionality, there must be a "high-level" (javascript) deliverable and a "low-level" (html) deliverable. This nearly doubles the test cases (again, one for high, one for low), the time required to testing, the impact of functionality change, etc.

    It's for this very reason that when building a web project it's only cost effective to officially support one or two web browsers. You can't possibly rely on the pseduo-standards to get you by.



  • @Alex Papadimoulis said:

    You can't possibly rely on the pseduo-standards to get you by.





    No offense, Alex, but what are you calling pseudo-standards?
    The W3C is backed up by the heavy names of the industry. For every
    major standard released by the Consortium, Microsoft had a
    representative in the committee, someone who signed the darned documents. How come they're the only ones who break horribly the same standards they helped create?



    Incidentally, I don't remember any occasion when Javascript code
    written for Mozilla has failed to work in Opera, and I mean game code,
    not some flimsy form validation. And no, I didn't have to do anything
    special - just sticking to standard (that word again...) Javascript 1.5
    and HTML DOM. Konqueror still has issues, but it's (still) missing functionality rather than breaking it.



    And then there are browsers which just don't support Javascript or CSS
    or whatever, which is perfectly legitimate as well. What about those?



    P.S. I know, JS 1.5 is not a standard, ECMA 262 v.3 is, but that's a nitpick.



  • @Alex Papadimoulis said:

    This is much more costly than you realize. This neary doubles the required deliverables in a product: for every piece of functionality, there must be a "high-level" (javascript) deliverable and a "low-level" (html) deliverable. This nearly doubles the test cases (again, one for high, one for low), the time required to testing, the impact of functionality change, etc.

    No there mustn't god damn it, and that's the very point of going the road of progressive enhancement: you have a single low tech page that you sex up with javascript to make high tech. There is only one deliverable that does all the shades of techs from cavemen browsing with Telnet:80 to hip kids using Safari or Camino under OSX. Costlier than doing only raw HTML I agree, costlier than doing only the high tech version not even, and you get most of the accessibility and "SEO optimizations" for free.


  • ♿ (Parody)

    @felix said:

    No offense, Alex, but what are you calling pseudo-standards?

    I'm talking about the pattern of the WWW. Some guy comes up with a decent idea and a half-ass specification. He then shares this spec. with his friends, who share it with their friends, etc, and next thing you know, it becomes a "pseudo-standard". By the time half the community is using it, some committee desprately tries to comes up with real standard that, in retrospect, is a actually a pretty poor way for doing what the original guy set out to do.

     

    @masklinn said:

    There is only one deliverable that does all the shades of techs from cavemen browsing with Telnet:80 to hip kids using Safari or Camino under OSX

    Perhaps we're not using the same definition for deliverable: I'm refering to an atomic piece of functionality (single functional requirement). The code "if (x) then a() else b()" would contain two functional requirements a() and b().

    Let's consider the simple requirement of a navigation bar. Often times such a feature calls for pull-down menus -- something which can only be done (AFAIK) using DHTML / Flash / Applet. From the requirements standpoint, the method you propose would look like "if (hasDhtml) then displayDhtmlMenu() else displayHtmlMenu()".

    I think that from a technical standpoint, you could let the browser use that logic through NOSCRIPT and whatnot, but from what I can see it still requires twice the development and twice the testing. I see this same logic applying throughout a site.



  • I am but a humble Luser, but here is my two-penn'orth.

    My current preferred Browser/OS combination is Firefox/WindowsXP.

    It will most probably become Firefox/Linux around the the time "Windows Vista" becomes mainstream.

    Content much preferred to Style. This site has GREAT content, but the Forum software is getting in the way. Have you considered "Invision Power Board"?



  • @Joe Luser said:

    I am but a humble Luser, but here is my two-penn'orth.

    My current preferred Browser/OS combination is Firefox/WindowsXP.

    It will most probably become Firefox/Linux around the the time "Windows Vista" becomes mainstream.

    Content much preferred to Style. This site has GREAT content, but the Forum software is getting in the way. Have you considered "Invision Power Board"?


    Or even vBulletin...



  • @Alex Papadimoulis said:

    I'm talking about the pattern of the
    WWW. Some guy comes up with a decent idea and a half-ass specification.
    He then shares this spec. with his friends, who share it with their
    friends, etc, and next thing you know, it becomes a "pseudo-standard".
    By the time half the community is using it, some committee desprately
    tries to comes up with real standard that, in retrospect, is a
    actually a pretty poor way for doing what the original guy set out to
    do.



    Ok, so you're contesting the quality of the standards, not their
    legitimity. Well, I've read the HTML 4.01 recommendation end-to-end and
    I liked it a lot. CSS is lacking in many areas, but what it does, it
    does well. I know, this is subjective, but most problems with the
    modern Web arise from people not following the standards. Which, I dare say, are good enough for most.


    @Alex Papadimoulis said:

    Let's consider the simple requirement of a navigation bar. Often times such a feature calls for pull-down menus -- something which can only be done (AFAIK) using DHTML / Flash / Applet. From the requirements standpoint, the method you propose would look like "if (hasDhtml) then displayDhtmlMenu() else displayHtmlMenu()".


    There's a better way. See http://www.xs4all.nl/~sbpoley/webmatters/casestudy.html. You can easily have a DHTML menu that degrades to a... plain list of links. I tried it myself. How does that sound: 38 lines of CSS, 50 lines of Javascript, works out-of-the-box in IE6, Ff, Opera and Konqueror... Shameless plug: http://shadow-v.home.ro/computer/dhtml.html

Log in to reply