Webreakstuff's blog on design, development and strategy. Click here to subscribe.

Ajax, Java, and a huge misunderstanding

Fred Oliveira on May 25, 2006 Comments (13)

Java Tim O’Reilly has a post on the O’Reilly Radar that caught my eye today. He mentions how Java developers at the JavaOne conference showed signs of (and I quote) “envy and angst” against Ajax, and follows that with “Java had the vision of rich web apps long ago, and is still a great platform for building network-enabled apps with great front-ends”.

Now the misconception here isn’t that Java is a great platform to build applications front-ends (network-enabled or not), but that it can be compared to Ajax. The two can’t be compared for several reasons. Here’s two:

  • The technologies behind Ajax alone (XML, Javascript) are not enough to build an application. Ajax is a means to an end - or part of it. It depends on other code layers, both for data presentation, as well as application flow - and those aren’t Ajax at all. Thats why you don’t see web apps purely based on it - it’s simply impossible.
  • The percentage of Java (some people still confuse Java with Javascript) being used on the web is declining, and has been since alternative - and far lighter - technologies (like Flash) came along that removed the need to load a JVM to do what Java used to do. In fact, why would I, as a developer, pick Java over anything else that allowed me to do the same thing and not frustrate my users by slowing their machines down a notch?

Tim O’Reilly concludes the post with this sentence:

It’s impossible to think through what people are going to want to do until they start doing it, so sometimes it’s best to seed the market with a hack that gets people going, and then follow up as you watch what they do with it.

Tim, the major problem here is that the time for Java-based front-ends on the web is gone. Others have emerged in this space and took its place, not because they were “hacks”, but because they were better solutions to the problems developers faced. Why should anyone change from Rails+Ajax (or anything else+Ajax), Flex or anything else to Java? What does it really have to offer that we haven’t seen before?

And I mean on the web, Tim. Because the application you mention on your post isn’t web-based. It’s desktop Java, using Swing. There’s no competing with Ajax, or anything else on the web, because they’re not even playing in the same field, here. Let’s not compare Apples to Oranges, or hype technologies because the enthusiasts behind them (which I respect, naturally) are feeling angst for their ball being taken away, not by hacks, but by several other solutions which people have grown to use.

Update:

After reading some comments (and getting some IMs), I realized I didn’t make a proper distinction between what I meant with the time for Java on the web being gone. It’s not the server-side Java I’m talking about. What I *am* talking about, though, is Java as a presentation layer for web applications, the front-end, the frickin’ applets - which is what Tim was talking about as well. This being explained, my point may be clearer.


Yahoo! Maps gets a face-lift

Fred Oliveira on November 3, 2005 Comments (9)

Yahoo! Yahoo! Maps just launched a new version based on Flash and Mike has the scoop on Techcrunch. I’m posting about it because some people seem to have issues with the user experience of the updated service, and complain that because it is built on flash, it is slower than Google’s take on maps. Here are my late night (call it early morning since it’s 7 am) thoughts on this:

Flash vs Ajax and the world

The infatuation continues between the world and Ajax - particularly when people pick Flash as the alternative. I’ve posted about this twice already, so I’ll just note that Y!’s use of flash in Yahoo! Maps is perfectly understandable: in fact, it makes no sense to go with Ajax with the kind of functionality they are aiming for and wanting to maintain 98% install base.

The thing here is that Flash allows developers to create a continuous and contained experience that 98% of the web is ready for - no browser consistency problems, no “disabled javascript” or “disable activex” (for the IE users around us), etc. It just makes sense. Plus, I’ve heard good things about the new capabilities of the Flex Platform (I’ve been reading about it on Macromedia Labs).

User Experience

People are complaining that Google Maps is more intuitive. I could argue with that. It is simpler, yes, which may be a plus in some cases (in fact, most), but it is not as fluid (if you’re not on IE - yes, I’m serious, try it out) and doesn’t have as much features.

The mini-map is a great experience, and it makes sense on a first look. It is easy to get into how the system works, even for people who have never used any online mapping application. This means that to be totally honest, I don’t get comments from people who are complaining. It may be “slower” on some platforms because, yes, flash does have issues in Macs and Linux - which I too hope they fix. But user experience-wise, this is actually really good.

