It was only here, for like, two days, but somehow it is showing up in search results and people are visiting. The real blog is here: http://dev.zeraweb.com/blog/mousetrap-2 Thanks!
Site And Blog Reorg
We are moving our open source projects to Google Code, the Web site and blog to WordPress, and preparing for the release of and / or updates to several major open source initiatives. Expect an initial announcement later this week on the first of these projects.
Our Web publishing service is not going away – it is still under active development and, in fact, we are more excited than ever about the next release. However, our own requirements are better met by existing services (like Google Code), which also help to reduce the load on our servers.
Some (almost all) of the blog entries have disappeared. I plan to revise and re-post some of them; others will become wiki articles on Google Code; still others will disappear forever. In the end, nothing of interest will be lost and we will have a better foundation for future releases and announcements.
Top 10 Reasons To Avoid Component Libraries
An interesting commentary over at Ajaxian concerning the proliferation of component libraries (YUI, TIBCO, etc. ):
Sometimes I feel a little bad when people enjoy a new component here or there, when there are tools such as TIBCO, Backbase, and Oracle ADF that have hundreds of them :)
Well, here are 10 reasons why Dion shouldn’t feel bad. :)
- HTML is better than proprietary markup. That is especially true when the proprietary markup is in XML, which it almost always is … some of us want markup that describes the interface with libraries that just “hook” into it via CSS and / or some well-defined structure.
- My handpicked components load and run faster. Some of these libraries include, as Dion says, hundreds of components. It isn’t always easy to “trim the fat” and get rid of what you don’t need. In addition, the quality of the implementation may vary, particularly in terms of performance. Sorry, I need my page to load fast even over a shaky DSL connection.
- Desktop UIs are so 90s. We don’t need to keep trying to make the Web look like the desktop apps. Many of the Web UI idioms that are emerging are far superior to those on the desktop anyway. Let’s keep moving forwards, not trying to go back to the past.
- I don’t want your IDE. I have my own already. Thanks for using Eclipse, that’s better than making us use some completely proprietary IDE, but not all of us use Eclipse, either (TextMate, anyone?). Sorry. Bottom line: if using your libraries successfully depends on an IDE, that’s a problem.
- I don’t need a drag-and-drop GUI builder. That’s overkill. I’ve been doing HTML for years. It’s relatively simple and I generate most of it anyway from templates. I just want to describe my UI and let your library step in where its needed (see above). It’s called being nonintrusive.
- KISS still applies to Web apps. Some Web apps really do need a super auto sorting filtering live editing grid. Most don’t. Sometimes it is better to provide a simple list with a couple of obvious options for editing it. Note how successful Web apps (see Flickr, YouTube, et al) usually follow this approach.
- Web development idioms aren’t baked yet. Sometimes I think actually we’re just getting started. Some libraries have a great design that follows current best practices (see Prototype), while others are already outdated before they’re even released. Selectors are a great example of this. Selectors have become a powerful way to bind objects and events to HTML with the (quite recent) availability of fast CSS3 implementations. That dramatically changes the best practices for interacting with the DOM.
- ”It’s very nice, but we already got one.” I not only don’t need all of your components, but I may not want some of your “core” code. Selectors are again a great example. I’m quite happy with Prototype’s selector implementation. I don’t want to load a second one, but I can’t take yours out without breaking everything.
- Standards-based is good. Thanks for wanting to save me from HTML, CSS, and JavaScript, but I kind of like the fact that the code I write depends only on the community’s continued support of widely adopted standards. For all I know, you may decide that Web apps aren’t quite so important to you anymore a year or two down the road. Sure, maybe you’ve open-sourced the code, but without you, who keeps the platform moving forward?
- You still don’t have a WYSIWYG HTML editor. Pretty much anything you can do, I can do better (with the help of the many talented open source component authors out there). But there are a few things you probably could do better, but you don’t. So why do I care?
Is there any component library out there that can say that even seven out of ten of these don’t apply? I’d like to know. I admit, I haven’t looked at each one in detail. After awhile, you get a bit cynical. And you never know when a new release might take a quantum leap. But, for now, I think I’m on pretty sure ground.