I met with Jeff Whatcott from Adobe a couple of times, and have to admit that he’s a top-notch professional product manager. He knows how to talk the talk, and I mean it. But let me explain you what I mean. Intelligent Enterprise magazine has published an interview with Jeff on Rich Internet Applications. Of course, Jeff likes Adobe Flex technology for RIA (surprise, surprise).
The question is how do you say it properly? Especially when these journalists are asking questions like what do you think of AJAX, as if they do not understand that you are into Flex and for a good reason. Flex developers really like this product, but I’d split them into three categories based on how they’d answered the question, “What do you think of AJAX”.
Junior programmers and amateurs would simply say “AJAX sucks”. That’s why they are still junior.
Experienced Flex developers would say AJAX sucks because… and they’d give a half a dozen of valid reasons (I put myself into this category).
And the top notch professionals like Jeff, would put it right (no irony is intended here). Let’s read it, enjoy it, and most importantly learn how to talk the talk.
This question is wrong for various reasons. First of all, you can not compare AJAX with Flex as the former is a set of techniques for creation of richer Web applications, while the latter is a product of a particular vendor – Adobe in this case.
Also, asking Adobe product manager what he thinks about AJAX or WPF, is like asking me if I like my wife better that Joe Smith’s one.
But Jeff answers the question gracefully. He says, “There are lots of ways to build RIA user experiences, but you have to use the right tool for the job. There’s no one tool that’s right for every solution. Ajax is really great for bringing incremental improvements to existing Web applications. If you have a big Web app and you want to eliminate page refreshes here and there and bring some improvements to the user experience, it’s a great fit because it follows the same [development] model. It’s relatively easy for Web application developers to understand and adopt Ajax for simple things, and that takes you pretty far.”
I’d like to emphasize this statement, “If you have a big Web app and you want to eliminate page refreshes here and there and bring some improvements to the user experience, it’s a great fit”. Absolutely. AJAX is great tool for improving an old application here and there. Three Botox shots around the mouth. What’s that under your left eye? Let me fix it real quick. Ouch!! Done. It’s still Joan Rivers, but hey…I do not mind watching her at the Red Carpet this Sunday. Sure, Melissa looks better…a little.
But let’s get back to Ajax. Jeff continues, “Ajax gets a lot more complicated and more challenging to use when you’re building full-on, large-scale rich Internet applications that are very data intensive and very graphical. A lot of Ajax frameworks are fairly lightweight and not terribly complete“.
Jeff has to be careful, so let me try to interpret this last statement. IMHO, “lightweight and not terribly complete” means scattered widgets and pieces of functionalities that are not even close to solid Flex framework offerings. Opponents of Flex often say that they do not want to commit to a proprietary technology (they refer to Flex). But they do not get it – since writing AJAX application manually is something that even AJAX proponents do not recommend- you’d have to select one of two dozen of immature AJAX frameworks and lock yourself right in this proprietary tool.
And Jeff rightly states so, “Some of the commercial-grade frameworks are more complete, but they’re often incompatible and can’t be mixed and matched. When you pick one, you are really making a long-term commitment as to how your software is going to be built, so it could be a fairly risky decision. Another problem with Ajax is that productivity tends to suffer because of the cross-browser compatibility issues that pop up when you’re dealing with very large-scale applications. It takes time to track down and fix all the bugs. Flex is most powerful in these large-scale, complex development scenarios and it solves all the issues I just mentioned. “
Since I do not work for Adobe, I have a luxury to say that Flex is not a silver bullet either, you still need to write code and deal with non-trivial tasks daily. But it is a good and extensible platform, which can bring your enterprise Web application to a different level.
The next question was, “What about Microsoft Presentation Foundation? “
I do not know what Jeff was thinking about their direct competition, but he gave an open answer without burning any bridges, “That’s an incredibly powerful tool set. It’s really cool stuff and good technology, but it’s still a little early. It’s not yet widely proven in a lot of rollouts, so there may be lurking issues that we don’t know about.”
I consider this interview as a good lesson on interviewing techniques. This does not mean that I will be answering the same way, but I’m taking my hat off to Jeff for his speaking skills. I mean it.
P.S. Having said all this, I respect people who are overcoming AJAX challenges on a daily basis. I also respect people who climb Everest.