Confessions of a Web Developer X

By  on  
David Walsh Confessions

It's been quite a while since I've gotten a few things off of my chest and since I'm always full of peeves and annoyances I thought it was time to unleash:

  • The more I work with advanced JavaScript-based web applications, the more I wish all web browsers used WebKit.  Fast, progressive, flexible.  The world would be a much better place.
  • When I switched from Firefox I chose Safari.  With all the cool shit Chrome's got, I fear I made the wrong choice.
  • dojox.mobile is fucking amazing. If you haven't taken a look yet, you should.  It will be the standard within a few years.
  • The amount of time it takes Firefox to close sometimes is nothing short of criminal.
  • Fact:  I don't mind being criticized about something on this blog.  I'm always open to different ways of doing things.  But if you're going to insult me along the way, you better fucking have a better solution or idea to provide or I will light you up.  (Sponsored by the David Walsh "Don't Be a Douche" Campaign)
  • Titanium by Appacelator looks like a beast. Can't wait to play with it some more.
  • Whoever started the "put your logo in the H1 tag" revolution deserves to lose every client they ever had.  What an SEO killer.
  • If you plan to ever make enterprise-level websites and widgets, start learning Dojo now.
  • In most cases, removing the dotted outline via CSS from a focused element  is a horrible, horrible idea.  It's a usability nightmare.  That outline is there for a reason.
  • I think my dream job would be to work on websites for soccer teams or publications.  I mean, then, technically, it would be my job to watch the games and create sweet features for them.  GET IN!
  • I hope that my dojox.mobile web application and tutorials are well-received when published.  I had a lot of fun making them and I think they could be incredibly useful for developers looking to get into mobile-centric developing.
  • You know what I do when the JavaScript toolkit I'm using doesn't have a feature?  I find another toolkit one that does, port it to the given toolkit, and share it.  You know what I don't do?  Bitch.
  • Is it just me or do non-developers simply not understand the complexity that comes with creating secure, reliable web forms with PHP?  Especially the form processing part?!  Someone please confirm that I'm not crazy.
  • I hope the browser vendors iron out their self-prefixing CSS animation stuff quickly.  All these self-prefixed CSS properties are getting out of hand, and it seems to only be getting worse.
  • Imagine all the awesome web apps we could create with a true XBOX/game API. Would be epic.
  • Google claims that ~44 posts/demos reference Christina Ricci.  That's far too few.  I apologize -- I'll try to step up in that regard.

Am I wrong?  Am I right?  Bring it.

Recent Features

  • By
    Page Visibility API

    One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?

  • By
    CSS 3D Folding Animation

    Google Plus provides loads of inspiration for front-end developers, especially when it comes to the CSS and JavaScript wonders they create. Last year I duplicated their incredible PhotoStack effect with both MooTools and pure CSS; this time I'm going to duplicate...

Incredible Demos

