An Ode to OpenSource

-Akshay Ranganath

Last week, in our office, we were working on building an application that needed some graphs and charting capability. Lots of options came up, from Flash, to Silverlight, CSS, AJAX and so on. However, when the timelines got clearer, we had to look for something that was fast and already doing most of the work..

The way we went about deciding on the solution and building a small prototype was a reveleation on how entrenched open source has become – and how we have started to take it for granted. Here’s the story..

Graphing

The primary requirement was generating graphs. We had options like JfreeChart, CSS based charts, some RUI components like Flash and Silverlight.

Java based tools were too heavy for us. We wanted something to plugin with Apache web server. We did not need another app server – even though they may be free. This effectively rendered most options out – and we did not have time to explore option of changing technology from LAMP stack to Java/J2EE based stack.

Enter Google Charts – Its a free HTTP API. You just send data to be charted in a pre-defined format and the Google server returns you a nice graph as a PNG image. Just embed it and behold – your site has ability to draw charts! No excel, no complicated libraries. What’s more – you canconfigure many things:

  1. type of graph – bar, pie, line
  2. colors for graph
  3. scales – especially for line charts to appear nice
  4. title for graph, legends and so on

and all for free. Development time for graphs – reduced to 0!

UI
Next question was how to provide a rich UI for generating these graphs. There were lots of answers like writing our own XhttpRequest to using Yahoo UI, Jquery and so on.

Finally, we settled on Jquery. It is simple, easy and very light. Compared to Yahoo UI’s MNs of size, this entire library is just one file and provides ability for:

  1. DOM manipulation
  2. AJAX calls
  3. Simple effects like hide, display, etc.

Again – cost is zero and development is 0!

