Why long-polling request may lead to usability problems

Posted in Software Development on January 29th, 2010 by Jürgen – Be the first to comment

We are living in the Web 2.0 era, that’s where Web applications load their contents dynamically using an AJAX request or JSONP. One of the more interesting things you can do is push notifications to the browser. Instead of having a timer in the browser firing at a fixed rate, you send a request to server and don’t answer immediately. Whenever an event on the server occurs, you send a notification to the browser over this connection and close it afterwards. The browser in turn, after handling the notification, instantly sends a new request waiting for more events. Because of the nature of that request it is called long-polling. This works really fine, to avoid timeouts by routers or proxies that are between browsers and the server you can send a ‘nothing happened’ notification after a while so that the browser can build a new request.

And now come the real issues. Currently they only apply to Safari browsers. Apple is known for the outstanding usability of their products and so they had a great idea to inform users when Safari is doing background server fetches. Normally, a spinning wheel on the right end of the address field indicates that the browser is loading and during that it appears as selected. Whenever Safari retrieves resources indirectly by referencing them from within the page’s HTML, AJAX or JSONP calls, the spinning wheel does its thing and the background appears in a disabled state.

Safari screenshot

So why do you need to care about this? From a user’s perspective, the Web applications appears as it still hasn’t finished downloading yet. After a while, they refresh the site hoping this will resolve. But doesn’t refreshing the page make the AJAX obsolete? And believe me, user’s will do this. If it doesn’t go away, they turn their interest to someone else’s page, or if you are lucky, they complain.

But the real painful part for you is that the user can, even when the spinning wheel appears disabled, click on the cancel button (the cross) and stop your long-polling request forever!

And what are your workarounds? Okay, Safari users are evil, don’t care about them. Then you should at least notify them before using a browser you do not support. Another alternative is to force users to install the Yahoo! Browser Plus plug-in. This is super-simple, users don’t even need to restart the browser after installation or need administration privileges on their machines, and you get some crazy features like desktop drag’n'drop for free. Browser Plus provides a JSONRequest object that does cross-domain JSON requests in a safe manner.

Another alternative would be to rethink your application model about whether you can avoid pushing data to the browser. Creating Web applications with an exciting user experience is still a complex task. Compared to native applications, browsers, their programming model and JavaScript, are still limiting in so many ways.

Related topics:
Yahoo! Browser Plus

Apple Store in Frankfurt am Main kommt im Dezember

Posted in Apple on October 18th, 2009 by Jürgen – Be the first to comment

Nein, es ist eigentlich schon kein Gerücht mehr. Apple wird noch im Dezember einen eigenen Retail Store in Frankfurt am Main eröffnen. Wie üblich wird der Store in bester Innenstadtlage zu finden sein, diesmal in der berühmten Freßgass, nahe der Frankfurter Börse. Die Indizien scheinen stichhaltig.

Natürlich findet man (noch) keine Informationen auf der Apple Webseite oder in anderen offiziellen Quellen. Auch der Baustelle kann man den neuen Mieter noch nicht ansehen. Allerdings deutet ein Begleitschein einer Lieferung an jene Baustelle darauf hin, dass es ein zumindest zweistöckiger Store wird, ähnlich wie in der Münchner Rosenstraße.

read more »

Mystery-mongers at Apple

Posted in Apple on August 21st, 2009 by Jürgen – 1 Comment

No new story here. Apple is famous for its secretiveness about their upcoming products. Whether it is the new Apple iTablet—a 10″ inch tablet PC everyone is rumoring about—or a software and hardware upgrade of the Apple TV. The sales date for MacOS X Snow Leopard could be the 28th of August. Again, only rumors. But why does Apple do this with orders on their online store, too? read more »

Ehcache Joins Terracotta

Posted in Terracotta on August 19th, 2009 by Jürgen – 3 Comments

These are exciting times for developers. Two of the technology leaders in the Java world have joined their forces: one of the best Java caching solutions, Ehcache, has been bought by Terracotta, presumably the best JVM grid scaling solution today. read more »

Can Terracotta Dissolve The ORM Mismatch?

Posted in Software Development on May 21st, 2009 by Jürgen – Be the first to comment

The short answer is: No. In many of your projects, you will still find the need of using RDBMSs. And there is nothing evil about RDMSs, as long as you use them for what they are good at, and for what they were designed. Ask a snail to move fast, you will be disappointed. Ask a RDBMS to persist an object graph, you will be disappointed. Hope that Terracotta brings some magic salvation? You will be disappointed, too. read more »

Why Going The Difficult Way?

Posted in Software Development on May 16th, 2009 by Jürgen – Be the first to comment

I often get asked when there is something available on the CoordinateMe website that one can test. So you can get a first impression of the CoordinateMe web service. I have provided some information on the Lindenbook website, and people seem to get curious. My answer is often something like, “It’s not finished yet, I am currently integrating Terracotta.”, or, “It’s not in a usable state yet, I’m learning Spring.”, or, “I’m currently improving my UNIX scripts.” These answers do not tell anything to someone who is not into Java programming. read more »

Thoughts About Upgrading Terracotta

Posted in Terracotta on May 12th, 2009 by Jürgen – 1 Comment

Terracotta is one of these really cool frameworks that can make Java applications run on a computer grid without any or minor modification to application code. And even better, it comes with a dual-license, one commercial, and the other a full featured community version. read more »

No T-shirt for me

Posted in Apple on December 7th, 2008 by Jürgen – Be the first to comment

A sunny morning in Munich. I am near the Marienplatz. A small woman with brown hair and brown eyes looks up at me.

“Excuse me, can you tell me what all the fuss is about?”

Sure, it must have been a strange experience for outstanding people. Right here in a pedestrian area, a huge crowd had gathered, with almost no visible cause for doing so. And young people in turquois and orange t-shirts were running around cheering “München, München, München, München”.

“Do you know Apple, I mean, the company Apple?” I pointed to the big, white apple with a byte on the right side that was mounted on the huge glass front of the store before us. The woman nodded. read more »

Apple Retail Store Opens in Munich

Posted in Apple on December 5th, 2008 by Jürgen – 1 Comment

Tomorrow, on December 6th, Apple will open its first retail store on German soil ever. Many avid Apple fans were eagerly waiting for this to happen. The gossip started in February when Apple was looking for sales stuff in the Munich area. But as always with Apple, no comment about when and where. read more »

My Blog is up and Running

Posted in Miscellaneous on December 3rd, 2008 by Jürgen – Be the first to comment

Someone might ask what a weird name for a blog, messingblog. Let’s see, what the dictionary says:

mess verb

[ trans. make untidy or dirty you’ve messed up my beautiful carpet.• [ intrans. (of a domestic animal) defecate they had some problems with dogs messing in the store.• make dirty by defecating he feared he would mess the bed. read more »