A critic view

Experience and Flash aside, this new version of Y! Maps is compelling, and actually shows that Yahoo takes time to do things, but does them right (check out their new Email client and now this). If this is better or worse than Google’s approach of releasing early, I don’t know. They don’t get as much user-base because people will go with the first product that pops in, but those that wait, do get a stable web application.

I have had my issues with the Yahoo way a few times (recently, with their approach to blog search), but I can sure see when they play the right cards, and this is definitely one of those. Thumbs up.


Browser dependency makes me sick

Fred Oliveira on September 9, 2005 Comments (10)

Ajax One thing that pissed me off about the old (well, 2 years or so is a long time in internet-time) ways of internet development was browser dependency. Now, I’ve always been an untiring web standards advocate, so now that developing new websites using web standards is pretty much the norm and browser developers are realizing that they need to comply, we’re walking towards another era of browser dependency. And it’s making me sick.

Ajax (yes, he’s talking about ajax again). People are using it everywhere, as I predicted some time ago. The problem is, most new developers don’t realize they’re limiting their audience to a small share of web users. Let’s take as an example pretty much all Ajax-based new age Web 2.0 applications. Limited to no safari/opera support, no IE support under 6.0, and sometimes it only works on Firefox (period).

Now, I do use Firefox as my primary browser so I don’t get to complain as often as some people, but there are times when I use Safari because I like the speed; or, heck, I even test some sites on IE sometimes. And it pisses me off that most Ajax-based web-apps cease working: and that’s not the worst part. The worst part is that developers don’t seem to give a damn. As a developer myself, this leaves me flabbergasted. Get a new pair of eyes, people.

I’ve said this before, but I guess I’ll have to say it again. Ajax isn’t the be-all end-all of web applications. From a Usability standpoint, ajax is beneficial because it reduces page refreshes to get to a piece of information but there’s a couple of things that most new developers need to realize:

  • Ajax creates several problems that limit usability and decrease user satisfaction. Most of the times, the responsiveness trade-off isn’t worth the use of Ajax in the first place.
  • Second, if developers want to use Ajax to reduce page refreshes, they should first consider the possibility of revising their navigation flow: most of the times the problem they’re trying to solve is only a matter of more proper consideration of navigation (and ways to actually see content).

I don’t even know why I’m talking about information architecture and usability, though, because fact of the matter is, most companies are using Ajax for the sake of using Ajax. Because it’s a buzzword and everybody seems to care. You just need to say something is ajax powered in order to get everybody’s attention. The rule should be to use ajax, meaningfully. Where it actually has a purpose, and where it actually helps the user.

Update: Kevin Hale in the comments points out to an article he and his gang over at the great Particletree set up about degradable Ajax. A must-read if you’re deploying Ajax-powered applications and want to make sure you satisfy all your userbase. Read the article here.


Anil Dash on judging tools

Fred Oliveira on August 7, 2005 Comments (2)

There’s a really good post (link) on Anil Dash’s weblog that goes quite along the lines of my “Ajax won’t cook you breakfast” post, which you should definitely read if you haven’t yet. Anil criticizes (and I quite agree) raving about products because of their underlying technologies just because they’re “hip”. He does this by talking about Blinksale (Techcrunch Profile), but in my opinion, it’s not about the product itself.

Abstracting from Blinksale (because this may not be their case, I’ve been too busy to keep up on stories on them), product developers are starting to promote tools based on what they’re built on and not what they effectively acomplish. This is just plain silly for several reasons. First, because Ajax (and you know everybody is getting it on their apps like it was sugar) isn’t the be-all-end-all of web technologies (definitely read my ajax post for the explanation why). Secondly, because I (and most people) don’t really care what it was built on if it does its work, and it does it well enough for me to use it. Heck, if you look at most web apps right now you won’t even know what they’re built on, but you know they work, right? Isn’t that a little more important than going around showing your technology-bling?

I really believe it is.