Ivor O’Connor

April 20, 2009

Firefox Beating IE?

Filed under: Firefox — Tags: — ioconnor @ 6:13 pm

There’s a site at http://gs.statcounter.com/#browser_version-na-daily-20080701-20090420 which shows just how well each of the browsers are doing as a percentage of a particular market and globaly. It’s not clear how accurate this is. For instance there’s no indication of how many people are using it. Perhaps it’s a hobbist tool appealing to mostly poor Firefox users? Google analytic data would be much better since businesses use their tools. Unless the stats from multiple bean counters agree with each other their data is questionable.

The above site made the news because they claim Firefox is now more popular in Europe than any other broswer. Almost more popular than all the IE versions put together. It’s about time! However until other bean counters corroborate their story I’ll treat this information as an outliner. A stat outside the bounds of realism that should not be used for any serious planning. Other than as a conversation point…

Advertisements

April 5, 2009

Starting Skeleton, Template, For Sqlite Google Gear Self-Contained Client Apps

Client side applications using google gears for locally storing SQL data are obviously the future. They allow applications to be run on any operating system without coding user interfaces, learning new languages, or managing SQL database daemons/servers. You can start by running the application off a server. But it’s much better to simply download the web page and run it disconnected from the internet. To start the application in the future you simply click on the html file you downloaded.¬† It is so cool.

Where are all the example sites describing how to use google gears for client side applications though? I’ve looked for starting point skeletons and have found NONE! I believe it is because the subject is new. So I’m publishing my own skeleton. It can be found at http://ioconnor.atbhost.net/google.gears.skeleton.html. I’ll probably upgrade it as time goes on but my skeleton is quite good already. After you read through Google’s tutorials at http://code.google.com/apis/gears/tutorial.html download my code and use it as a starting point for your own project. Don’t reinvent the wheel!

My skeleton is self-contained. There’s no need to download a set of files or update a registry, run an installation script, etc., assuming your environment is complete.

However if your base environment is not complete no problem. The environment is tested to verify the gears addon has already been installed, that javascript is enabled, and that you have an up-to-date browser. If something is lacking you must click “ok” to acknowledge the problem and then your browser takes you to the URL where¬† the fix is.

I wish I had this easy to use skeleton a long time ago. It makes client side browser applications using SQL easy!

I’m probably going to make quite a few client side browser applications using this template. Having a free interface, sql database, and programming language across all OS platforms levels the playing field so much it can’t be ignored.

Update 2009.04.08: The code was refined yet again tonight. There’s nothing in it that seems to be lacking that can be done better. However please comment on it if there is something more that could be done…

April 4, 2009

Stripped Google Gears Causing Accidents

Filed under: debugging, Firefox, GEARS, GOOGLE, howto, JavaScript, Linux, tutorial, typeof, ubuntu — Tags: , , , , , — ioconnor @ 12:02 am

Attempting to use Google Gears when it is not installed on a user’s browser causes an error. You’d think their library would handle this more gracefully than just crashing but it doesn’t.
UPDATED 2009.04.04: Their library should define the call but return something akin to an alert warning the user/developer

The crash occurs on this line:

g_db = google.gears.factory.create(‘beta.database’);

I pulled out my “JavaScript The Definitive Guide 5th Edition” looking for how to get around this. (This is my primary reference book for all things JavaScript. Perhaps if I were better at JavaScript it would be second nature but I’m not good at JavaScript so I spend lots of time looking things up.) I figured “google…” was not defined. So I looked at the index and put a paperclip on each page in the book referenced by the index. Then I tried all sorts of combinations none of which would work. Things like:

if (google === undefined) {
alert(“A”);
} else {
alert(“B”);
}

and

if (google == undefined) {
alert(“A”);
} else {
alert(“B”);
}

and

if (“gears” in google) {
alert(“A”);
} else {
alert(“B”);
}

and

if (google) {
alert(“A”);
} else {
alert(“B”);
}

and

if (google.gears) {
alert(“A”);
} else {
alert(“B”);
}

and

if (“length” in google) {
alert(“A”);
} else {
alert(“B”);
}

but none of above worked! There were no other solutions in my reference book. My reference book doth sucketh.

So I used a try/catch for a while but I’d still get an error message in the “error console”. The try/catch is ugly but it let me do what I needed and polluting the error console seems to be acceptable. Everybody does it. Just leave the error console open while browsing the web to see how rampant the pollution is.

However I revisited this problem today. After extensive googling seeing all sorts of “solutions” that were similar to the above and which did not work I happened to find the following:

if (typeof(google) == ‘undefined’) {

I’m using Firefox 3.0.8 if this makes any difference. It’s the very latest version as of this month from Mozilla. I’ve got to remember this solution in the future!

Create a free website or blog at WordPress.com.