Canada Post Shipping tools are designed using Java.
I'm a strong advocate of thin clients and Native software applications when speed, features, and strength of an application is needed. The web browser based applications are generally slow and clunky compared to real native software applications. For example if you want to use a word processor or a text editor, it's best to use a native word processor or native text editor.
But in this article, I'm going to tell you about how I found a Java application much slower and much clunkier than a web browser based application. Now this is truly sad.
Canada Post's shipping tool that runs on the PC is programmed in Java. I downloaded the program to ship items using my Canada Post business account.
The Java shipping tool application is about 500MB or so and all it does is send a shipping label to my printer and a shipping manifest form to the Canada post headquarters. And it is 500MB.
I had a choice of using the browser based tool, where I enter a shipping address into my web browser and submit the form. Then I print off the shipping label.
In this case, the HTML form was much faster and less bloated than the real thin client software application.
I chose to use my web browser instead of using a real software application - even though I'm an advocate of real software applications over web browser based software applications in mission critical situations (such as getting boxes shipped out on time). Real software applications, in addition to generally supporting more mission critical situations, allow you to do many more advanced operations that a web browser cannot do - such as save your state for later use, save your customer's shipping addresses and info on your PC (rather than server side kludges or Cookie kludges). A software app should also open in it's own window instead of just being another dumb browser window website where they can only do what your web browser can do. The reasons for using a real software application for some situations is simple - more customizability, advanced features, and more supportive for mission critical operations..
But in this case, the Java application was so disgustingly bloated, slow, kludgy, huge, and clunky, that the web browser software was actually much better! The web browser based shipping solution Canada Post offers is actually more useful and gets the job done better than their software application.
Does this mean that browser based software applications are better than real software applications? Does it mean that Java sucks and JavaScript rules? No. It means that in this case, the software engineers at Canada Post were naive. They don't and still don't know how to engineer a proper software application. The web browser based shipping tools generally suck for advanced users - but the real software application sucks even more! So sure, web browser based applications usually suck a bit, but if the desktop app sucks even more, what will the world come to?
So for those situations where a browser based HTML/JAVASCRIPT software app is faster and more responsive and ultimately more useful than native desktop software applications, you know that there are some serious software engineering problems over at Canada Post.
Shipping tools that run on your PC are a good idea - but they have to be more efficient than a web browser in order to be useful! Otherwise, why not just use a web browser?
|