Saturday, October 20, 2007

Thoughts on 4D's Ajax Framework

Going into the Summit I gotta say I was a pretty big skeptic of 4D's Ajax Framework (4DAF), but now that I've listened to hours and hours of discussion about it, I've changed my mind... To a degree...

A little background...I do a significant amount of 4D web work, including development on a site that sells rights-managed medical illustrations that's powered by 4D. That site gets gets about 2 million page hits a month. So, needless to say, with a busy web site (and 10 years of doing 4D web projects) I've thought a bit about web technologies.

I've never been a real big fan of Ajax for a simple reason - it's based on Javascript and the browser compatibility issues can be a bit of a nightmare. If it were the only thing out there that would do the job - that would be one thing, but Flex is now viable - even for public web sites. A year or 18 months ago Ajax was more attractive since there were fewer viable choices back then.

On the other hand, the point was made at the Summit that Ajax frameworks protect the developer from browser compatibility issues - but that's only to the degree that the developer stays inside the framework and doesn't write much of their own Javascript, and to the extent that their users are using one of the browsers supported by the framework.

Pushing my point about browser compatibility a little... 4D Ajax Framework doesn't support IE6. Our major clients have IE6 as their standard corporate browser, and over 30% of our web site visitors are still using it. That means 4DAF isn't even an option for us.

That said, I have to say I was a lot more impressed by the 4D Ajax Framework than I thought I would be. If the right job came along, I would definitely consider using it.

Here's what I think of as the perfect project for 4DAF...
  • You need something quick and easy
  • The reports you want to create are simple to slightly complex
  • You're not developing for a public web site (or the data your presenting isn't critical and it's OK if IE6 users and search engine spiders can't see it)
  • You know your users and they aren't using IE6
  • There's some flexibility in the look-and-feel
While that's pretty specific, what I describe above seems to be typical of the needs of 4D programmers. I think 4D, Inc. judged their market correctly and 4DAF is the right tool for many of their customers. The fact that I'm not using it is only because I'm not their typical customer, and the fact that it doesn't work for me right now doesn't mean much of anything in the grand scheme of things...

Where I think 4DAF did particularly well was its "no code" administration interface. I was incredibly impressed with it - and things like that usually seem pretty silly to me - 4DAF's wasn't silly at all, but pretty much right on target. The speed at which it lets developers do fairly sophisticated things was really impressive. Data-oriented web work is usually pretty time consuming and 4DAF seemed to make some common tasks incredibly quick and easy. Let me reiterate that point - from what I saw 4DAF is far faster to deploy than solutions using other tools, like Flex - provided you don't need something more than 4DAF can deliver.

That said, I want to point out that while companies like Google and Yahoo! may have the resources to get Ajax to work on public web sites, anyone who's working on a public web site should think twice before using 4DAF for a few reasons...
  1. The lack of IE6 support. Too many people on the web are still using IE6 for you to use a technology that doesn't support IE6.
  2. Search engine spiders can't deal with Javascript which means they can't see anything you present via Ajax. Since one of the goals of public web sites is to get the public to visit the site, and search engine optimization is a big part of that, you should think twice before using any form of Ajax (or Flex or Flash) on a public site.
  3. If you're using 4D 2004 - you should definitely do capacity testing before deploying 4DAF on a busy public site. Though, from what I saw, performance is much less of an issue with 4D v11.
The bottom line is that 4DAF (like most tools) isn't right for everyone, but for the right task, including many tasks average 4D developers face, the 4D Ajax Framework is pretty incredible.

Labels: , , , ,

Digg It!  Add to del.icio.us  Add to StumbleUpon  Add to Reddit  Add to Technorati  Add to Furl  Add to Netscape

4 Comments:

thinkx said...

Good analysis.. lack of IE6 support in the real-world is a project killer. If 4D made it a priority, it can be fixed. See http://www.quirksmode.org/css/quirksmode.html

Saturday, October 20, 2007 8:32:00 PM EDT  
Jay Harper said...

I understand why they don't support IE6 - there's just SO much that doesn't work in IE6. IE6 on XP doesn't even work the same way as IE6 on Win2K... Supporting IE6 would be a herculean effort.

Saturday, October 20, 2007 9:14:00 PM EDT  
Brendan Coveney said...

Actually most parts of the framework run perfectly in IE6, see 4Dpartners.com for example. And yes we are working towards support for IE6 with each rev.

Tuesday, October 23, 2007 2:39:00 PM EDT  
Jay Harper said...

Brendan - I'm glad to hear that and I figured as much.

Our major clients have IE6 as their standard corporate browser. It's one thing to fix IE6 bugs in our own code, but if the bugs are in the framework and I'm not supposed to edit the framework files, then I've got a problem...

We've had so many issues supporting IE6 (including a few awkward moments with clients), that I'm pretty sensitive to IE6 support and don't take chances with it.

I'd rather give them a higher estimate/bill and develop with a tool like Flex where it may take more time, but I'm guaranteed that it will work everywhere when I'm done.

That said, I still see where 4DAF is useful and intend to try it out when I get an appropriate project. The sooner you fully support IE6 (or at least clearly define what I shouldn't use in the framework if I want IE6 support), the sooner one of those projects is likely to come along...

As far as 4DPartners.com - You've done a good job thinking about the site from the user's perspective, but it would help to also think about the site from the perspective of a search engine spider. Currently fewer than 300 pages on the site are indexed - I'm pretty sure that's a small fraction of what it should be. I can suggest a number of ways to fix that problem - contact me directly if it's something you guys decide to work on and we can discuss it more fully.

Tuesday, October 23, 2007 4:21:00 PM EDT  

Post a Comment

Links to this post:

Create a Link

<< Home