I’m too lazy to be a HTML developer

There’s no denying it. I’m just to damn lazy to be an HTML developer. This really sunk in when I looked at a tutorial for doing a jQuery Lightbox – for a client project. The tutorial was titled “Super Simple Lightbox with CSS and jQuery” but after reading it over I thought a better title would be “A really freaking hard tutorial on the inane intricacies of doing something that looks simple but in reality is a skein of HTML, Javascript and CSS that no one except an HTML Jedi Master could every come up with “.

I must say that I have a totally refreshed respect for developers who can do that sort of work and enjoy it. I look at all that code and cringe. Not that there’s all that much code but the setup and the edge cases and the IE quarkiness . . . oy. I get shivers just thinking about it.

And just a quick question to those hardy souls who do HTML dev work: can you set break points in your code and do object introspection? Because if you can’t how in the world do you ever debug something? Because HTML code looks like it’s going to need a lot of debugging time.

To me, doing something simple should be just that, simple. For instance it’s pretty rare that I ever do anything in Flex/Actionscript that seems complex. The entire app might feel complex but it’s made up of rather simple parts that all follow logically. Take a look at the CSS in step 2 of the Lightbox example. Are you kidding me? There’s no way in hell any of that follows logically.

Who knows what the long term future is for Flash/AIR. It seems pretty solid for the next 3-4 years at least. But I’m thinking I should work on my carpentry skills as a backup career just in case. Because I’d never make it as an HTML developer.

UPDATE: I never expected that more than a few of my friends would read this. Thanks to some random posting on a news site this post is blowing up with 10,000 hits a day.

To those who say, “You should absolutely learn XYZ.”  You obviously wouldn’t recommend that someone learn something you do unless your passionate about it. And that’s great. Just realize that not everyone is passionate about the same things.

I believe that we developers should think of ourselves more as code artists. There are a lot of popular methods for creating our art and they are all valid. For instance I don’t think artists get together and say things like, “A real artist knows how to paint with oils” or “Watercolor is dead. You must learn to paint with acrylics.”

I think artists are more supportive of each others craft and would be likely to say, “You make art from tree bark. That’s so cool.” Maybe I’m an optimist but I think we should be more supportive of each other regardless of the language/platform we write code in. What matters is that we create.

Note: Believe it or not I have work to do – AIR app for desktop/mobile – and so I won’t be able to respond to each comment. But I’ll approve any comment that isn’t spam or too vulgar. A little vulgar is fine though. :-)

What do you think?

