Tuesday, October 03, 2006

What will Sakai do about Presentation Technology?

This was written in response to Chuck's annoucement about the JSR-301 Call for Participation. I've been struggling with JSF for over two years now. While it has some very positive aspects to it, it has a large learning curve and some serious internal problems, especially in the Sun Reference Implementation.

My own work on JSF over the past six months has caused me to shift towards the MyFaces implementation of JSF than the Sun reference model. Clearly there is a LOT more development activity going on here (in Apache) than at Sun. Personally, I'd recommend that we drop the Sun RI and just go with MyFaces. There is no downside, except for some code migration.

Presentation technology continues to be a problem for Sakai, IMO. While I'll be exploring the alternatives in a presentation at the upcoming conference, I don't really have a strong recommendation at this time. Frankly, JSF is a barrier to building tools for Sakai. Yeah, there are alternatives that are starting to emerge, including non-Java ones. For serious and major tools, however, we are still encouraging JSF (is that still true?).

If we are NOT encouraging JSF, then we'll continue to see a proliferation of UI technologies. Already we're seeing Sakai tools written using Struts, JSP, and RSF, not to mention pure servlets. While this flexibility does encourage people to "use what they know", in the long term it's gonna hurt us in (lack of) consistency in user experience. Further, the effort we put into developing cool JSF gadgets won't help a bit to someone writing a servlet.

Rather than point at a particular technology (RSF!!!) and declaring it to be the next great thing, I'd like to explore how we will decide this problem. Comparing technologies is a start, but do we REALLY understand what our requirements are in a UI system? Where do we want this to take us? Can we make a choice now that will hold up for the next 2-4 years? How much of the problem is social in nature (lack of training, documentation, best practices, and standards)?

- Mark


Post a Comment

<< Home