Discussion

  1. Tom

    “Is it just me or do non-developers simply not understand the complexity that comes with creating that comes with creating secure, reliable web forms with PHP? Especially the form processing part?! Someone please confirm that I’m not crazy.”

    God I thought I was the only one – people who haven’t ever even seen code telling me “it can’t be that difficult” deserve stabbing.

    “Google claims that ~44 posts/demos reference Christina Ricci. That’s far too few. I apologize — I’ll try to step up in that regard.”

    Please don’t.. :)

    • I feel your pain, guys.
      Sometimes just I wish there would no forms on the web at all (but hey, then I wouldn’t be able to complain using this form :)

  2. first post!

    p.s. google really don’t mind the h1 tag all that much – the number of sites i have seen outrank much better semantically structured ones due to what google sees as better value content proves it.

  3. Hi Dave, absolutely a great post :) (as usual).
    I have a question to ask you concerning “If you plan to ever make enterprise-level websites and widgets, start learning Dojo now”: why do you think for those kind of websites/apps dojo is the best choice and not for example jQuery or our beloved mootools? Last: which is the best online resource or a book maybe for learning Dojo? Cheers! Stefano

  4. I couldn’t agree more about WebKit. I recently did a site and used Safari (my default browser) for all my initial coding, going back to make corrections/changes for IE. Loaded it into Chrome, it was flawless. Was expecting to the same result in Firefox, yet… it was more broken than IE. (or perhaps, I was expecting IE’s breakage, but not Firefox’s)

    Plus, transitions in WebKit are so nice and smooth. The web just looks… better.

  5. “Imagine all the awesome web apps we could create with a true XBOX/game API. Would be epic.”

    I’ve been dying to see Microsoft bring IE9 to the XBox 360 (with pinned sites) for a while now, it’d make the platform a huge contender against Google TV (they might as well throw in support for Windows Phone 7 apps while they’re at it being that XBox 360 ads are powered by Silverlight).

  6. Raanan Avidor

    * You are not crazy.

    * I couldn’t agree less about WebKit. I still remember the world where there was only IE4. Any monopoly is a bad monopoly.

    * Self-prefixed CSS is better then none. Stop bitching, bitch.

    • WebKit is an engine, not a browser. If all we had to do was worry about WebKit, that would simultaneously cover iOS, Android, *and* webOS devices, in addition to the Kindle and desktop computers.

      I agree that monopolies are generally bad, but having one engine used by multiple browsers would make the lives of web developers far, far simpler.

  7. vic

    I kinda thought you would like Titanium to play with your ipad and iphone. (also check this nice service to easily distribute your tests to friends http://www.testflightapp.com/ ) Have fun

  8. Steven Schrab

    I get the feeling self-prefixed CSS properties are only going to get worse. Part of me feels like we shouldn’t use them for that reason only. But that part of me is dwarfed by the part of me that likes shiny things.

  9. Yoav

    What’s wrong with putting the website’s logo in an H1 tag?

    • H1 tags are huge with SEO. Why put your logo in one? Doesn’t make sense.

    • Austin Hinderer

      Is it a matter of having an image tag in the H1 instead of text?

      Is it just as bad to use image replacement? EX:
      Website Name

    • Matthew F.

      It’s also an accessibility issue – the H1 tag should semantically represent the primary topic of the page, what differentiates it from other pages on the site.

      For more reading: http://webaim.org/techniques/semanticstructure/#contentstructure
      (And for an example, look for the H1 on their site).

  10. Daniel

    A lot of negativity around Firefox, but I’m betting many of the folks making these statements haven’t been using its betas or now the RC. Comparing Fx 3.6 to Chrome 3534253 is like comparing Fx 3.6 to Netscape Navigator 4.

    Let’s be relevant in our comparisons shall we?

    • I definitely see your point, but developers also need to code for what’s released, and not immediately what’s going-to-be-released. If you’re using this year’s model of a car, you can complain about the gas mileage, even though the next version will have been mileage.

      It’s perfectly fine to judge the current model, because that’s what 3.6 is. Otherwise it’s possible to instead complain about the slowness of 4.0’s release, right?

    • Daniel

      Tentative release date is March 22nd, is 8 days soon enough for everyone here?

    • Yesterday wouldn’t be soon enough for everyone. :) You should know that! :)

  11. I just wish the self-prefixed css started with a + rather then -. Don’t know how many times i’ve popped something like -moz-linear-gradient rgba in google and wasted minutes before I realized my mistake.

  12. You’re crazy for sure, but not because of the Form / PHP issue. Why is Dojo better for enterprise level websites? What advantages does it have that MooTools doesn’t?

  13. Why do you prefer Dojo over jQuery?

    • Dojo is modular, has a great inheritance pattern, is *LOADED* with function when including Dijit and DojoX. There’s more to JavaScript than the DOM.

  14. Blaine

    When did your obsession with Christina Ricci start? :P

    “Fact: I don’t mind being criticized about something on this blog.”

    I don’t appreciate all the cursing. I thought this was a more professional blog.

    • Callum

      Don’t be a whiny bitch, bitch.

      But it all seriousness if you see a few expletives and you feel the need to complain about them then perhaps you need to get some tougher skin. The language used helps emphasize the points of the article.

    • Diana

      Agreed. Especially that “bitch” and subsequent “whiny bitch” stuff. I like it here, but UGH that language makes me feel unwelcome in the bro coder circle jerk. Yes, cursing can be emphatic. All it was here though was juvenile.

    • As Callum mentioned, I added it to emphasize points. These “confessions” posts are meant to be honest and personal, so I’ve written them that way.

      And “bro coder circle jerk.” HAHAHAHHAHA

    • Blaine

      Ouch, I just got jumped for doing something you encouraged on the exact same post.
      I don’t mind cursing at all, I curse on a regular basis, but never in a professional atmosphere, which I thought this blog was. It seems out of place.

  15. Here here David! Good post. Totally on your side, esp the damn darn vendor prefix. I have started to minimize the use on them, esp with linear gradients.

    “Is it just me or do non-developers simply not understand the complexity that comes with creating secure, reliable web forms with PHP? Especially the form processing part?!”
    This is driving me mental, clients just love to say “but is it not just a simple as copy and paste…” someone give me a gun! >.<

  16. > I hope the browser vendors iron out their self-prefixing CSS animation stuff quickly. All these self-prefixed CSS properties are getting out of hand, and it seems to only be getting worse.

    Agreed, and a decent solution for developers is using SASS & Compass and forget about these forever and ever.

  17. “The amount of time it takes Firefox to close sometimes is nothing short of criminal”

    That made me chuckle….firefox’s start-up time and shut down time does nothing but piss me off…lol. It’s such a powerful and customizable platform, but the slowness of it really makes me gravitate towards Opera/Google Chrome.

    I’ve no idea why you’d want to use Safari over Chrome either. The source code viewer in Chrome is so sexy….plus tons of useful add-ons. ;)

    • “really makes me gravitate towards Opera/Google Chrome.” why opera/chrome? opera really suck and Chrome rocks. I’ve just migrated completely to chrome with firebug installed to help with my final transition.

      Cool post David.

  18. I’ve been working with Appcelerator’s Titanium for a few months now. And if you enjoy javascript programming, you may enjoy making Apps with Titanium too. ;)

    But, I need to warn you their documentation is at best incomplete, at worst wrong (sometimes methods don’t even return what they’re supposed to).
    And your usual javascript frameworks (MooTools, Dojo or jQuery) aren’t useful as there’s no DOM when you’re working on native UI elements. It’s only good old JS (object oriented hopefully) and accessing Titanium API.

    It’s a very young tool working on a very changing domain. I really hope it will stabilize and become more mature.

  19. I still can’t understand YOUR logo, you move the mouse and pieces start floating around randomly , I don’t see the usability nor the fun in there, I find it extremely confusing and unnecessary.

    Also I know you’ve discovered the rotation in CSS3 but no need to fill the upper part of your site with it…

    I know it’s not about the post, but they were things I just have to say, with respect and all.

    Cheers.

    • Blaine

      When you disable JavaScript on a blog about JavaScript, you have probably just lost faith in humanity.

  20. peter

    what’s with all the ‘$u(k!ng’ and other bad words I don’t expect to find this sort of language on a web design blog, my opinion of you has just gone down

  21. Daniel

    @peter (CC)David

    I don’t mind the bad language one bit, it injects a bit of gusto in the message. And who doesn’t like a little f_cking and s_cking anyway? lol

  22. i definitely choose Sarafi above every other browser. i found it very light, especially for web development .. where F5 is hit every 0.5 – 1-2 minutes

  23. terry

    “The amount of time it takes Firefox to close sometimes is nothing short of criminal.”

    Not only that but the number of times that FF 3.6.15 crashes is even more criminal. I mean basic shit like FF’s crash reporter fail to just um…you know report!!! Instead I only get “There was a problem submitting your report” error messages.
    I’ve seen some of the source code and observed the external behavior of FF and I can only come to one conclusion: FF is written and maintained by NNPP’s(Net Negative Producing Programmers). And they wonder why they are losing users to Chrome,Safari and Opera??? Insane.

  24. James

    Is it your time or the month or something? Lots of cursing going on, very unusual…

  25. devo

    dojo seem great but available learning resource is less than jquery/mootools, why dont you publish an ebook either free/paid(collaborate with oreilly/packtpub.com), and even better if u collaborate with lynda.com like Chris Coyier from css-trick where he publish wordpress topic.

    it will interesting since u knowledgeable in javascript.

    p/s: maybe mootools video training with lynda.=)

  26. goyote

    I noticed firefox on mac is slower than ff on pc. Maybe you should switch back ;)

  27. Nick

    “Dojo is modular, has a great inheritance pattern, is *LOADED* with function when including Dijit and DojoX. There’s more to JavaScript than the DOM.”

    Yeah there’s only 1 problem with that. We’re not writing Enterprise Java – its JavaScript. Small lightweight content loaded in the browser to make it interactive.

    **I don’t want inheritance** I’m building a page/site/app – not a framework, not Beans, not Swing – there’s no point in building abstract classes and extending – I don’t get protected, private or static content so don’t bother making a JS Lib that pretends it solves this (non-issue) for me.

    jQuery provides me all the utility and abstraction I need to find elements, bind events, manipulate and animate them – that is 100% all of what I need from a framework.

    if I want a widget, I can use one/roll one as needed – and **ONLY** if needed.

    I agree that the Web/Web Apps/Mobile is a great place to be, HTML5/CSS3/JS Rar, Rar, Rar!!! but claiming Dojo is the best way to get there is as bad as “bitch”ing about X, Y, or Z.

    Let each of us use the tools we find best for the job.

    • goyote

      @Nick jQuery is nice for websites and blogs, but you can’t build a web applications with it. because you need classes; that’s where mootools and the like come in.

    • Nick

      @gyote – You can build web applications with jQuery in fact I’ve built many of them on it. I have **NEVER** __NEEDED__ classes in JavaScript (and to be quite frank, they don’t exist!). Whatever you *think* you need mootools (and/or classes) for can be accomplished in vanilla JavaScript or with jQuery.

      You’ve been drinking the mootools Kool Aid too long my friend!

    • Daniel

      Nick, unfortunately you are living in the simple world of pre-Harmony/ECMA5. You probably are aloof to the fact that JS is not defined by a DOM environment, and under that assumption you decry an abstraction that allows for awesome code reuse.

      You probably would be suprised to learn that ECMA5 modules basically validate the Class-like course of MooTools, and that things like proxies will be serving you your words on a platter so you may eat them. See Nick, the fact is JavaScript is maturing, and part of that maturation is the realization that MORE traditional paradigms are desired and not less. Frankily, the coming years in the advancement of the language will read like an “I told you so” manual for the legitimacy for MooTools stance on OO JS.

      How might I know this you ask? Well Nick, I’ve talked with Dave Herman and Brendan Eich about it a few times, I have the privledge of some inside baseball. Nick, it is a bold new world little buddy, now pull your head out of JavaScript’s ass, the DOM, and get on board with the future.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!