Rich Client Vs. Web: User interface

One of the most visible effects of choosing either web or desktop technology is the way the resulting application will appear. Right now there are a couple of development frameworks to take into consideration. These are in no particular order:

  • Basic web application
  • AJAX
  • Netbeans/Eclipse Rich Client
  • Swing/SWT application

(This list is Java oriented.)

All of these have advantages and disadvantages. The list above can be divided into two main categories. To no surprise these are Web and Desktop. Anyway, right now I’m working for my employer on a document which ellaborates on these differences. Also I’ve submitted a proposal to the NL-JUG’s upcomming J-Fall to do a talk about this subject for my employer. I hope they’ll agree with me that it’s an important subject to reflect on a bit.

Rich Client vs. Web 2.0 – Deployment and maintenance

Finally you’ve finished your latest wonder. Now to boldly move on to marvellous new functionality.

Wait a second.

Before moving on to something else it would be nice of you to actually make your app available to your users.

Let’s see. This one should be a bit of a no-brainer according to most people. Usually people start blabbering about how easy it is to deploy and maintain a web application. While this is true most of the time, things do tend to get a bit more complicated with Web 2.0. Things like Javascript and browser versions come to mind. And Rich Clients are supposed to be hard to deploy.
Continue reading

Rich Client vs. Web 2.0

In my opinion a lot of companies are going to make decisions in the near future about using Web 2.0 or Rich Client for their next end-user applications. Both have their respective strong and weak points.

Over the next couple of weeks I intend to put up some postings about my opinion on various aspects of Web 2.0 compared to Rich Client development. Since I myself am mostly involved with Java software development I will focus on the aspects of frameworks and platforms based on the Java language.

For this intro, let’s lay down some basics by defining what Web 2.0 and Rich Client is.

I’ve found a nice definition of Web 2.0 at O’Reilly Radar:

Web 2.0 is the network as platform, spanning all connected devices; Web 2.0 applications are those that make the most of the intrinsic advantages of that platform: delivering software as a continually-updated service that gets better the more people use it, consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others, creating network effects through an “architecture of participation,” and going beyond the page metaphor of Web 1.0 to deliver rich user experiences.

Now on to Rich Client. There is a very good definition available at TechTarget.com:

A rich client is a networked computer that has some resources installed locally but also depends on other resources distributed over the network. The rich client’s configuration is somewhere between that of a thin client, which relies largely upon network-distributed resources, and a fat client which has most resources installed locally.

Who wants Sudoku, come get some.

Eclipse sudoku projectsExcellent support by Wayne Beaton again. It probably already was available, I just didn’t know it was. The Sudoku game Wayne has been working on is available for download.

Just import this project set into your Eclipse install and you are ready to go. You will be asked for CVS credentials. Just enter anonymous as a user-name and leave the password field blank or enter your email address.

Now you’ve got a sweet little application to molest to your hearth’s content. Complex enough to feel real, but small enough to get into in a short time-span.

Callisto is final

Last night I installed the final release of Callisto with Eclipse 3.2 on my mac. And it works like a charm so far. Earlier release candidates were often broken on OSX. But this seems solid. Also the sheer amount of functionality is just overwhelming, where do I start with exploring all the goodies provided by the Callisto release plug-ins?

Callisto is here...Compared to previous Eclipse OSX releases Eclipse seems a lot more polished now. Sure there are some gripes, like scroll-bars appearing in the description field of the new project wizard. But it is getting better and better. Guess I will be doing some Wayne Beaton inspired evangelising on my current project next week. (Basically this would mean raising my hands into the air, exclaim why I think Eclipse is best, then kindly respond to all questions being asked. I won’t go swimming in a frozen lake though.)

I have been goofing around a bit last night, I smacked together some user interfaces with VE. Which is also part of the Callisto release. It seems to work ok, but still it doesn’t have the flexibility of rolling the views yourself. I’m not sure yet if I really like Visual Editor, but the rest of Callisto: Awesome! :P

Weird stuff with Eclipse…

Or: How to get your users pissed unhappy.

Simple: Hack to span an Eclipse RCP screen accross more than one monitor. Don’t ask me why, it wasn’t my idea. I’ve just seen this in code somewhere.

Here’s how it works:

Mess up the Window.getInitialSize() so it takes all your screen real estate into acount, you’ve got two displays 1200 pixels wide? Ok, then we make the initial size’s width 2400. Don’t forget to mutilate alter the Window.constrainShellSize() method accordingly, else Eclipse will act up a bit. (How naughty.)

Now comes the best part. make sure you filter any occurences of SWT.RESIZE when Window.setShellStyle(int newShellStyle) gets called. Yes I said filter. Imagine some gullable developer passing by who thinks restricting window resizing is an excelent end-user screw.

Did I mention that all this was achieved by some aspectj crosscutting??

In the end, it works, sort of. Maximizing is disabled and resizing is disabled. So you end up with a huge piece of crap window plastered all over your screen real estate. You see, users are just dumb people. Letting them decide how to set their window sizes can only result in trouble. Well, atleast that seems to be the idea.

I hope you all got the point that I think the above is an “excellent” idea. (No, ofcourse I don’t think the above is a good idea.)

J-Spring 2006: Well, they’re improving everytime…

Dutch Java User GroupLast week I went to the J-Spring. I must say that the NL-JUG runs a tight ship when it comes o conferences. Which is a good thing. I’ve seen that girl with the 5 minute sign like a million times. Overall the entire conference was a solid excercize. Only complaint that I have is the length of the sessions. Most sessions lasted only 45 minutes. Now that’s very little time for a technical presentation. One of the noticable effect was the feeling that a lot of speakers were rushing they’re talk.

For an impression on the sessions themselves, check my colleague Peter’s blog entry/article.