Monday, February 20, 2006

In my last post I was checking out the new Yahoo Javascript Library and mentioned my experiments with Scriptaculous, Dojo and Rico. Most of these experiments were in support of features planned for the next site we are building at Winnercomm. Well, now creative is approved and it is time to start really building things out. So one of the first things I needed to finalize was which javascript library to build these features on. I ended up deciding to go with Rico. I think all of the libraries were pretty nice and easy to use but I had done most of my experiments with Rico and it seemed best to stick with it. It has all the features I need and I found it easy to integrate not with just example HTML but with this CMS driven site.

Rico basically covers three areas that I will be using. First is simplifying Javascript development. By being built upon the Prototype library, plus several of it's own abstractions, I can use the same functions to write much clearer code that works across all the major browsers.

The second is DHTML effects. I have always been very sparing with DHTML previously partly because of the hassle of cross-browser support and partly because as soon as things get flashy I usually just went ahead and used Flash. Most of my work is in Content Management Systems so Flash was actually an easy way to compartmentalize that kind of content and remove it from the the CMS's concern.

The third area is Ajax. While it is tempting to use it just because of the buzz factor, the site I am working on now actually has several features that will benefit greatly from Ajax. Early plans had some site tools planned for flash but as we got further in the design we realized we needed things spread throughout the design and not in one neat area like similar tools I've built in flash before. I am still going to use flash for a lot of this, especially for the video support, but Rico's Ajax support will do wonders for creating a pervasive community aspect to the site.

The further I get into production I am also finding that using Ajax is actually making my CMS coding clearer. It is letting me focus on content and layout on the CMS side while the small tools and widgets behave independently. Usually, there is quite a bit of work in making multiple forms on a page play nicely with each other, but I've been impressed by how clean the Ajax approach has been. I'm sure a lot of that is that I can reuse so much of what I've learned integrating Flash into CMS sites. The process is so similar. The CMS I'm using on this project is Typo3 but I can see this working really well in our other CMSs too. I'll write an tutorial soon on building Rico based Typo3 plugs.

Tuesday, February 14, 2006

Yahoo! User Interface Library

Yahoo has released their own javascript/DHTML/Ajax library today. I have am using a lot of these kind of effects on the site I'm building right now. I've been mostly using Rico but have played with Dojo and Scriptaculous too. All three of those are similar in that they are built on top of Prototype, a popular javascript library.

Yahoo's Library appears to be a complete standalone library and also includes 3 User interace widgets: a Calendar, a Treeview and a Slider. Like Scriptaculous and Dojo, Yahoo's library is divided into several files so you can just load the pieces you need.

I like what I've seen in trying out the demos though I may stick with Scriptaculous going forward. Rico was a good place to start since it has the easiest setup but Scriptaculous has more momentum. I like having the prototype library available since those are a great set of functions to use in my javascript.

If I need some of the more unusual Yahoo library features (the widgets, bezier paths(!) I could see using Yahoo. Another possible advantage for Yahoo is the JSON support though all of my current use of Ajax is still using XML. Rico does have a nice datagrid component but my work is more focused on content and marketing rather than the kind of app that needs that.

Here are the links to all of the above kits, check them out!
Prototype - http://prototype.conio.net/
Rico - http://www.openrico.org
Dojo - http://dojotoolkit.org
Scriptaculous - http://script.aculo.us
Yahoo! User Interface Library - http://developer.yahoo.net/yui/index.html

Sunday, February 05, 2006

NetBeans 5.0

I rarely get to use Java for anything anymore. My current employer is very focused on .NET and isn't interested in Java at all. I've only used Java on a few projects previously but have always liked it and make it a point to keep up with the Java community.

So whenever a new version of NetBeans comes out I always download it and go through a few tutorials. I'm really impressed with this latest version. Though Eclipse is much more popular than NetBeans, I've always preferred NetBeans because it is tied very tightly to Sun's vision of how Java should work. I feel that for Web development especially, NetBeans has the cleanest, most logical approach and the new one really locks that up. There is great support for all the most common open tools like JUnit and Ant and the Tomcat integration works great. If you are using JSPs with JSTL this is an very nice environment.

The support for J2ME development looks nice too. That's an area I got interested in while working on the NEC Mobile site a couple fo years ago. I never built any real world apps but had fun learning it. It's too bad that the J2ME toolkit isn't out for OS X since that's the computer I sync with my phone.

Since Eclipse was designed as a general IDE builder it has become very popular for other vendors to build IDEs on top of it. I think that is great and I know I will be using it more and more through projects like RadRails, LaszloIDE and Flex Builder. NetBeans pure Java focus makes it my favorite tool for real java coding though. Now if I could just find a gig that would let me use it! I'd love to be building Flash front ends to Java driven backends but that just doesn't seem to happen in the Dallas web development scene.

Wednesday, February 01, 2006

Flex 2.0 Beta

Like many people who use flash to create webapp interfaces I've had my eye on Flex. The initial price put it way out of reach for most of the projects I work on. At that price point, even when you have a budget that can cover it you are reluctant to use it since there is little reason to learn a technology you are unlikely to get many chances to use.

I've been playing with Laszlo for a while since it is the affordable alternative but haven't used it on a real project yet. I've come close but the lack of some features, mostly a good validation
Yesterday's announcements about Flex being free were very interesting at first. From what I've seen, Flex does have a more sophisticated Validation system and the component approach would be more familiar since it is built on the Flash V2 components. Then I saw this paragraph:

"Flex Enterprise Services 2.0 will be free of charge for use by a limited number of concurrent users on a single, non-clustered server. Flex Enterprise Services 2.0 also will be licensed commercially on a per CPU, per project, and enterprise license basis. Final pricing and licensing for the Flex 2.0 product line will be announced when the products become commercially available."

Well, crap. while a command line tool is great for jumping in and and messing around with a language, the server side cost is the real problem. Buying an IDE is an expense that is covered by just general infrastructure. I can tell my employer it's something I need just like Flash or Visual Studio. The server-side is where you have to bill the client for and convince them that this should be part of their budget. Combined with recent whacky licensing approaches that Macromedia had, it was very difficult to even give a client a solid number. (Flashcomm 1.5 licensing was incredibly hard to explain to clients.) We don't know real prices yet so hopefully it is in a range that can be covered by average budgets and doesn't remain something that only major players can consider.