Environment
Next was the question of environment. Server we’d already decided was Apache. So again, cost is zero.. (Well, I was getting good at suggestion these zero cost solutions 🙂

IDE
Next came the decision of what to use as IDE. Although we could have done a bit of R&D on this, we simply chose Eclipse since the installers were already available.

Test Environment
Since we were learning Jquery and testing it, we wanted a brower that could point out any Javascript errors and in an easy to debug manner. We also wanted to do a multi browser test – just to ensure that it worked correctly. So, we got hold of Firefox and Google Chrome. Both have a very helpful JS debugger (Firebug in Firefox is every developer’s dream come true!) Safari too is free so we just got hold of that too..

So finally..
The result of all these solutions was that we managed to get a small protoype taking user input, sending data to Google, getting the chart and displaying it. This entire application took just about 4 hours of development time – most of which was spent in installation of software! It was amazing that so much could be accomplished with just a plug and start model. We did not have to invest time or money in getting any of the actual functionality to work – we just focused on the business problem of getting the right data for graphing. Everything else was just open sourced!

I was amazed at how we could achieve this all – and never give it a thought. So, I just wanted to say a big “Thank you” to all the people who took pains in developing such helpful software and publish it out so that the entire world could use it for their needs.

OSS rocks!

PS: We tested our application on Ubuntu and this blog was written on OpenOffice – something I totally forgot while writing the blog.. amazing isn’t it how you get used to the OS being non-Windows and OpenOffice just makes you feel so much at for MS Office users (at least for most part!)

Google Chrome – A Quick Review

-Akshay Ranganath

Today, Google is launching it’s new browser called “Google Chrome” as a beta in more than 100 countries. This is to be an open source browser, taking a lot from the communities of Firefox and Apple. Reasoning on the lauch, the official Google Blog says,

“We search, chat, email and collaborate in a browser. And in our spare time, we shop, bank, read news and keep in touch with friends — all using a browser. Because we spend so much time online, we began seriously thinking about what kind of browser could exist if we started from scratch and built on the best elements out there.”

All this sounds correct – and good. However, but, underneath, the browser seems to be yet another appetite for Google’s hunger for data. Consider this, until now, Google could track you if you were on Google Search, Blogger, Mail or one of its innumerable products. With the browser, you just don’t have to be on their site. All you need is use their browser – and over a period of time, start collecting anonymous information on the browsing habits of users and fine tune the ads. Better ads, better money.

I know it is a bit paranoid that privacy may not be invaded but, if Google chose to, would it be not possible to gain this advantage?

Microsoft though should now be feeling a bit jittery – with the dominance on OS being questioned (Vista fiasco) and online document sharing sites impacting the Office dominance, the latest launch from Google must really be scaring them off!

What do you feel?

Updated on 04/09 after actually used Chrome for about 4 hours..

Why another browser?
One question on everyone’s mind seems to be “Why another browser?” and “Why should Google bother about it?” Well, the answer seems to be buried in many blogs and reviews. But two things emerge:

1. Competition with MS

At a superficial level, Google wants to keep Microsoft on its toes. IE is still the market leader with more than 70% market share. Despite Firefox being popular, 13% is still a small user base. Google wants to thow its weight and push more users to the browser platform and ‘disintermediate’ users from the shackles of not just IE but from the clutch of Windows itself. After all when the browser can open sites like applications, users start to lose the differentiator between what’s online and what’s offline. So Google Documents can take over Microsoft Office and be quite nifty on any platform.

2. Switching to cloud computing

At a more depth though, Google wants to turbo charge the adoption of the cloud. As this article says:

To Google, the browser has become a weak link in the cloud system – the needle’s eye through which the outputs of the company’s massive data centers usually have to pass to reach the user – and as a result the browser has to be rethought, revamped, retooled, modernized. Google can’t wait for Microsoft or Apple or the Mozilla Foundation to make the changes .. so Google is jump-starting the process with Chrome.” Continuing on this line the author says that winning the browser war is not the strategy – it is jump starting the user adoption to a ‘cloud’ based mode that is the real driver behind this innovation.


A small benchmark test

Yesterday, I used the browser for almost 4 hours and came away quite impressed. Since the browser claimed to have a Javascript engine that is separe (aka Virtual machine), I loaded sites that are AJAX/JS heavy like http://g.ho.st (a web operating system) to see what happened. Firefox handled ok, IE crawled while Chrome simple dazzled. Then, I tried some (illegal) mp3 songs download. This was simply incredible. Not sure how they did it, songs of about 7 MB that would have take 2-3 minutes got downloaded in about half a minute! I am still trying to figure out if the network was somehow so good yesterday (although I dount it..)

Relief for developers

If you’ve executed a project where the client demands multi-browser support, I’m sure you know how hard it is to achieve. With functionality, you can somehow wrench a logic but with the browsers, it is a totally illogical and irrational trial and error that can take eons to complete.

Luckily, Chrome is based on the Apple’s WebKit fore rendering the pages. So, hopefully, us developers will not be hit too hard and won’t have to design one more CSS hack set for one more browser.. Yippie!

A Resounding accolade to Open-ness!

-Akshay Ranganath

In the hard-headed economically oriented and prestigious magazine, The Economist, Open Source has come in for a lot of praise. Read the article on predictions for the year 2008 with regards to adoption of Linux based machines by enterprises. Sample this: Asus Eee comes at a nifty price of just $ 400 – pre-loaded with Open Source tools along with Linux as the OS.

Compare this to a $ 1,000 PC that comes with Business editions of Windows Vista with added costs for procuring Microsoft Office, Exchange et al. and the money seems significant. The article concludes saying:

“Pundits agree: neither Microsoft nor Apple can compete at the new price points being plumbed by companies looking to cut costs. With open-source software maturing fast, Linux, OpenOffice, Firefox, MySQL, Evolution, Pidgin and some 23,000 other Linux applications available for free seem more than ready to fill that gap. By some reckonings, Linux fans will soon outnumber Macintosh addicts. Linus Torvalds should be rightly proud.”

Amen from FLOSS!

Reference:

Three fealess predictions – http://economist.com/daily/columns/techview/displaystory.cfm?story_id=10410912