Friday, December 30, 2011

Cross browser support in web applications

Few years ago, we had very few variations in the browsers. After the Google chrome, the browser market became very agile. Now, Firefox is releasing a major version every few months.

In our team, we have two products, let's call it A and B.
A is developed with HTML, Javascript, CSS and with few additional third party components for Menus and Trees.
B is developed with the RIA framework qooxdoo. As the qooxdoo framework provides quite a lot of widgets, B does not use any other third party components for Menus and Trees.

Recently, the verification of the products are in progress.
A has lot of issues with the different browsers. To say a few.
1- The third party components does not work with IE9 and Chrome 16.
2- We have coded in HTML and javascript to retain the fixed header for the tables. That worked well in IE7.0 and Firefox 3.x. From Firefox4 onwards, Firefox removed the support of a variable. Fixed header code broke in Firefox 4.x onwards. We tested in Firefox 9.0, the code didn't work in that version too. We had to fix it separately for Firefox 3.x and Firefox 4.x onwards.

let's see how B performs.
1- As there are no third party components, B worked fairly well in IE9, Firefox 9.0, and Chrome.
2- qooxdoo  provides the table widget with sortable columns. This works well in most of the browsers.

So, with the agile competition between the browsers, it is advisable to migrate your web application to a Rich Internet application using a good framework such as qooxdoo.

Now, there is a beginner's guide on qooxdoo to jumpstart your development on Qooxdoo.
http://www.packtpub.com/qooxdoo-for-rich-internet-applications-beginners-guide/book


Thursday, December 29, 2011

prompt aborted by user in Firefox 8/9

For few years, I had the following snippet of code that worked until Firefox 3.x. The following code refreshes the frame/page after the delete action to clear the old object and then alert the user that the action is complete.
refreshOnDelete();
alert(“Deleted Successfully");
In Firefox 8/9, looks like they are unloading cleanly. Therefore the alert will not be displayed to the user. Instead Firefox 8/9 displays an error message “prompt aborted by user”.
So, you should alert before refreshing the frame/page. The following code works in Firefox 8/9
alert(“Deleted Successfully");
refreshOnDelete();

Tuesday, December 27, 2011

Beginner's guide on qooxdoo

Rich Internet Application (RIA) provides the capability to deliver feature-rich web applications, enables you to develop web applications with most of the desktop application's characteristics, and improves the usability of the web application. Over the last few years, many frameworks have arrived and are available to develop the Rich Internet Applications in different technologies.

qooxdoo is one of the comprehensive open source RIA frameworks. qooxdoo allows you to develop cross-browser RIAs in object-oriented JavaScript, which helps greatly to re-use application code, and hence reduces the application size. It provides a wide range of off-the-shelf UI widgets. qooxdoo comes with a rich feature set when compared to most of the other RIA frameworks. qooxdoo is completely based on JavaScript. It provides a variety of tools to build, optimize, generate documentation, and more. qooxdoo framework supports multiple browsers, multi-language deployment, custom look and feel, unit testing, automation testing, and much more.

In the past few years, all the major Internet applications or enterprise applications have been developed or migrated to RIA to support all the features that are provided in the desktop applications. This helps the organizations to keep the customers happy and also improves application deployment and maintenance.

qooxdoo is an open source framework. It has been there since 2005 and it is a quite stable framework now. If you are watching and waiting for the right time to migrate your application to qooxdoo, this is the right time, in my opinion. Now, there is a beginner's guide on qooxdoo to jumpstart your development on Qooxdoo.
http://www.packtpub.com/qooxdoo-for-rich-internet-applications-beginners-guide/book

Wednesday, November 30, 2011

Requirements - What Vs How

When you get a request to add a feature for the product, you focus on the problem and ask what the user wants rather than how they want it. Most of the times, you'll hear "how they want". Realizing what is the actual problem will enable you to provide a better and cleaner solution than their expectation.

Friday, June 04, 2010

Sleep Vs Quality Sleep

Normally I hear people saying "You should have quality sleep". I didn't actually feel and experience that until last week. Few months back, I replaced my zero watts bulb (Apparently it is 12 watts bulb, check out here). Earlier I had Blue colored one, But I got the plain colored one as a replacement. I replaced the bulb and everything was fine. I normally switch on that bulb during the night and sleep. Initially I didn't realize any change, But in the later days, I realized that even if I sleep for 8+ hours, my eyes were straining during the day time. I thought it may be due to the tiredness of work, travel on Bangalore roads etc. One day I suddenly realized that long long ago, someone told me that my eyes are open slightly during my sleep. I started thinking on those lines and realized the plain colored zero watt bulb provides more light during the night. As I normally open my eyes slightly during sleep, I guess I strained my eyes during the sleep by closing it forcefully to avoid the light, which is the root cause. Then, I switched off the zero watt bulb and slept for few days, the quality of sleep improved a lot and now I sleep at least by 1 hour less than what I used to sleep before, get up early without alarm and my eyes doesn't strain during the day time. So, I really felt the quality sleep :)

Now, I started researching about further improving the quality of my sleep by thinking and discussing with friends. Following mind map conveys all about getting quality sleep.