It seems to be Spring season for rich-interface technologies. Most trying to blossom with a story about how they’ll rescue developers from the perils of web programming and its dirty tech of HTML, CSS, and JavaScript. These stories are told with a shadow assumption that the only reason developers put up with this trinity of web specs is because of what they get back in form of ubiquitous distribution.
That assumption then leads to the fallacy that if only someone could come along and give us a competitive distribution story using more “advanced” and “rich” interface technology, they’d surely be golden. That all web developers are waiting on is someone to save them from the browser mess and deliver them the clean desktop-development experience of yester-century.
In the immortal words of Eric Cartman: Bullcrap.
As a web developer, I’d like to confess my deep appreciation of the restricted canvas that we get from the basics of the web. We’ve entered an era where the browsers are good enough, compatible enough, and, most importantly, our understanding of how to use what we got has been raised to a level where things are finally looking pretty good.
I actually find the development experience between a modern web-application framework, Firebug, and current JavaScript libraries more than just bearable, I find it downright pleasant. Even more so because it’s born out of the pragmatism of not needing to be perfect. It has evolved over a decade of experimentation.
On the user experience side of things, we’re not even close to tapping out the potential of HTML. The majority of web sites and applications still suck. And if most developers and designers can’t make a clean run with the training wheels and constricted playground of HTML, then we probably are in no rush to start playing with a Ducati on the Autobahn.
Benjamin
on 27 Jun 07I have a deep love for html, css and javascript. I agree with you on the notion that we haven’t fully explored the potential of html, personally I find that there are alot of things within html4.0 that I wish were carried over into xhtml. How I miss valign and align. No need to use display: block. It just worked.
Alot of designers and developers (I didn’t say all, just alot of them) don’t care about frontend, they care just enough to make it work and more often than not don’t think about how its going to affect major updates in the future.
Eli Duke
on 27 Jun 07reading that was like slipping into a nice warm bath…
RJ
on 27 Jun 07What other languages have you tried? I can understand why you like troubleshooting all those browser issues if you’ve never tried Flex.
Klas
on 27 Jun 07Thank you – I grew up with HTML and all the rest, I never understood sneaky gadgety features with merely more usefulness than, well, anything you can do and create with proper markup-knowledge and a well-structured approach.
I think designers care about frontend, that is their job. But too few actually know what they are doing … or maybe I am just too closely attached to the printed-content environment.
Just because it can be done doesn’t mean it should be.
Jake
on 27 Jun 07David – good points. I know you guys have talked about it in the past but I’m often intersted in the breakdown of duties between designers and developers. Do you, as a developer, typically write flat html and css yourself, or is that handled more by the designers. Thanks.
Johnny Fry
on 27 Jun 07Replace word “HTML” with “SGML”, “CSS” with “resource files” and “JavaScript” with “Cobol”.
You have now officially become “that guy”. The guy that hates progress. That guy who sees no value in these new fangled technologies. That guy who saw now value in the Internet 15 years ago.
And so is everyone who is agreeing with you. “reading that was like slipping into a nice warm bath…” might as well read “I don’t like change. Change scares me, I find the way I’ve always done things warm and comforting. Make change go away. “
Joe
on 27 Jun 07Maybe we’ll all have a retro phase of web development and start using tables & blink tags again ;-)
Johnny Fry
on 27 Jun 07Johnny, I have to disagree. Javascript/HTML/CSS are and will evolve, so reducing them to a static set of technologies in opposition of newness is oversimplifying the conversation.
Rick Cecil
on 27 Jun 07Amen, David.
Johnny Fry: I’m not sure I would call Flash or Java progress—or any other plug-in technology progress. HTML, CSS, and JavaScript are rich languages whose potential has barely been scratched.
Randy J. Hunt
on 27 Jun 07Oops, sorry I used your name as mine, Johnny.
sandofsky
on 27 Jun 07Can anyone tell me what is possible with these new technologies that wasn’t possible with flash years ago?
Ryan Allen
on 27 Jun 07I agree with your sentiments entirely. Flex? In the immortalised words of Eric Cartman “suck my balls” :D
Nathan
on 27 Jun 07DHH goes into a bit more detail in this podcast on the same subject: http://www.hanselman.com/blog/HanselminutesPodcast65MartinFowlerAndDavidHeinemeierHansson.aspx
Peter Armstrong
on 27 Jun 07Hi David,
While you are a much better coder and a lot richer than I am, you are 100% wrong about rich Internet applications.
This is even more misguided than your “You’re not on a fucking plane” post.
This debate is not “Rails vs. rich Internet applications”, by the way. I am a proponent of using Rails and Flex together.
See the MIT licensed code samples from my book Flexible Rails for an example of how Flex and Rails can be used together. (Yes, this is blatant and shameless self-promotion, but it’s extremely relevant to this discussion so I’ll mention it anyway: I am trying to show the world how YOUR framework can be a key part of the next generation of rich Internet applications—applications which go way beyond the amazing tricks that gurus like yourselves and Thomas Fuchs have been able to do with JavaScript, HTML and CSS.
If someone like me can put together a decent, fairly well-designed application with hardly any code (or time or funding), imagine what someone with your (and your colleagues’) talents and resources could do with the technology! I bet it would blow away what you have done so far, which is already very impressive and successful…
Best regards,
Peter Armstrong
Lance Yamada
on 27 Jun 07@Johnny I don’t buy this Flash/Flex/Apollo as the next big thing. I’ve seen horrible implementations of those technologies. It is still in the hands of developers to things right. RIAs are a different tool, not a better one.
Ben Kittrell
on 27 Jun 07I completely agree.
About 10 years ago a friend said to me, there’s this new technology coming out that’s going to make HTML obsolete in a year, he was talking about flash. I knew this was bullcrap right away.
New things will come and make their mark, but until there’s a major protocol and client revolution, HTML is king.
tom
on 27 Jun 07Yes, the surface of HTML has barely been scratched. Yes, HTML, CSS, and Javascript form a very powerful toolkit. I get excited when I read the HTML or CSS specs or proposals. But then I realize that very little of it do the browsers of the masses actually implement. HTML/CSS/JS is only as good as its weakest link – and right now that link is very weak.
Mike
on 27 Jun 07I use JavaScript/HTML/CSS everyday. I also occasionally use Ajax. What are the new technologies we’re supposed to be using?
Nic
on 27 Jun 07It’s not about what wasn’t possible with Flash before. It’s about the fact that we’ve not truly explored the basic structure, presentation, and behavior languages that have made up the Internet since its beginning. We look at Flash, Silverlight, or AIR as escapes from this, when in reality there’s potential yet to be tapped in (X)HTML, CSS, and JavaScript.
Of course, I suppose a similar argument could be made against Ruby. But that’s a flame for another day.
Chris Kampmeier
on 27 Jun 07@Peter: bringing Rails (and the size of David’s wallet) into this discussion is a red herring. This conversation is about the technologies in the title of the post and the new stuff out there from Microsoft and Adobe.
I think the point is that 1) Flash/Flex/Apollo haven’t shown themselves to be a credible replacement for our current standards for markup, styling, and interaction; and 2) even if they had, a lot of us find the design of the current standards to be really beautiful in unexpected ways, and we don’t need Microsoft and Adobe to reinvent the web in their image for us.
When I think about the environment and time when these standards were conceived, it displays an incredible amount of foresight about how the web would work on behalf of the big thinkers of those days. We owe a lot to the designers at the W3C, browser makers, and elsewhere. There’s a lot about the makeup of the DOM, the box model, markup semantics, etc. that has stood the test of time, evolved beautifully, and enoucouraged the development of the web in unexpected ways.
You’d think it would be the other way around—that these 10+ year-old specs would have stifled us out of business by now. On the contrary, the constraints they introduced were needed. I’m tremendously excited about where we go from here, but it’s not because of these productized, closed-development platforms. It’s because of the evolutionary, open-source, community-based process that got us here in the first place.
Jehiah
on 27 Jun 07I’ll second that opinion
Mrad
on 27 Jun 07Sigh. More of this “my technology is better than yours” crap.
This is always gonna be a pissing match folks. There’s always gonna be someone trying to call bullshit on something they’re not willing to open their mind to.
But you don’t hear many folks say “hey, lets use the right tool for the right job”. Just because you can do something with a particular technology doesn’t mean you should. And some poorly built sites & applications don’t necessarily speak for the technology as a whole.
“Rescuing” developers? I can see how people get aggravated with that. But please at least consider some of these new technologies and ideas, if even for only a fraction of a second. You might get an idea or two. Or gasp you might like it…
B
on 27 Jun 07More of this “my technology is better than yours” crap.
Uh, what? HTML/CSS/JS is everyone’s technology. That’s a big part of the point. It’s not owned by anyone. It’s open to all. It’s not owned by Adobe or Microsoft or Apple or whoever.
Peter Armstrong
on 27 Jun 07@Chris: You’re right about the wallet thing being a red herring. My bad. My point about Rails though, is not a red herring: the thing that to me is unfortunate about this is that when DHH posts stuff like this it portrays the technology landscape as a “battle” between HTML + CSS + JavaScript on one side vs. Flex (or Silverlight, which I don’t care about) on the other.
Now, what do you think David is advocating as the best way to work with HTML + CSS + JavaScript? Rails. So, implicitly, DHH is framing the debate as Rails vs. Flex. And since DHH’s opinion obviously carries a lot of weight in the Rails community, the underlying assumption many people in the Rails community will get from reading posts like this is that Flex is somehow the enemy of Rails.
If DHH posted “Hey everybody, if there is something you can’t easily do in JavaScript, try using Flex with Rails—they work great together” here, the attitude of many people in the Rails community would be different. The point I am trying to make is that it is not a battle or a pissing match. I really like Rails, and I really like Flex, and I like using them together.
Ryan Allen
on 27 Jun 07I’d like to elaborate more on my above comment. I find it bitter-sweet that MS is selling their new ‘vision’ for the web when IE has intentionally hindered web-app development to protect their business interests. As far as anything they do these days I think it’s good advice to proceed with caution. They’ve made it fairly clear they’re only interested in lining their pockets.
The thing that is great about HTML/CSS/JS is that you don’t need to be throwing money at anyone to use it. Nobody owns it, nobody can monopolise it, and anyone can develop it in, for and on any platform they want.
It’s freedom I’m used to having, and freedom I’m not willing to give up over some promises of being able to write rich UI’s in XML.
Neil Wilson
on 27 Jun 07The good thing about being relatively old is that you can spot the cycles in the business. And to me this is all familiar stuff – it is what happened when we moved from green screen terminals to Windows. All of a sudden you weren’t anybody if you weren’t using Windows, Icons and Mouse clicks with lots of pretty graphics.
The problem was that in an awful lot of cases it simply didn’t help the person who has to use the application get the job done any quicker or with any less strain.
You have to be careful with ‘Rich’ applications that you don’t end up with overcomplex confusing rubbish. IMHO it is better to adopt a strategy of ‘rich enough’ and try and avoid overdesigning the screen real estate. The constraints of a browser forces you to do that.
Tim
on 27 Jun 07I couldn’t agree more when it comes to apps that HTML, CSS & JS can already do. About 90% of the Flex apps I’ve seen are just fancy forms that take longer to load, are less accessible than HTML and, essentially, are just making things a bit easier for the developer whilst not adding anything to the user experience at all.
BUT
AJAX doesn’t do audio AJAX doesn’t do video AJAX doesn’t do dynamic graphics without considerable effort. (Google Maps wasn’t easy) There’s clearly a place for Flash & Java in these areas.
And one last thing…
David, if I could be so bold I have a challenge for you: 1. Get your hands on an iPhone in the next couple of weeks 2. Use all the 37signals apps extensively over AT&T’s EDGE network only (* bonus points – whilst mobile or in a big building) 3. Come back and reiterate that there’s still no need for local storage in web applications.
Dare ya!
Kyle
on 27 Jun 07word. totally agree. thanks for posting.
Jason Pontius
on 27 Jun 07That’s the problem with new technologies that make previously labor-intensive creative tasks easier, whether it’s movable type, digital printing, or Dreamweaver. The new technology makes it possible for experts in the previous way of doing things to work much faster and more efficiently, but it also lowers the barrier to entry and enables a lot of horrible design, bad code, and poorly thought out final products. (Exhibit A: the color postcard you’ll find on your windshield when you leave the club tonight.)
In the end, I think, it’s just progress. I don’t think we’ll be discussing Flex or Silverlight as a major leap forward 10 years from now, but they’re here now, and that’s that. People who love code, and love to work within the constraints imposed by Web standards (including me and all the people I work with) aren’t that different from print designers who care deeply about classical design and layout standards. The march of progress goes on whether we like it or not; we’re free to take or leave new tools as they evolve; and in exchange for our diligence and our tolerance of the shoddy work of new adopters, we get the feeling of being not just Web monkeys but craftspeople.
RJ
on 27 Jun 07Well, nothing lights a campfire™ like playing the us vs. them game.
Why can’t we use both? Our company is mostly a flex firm, but we’re mostly doing very complex RIA’s that simply can’t be done in any reasonable amount of time, if at all, in the AJAXy languages. But that doesn’t mean we don’t use them, or that they don’t have their place.
I’m not a huge fan of the pure css/html/javascript way of web programming, but it certainly has it’s place. Flash/Flex/Apollo/Silverlight/WHATEVER are simply overkill for many web sites. They’re specifically for RIA’s, and RIA’s that require the kind of interaction and animation they’re best at. The traditional technologies certainly have their place, and the newer aren’t going to do them in any time soon.
That said, we really do need to see some evolution in those technologies. Programming layouts in CSS is a horrible experience with anything even remotely complicated. Programming layouts in Flex is a piece of cake and they just work. If technologies like Flex can help push the features and support of features in traditional languages to reach the same level of ease of development, then that’s something we should all be happy about.
Anyway, sorry for getting long winded. Hope this helps.
DHH
on 27 Jun 07Peter, with enough extrapolation you can probably also end up with a conclusion that I hate babies and puppies. I’m eagerly awaiting that one ;).
Seriously. Read the entry again without the paranoia hat on and the message might be closer to “me likes html, me needs no rich-interface savior”. There’s no Rails hates Flex (or babies or puppies) in there.
Dmitry Mozzherin
on 27 Jun 07I personally love Ruby and Rails, and enjoy watching how REST-fullness is evolving and becoming the cornerstone of the design. However crossing the controller->view line is a bit painful for me. Products like Flex or OpenLaszlo create a lot of new possibilities which are hard/impossible to implement in traditional web technologies. If there are the right tool for the job they can make wonders.
Our university uses Communigate (aka Stalker) mail for students with Flex interface called Pronto (http://www.talktoip.com/Pronto/). This project convinced me that RIA are not a toy and are extremely useful programming tool.
It is a joy for me to use Rails for creating RESTful interface and making Flex GUI on top. It is a beautiful combination.
Rowan Hick
on 27 Jun 07Sheesh… getting hot in here folks. This all seems to be turning into one of those disparaging internet tech feuds. Steady on fellas…
It’s all about the right tools for the right job.
Putting your average joe bloe web store on Flex is not entirely smart, putting your uber product configurator that needs highly complex graphical manipulation is. Everything has their place, and a smart developer/architect knows when and were to use them.
It’s all about not trying to kill the bunny rabbit with a rocket launcher.
Don’t use Rails where a simple ruby cgi script/php will suffice. Don’t use Flex where html/css/javascript will do nicely. Don’t try to put your CAD/CAM application on the web (yet).
Some of us are drooling and wondering about what we can actually do with these new RIA toolsets. Sports web casting, engineering rendering, interior design.. ?? I find the Flex/Silverlight opportunities seriously enticing for that ‘new bred’ of web app.
The point being – it’s not new bred that’s going to replace my current bred, but a new bred that’s going to compliment my current bred.
Tony
on 27 Jun 07@This post. I really really like Rails. A lot. That’s good. I really really like how Rails makes javascript go away. That’s good too.
I also enjoy long walks on the beach and handing out 38s to posts that need them: http://38thsignal.blogspot.com/2007/06/ok-thats-it-web-youre-officially-on.html
Peter Armstrong
on 27 Jun 07@DHH – I’m glad you’re speaking of Flex in the same breath as “babies or puppies”, not “yester-century” and “Bullcrap” ;)
I am a huge proponent of Rails, and think that it has a lot to offer the Flex community, and vice-versa. (My first presentation was to Flash and Flex developers advocating Rails, not to Rails developers advocating Flex; that was my second one.) The REST stuff that was added to Rails makes the integration between Flex and Rails even easier—now if only there was an easy way to turn off dasherize globally by default without monkeypatching :) [It doesn’t work with E4X. Yes, I should submit a patch or write a plugin, I know…]
Finally, RubyAMF is now MIT licensed, so there is lots of promise in that way of integrating Flex and Rails (or just Ruby) as well…
Cheers,
Peter
Marc Love
on 27 Jun 07@Neil – Excellent points. +1 to everything you said
Why do I love HTML, CSS & JS (aka The Holy Trinity)? Because they don’t belong to any one company. They belong to the web development community. They aren’t subject to the whims of some corporate focus group or team.
The power of the collective mind has proven itself time and time again. HTML, CSS & JS have been improved gradually over time and those changes have been extracted out of real life usage with a strong importance placed on standards and a universal experience. It’ll never be perfect, but despite the hype of marketing campaigns, neither will any company’s next-best-thing.
I will never trust a company to place the needs of the community as a whole over the needs of their bottom line. Adobe and Microsoft will never care more about my business/website than I will.
It also amuses me to see all these frameworks being developed by the big 3 to enable offline usage of web applications. They act as if the world is moving towards disconnectivity! 100% 24/7 wi-fi connectivity is very much on the horizon. By the time Google Gears, Adobe Apollo, or Microsoft Silverlight get any sort of traction, it won’t be a problem that needs to be solved anymore.
As is frequently the case, Apple understands where things are really moving (such as when they eliminated the floppy drive … remember those outcries?) and instead of enabling offline access, they just made 24/7 web access a standard part of the iPhone experience.
Roy Tomeij
on 27 Jun 07Is it me, or hasn’t anyone touched the subject of “accessibility” yet? While Flash, Flex, etc all make great tools for (visually) rich applications there is still the issue that “applications that run identically on all major browsers and operating systems” (quote from Adobe) doesn’t necessarily mean it runs fine on a mobile, PDA, screen reader, printer, etc. With the proper markup HTML does.
Or am I missing out on something here?
Tim
on 27 Jun 07@Marc – Apple may understand where things are moving, but they sure aren’t there yet. In one of the iPhone reviews published today Yahoo’s home page took 2 minutes to load over AT&T’s EDGE network.
Store & Forward systems (which is essentially what Gears & Apollo are bringing back) were essential when the internet started because networks were slow and patchy. Guess what? So’s AT&Ts mobile network.
The benefit of local storage is you can cache an rss news feed or a post to a blog and let the data trickle in and out in the background. You don’t have to wait for the network and you’ve got a backup when your battery dies.
We don’t have a store & forward option with DHTML and it’s clearly needed.
ChrisB
on 27 Jun 07@sandofsky: What does POSH/Javascript/CSS provided now that flash doesn’t?
How about addressability, accessibility, search engine visibility and standards compliance?
Sam
on 27 Jun 07Ok instead of arguing over the superiority, can I ask why adoption of SVG is so poor, when it makes gradients and rounded corners (and other things) so much easier, without the use of graphical hacks?
Isn’t it like the missing puzzle piece in the HTML/JS/CSS/AJAX arsenal?
P.S. I can’t wish there were so many implementations of JS/CSS/HTML… there are even big differences between the two open-source browsers, Firefox and WebKit (not to mention Apple’s own WebKit implementation).
Christopher Hawkins
on 27 Jun 07I don’t know about JavaScript, but HTML is ingenious and CSS is damn right beautiful… (sigh)... I love CSS…
random8r
on 27 Jun 07Uhm…. I’ve used Flex and Rails together – and it totally sucks – it’s like adding a layer of crap over your web app, so everything you do, you have to wade through twice as many problems. Not to mention the fact that it’s not free any more as soon as you add Flex to the mix.
Dare Devil
on 27 Jun 07@Tim
I can’t see why someone would want to use all of the 37 Signals’ apps on an iPhone while mobile or in a big building.
But then, I can’t see why someone would want a spacepen to write in space when a pencil would do the job.
Guess, I’m crazy.
Nic
on 27 Jun 07@Sam
Lack of proper (read native) client support for SVG is a a turn off. HTML/CSS/Javascript is ubiquitous enough to be relied on – SVG just isn’t.
Only recently have we got browsers (Firefox at least) which natively support SVG, but their market share is not there yet.
IE had a good plug in, but Adobe has stopped developing it, presumably in favour of Flex… And Microsoft doesn’t seem to see the need for native SVG support that developers do, presumably because they think Silverlight is the way to go…
See this post at Dave Shea’s blog: http://mezzoblue.com/archives/2007/05/08/svg_please/
Alberto
on 27 Jun 07Hi, I totally agree with you but there’is a little typo in your post: Ducati not Ducatti.
Joao
on 27 Jun 07What if you are not the only one who likes the HTML tool-set? What if those guys who used to create their GUI toolkits and libraries are finally migrating to the Web, and besides enjoying what the Web has to offer, also like some components ideas they have used successfully in the past? What if the Web is big enough, and still increasing, so everybody can have a take at it? What if not all pages are customer-facing pages? What if you want several hundred pages, or millions of pages, all for editing/showing data, and you can’t afford to create and maintain each page as if it was the best one of your entire application? What if it was like a CMS, but for applications?
And so on and so forth… The Web has not been about semantic web, well-formed web, standards. The Web is about everyone and his need.
Frank Lamontagne
on 27 Jun 07I couldn’t agree more with the opinion expressed in this post. I have the feeling that some people are seeing the current web development techniques as inadequate and/or limited. That’s just plain wrong. You can do anything with HTML / CSS / Javascript / Modern server side technology. To me, this combination of tools is certainly NOT the old way of doing things, it is still the new one… because we barely starting to use those technologies in a cohesive, clean and efficient manner.
Bernice
on 27 Jun 07@Tony AWESOME! I love teh 38s!
Mike Potter
on 27 Jun 07Wow, great discussion. Re: the comments about Flex applications not being accessible. Flex applications can be developed to be completely section 508 compatible. http://www.adobe.com/macromedia/accessibility/features/flex/ has more details about accessibility and Flex.
A few people have touched on the items that can’t be done using Ajax – namely audio and video. Rich Internet Applications like Picnik http://www.picnik.com/ would be much worse without the client side processing that happens inside the Flash Player. http://www.flex.org/showcase has a number of other great applications that can’t be built using Ajax.
That’s not to say that every RIA should be built using Flex, and developers should abandon Ajax. That’s saying that developers should use the right tool for the job: in some cases that’s Flex, and in others its Ajax, and in others its something else.
Mike Adobe Flex Marketing Team
Ryan Bergeman
on 27 Jun 07I heart HTML, CSS, and Javascript. <3
HTML5 ftw?
Vincent Murphy
on 27 Jun 07Sure HTML and CSS are neat, but it would be nice if the web standards and browsers focused on the basics instead of always trying to Boil the Ocean. Here are my favourites:
- Gradient fills.
- Rounded corners.
- CSS3 Text clipping.
Even those simple features would make a huge difference. Its been years since they were first suggested, and the need is clearly in evidence by the amount of hacking that goes on to include them in sites.
The fact it took WHATWG to come up with HTML5 shows the W3C HTML/CSS process failed to move with the times in recent years.
John Topley
on 27 Jun 07Another big plus in favour of these three technologies for me is the fact that they’re free! A colleague and I recently investigated Flex as a possible solution for a particular problem we have to solve. We were seriously impressed by the demos. However, when we came to look into the price of the Flex Data Services that we’d need to hook up to our J2EE app, we found that the price is POA in our country. In the US it’s $20,000 per CPU!
Anthony
on 27 Jun 07Last week, we wrote a “first pass” white paper on the actual difference (and similarities) between Flex and AJAX…
http://anthonyfranco.wordpress.com/2007/06/22/flex-and-ajax-friends-or-foes/
Matthew
on 27 Jun 07I think you need to rethink your last sentence, because I don’t think you’ve made a point: “And if most developers and designers can’t make a clean run with the training wheels and constricted playground of HTML, then we probably are in no rush to start playing with a Ducatti on the Autobahn.”
Your implicit assertion that JavaScript is somehow training wheels and ActionScript is the Ducatti is not only false, but an insult to both parties (you can’t do advanced things with JS, you can’t execute with simplicity with AS?). I’ve seen beauty in both languages and view them as knives for different kinds of cutting.
I don’t think you have a point here, other than yet another attack that goes like this: “The other tools are bad and the ones I like are good because people do bad things with the other tools and I do good things with mine!”
I recently co-authored a hurricane-tracking website with a full Google Maps-style window and chose Flash over DHTML because I had no desire to deal with browser issues or sacrifice visual quality. To me that was the right decision, based upon the strength of both tools.
And in the end, I’m using both—through a JavaScript-SWF proxy I can write controls and options for the Flash map in HTML. Is that a Ducatti with training wheels?
Jeff
on 27 Jun 07I thought being a retrogrouch was out of style.
We have something better in my shop: ASP.NET AJAX. Most of the plumbing details are left to the framework, and we can concentrate on our own framework. The auto interview on Insurance.com is now using it, starting with the most obvious thing, the vehicle drop down cascade. It took almost no time to implement, test and deploy. We didn’t do any Javascript monkeying or custom rendering.
Bottom line: Easier == cheaper
Jim Lamb
on 27 Jun 07It’s refreshing to see someone extolling the virtues of DHTML + JavaScript. I took a look at some of the Flex sample applications and these are exactly the kind of sites that, as a user, I avoid at all costs. Technologies like Flex, Silverlight and Flash are fine when constrained to a div for a specific purpose (as in a YouTube video or SlideShare presentation), but building an entire site with them yields terrible results. I honestly can’t think of a single flash-type web site that isn’t unpleasant to use.
When I’m using a site rendered with DHTML + JavaScript, I can (generally) fully leverage the browser’s navigation features, I can select and copy text, I can use a number of DOM-aware browser plug-ins to capture and re-pupose elements, I can even print it out. Try printing a page from the Adobe Flex store sample application. It’s a joke.
Making an application “rich” doesn’t mean crippling the browser, breaking the interaction conventions, and substituting animated transitions for thoughtful page layout.
John Topley
on 27 Jun 07Jeff,
Does your ASP.NET AJAX solution work properly in Firefox, Safari and Opera? I’m not trolling, I genuinely want to know. I heard there were some cross-browser issues with it.
Jeff
on 27 Jun 07Yep, it works.
Mike Deem
on 27 Jun 07Do you really think that application development 10-20 years from now is the mishmash of HTML, CSS, and JavaScript we have today? I don’t.
Brad
on 27 Jun 07Interesting what David said about designing in an environment with constraints … I completely agree. I’ve been doing a few small projects with Ruby and Fox and I am finding that the constraints in building a cross-platform desktop app are getting the old creative juices flowing. And a lot of the principles from my web design experience (good layout & attention to fonts) apply equally well here. WRT Ron’s comment, I have to agree to a point. But I think it’s more a matter of a designer/developers attitudes and approach than the languages/products they use that makes a quality app/site.
Luke
on 27 Jun 07My current love for the HTML/CSS/JavaScript combination stems from my humble, but accurate, opinion that if put together with half a mind to progressive enhancement it will work wonderfully on my phone, my PDA, my laptop, and even my gimpy amd64 Ubuntu machine that I refuse to taint with 32-bit applications, which as far as I am ignorant of those other things can’t quite pull off.
Plus, I get a little nervous when someone talks about a behavior-layer topic Jeremy Keith hasn’t written a book on.
Chad Burt
on 27 Jun 07This is just another right tool for the right job issue.
HTML/CSS/Javascript (Ajax) is easier and more maintainable for 90% of web content out there. It also has SEO benefits, is accessible, and is an open specification. I wouldn’t say I love developing Ajax due to all the browser quirks, but it has gotten a lot better in the past couple years.
Flash/Flex and other RIA technologies let you do what would be very difficult or impossible to do with Ajax. Moving vector graphics, video, and sound. Don’t try to make an argument that you can do this with SVG, because SVG isn’t nearly as widely supported as Flash. Flash is also a much more mature toolkit for this kind of stuff. Adobe has been doing it for many years. I’m doing some very complex visualization work right now. Moving vector graphics make displaying high volumes of data much more manageable. How would you do this, http://babynamewizard.com/namevoyager/lnv0105.html, with Ajax? I will be using Flex on top of rails because there really isn’t any other sane option. I trade some reliance on Adobe for being able to do now what Ajax/SVG might be capable of in 5 years(although I’m still not convinced svg will ever take off).
Now if I was coding my homepage, basecamp, or 90% of all the other stuff that is out there with flash it would be just as insane.
Steve
on 27 Jun 07Anthony,
Thank you for that analysis. I think that is the best I have read yet.
So, bottom-lining it, the best approach is still picking the best tool for the job.
The worst technique is assuming everything to be a “nail” because all you have (or are willing to use) is a “hammer.”
Less about preference and more about the actual pairing of requirements to tools.
Having said that, I guess this blog entry is about David’s opinion and preference, which is immediately and contextually amarried to bias, which is fine. It isn’t analytical—it’s warm and fuzzy. Best not to lose that point, I suppose (as long as we don’t imagine our bias to equal analytical in the absence of scientific discovery – apples and oranges.)
phantomdata
on 27 Jun 07I would like to add that I love HTML/CSS/Javascript on FireFox. The holy trinity on IE gives me nightmares.
Also, doesn’t Flash / Flex development cost hundreds of dollars in outlay of software? I truly believe that the web is where it is today because the basic development tools DON’T require thousands of dollars to begin developing in.
I think that Chad has a very good point. Every tool has its place. For the majority of design problems out there, H/C/J is perfectly fine. We really DON’T need another web-site totally coded in Flash just because the developer wanted “swooshey” page transitions. However, if you’re coding with multimedia video (I mean, when its really needed – please no more bouncing baby bears and screaming “YOU’VE WON A CELL PHONE!”) or the like, its totally understandable.
Steve
on 27 Jun 07Phantomdata,
I disagree with the whole “we don’t need another site.” If anyone wants to pit one tool against another (and I don’t see that as helpful in this situation) then we can’t eliminate criteria so that one “compairs” better all of a sudden. If “the people” want “swooshy” and they are choosing H/C/J vs. FL[ash|ex], then H/C/J has to prove it does “swooshy.” Eliminating any criteria is like saying, “Oh, well sure, if you want to have car that goes both forward and backward then, sure, go with the other guy, but who needs another forward-y / backward-y car!?”
Morning Toast
on 27 Jun 07I agree that a good editor and a browser+Firebug is plenty for tools, and frankly, those are the tools that I require when developing. That and some good examples or documentation, which are sometimes hard to come by.
But to be fair, I think a lot of the view is based on experience. I started doing web development with a text editor not by choice. I’ve see things out there that say it makes things easier, but I always get caught the cycle of trying it for a day and then going, “well I can do that by hand a lot quicker”—i.e., the learning curve for the applications is not a good trade-off versus something you know like the back of your hand.
And also I think limiting your tool set to what you already have keeps the overhead incredibly low. You have a text editor already. Firebug is free; Firefox is free. That’s a pretty good deal if you ask me. If nothing else, abandon the applications because if you get dependent on them you’ll have to continually shell out cash for new versions, upgrades, etc.
Steve
on 27 Jun 07MorningToast,
I am cool with your ideas about free tools, as long as we don’t start complaining about non-free tools at play on the same field. The truth is that sometimes cool tools can really help, but at the end of the day, “Tools don’t kill (websites), people kill (websites.)”
I read above where someone said they have seen so many crapy implementations of Flash technology (another “we don’t need another flash website” comment.) Coupled with that were comments about how the success of the internet has something to do with a low bar on simple entry into the medium. My response to that is that in pure ratio the number of crapy flash sites is completely dwarfed by the number of wholey crapy HTML sites. Those two values (low bar to entry and crapy sites) are completely positively correlated. The bottom line is that both tool(sets) create opportunities to build for good or evil.
Here is a question about the free approach to the web design/development:
Free tools for web design/development is to walking as for-profit web design/development tools is to driving in a car. Both take you somewhere. One can sometimes (emphasis on CAN SOMETIMES) take you furthur.
sandofsky
on 27 Jun 07@ChrisB: I am not a flash developer. However, I have been told it can be accessible, and optimized for seo.
My point is that there is little demand for “rich” sites, otherwise you would have seen them before all this hype.
I really want to know what RIA technology offers to the user over flash. I feel like RIA boils down to “making funny menus.”
wa
on 27 Jun 07David hates “babies & puppies”! Thats hysterical – DAvid you’re killing me…
phantomdata
on 27 Jun 07Steve, it seems to me like you think standards-based designs (HTML/CSS/Javscript) are only for “amateurs” while Flash/Flex is only for “professionals”. Why are you visiting 37s if you’re in the “ASP/Flash/Flex/ColdFusion/There-Was-A-$500-Price-Tag or you’re not making money” camp?
I find it hard to believe that the vast majority of profitable sites out there are ran exclusively on commercial and proprietary products. That is; that all of the movers and shakers like Google and Youtube are “walking” right past the “runners” like…
Also, I believe that you’re looking for “strongly correlated” instead of “positively correlated” with regards to Low-Entry-Barriers==Bad Design. I would also remind you that “correlation does not equal causation”. I will grant you that there is a large amount of bad design on BOTH sides. I would also point out that HTML-based designs have been around far longer than Flash or any of its incarnations. I would also point out that Frontpage is responsible for a lot of the trash on the WWW.
Yes, you’re also right that its the customer who ultimately decides whether there will be “swooshey” page transitions or not. I believe that its also up to the designer to remind the customer of things like accessibility and SEO. While yes, pages can purportedly be made accessible in Flash – I have yet to run across one in the wild.
I’ll go ahead and cut this off though, since nobody in the history of the Internet has ever won an argument against someone firmly cemented on their side. What we CAN agree on is that the travesties of the Internet are created by people, not the tools that they use. I’ll back you 100% on that.
Back on topic, I hearts an open framework like HTML/CSS/JavaScript. I also hearts media-rich content like Youtube. I believe that the richness of maps.google.com is testament to what can be done w/ the traditional stack.
Phil
on 27 Jun 07The most interesting thing said in this entry, to me, was “most internet applications still suck.” Why do you think that is the case?
Which ones, besides 37s apps, do not suck and why?
phantomdata
on 27 Jun 07Phil, was that a typo or did you really mean “do not suck”? Facebook, youtube, Dell’s ordering system, GOOGLE, gmail, google reader, twitter… I could keep going, but I assume that it was a typo.
Fabio Papa
on 27 Jun 07Maybe I’m just “afraid of change,” but I love the fact that web standards are so fragmented and separate: html, css, javascript. Programmers call that separation of concerns and its a VERY good thing. That’s why rails is awesome (m/v/c) and rails is awesome (rails/mongrel/apache) and rails is awesome (rails/memcache, etc/mysql, etc). If anything usurps the current web standards’ powers, it will have to have (or evolve) separation of concerns.
James Hancock
on 27 Jun 07Your comments are like saying that we haven’t fully found the capabilities of assembler. (except that assembler really can do everything and HTML is just broken)
The point to replacing HTML is that if you replace it with something that was DESIGNED from the ground up to do data entry but is a ubiquidous standard then you’d have the reason why HTML is powerful AND you’d have something that allows far better UX and faster development which translates into better ROI and your salery goes up, user satisifcation goes up.
Just like assembler that was great to program in and could do anything if you worked hard enough at it, HTML is great and all, but I’d rather use C# than assembler any day (even though I know both) because I am far more efficient and make far fewer mistakes and can maintain my code far better with C# than assembler.
Ditto with HTML…. now if MS would make silverlight all it can be and give us data entry then we have the next web….
John
on 27 Jun 07I’ve been developing web apps for over 7 years and I think Flex is the next progression in RIA’s. I have seen the all the crap that people have developed and also the maintenance nightmares that have evolved, especially web applications. Flash is EVERYWHERE! Lets take advantage of it. I would like to point out that the Flex SDK is now free and you can now perform RMI/remoting for free. You do not need Flex Data Services no more than you would need a BEA WEB App Server. Also, (not sure of the date), Flex will become open source.
Jim Lamb
on 28 Jun 07Chad Burt, I tried to take a look at the “rich” application you referenced:
http://babynamewizard.com/namevoyager/lnv0105.html
But, it requires a JRE, which I don’t have installed and have no interest in installing. Does Flex require a JRE on the client?
John Topley
on 28 Jun 07@John: Do you know if you can display data from a database using the Flex Charting product without the Data Services product?
Jim Priest
on 28 Jun 07Amen! And +1 for mentioning Ducati and HTML in the same paragraph! :)
lime
on 28 Jun 07” - Gradient fills.
- Rounded corners.
- CSS3 Text clipping.
Even those simple features would make a huge difference.”
There is more to design than sodding gradients and rounded corners
Denis Basaric
on 28 Jun 07I think that applicability of any technology is in direct relation to the number of hacks you must employ to develop application using it…
Brice Ruth
on 28 Jun 07I think that the canvas of HTML, CSS, and JS are certainly sufficient, even excessive for the needs of practically everything out there. Especially with the Ajax pattern and tools such as Rails. The use of other technologies should be focused on integrating aspects that aren’t natively part of this trinity – say, rich fonts. I’ve used sIFR (Flash + JS integration) to expose designer fonts on a web page, and that seems like a logical “extension”. Same would go for needing to display video, ala Youtube. Why would I want to relearn everything and unlearn the trinity, for just a simple extension? So many other technologies (some of the advanced layouts for Swing technologies, for example) mimic HTML semantics (table, for example) that it points to the fact that this trinity has something going for it.
The main sticking point, I think, is that it’s not everyone’s ball-of-wax to be a JavaScript expert. Unfortunately, while the design of an application / frontend falls on design professionals, JavaScript is clearly a “frontend” capability, but has to be handled by developers (“backend”). This leaves most shops with either hiring a dedicated JavaScript expert, or cross-training their “backend” developers with JavaScript skills.
Google’s GWT strikes me as a nice balance for this … designers can design, developers can develop the logic, and GWT handles the finer details of JavaScript. Crossing over that “no-mans-land”, as it were.
Of course, if Java isn’t your backend technology bailiwick, then maybe this isn’t such a good approach for you :) Maybe Rails could provide a JS compiler (dynamic to dynamic language, that’s easy, right? ;-))
Scott Meade
on 28 Jun 07It doesn’t matter what we want, it matters what people that use the products we make want. When a competitor lays out cash to buy tools that let them more quickly produce what people think are more productive and enjoyable apps, then arguments of “but it’s free for us” won’t count for much.
john
on 28 Jun 07I agree with Scott Meade 100%!
At the end of the day, what your clients want, is what pays the bills. If you can convince someone they don’t want a flash website, and instead want an H/C/J site, maybe you should think about sales.
The reason I bring this up, is that flash developers usually have huge portfolios, and most H/C/J developers have very small portfolios. This goes back to the low cost to entry theory.
I think more so called designers need to adapt a hybrid theory, and see the value of both.
Ben Hirsch
on 29 Jun 07What a great way to put it! Nice.
Justin Bell
on 29 Jun 07James Hancock: But if assembler was the only mainstream way to do things, then wouldn’t you want to know just how far you could push the technology? Because that is the case here. Otherwise we would have dumped HTML over 5 years ago if we could have designed a better suited technology and made it as widespread as HTML that easily.
The message I got was that even though HTML is far from the ideal, the current state of the technology isn’t as bad as it may seem: there is still much to be made of its capabilities until the next thing comes along (which may be quite a while). Of course, My own interpretation is bias because of my personal views, so I may be off the bat.
Rich Collins
on 30 Jun 07How you can say that CSS layouts are nice to work with? You can’t define any type of grid.
Kris
on 30 Jun 07HTML anyday.
I have two sites – one with HTML and another with ASPx.
I love programming with aspx. But, i just cannot bring myself to change my first site (mentioned below) from html.
Madh vkinfotek
This discussion is closed.