162 thoughts on “I’m too lazy to be a HTML developer

  1. This is absolutely hilarious….

    And very very true. I always thought HTML made no sense – though I am willing to put my mind to that challenge.

    1. Actually, I think that was a pretty simple example of HTML, CSS and Jquery. If it seemed complex to the writer of this article, he is either just stupid or can’t be bothered to look into the details of it.

        1. I’m sorry, but I couldn’t agree more with you Frank, because I was thinking the same thing. Being lazy is one thing, but acting like something is really that hard to understand that even a elementary kid could pick up within a week, is kinda of stupid. Especially since he says, he can develop in Flex, which too me is more more complex than writing or reading HTML, CSS, or jQuery.

    2. I love HTML and Javascript. I use Notepad (don’t wince) for all of my HTML and Javascript coding. It’s a great way to make the time go by. I get so focused on what I am doing that I am oblivious to anything outside of my own head.

      Hours later when I look up from the screen and realize that the shaking is not adrenalin but hunger, I sip some more coffee and finish the sandwich, Maybe someone will invent HTML-Sharp and I can team it with Javascript.net so I can really have fun….

  2. It’s not lazyness. It’s efficiency. Who wants to developp a whole big application with those trials and errors and gotchas and damn’ different browser behaviors? It’s like you KNOW you will spend most of your time on silly problems, that distract from your core application.

    Thanks for sharing your feelings; I work with Flex and AS3 on big projects and I feel a little worry when I look at the future of Web developpement…

    Ashil

    1. @ashil “Efficiency” yeah, that sounds better.

      I just don’t see how it could happen but maybe, just maybe, the tools and libraries and everything around HTML will become efficient some day.

    1. @Keith You do understand that not everyone has the same motivations, right? I know you, and many others, love learning no languages and exploring for the sake of exploring. That’s absolutely great. I love to hear people who are excited about new things and what they can do with it.

      I on the other hand despise learning new languages. The only motivation I have to learn new things is if I need to in order to create some idea that I have. For instance I would never learn Away3D just for the hell of it so I’d know how to use it. I only dove in and learned it because it was fun and there were things that I wanted to do in 3D. That made the learning a blast.

      So it comes down to what motivates us. I’m sure you’re motivated by both learning new languages and creating new things. I on the other hand get zero motivation to learn something unless I have a specific need for it.

    2. Well, first of all show me what’s new with ECMA JavaScript (of which ActionScript is also derived) and HTML markup invented from an arcane publishing syntax named SGML. Nothing that I can see.

      The reason there hasn’t been a decent set of tools and a leader in the development space for these technologies is because up until Jobs started a marketing purge against Adobe, the fragmentation of web based client rendering solutions was guaranteed to keep them so.

      What the gentleman is saying is that in the world of HTML/JavaScript simple is in the eye of the beholder, not based on a standard. What I know is that I moved from these technologies in the late 90’s (We did Ajax before the XMLHttpRequest came along with Strings and Associative Arrays) to the advanced features offered with AMF/Java ActionScript Collections and of course the Flash Player that became ubiquitous across the web.

      My take on those who view Open Standards as “pure” and wish the demise of every plug-in in existence that has proprietary IP behind it is that they are cone headed elitists who would dumb down the world for the sake of no competition. There is a cult of thinking and a Utopian bent to their thinking that a capitalist such as Jobs was capable of seizing, even if he had no intention of ever making Apple “Open”.

      So if people want to turn towards HTML5 for their web sites and it takes us 10 hours to do a 2 hour job just to make it run on an iPad, then so be it. I’m a capitalist too. But make no mistake. It’s not new, not better, and certainly the true representation of superior technology it is touted to be.

      Curtis Fisher
      CEO
      ProContent.net

      1. Curtis, That was very well put. I’m standing up and applauding. If we ever meet up at a conference – 360Flex in the Spring maybe – I’ll buy you a beer . . . at the open bar of course. :-)

        1. even funnier, i like both comments and the article. I am a startup founder but I don’t even get close to coding for all these simple reasons.

      2. Open standards are imperfect. They move at a turtle’s pace. Meanwhile Adobe or Apple can come out with an amazingly superior and consolidated technology in a fraction of the time.

        All that is true, but we don’t need to look hard to find out what happens when one vendor controls an entire ecosystem. You get IE6 with nary an update for 7 years. You get Apple rejecting apps for completely inexplicable reasons. You get Adobe refusing to acknowledge that Flash on mobile devices has serious performance and usability problems that can not be trivially resolved.

        HTML5 for all its flaws, can not be hamstrung or held for ransom. It will inevitably get better and better over time (consider how it has evolved in the past 3 years). Proprietary tech will always be one step ahead, but it is the very existence of open standards that *forces* proprietary tech to stay ahead. Respect is due my friend.

        1. @Gabe All true. Not everything is meant to work everywhere – such as Flash on mobile. Although from my experience Flash games written for mobile perform roughly the same as HTML games written for mobile. One problem that everyone is facing with old content, especially games, is that people are trying to play them on tablets when they were built for desktops with some umph behind them. That will improve over time as content is targeted at tablets and mobile phones.

      3. @Curtis…very well said…at the end its all about money…here is what i like the most..
        “So if people want to turn towards HTML5 for their web sites and it takes us 10 hours to do a 2 hour job just to make it run on an iPad, then so be it. I’m a capitalist too. But make no mistake. It’s not new, not better, and certainly the true representation of superior technology it is touted to be.”

    3. Not learning new technology because it is hard is always a valid train of thought. Don’t doubt yourself. Don’t give in. Stay in your comfort zone!

      You’re mistaking an efficiency- and preference-based decision for a quaking surrender. That’s an invalid assumption. Nobody learns how to do every damned thing in the world. You once upon a time had a chance to learn violin, rebuilding carburetors, or making souffle’. Did you? Odds say you decided at least one of these skills wasn’t worth your time.

      I write some simple HTML now and then, but count me amongst the people who has better things to do than build web apps for umpteen browsers — apps that will break every time those browsers release new versions. I’m honestly too busy doing stuff that I consider worthwhile.

  3. laziness FTW! Yes, I have lots of similar feelings about this.

    As for the breakpoints and obj introspection (and expressions), you can do all that with the Chrome debugger (and there are similar tools for Firefox). So that part ain’t too shabby actually.

    I find a lot of the challenge that comes with this is that there is so much CRAP out there in terms of tuts and articles. Generally people writing instructional articles for Flex are seasoned devs and it shows. But in terms of HTML/JS dev, you could be reading something from an excellent source or someone who just started doing it last week. So there is a lot of unnecessary, inelegant, crap code that’s being passed around and people are attempting to learn from it. Thankfully we come from a background that gives us the ability to separate the wheat from the chaff better than most.

    1. “a lot of unnecessary, inelegant, crap code…people are attempting to learn from” Yup. It’s a barrier to learning well. And some of the books aren’t that great either.

  4. The comparison here is not apples to apples. If you had to do all you do with Flex in AS3, your job would be insanely more difficult. It’s the framework that makes it easy.

    If there was a high quality UI framework for JavaScript that included many/all of the same controls as Flex, and was well written, the comparison between the two technologies would be more subtle.

    Still, I do prefer the AS3/Flash tooling and the strong typing of the language. And of course, performance of AS3 is better than most JavaScript runtimes. But JavaScript (or a replacement language) will get there.

    1. @TJ I sure hope you’re right. I’m a bit surprised that will all the HTML5 hoopla there hasn’t been – as far as I know – any significant updates to Javascript itself. Just bringing JS up to Actionscript levels would be a massive improvement in the work flow.

    1. @vasu I think it entirely depends on what drives you. I think it’s most important to do what you love to do. Because if you are really happy doing something you’ll find more and more ways to improve. And I’m certain that if you are an expert at Flex/Actionscript or HTML/Javascript then you’ll find work doing it.

  5. @polygeek,

    I agree with your comment about motivation but you have to admit that there’s major in being exposed to different languages/technologies.

    I’m not saying you have to learn a new language every year but with everything going on at Adobe, I’d vote that you at least consider getting re-motivated to learn something new. (do I get a vote?)

    Client is willing to flip the bill . . . even more motivation.

    Go back and look at that blog post. I thought it was put together pretty well. Think of the div’s as a flex s:Group and the $(‘.lightbox_trigger’).click as a simple MouseEvent.CLICK.

    Get a warm cup of coffe, suffer through it and then teach the masses about the strengths and weaknesses of it compared to Flex.

    1. @Matt But I don’t waaaaaaaaaannnna. :-)

      I’ll be doing mostly AIR mobile dev work for a while. Both clients and personal projects. But I have a new path that I’m excited to follow. I might end up doing some Native Android development. We’ll see. I’d prefer to spend my time “doing” instead of “learning”. Basically I “learn” enough to “do” what I want.

      But learning/doing HTML is not on the agenda for anytime in the foreseeable future.

      And no, you don’t get a vote. :-)

      1. Go Native Android if you have the bandwidth. I am finding iOS too saturated and Flash Platform at the end of it’s lifecycle, if anything past it’s prime. iOS can only be King of The Hill for so long without Steve Jobs or innovative hardware coming out soon.

        I think once you dig into Android, you will like it. Familiar tools, familiar language, and a whole world of API’s for you to discover.

  6. Hi Dan! I begun with HTML for like 15 years ago and left it with joy in favor for Flash 12 years ago. I´m really happy not having to deal with non applying standards and all the shit different browser engineers come up with. However, out of curiosity I´ve been trying out the HTML5 canvas 2D with EaselJS framework (Grant Skinner´s little creature) and I must say it´s similar to actionscript, a bit limited yet, but similar. You should give it a try, it´s really fun!

    1. @Patric Same here. I like to tell people that my first HTML page didn’t have images because images weren’t supported, yet.

      See, that’s the thing. If Canvas2D is “similar to AS but limited” then why would I use it? Okay, if a client was paying me good money for something simple that had to work on an iPad then sure, I’d look. But most of my “web stuff” these days are just for my blog. So I’ll leave it alone until I have a need for it.

      Partly I think this is due to I just don’t have any urge to learn a new language or platform unless I have a clear need for it. I know some people get a kick out of being able to write the same application in 5 different languages. But not me. To each his own.

        1. @dk, I know enough HTML to get by. That’s enough for me. Because if I learn more then I’ll have to do it more. And if I do it more I will get angry and have to kick more kittens. And I don’t want to be kicking kittens. :-)

        2. The title should really read “I’m too lazy to be any kind of developer.”

          It’s your job to know what you’re doing, and HTML + JS+ CSS isn’t rocket science or brain surgery, it’s par for the course. What with numerous frameworks like jQuery, YUI CSS et al, pretty much all of the hard work in enabling cross-browser support has already been done for you. This is a lazy article by a lazy developer who doesn’t want to do any research which is all part of the job we do.

          What do you mean by “bringing JS up to ActionScript levels”? care to elaborate?

          1. @PT I definitely see your point but that’s not really my domain. A friend of mine chastised me for “being comfortable and not pushing my skills” to which I replied, “Why do I have to push my skills in the direction of HTML/JS/CSS? How about I learn to wield instead, or spend more start learning Arduino and robotics, or whatever?”

            I’ll bet I could come up with dozens of languages that you don’t know and never will. That doesn’t mean you should learn them does it? You grow your skills in the direction that you want to explore in. I don’t want to explore in the browser space anymore. To be truthful I don’t even like doing Flash for the browser anymore. I’m more interested in mobile apps. I don’t need any HTML for that.

            But you’re right: I am pretty lazy. :-)

  7. Funny post i can relate to.
    Although in a bad attitude that browser variation is why i mostly target chrome, firefox and safari- they have similar engines, i can only feel sorry for the small sect of my visitors with IE.
    Yes html codes are messy, but some idea in html5 will help ya, especially since flash and air are on their death beds.

      1. @Chioma I hate to sound pessimistic but I think that any sufficiently complex HTML app/game is going to be a hackathon. I hope I’m wrong and this gets sorted out into something decent but I’m not holding my breath.

  8. Interesting post, but why would you search for a tutorial when you really want a prebuilt script that works “out of the box”? There’s several prebuilt lightbox scripts that use jQuery, like Fancybox. The tutorial you linked doesn’t seem too bad if you have a relatively basic knowledge of CSS, HTML and JavaScript. It’s certainly not designed for someone that doesn’t use these often.

    1. @Daniel15 My client needed to do something “out of the box” with LightboxJS. Eventually I was able to work it without starting from scratch.

      You’re right, the tutorial really was very well presented. But when I started looking at the details I thought, “How in the hell can anyone learn all these hacks to make this stuff work. In Actionscript, and especially Flex, doing something like LightboxJS is a 100 level tutorial. In HTML/JS/CSS it’s at least a 300 level – don’t you think?

  9. Since 2011 begun, I haven’t once looked at what a page would look on ANY ie. And yes, I do client (and very serious) work.

    I think that sums up any problem you coul have with front end (having to deal with ie). Oh! And also, if you just don’t like something, just don’t do it :) some people don’t like HTML/CSS/JS and that’s allright.

    HTML is just understanding content, accesibility & SEO and css is just understanding layout, typography, legibility… and lots of other things that are you don’t need to know to be good at CSS (but you should if you’re serious at what you do)

    If you got any questions, you got my contact info at my site. Good luck!

    1. @DrummerHead Much thanks for the offer for help.

      Yeah, that’s what I hear: IE is the bane of HTML. Funny, back in my HTML/JS/CSS coding days – late 90s – it was Netscape that was the bane of our existence. It’s always something isn’t it?

  10. Take a look at the CSS in step 2 of the Lightbox example. Are you kidding me?

    The IE specific code in the first example is to support IE5… which is over a decade old and no-one needs to support any more.

    1. “The IE specific code in the first example is to support IE5… which is over a decade old and no-one needs to support any more.”

      unless your client (the boss with big money) know nothing about web and use ie5 on his laptop ;)

  11. I think you should do what you want to do. Yes, technology changes but so what? I recently started to work as full-time flasher. I have created lots of html//javascript sites before, but most of them are boring. I could switch if it would be needed. But I hate to create CMS sites and build upon them, and most html sites look the same. I think Flash still gives us more creative and alternative projects. I just want to do what is fun, and where I can learn more. As long as you keep learning and experimenting, you have the ability to grow. HTML+CSS is relative simple to learn, Javascript at the other hand evolves to a powerful (finally faster) language. Just keep an eye on new and old technologies, you might use it some day. At the other hand; I’ll probably never learn backend languages like PHP, ASP.NET, Java or databases as they don’t interest me a lot. I understand them, but I just don’t want to write it the whole day. HTML isn’t magic. Maybe in about 2 years there will be a new great technology. Don’t let it get you down, just keep creating and posting great stuff and just try it some day in another environment.

    BTW how does your blog know what my latest post is?

    1. @Mark My feelings exactly: do what’s fun. HTML just isn’t fun. I’m looking forward to doing more hardware/Arduino stuff. Hopefully there will be a market for that.

      As for backend stuff: I love knowing how to do it so that I can enable building data driven apps for web/mobile/desktop. But I sure don’t like doing it much. It isn’t like it’s a total suck but I always look forward to getting the backend stuff wrapped up so I can enjoy the client side work.

      I have a WP plugin called CommentLuv – commenLuv.com – that pulls in your last blog post. It’s just a way to say thank you for posting something.

      FYI, I LOVE your generative art. Great work there. Your B&W stuff looks like something I’ve been thinking about working on. There’s an artist, I think his name is ‘Rabindra’ or something like that, who draws things with black ink by making squiggly lines back and forth without lifting the pen. Most of his drawings are of animals like elephants and tigers. I have one of the elephant. You can always tell his work because he puts a small red dot somewhere in the artwork. Anyway, I’ve been thinking about ways to do generative art in his fashion which is similar to your B&W work.

    2. html and css is for design and look even if you are working on the back end still you need learn front end to keep your apps look appealing so html and css is definitely worth trying

  12. Whole-heartedly agree. If you can get away with not using HTML, go for it!

    Our business decided we needed to provide online browser access without plugins — so now I have many years experience with a 100% JavaScript browser side web application. I find developing for browers a turd breakfast with vomit poured on top. You *can* make things work reliably, look pretty, and have good functionality; it just takes an insane amount of effort to achieve it.

  13. I agree with your point, but disagree about the Flash bit. Javascript solutions like Cappuccino get you desktop-style view.frame spacing and autoresizing for a plugin-less, clean experience.

  14. That is why i prefer Silverlight. You have to write a lot of Jquery just to have a popup with a Gridview. you are right, i also admire people who have the ability to spend time on HTML. I am still ok with Silverlight.

  15. Html and CSS is an easy way to play you dont need to master about the loop function an variable etc.. and theres no need for debugging because the code will will not break or return error maybe, the hardest part is the alignment and browser compatibility other than that is none..

  16. It’s pretty funny that anyone would complain about the edge cases/IE quarkiness/old browser support when comparing HTML5 to Flash.

    Why would you worry about people using old Internet Explorer browsers, when comparing to Flash, which doesn’t work on a single iPad or iPhone and probably never will?

    You do realize that you can just ignore those edge cases if you want to. You’ve actively made that choice anyway — to alienate most mobile users – when you develop in flash. If I had to choose to alienate IE6 users or iPhone users, well, i think I know which ones have more money to spend. Of course you don’t have to alienate them when using HTML + javascript – it just takes more work to support them. But it is at least possible.

    1. @Jamie There’s a whole list of reasons I don’t care to go the HTML route. Mainly because I just find it annoying to work with. Of course if I spent the time I would get the workflow down to a level of comfort. But I don’t care to spend that much time on it.

      1. I’ve got no argument with the choice to pursue, or not, a particular avocation. By all means, if you just don’t like HTML, then don’t do it!

        My argument is only that in your commentary you complain about the difficulty of dealing with edge cases, while ignoring the fact that Flash doesn’t support, at all, a very popular platform. You’re already dealing with Apple as an “edge case.” So seems like dealing with a much smaller number of archaic browsers the same way shouldn’t be a stretch, if this is a primary reason for avoiding it.

        It’s also a bit of an apples and oranges comparison. Flash is an abstraction. Adobe has already announced that the future of Flash will be based on HTML5. They’ve officially stopped development of any future mobile versions of flash:

        http://www.guardian.co.uk/technology/2011/nov/09/adobe-flash-mobile-dead

        So from your perspective, you probably will still be able to develop using something like Flash, but it will simply produce HTML5 instead of something that must run in a plug-in.

        So choosing to use Flash is no different than choosing to use a design tool that generates HTML+CSS, or a library like jQuery, or anything that you can put on top of a native construct to make your life easily. You will surely be able to create great things. You will also be limited in the same way that any abstraction limits what you can do: at some point you want to do something that you know is possible, but can’t be done with the abstraction. You can either decide to learn the nuts and bolts of the trade, or you can just not do some things.

        1. Hi Jamie,

          Dan has indicated his intention to develop Flash for Mobile using the AIR runtime. Therefore he has no edge case with Flash on iOS devices. Adobe has only ceased development on the mobile flash player (browser plugin) not the mobile AIR platform (Flash/Flex Apps on devices).

          Mike.

  17. Well the reason you find it confusing is because you are looking at HTML/CSS as you look at another programming language which is not the way to see it. HTML and CSS are based on creativity, design and layout, not logical processes and order. I am more of a logical person anyway but when I go to write HTML or CSS I put my creative cap on because logic plays very little unless you want to work out how to layout everything in a grid with percentage widths and margins or something like that.
    For me it is much easier because I learnt web design before I got into programming so it comes naturally to me, so I can imagine it would be hard for you but if you have a reason to learn it once you do you will learn to love it.

    1. @Gabriel That’s not any different than Flash/Flex. There’s the creative experience of doing the UX and design and then implementing the game/app to work. I generally enjoy the layout UX as much, or more, than anything else.

  18. I couldn’t agree less. I really can’t handle developing on an indeterministic and unpredictable system. If I write code in ANSI C, Java, C#, ActionScript, Lua etc. it will run exactly the same everywhere (ok, with C you need to be careful about platform features – but it’s still in your control). I guess my take would be “I am too anal to be an HTML developer.”

    1. @Jonathan You’re suggested title is hit the mark exactly. But that sounds so arrogant. I’d rather put down myself and say I’m not “good enough” to learn HTML than to say I’m too good to learn HTML.

  19. Everyone here speaks a bit of the truth. I’m particularly drawn to the comments on the poor quality of technical writing. Most geeks can’t communicate instructions well. They may start of quite simply and then hit a subtopic they’re particularly taken with and here they depart from simplicity and the flow logic to deep g(r)eek.

    It doesn’t matter whether it’s for a Web or non-web process, the issue is the same: obfuscation sneaks in. There are geeks for example, who think that the simplest way is the most complex way and others who see elegance in simplicity. The former class are the ones who post the most advice on fora/support sites often after not correctly reading the question.

    But as to the main contrasting HTML and related display markup against the really fancy content in my view relates mostly to the issue of security and what power these various plugin technologies bring to someone’s computer. Maybe as the cloud craze takes hold and everyone operates a workstation such security issues may not persist, but at the cost of an even less technologically literate public as the technology recedes into the realm of proprietary or open but inaccessible geekdom.

  20. Wait, so you blame HTML for trying out a badly-made tutorial?

    On the other hand, HTML is indeed a mess, thanks to the great guys at W3C and browser vendors….

    But too lazy to code?????? Really???

    1. @Christian Maybe I wasn’t clear but I thought the tutorial was extremely well presented. It just struck me that there was so much to do just to make a simple lightbox. The same thing in Flash would be very logical and would take very little code.

      And I’m too lazy to do a lot of things. Learning new languages and workflows around HTML is just one of them.

      1. Oh yes, Flash is easier for the developer, but HTML/jQuery/CSS is easier for the end-user for three reasons:

        1. Speed. Flash carries significant overhead to embed in a webpage.
        2. Security. Flash has a history of really dumb security holes that put your users at risk. See also, the HB Gary emails about rootkits exploiting security holes in Flash for a primary source on the subject.
        3. Multi-platform. Not everyone supports Flash; probably for the two reasons listed above.

        1. @Riptide Valid points about Flash. And I’m not nuts about doing Flash web development anymore myself. Partly for the reasons you mentioned. I’m much more interested in doing mobile apps/games. That’s a blast.

          And as for the comment about not being a real “polyGeek” if I’m to lazy to learn something. It’s more a case of what I choose to learn. Right now I’m getting into welding and robotics ( Arduino ). So I think that makes more more polyGeeky. :-)

          1. Your main choices for interactive web dev are HTML/CSS/jQuery, Flash/Silverlight, or Java. And other miscellaneous shitty ActiveX plug-ins that make end-users with slow computers hate you. HTML might not be attractive, but it’s the lesser of a myriad of evils.

            Mobile apps and games is actually a good thing to get into, since it’s all the rage, but a lazy dev is most often not a secure one, and you might want to read up on the news about Carrier IQ and wonder, “If I screw up and create a big security hole that lets people root my users’ cell phones like Carrier IQ was designed to do, and some civil rights activists get killed or jailed because of my ineptitude, would anyone use my product or trust me as a developer ever again?”

  21. I had to change so many times in the past years that I don’t care anymore… I started working professionaly with crap asp and vb, moved to windows mobile and the also crap Win32 API, then native android development over linux kernel and some weeks ago I’ve built an prototype in html5/javascript for windows Metro syle application…. That’s why I don’t care anymore… developers working in companies has no choise, you need to move on to keep yourself employed.

    1. @Flavio I bring up a VERY important point. When you work for a company you learn what you need to complete the project placed in front of you. You don’t have the option of saying, “Ahhhhh, no that doesn’t look like fun. Let someone else do it.” As a freelancer I can do that.

      But on the plus side you generally get paid to learn, right? I’m sure you probably spend a fair amount of your personal time messing with these languages and technologies but for the most part I would imagine that if your manager gave you an iOS project you’d do most of your iOS learning at work, correct? That really takes the edge off of learning something new that you don’t particularly enjoy.

      In my case I would have to spend hundreds of hours of my own time learning HTML/JS/CSS well enough to do client work that it makes a pretty poor investment of my time.

  22. I agree 100%. HTML is the only language I have ever seen that takes 5 pages to describe 1 paragraph of text (look at the source of a simple HTML message). It seems to me that the HTML that is generated by lots of software is MUCH more complex than it needs to be. I have dabbled in HTML to design a few webpages, luckily I have never had to do anything more complex than that with it, and hope I never have to.

  23. It’s got a learning curve, but if you’re a competent coder you should be able to intertwine the two or three languages/tools you need, to do what you want.

    Dynamically generating and applying scripting (say Javascript/jQuery) on the server side (say C#) that enables the client to dynamically do things to the HTML on the client side is very satisfying, once you wrap your head around it.

    The trick s to comment that crap out of it, for later, so you can keep track of a system that spans three pages and exists partially in the “real code” and partially in strings representing the script code you are injecting.

  24. Really???? in an age of jQuery, mooTools, backbone js and the like which abstract away all the cross browser stuff, it’s still too “hard”? hmmm…..

    1. @derpenstein I don’t really think of “learning” as “hard to do”. It’s just a matter of time. And I have better things to do with my time than learn HTML.

      1. I’ve worked in Flash/Flex and extensively in Silverlight and I find the wealth of javascript/html/html5 frameworks and UI components simply astounding. plus, with the current trend moving away from plugin dependent code, i found it behooved me to make the time. The learning curve is significantly less than Silverlight or Flash/Flex and the gains are definitely worth it. Asynchronous communication between the client and server using Silverlight is massively more verbose and complicated than doing it with jQuery, or dojo or mootools. Any device, be it PC MAC Linux, windows Phone 7, anything with a modern browser can use your “goodies” when it’s just javascript and HTML. Also, I enjoy no longer being at the mercy of whatever company produced the plugin be it Adobe or Microsoft. I would encourage you to take some time and dig in. It’s pretty awesome what’s out there these days. Here, check out what a friend of mine built with just html and javascript. it’ll blow your mind http://paintwith.me/

  25. I have to say that I agree on the whole with this post. I am kind of torn with web programming. I think it’s awesome in some ways and super annoying in others. I love all of the cool stuff that’s possible in the web space, and it is fun to get something cool working and looking good. However, I always dread the part of creating the actual page with HTML and CSS only because it is so time consuming. You make a change, refresh the page, and something weird happens. Now you have to figure out why, make a change, refresh the page, and a different weird thing happens. Then it looks good in Chrome but FireFox makes it look weird. It’s so annoying that it takes the fun away from it. I am currently reading Pro HTML and CSS3 Design Patterns to see if i can pick up some patterns to reuse while creating my web pages. I am mainly using ASP.NET MVC so I have to write html and css for the UI. I feel much more comfortable with WPF and XAML for desktop apps.

    1. @Justin You make a good point about the workflow being so annoying. It’s not totally unlike Flash/Flex. It’s easy to do something that “blows up” the design. But these are all tools put together by a small group of people who work next to each other so for the most part it’s pretty logical what causes what. But doesn’t it seem like HTML was designed by a bunch of individuals who agreed on the big picture but didn’t really communicate the details to each other as they implemented things?

      Good luck. I hope that book helps solve some of your issues.

    2. Justin, I think you hit the bulls-eye, good job. I think there is a serious battle heating up between Microsoft and Google (et al). Microsoft is trying to make the operating system THE BROWSER (W8 Metro apps) and Google is trying to make the browser the OPERATING system. WPF wins with Metro and HTML/JS/CSS wins with Google. Regardless of the outcome, I hate it when you have an app running great in HTML/JS and then something breaks and it takes 3 days to get it working again. It’s faster to revert back to a previous version and start over. Reminds me of programming in the 1980’s. I’m hoping WPF (or something like it) wins! But if you want to stay in the game, you gotta go with the FLOW! Cheers and happy debugging!

    3. BTW: I think Flash is dead….Adobe is sending it off to cold storage. Sorry folks. HTML 5 is being positioned to reduce/eliminate plug-ins in favor of individual apps (more money for the big boys). 3 to 5 years before burial. Cheers to all.

    1. @Riptide If I had a large HTML component to a project then that’s exactly what I’d do: subcontract the HTML bits so I don’t have to mess with it. But you’re right. I am “privileged” since I’m a freelance developer and I can just say no to a project I don’t like. If you work for “the man” you don’t really have that option. Which is one of the main reasons I don’t do that anymore.

      And the “asshole” bit. Yeah, pretty often but I’m working on it. :-)

      1. Every web page on the internet uses HTML (or some obscure blend of XML/HTML). If you’re too lazy to learn what everyone uses for web dev and is completely across-the-board standard, you probably shouldn’t be a web developer. Either that, or you should get off your high-horse.

        Further, I hope you aren’t irresponsible enough to adapt that attitude of yours to application security, or else everything you’ve ever built and received money for is fragile and vapid.

  26. As a technology company we are always on the lookout for new technologies to emerge that will make our lives better. We have been very happy programming in Adobe Flex. We even made the move to start using it for developing mobile apps. The latter is not that great of a success. Adobe is even bailing out of this platform. So, we now have to look for a new single code base platform. Unfortunately, the only alternative in that perspective is HTML5/Javascript (Phonegap and stuff).

    I’m totally sick by it, since this is throwing us 10 years back in time. Maybe even more.

    The odds that we choose native app development (IOS and Java) is becoming more and more of an option, since we detest HTML/CSS/JavaScript development. We have to build the same app twice, but I am becoming convinced that it is cheaper than developing it in HTML5/JavaScript.

    Thanks for your post!
    Franck

    1. @Franck I’ve had a pretty good experience with Flex/AIR for mobile so far. There are definitely big changes coming with Flex going to Apache. But I think the brightest days are ahead of us. But you’re right: native Android development might be the way to go. It’s something I see on my horizon. But it will be a while before I have the time and need for it.

  27. While I agree that this “HTML development” is not as straight-forward as a rigidly enforced OOP language like Java, there are a lot of cool things about it as well. (I have quoted HTML development as you are more directly talking about Javascript development. HTML is the data storage / transfer medium and CSS is the set of rules that the browser should render by. Any actual calculations and whatnot are done in Javascript and in this case jQuery as well.)

    I think the main reason so many people get so frazzled by front-end web development is due to the separate nature of all the technologies that you must use. In Java you can use Swing to create a GUI, JDBC to connect to a MySQL instance, etc etc. In web development all of these different responsibilities are handled by different languages. I know that when I first started with web development I was wholly overwhelmed by the required knowledge it carried.

    If you take the time to understand the roles that all of these different languages play and how they (sometimes) play nicely, you may see this “super simple” example in a different light. As a short breakdown of some of the technologies a web application might require:

    //Handles DOM manipulation amidst other technologies like WebGL
    Front-end scripting language: Javascript, DART

    //Controls how a page is rendered
    Front-end styling: CSS

    //Used as a means to transfer data from the server to the client
    Front-end data transfer / storage: HTML, XML

    //Generates the data that is sent to the client
    Back-end content generation: JSP, C#, PHP, RoR

    //Stores data that content generation relies on
    Back-end data storage: MySQL, PostgreSQL, MongoDB

    IMO these technologies all work together well as they have a distinct separation of responsibilities / interests. Don’t bother trying to understand CSS though. I usually look at CSS as that deranged creature skulking around the place; you best recognize and admonish that it is there but you’ll never understand it and it is disgustingly hideous.

    1. @moarcodeplz LMAO about your description of CSS. True, very true.

      Thanks for the rundown on the browser app stack. It is pretty much mirrored by Flash/Flex. I use PHP/MySQL on the backend, AMFPHP for transferring binary data between the client and server and typically Flex on the client. For me the problem is that HTML/CSS/JS are so similar to Flex development but with hugely annoying differences. I would expect something to work one way and it goes in another.

  28. Thank you! Working with a page markup language is beneath the dignity of a real programmer. The whole browser paradigm is a kludge that has evolved to get even kludgier over the years. Also, working with any language that ends in script is also beneath the dignity of a true programmer. One word to ease your pain, buddy: Telerik

  29. I can relate to the original poster, but I don’t think the situation is as bad as all that.

    First, you can debug HTML/JS using Aptana with Firebug, set breakpoints, inspect variables, all the rest.

    Secondly, there are some frameworks that can help. The best I’ve seen so far is Vaadin. Yes, it’s Java, but it’s built on the Google Web Toolkit which compiles Java to Javascript, so Java isn’t actually required when it’s out in the field. I haven’t done much with it, but the demos on the vaadin site are damn impressive.

  30. … and how about those French? The French language is so hard to learn with all of those gender specific articles. A cat takes a masculine article and a dog takes feminine? It makes no sense. Why don’t they just speak English?

    … waits for the sarcasm shockwave to destroy the comment board…

    1. Have you actually used these debuggers? They are all an ungodly mess. Its very hit and miss whether they will work or crash your browser. Its the level of quality I’ve come to expect from a world dominated by Javascript.

  31. Understanding that HTML is not a “programming” language but merely a formatting language (hence, how exactly would you insert a breakpoint?), HTML itself is little more than an annoyance to wade through. I do agree about jQuery, though. What gets me is how PHP and Javascript (and especially jQuery) programmers have not only shunned the concept of avoiding single-letter variables but actually seem to go out of their way to flagrantly violate that time-honored rule. I don’t even bother dealing with someone else’s code anymore. If I can’t plug-and-play it, I don’t use it.

  32. See, this is why I use qooxdoo. It’s the only web dev framework out there which, although a bit quirky to set up right for debugging, completely isolates you from html and css, allows you to program as if you’d be using Swing, generates fast web apps, and comes with an extremely rich library of UI components. Added benefit: a nice, flexible and powerful object model for Javascript, providing you with proper inheritance, interfaces and traits-like constructs. It even gives you AOP for Javascript! In short, it’s a web dev framework for programmers, not originated with and not intended for typical web developers, built specifically for rich web apps. And not at all aimed at building rich and dynamic web sites.
    (I do agree, as a colleague noted, that I’m a bit obsessed about it, but hey, it solves a problem nothing else solved for me, so I definitely want the whole word to know about it.)

  33. Anyone considered the possibility that the author of the “Super Simple Lightbox with CSS and jQuery” is refering to a lean set of features of the Lightbox rather than that it’s “super easy” to implement? :-)

  34. I use Google Chrome for debugging JS – use Ctrl-Shift-J to open. It allows setting breakpoints, step into/over/out, object inspection, inspection of call stack, etc. There’s also a console for entering and evaluating JS statements.

    Here’s my list of the worst things about debugging JS (besides cross-browser, cross-OS consistency problems):
    1. debugging minified JS is a pain. Chrome debugger has a pretty-print feature which is great for making minified code readable, but it is still a pain.
    2. use of anonymous functions arecommonly used in the major JS libraries, and this renders the call-stack useless!
    3. frequently, it isn’t clear where an event handler is being assigned to a DOM object.

    1. @Kay, Perhaps you are thinking about code written in Flash Pro on the timeline. If that’s the case then yes it is ridiculous. I can’t think of a more convoluted mess than creating apps and games that way. But if you see the code structure of an app/game written in Flash Builder then that’s a whole nother story. That is very structured.

  35. I know, it sounds like whining. But whining can be productive.

    I work for a company that has a Flash version of a product and a HTML5/Javascript version of the same product for use with the iPad. The Flash version is far more capable, and the ActionScript code is far more coherent. But the writing seems to be on the wall for Flash, so what do we do? Toss out all the functionality that HTML5/Javascript can’t support? Learn how to code around the idiosyncrasies of all the browsers in existence? Go back to procedural programming and rewrite everything in JavaScript?

    These are valid questions. I think there are some answers out there (CoffeeScript seems more palatable than JavaScript, the GWT addresses a LOT of issues including browser compatibility, Vaadin provides a mature component framework, Backbone.js offers data binding), but it’s not so easy to find what you need, and some features (say, video recording from a webcam) are just not there in HTML5 at all.

    It’s not so much as being forced to learn French, it’s more like being forced to learn a pidgin patois that seems both complicated and limited at the same time.

    1. @Scott, I’m more interested in going toward native Android development. People are saying that Flash is dead but I think that the browser may not be far behind it. It looks like, for the foreseeable future, apps will begin to dominate. If for no other better reason than they are easier to monetize.

  36. You “despise learning new languages”?!

    Your career will be at most 10 years long then. You have to learn new languages as you go along. I’m not using any of the languages I used 20 years ago – they are all dead except COBOL.

    HTML isn’t that tricky. It’s a declarative language, so there’s no “debugging” since it doesn’t execute in steps. It is like a SQL query – the whole thing matters, all at once. Every language has the problems. The opportunity to solve and work around those problems to arrive at what you want should be attractive. If not, then you might be what I call a “short hair programmer” – which differs from the “long hair programmer” in that you’re not really interesting in problem solving – you’re interested in producing product. Your post makes that pretty clear – you’re irritated by stumbling blocks which get in the way of production. On the other hand, the long hair programmers live for that stuff – the more problems we can solve, the better we feel (and it doesn’t matter if we ever ship anything). Most shops need a good balance of the two, as the one group can’t solve the tricky problems, but the other group never finishes anything :)

    1. @Jasmine I didn’t say I despise learning all languages. For instance I’m looking forward to getting into native Android development. I just find HTML distasteful. But I should mention that I did it for a living back between 1998-2005.

  37. I am no “Expert” but I do love to code. After reading your article I couldn’t stop smiling :-).
    Please don’t loose your passion

  38. i dont know how did i reach here from google but its great post. Seems like people who want to learn new things coming together for party. Whatever said by polygeek is very much true we need new to implement thing that is not possible with easy thinking and that is what CSS+HTML+JAVASCRIPT master do.I wonder how can i make myself like them?

  39. Hilarious. We don’t need you, anyway. There are enough of us who aren’t lazy and love what we do to keep moving the web forward.

    Flash and Silverlight are in a slow death spiral, kids. Enjoy it while it lasts. I work at a company that just fired their entire Silverlight team because a couple HTML developers replaced them. Just a couple. You may be too lazy to have a job in a few years.

    1. @Breaker I’m sure the Silverlight team has moved on to a better place. :-)

      It isn’t fair to compare Silverlight and Flash, but whatever. Personally I think the browser is dead. The money, and excitement, is in mobile apps.

  40. @polygeek : I think there is a bigger reality you may be missing (don’t know though).. Software development basically requires you to learn new languages and environments. I started in the early 80s and have been through 2 full blown upgrades to my skillset both in OS and languages (as well as design methodologies). And at this point I’ve had to code in at least 7 or 8 languages. Its not tangential to the game, it IS the game. If you don’t like learning new languages/OS’s and stuff, this may not be the right game for you.

    At one level I definitely understand.. much tech change for developers seems so utterly pointless.. And don’t even get me started on the utter stupidity of Javascript and how it contributes to a lack of quality.. But so far I can’t see a way personally to affect all this short of nuking the world and starting over (not much point in THAT).. I’ve just come to accept that this is the way things are..

    1. @Richard, Totally agree. I hope I didn’t imply that I don’t want to learn ANY new language. I just don’t want to do HTML/JS/CSS work. There’s plenty of other languages that are appealing. I think people assume that a Flash dev should learn the HTML stack just because it’s the most direct translation.

  41. @daniel : then how come I can link in calls to JS in HTML? That line is blurrier than you are making it out to be. If you are to really know how to use HTML effectively, you MUST understand how it fits in with the entire execution stack and how things happen inside the browser. Sounds like a programming language to me. Or are you arguing that only classic sequential code counts? If that is the case, then RPG (the main language for System/36/38/AS400 systems) is not a language.

  42. I love this article because its exactly the opposite of how I think. I’m an HTML dev who has an enormous amount of respect for the C++/Actionscrip/Pretty much any other compiled platform devs, because I just look at the code and sigh. I did learn C and VB but I always prefer my HTML/Javascript/CSS/PHP/Python any day.. except when the technologies have to work together :D

    1. @aerofly5 I have the utmost respect for HTML devs for the work they do. More-so because you/they do work that I just can’t bear to do myself. It’s sort of like the respect that one might have for nurses. They work insanely hard, get little respect, have to put up with ego centric doctors – just like you have to with designers. :-)

      So, respect aplenty for your work.

  43. After developing multiple large enterprise apps for many years (since well before the term “ajax” was coined) I recently started working with Flex and found I was WAY more productive almost immediately. Flex’s databinding alone makes it significantly better/easier than HTML/JS. And yes, there are libraries out there to accomplish things like that but it’s just not the same. I love the web but HTML5 won’t be the answer – JS is still painful compared to AS or pretty much anything else. And as HTML5 gets further along more and more cross-browser issues will arise. Wish it wasn’t the case but I’m just not seeing it…

    1. @HTML5IsTheWeb’sTebow OMG, you’re so right. When I work on a project where I can’t use data binding, like a pure Actionscript project, I end up writing lots more redundant code. I’ve become very addicted to it.

  44. Seriously good point on this article, for over ten years I have looked at HTML and Co and wondered when the world would move on from this madness. HTML is in short messing about with the inner workings of MsWord when all you want to do is write the material, drop a few images and present it nice! Also, as you need the whole stack on the front end why not have a single tool that integrates all that you need with a nice user interface? The only purpose it serves, from what I can see, is to keep people like me away from that domain. Has anyone got experience with Silverlight, Expression studio? Is this what it is aiming at solving?

  45. So how come when I’m prompted to download the app, I just say no, and go with the mobile web version (or sometimes even the desktop version) – It’s because I don’t want to have to d/l a bunch of apps which clog up my device, don’t function properly, and require constant updating.
    I’d rather go with the browser, and get everything there.
    Apps are not dead, there’s still a big place for them, but I don’t think they’re all they’re cracked up to be either.

  46. HTML’s ok on its own. but HTML + CSS + javascript + different browsers + catering for unknown viewing experience (screen sizes, mobile/desktop, etc) = way too complicated

    f**k knows where web development will go in the future. but the whole messy situation is ripe for some new tech to come along & simplify the ass out of it

  47. Ignorance is bliss. The Web developed as a text only domain based on markup language. Adding images and then audio, video etc have complicated that simplicity rather than the simplicity of video having to contend with hypertext mark up. It is the hyper status of the Web that distinguishes it from TV and radio with their relative lack of interactivity. If video and audio flows to desktops was all there was to it then TV, radio and telephones would continue to be just fine without Flash, mpg, Java, CSS, HTML, C# or whatever. It makes no sense to bash the foundation saying it’s useless when everything is trying to cram on board/into to stream through its channel.

    1. @AxIH Yes, I know what HTML is. Very simple stuff. I’ve been doing it since 1993. I just don’t like it. And most importantly the HTML/JS/CSS combination are “messy” – I’m just trying to be nice.

  48. Let’s face it, most of the things we do are in essence repetitive. Create a button, retrieve data, send data… it’s been done.

    We should be writing simple functional applications in 20 lines of code now and then spending time concentrating on the things that we never seem to find time for instead of making things harder to learn, more convoluted and error prone.

    Common designs should be correspondingly simple to code, with a slight increase in complexity as the design becomes less common. Not a couple of easy things followed by a sudden plummet into an abyss of language variants, markups, cryptic tools and poorly documented API’s.

    Some of us have to actually get stuff done. And do something besides code as well.

    1. @Underground You nailed it. Anything new and powerful, like HTML5 boasts, should equally make it easier to accomplish a given task than what preceded it. I’m sure that in many cases that’s true. But not for all. True 3D and games are still, from what I’ve looked at, are much more complex in HTML than is so in Flash.

  49. haha – good post that any programmer moving from a robust IDE to the wacky world of web dev can relate to. When I think about the tools that are out there for web development right now, it often brings to mind an old song by U2… “and I still, haven’t found, what I’m lookin’ for…”

  50. Good post. I agree. I’ve been trying to get myself interested in web development since 2000 – it just won’t sell to me.

    That’s OK … I’ve been at this for a long time (35 years). I write mainly business and back-end logic mostly in C# and T-SQL now. I’ve done a little ASP.Net development and can’t honestly say I cared for it. The other guys can take my data and deal with the the front-end. Any GUI I write will be to WinForms – I can get the answers I want and the code will run practically anywhere.

  51. I was pretty much in the same boat as you until about a year ago. My company decided they wanted our web app to work on the iPad so we began investigating that panacea HTML5. I started off as HTML + JS developer back when they called it DHTML, so I was initially excited to see how things had progressed since I’d moved on to Flash/FLEX. In some ways it’s still as much of a mess as it ever was, but it was pretty cool that all the stuff that used to be such a pain in the ass in my day (like CSS2 support) was all pretty standard now and it was mostly the new stuff that was causing compatibility headaches. We ended up choosing the ExtJS framework because it mapped pretty well to FLEX and the class structure we were using. It’s definitely more painful, but in the end it’s just a tool for solving problems and that’s the part of the job I enjoy the most.

    I hope FLEX enjoys a revival as an open source project so that I can put those skills to good use some day, but for now I’m riding the HTML5 bandwagon.

    1. @Kcorb You said it’s a bit “painful” but having your company pay you to learn HTML5 takes the sting out a bit doesn’t it? The downside to being a freelancer is that I pretty much have to learn this stuff on my own time. When it’s something fun and exciting to work with then it’s a pleasure. But when it’s something messy it’s hard to keep at it and not wonder over to the couch and play some XBox. :-)

  52. you are a fucking idiot.. step 2 has no logic? think again.. or just say html is difficult.. Flash has solid future for next 3-4 year? are kidding me? heard about canvas? you are a few years back dude..

  53. Yes, you can put break points javascript, deal with it…. wait… HTML debugging? you got it all wrong, you should have started from somewhere else… how about the speech “The Primitives of the HTML5 Foundation”? give it a try (you can find it here http://www.youtube.com/watch?v=WxmcDoAxdoY ), watch it, enjoy it. Look, you may think that you don’t have the HTML gene or something, but it may be actually that you got to the wrong place… when they say it is “super simple”, it is marketing, of course it is super simple… for those who already know how! And once you know how you don’t need to look to any “super simple” tutorial, you just go and do it. When something says it is “super simple” it should be a warning for you.

    Hmmm… I think, all in all, you are not a newbe, are you? what’s going on whit you? If you don’t like doing web applications that’s fine, let’s say it is undefinedly postponed, shall we?

    If you are feeling lazy about doing something… well, that is just how a developer got to feel, it means you are getting mature. You got to be lazy to have a computer do your stuff instead of doing it yourself, don’t you?

    Ok, so may you need some motivation, and motivation comes from yourself… it just happens that sometimes you also need something or somebody to show you that you can find what you want. I hope the speech I gave you helps on that. If it doesn’t may be it wasn’t the rigth material (I don’t know you anyway).

    When a developer complais because of lazyness and that things should be simple it means that you are in the position to look for a new tool, maybe even to create it, something that will make things easier for yourself and your homologous developers. You know, those tool you use where made by developer too, why can’t you be one of them? Think about it, how comes that flash makes things easier? does it means that it is simpler underneath? NO! it means that it does more work for you, it is a matter of tools (and the runtimes backing up those tools).

    Ha, I know what they say: “do not reinvent the wheel”, well screw them! There are plenty of reasons to create new wheels, beacause we can make better ones, because we want to learn how the wheels works, because we need a new wheel for another terrain, because it is cheaper to create a new wheel instead of buying one done, and so, and so, not all of them apply here, I know. It is a hierachy, you do the tools for the end users, and they do the tools for you, they don’t want you to come and take their marked, do they? of course they will down you!

    Ok, so yes you can, does it means it is reasonable to? may be, may be not. I don’t know. Many try, only a few success. They all learn in the process (and have a new entry in their resume) that’s for sure. You could just begin and try to bring more people along.

    Ah, I know… there is no time, there is no budget. Well, you won, you can give up now, because you are too pesimist to think you can manage do get something done. Of course it will take time, but you can start by making templates for CSS, and an engine to process them to make it simpler… maybe somebody has begun that and is wating for you to come along and join. Or maybe it is an old wheel that failed in advertising or is too expensive. I don’t know.

    Yes, being freelance can be a pain, why don’t you think in growing and become your own software company? bring some friend developers and get the thing rolling. You are not going to be able to make all the good stuff as freelance anyway. It is better to be a purly corporate developer, what it is needed is to get in charge, then you can dadicate yourself to make generic solutions and sell them (instead of solutions for a unique client), make big video games, or make tools for other developers. You don’t have a client fixing your deadline, you get a lot more freedom, with a lot more of risk.

    Take your chances, you decide.

  54. So 134 comments and counting, nobody here has mentioned how you can write HTML5 using your existing your existing Flash Platform skill sets. If you know AS3, picking up haXe is easier than JS. If you know haXe, you can use the NME library that lets you deploy to iOS, Desktop (Win/Lin), HTML5, Android, Web OS, and Blackberry. No virtual machine like AIR is required because the code you write gets translated to a C++ version of it which is orders of magnitude faster than JS. I have been using Ecipse for a very long time so jumping into FlashDevelop is pretty refreshing.

    http://knowledge.lapasa.net/?p=253

  55. Hey people just wait for Flacon-js cross compiler which will be available by end of 2012. Flex developers will enjoy coding using as3/mxml and the published output would be in html5/jquery/css…..

  56. I’d like to point out that while polygeek has been attacked and insulted by a fair number of “pro-html” responders who not too surprisingly didn’t seem to really grasp what he wrote (over and over if you read the comments), polygeek has remained heroically polite and considerate.

    Good for you dude. You are inspiring.

    I can tell you one issue with the developer community is that there are a lot of immature people involved. I got news for some of you – you will be happier, and probably develop better software if you unwind your pride. There is more to life than propping up your ego.

    1. @Spender Thanks dude. I really appreciate your comment. Yes, I’ve had to deal with a lot of negative comments before. Primarily with my RunPee app. While most people love it there are those who berate it because it promotes using an app during a movie – something people understandably get upset about. So I’ve learned through practice to keep cool and just roll with it. I just assume that if I met a person who has a fiercely negative comment under different conditions we’d become good friends. That helps.

      And I don’t think of the “immature people” like that. I just try to remember that they’re passionate about something and that’s a good thing, most of the time.

  57. It’s really just a different world with steps created in a slightly different way that has SOME advantages over traditional client server programming. Having programmed for years in many OO languages, I will tell you, I’ve never dived too far into some of the library code–>it gives me a headache and it just “freekin’ works”. Similarly, the intricacies of each step of the HTML/javascript and maybe back end web stack can be a complete headache –> but at the lowest common denominator if you use the libraries and templates out there that every one kinda sorta indicate as being “freekin’ works/easy awesome”, it’s no worse than anything else.

    Then you start to fix and flex and within a short period of time, you too will be an HTML/CSS/DOM Jedi.

  58. Html is far from robust with regard to debugging and such. With such a broad and open platform it is not controlled by a single source like vba and the like, making it difficult to form robust debugging.

    I also hard code using notepad. For some unknown warped reason I actually like it and can somehow through the grace of God produce some amazing results. Don’t hate me because I like HTML. HTML does sort of suck, but at the same time it is very efficient when done well, hence hard coding in notepad. I suppose it is a focus or zen thing. THe thing that makes it a real bitch to work with is that we are not only doing the html stuff… We also are incorporating c,vba, jq, js, flash.

    Our geekdom does get taxed at times! But thats what makes us all worth our weight in the vast world of technology!

    WHoooooooooo! HTML!

    Back to notepad
    coding
    coding
    #(*$#$ forgot the end div
    crap!
    fixed it now my entire page is #[email protected]’d up
    Grrr!
    I hate this shit….
    Oooooooh I got it!
    Dang I am good!
    Patting myself on the back
    This frigg’n site is going to be awesome
    Uh Oh now what the F(*&
    Hmmmm………………
    ………………
    ……
    ….
    Div?
    another wrapper
    crapp’n Chrome
    will it work in firefox?
    nope (*&% ah who care ff is on the way out anyway!
    Work ie 6 and 7 not 8 but 9 OK!

    Hmmm try margin instead of padding
    Ooooooooooooooooooooooh! it worked

    Hmmm doing som inline css (hope I dont forget about that 8000 lines later)
    why the f is it not accepting my font setting?…….
    errrrrrrrrrrrrrrrrrrrrrrrrr!
    FONT;ARIAL!!!
    Hmmm……………….
    …………….
    grumble grumble
    Eureka!
    Not FONT;ARIAL
    FONT:ARIAL glad I caught that one
    into the wee hours of the night I work and work beating my mind against the wall of frustration, only to awake from my eyes open staring at the screen slumber, miraculously, with a completed product!

    That is of course…. Unless someone interrupts me then Poof! it come tumbling down

    I love you HTML!!!!!

  59. @Russ, you hit it the nail right on the head.
    HTML and CSS debugging is close to impossible, as a lot of time you don’t really look for wrongly written code, but browser quirks that display elements differently. Even with the advent of standards, and nice new browsers pushing them, there is still a way to go.
    I work with a team of programmers who treat me with a lot of respect, because though I don’t know how to code like them, I can work around their code, but none of them can get their head around mine.

  60. I can’t help thinking that HTML is just a means of laying out a web page, window, form, etc. to present a UI to a user. The javascript or VBA under it is what makes it function (the business logic). Very much like XAML (for WPF) with C# or VB under it to do the business logic. And, through HTML, you can connect screen fields to your business logic variables.

    Do any of you out there think so?

    I would hope that there are IDEs available to make laying out your page in HTML as easy as dragging and dropping controls where you want them (like VS has provided for C++, C#, and VB). Let the makers of these IDEs make it easier to work with HTML.

    Thanks for this forum.

    1. @jiml Nope, one would think it would be that easy but it’s not. Too many inconsistencies between rendering engines. It’s kind of a mess. But it’s a mess some people enjoy. It puts me in a kitten-kicking mood. :-)

  61. I have exactly the same opinion. Have you checked out Dart? More than likely you’ll hit that running and won’t have to waste time with JS. I think it should be mature with a good IDE and all the good quality support / librarys / tutorials you’d expect from Google. Much easier to grasp for a AS3 / Flex developer. But hey wait until you need it, your still learning oop, design patterns etc and thats all transferable. Saying that Carpentry sounds great, if its something you’ll enjoy. Do we want to spend our one life doing the same thing?

    1. @Mark I’ve heard of Dart but I haven’t done anything with it. My hope is that with the Flex/Spoon news we’ll someday be able to export our Flex apps as Javascript or something like that. That’s assuming I’d have a need for it which I’m hoping I wont.

      And you’re right, who wants to do the same thing all the time?

  62. You do know HTML is extremely static and you get dynamic effects from things like CSS, Java, Javascript, ajax, etc. etc.
    I usually don’t hear anyone calling themselves an HTML developer. (Web developer, yes.)

  63. I have to agree with the article, partially anyway, as HTML and CSS are esoteric languages. I spent some time learning HTML/CSS/JavaScript and didn’t find it too difficult but I don’t have the same love for it as I do desktop development using C/C++ and sometimes C# (I am not a web developer by the way). Also, from what I understand, web development has its own problems, such as statelessness and multi-browser compatibility. I watched the Douglas Crockford talks on JavaScript and I found it interesting that he had such strong opinions against CSS and the direction of HTML in HTML5. Either way, I tip my hat to all of you HTML/CSS developers out there.

  64. I love your post and I also agree with your view of the future of the Web Browser in your comments. Like you, I also don’t think the Web Browser has a bright future right now. I think people have to realize that this latest disruptive cycle in technology is really in favor of the large corporations and not open standards. Apple was never a big proponent of HTML5, it used it as a smoke screen for what is arguably a more proprietary approach to the Web with its app store and preference for Objective C. Microsoft is doing exactly the same thing. It doesn’t want plug-ins in Metro because it wants to mimic Apple’s model and create a store where it can gain huge profit. On the other hand, Google wants the Web model to succeed, but it realizes the current HTML/CSS/Javascript stack is not ready for prime time. That’s why it promoted DART as the replacement for Javascript–which Microsoft then tried to veto, effectively blocking Google’s effort for real change in the short term.

    Microsoft and Apple don’t want strong competitors in the Web Browser–it undercuts their business models. So, by promoting HTML5/CSS/Javascript they are effectively regulating the Web Browser to being a second class citizen in the new mobile environments. The browser will be for simple things–rich and desirable experiences will be found in the app stores.

    I also develop for the Flash platform (Flash/Flex/AIR/FMS). I have developed in HTML and JS–but left those technologies years ago. Like you, I have also been involved in a number of mobile projects over the last year that use AIR to push mobile apps out to a variety of devices from one code base. Recently, with the Native Extensions now available in AIR 3, I have been able to push the capabilities of AIR even further than I thought possible–including developing for the Kinect and mobile augmented reality. AIR is a powerful tool that will make the Flash platform relevant for many years to come.

    1. @Anthony I like your thinking about Apple and MS. They are of course doing what they do best: maximize profits for shareholders. We would like to think/delude ourselves into believing that Apple, MS, Adobe, Google, et al. are pushing web standards for the benefit of the Internet and people. But that’s not true and never will be. They only do what they ‘think’ is best for their profit. And usually focus on short term profit only.

      Sounds like you’re having a blast with AIR and ANE. I’ve used ANE a little bit – vibration, compass. It certainly opens up a lot of doors. Mobile AIR development is about the only thing that gets me out of bed anymore. :-)

Leave a Reply

Your email address will not be published. Required fields are marked *