Thursday, May 13, 2010

Getting Started with Maemo 5 - Frustration

So now that I have my shiny new Ubuntu installation customised like I want it with various apps, the most important being Aptana for its robust support of FTP in PHP development, I wanted to have a look at Maemo development and make some simple widgets for my Nokia N900.

I knew the Nokia SDK only runs natively on Debian based systems like Ubuntu. Sadly, what I didn't know is while Scratchbox Xypher and the SDK installed and functioned without issue on Lucid, when it came to the IDE setup, things didn't go quite so smoothly - in fact, they didn't go at all.

The recommended IDE is Esbox which is basically a plugin for Eclipse which can handle development in Scratchbox. However, Esbox in both its full Eclipse install form and the plugin form only works with much older versions of Eclipse and their Eclipse version didn't like my version of GTK. Despite the versioning info on the Esbox site, I figured maybe with Lucid I might get away with it but all I got was a splash screen and a contentless dialogue box that refused to die.

So it seems that even though I'm on Ubuntu I will have to use the virtual image of the Maemo SDK environment to get anything serious done on Maemo.

I intend to have a poke around this option over the next few days and will post if I meet any significant hurdles.

Monday, May 3, 2010

Ubuntu 10.04 - Lucid Lynx on Dell Inspiron 9400 and Inspiron 500m

I've been watching the development of Linux on the Desktop since '99 like an expectant chef stands over a big ol' pot of gumbo - occasionally dipping for a quick taste to see if it was 'just right' yet. Confident of the ingredients, I knew all it needed was time.

With the catalyst of the surge in popularity of Linux as an OS on various other devices such as netbooks and phones, I believe we are closer to chow time than we have ever been.

Over the weekend I've been checking out the latest incarnation of Canonical's Ubuntu distribution - 10.04 LTS (rather more imaginatively codenamed Lucid Lynx). The 'LTS' prefix basically means it will be supported for the next 3 years even though Canonical release a major update to their operating system every 6 months or so.

I installed it on 2 machines, an old Dell Inspiron 500m with 512mb of RAM and an existing XP Pro installation and also on a Dell Inspiron 9400 with 2GB of RAM. While there were issues with the installation on both machines, both potential showstoppers for a casual computer user with one of these machines trying out Linux for the first time, there were documented fixes for the issues which I tracked down with relative ease.

Ubuntu 10.04 on Dell Inspiron 500m
I ran the install from inside XP and on rebooting I found that I could not complete the installtion using the graphical user interface - the PC hung with a blank black screen. I rebooted and tried in graphics failsafe mode and I was able to complete the installation - albeit with the graphic user interface.

After a lot of experimenting with xorg.conf settings I finally discovered that the fix is really quite simple. You need to upgrade the Kernel to 2.6.34-020634rc5_generic using instructions I found here.

1. After powering on your PC, press shift (keep pressed) until see the boot loader menu. Choose the recovery mode option.
2. On next step select start failsafeX session.
3. Your grapical user interface may load but for me it didn't.
4. Login in any case.
5. Open a terminal command line (Application > Accessories -> terminal if you are in the GUI)
6. Type this command and press enter (without quotes):
"sudo -i" and enter your password.
7. Type this command and press enter (without quotes):
"cd /tmp"
8. Type this command and press enter (without quotes):
9. Type this command and press enter (without quotes):
"dpkg -i linux-image-2.6.34-020634rc5-generic_2.6.34-020634rc5_i386.deb"
10. Type this command and press enter (whitout quotes):
"apt-get update && apt-get upgrade"
11. However, what wasn't mentioned was that you may then need to change the Driver from 'vesa' to 'intel' in your /etc/X11/xorg.conf file.

sudo nano /etc/X11/xorg.conf

which will open up the xorg.conf file in a simple editor called Nano.
Then change the line Driver "vesa" to Driver "intel"
Then we press Ctl + o to save and then Ctl + x to exit Nano.
12. Type this command and press enter (whitout quotes):
"init 6" Your computer will restart with new kernel as the default option to load in GRUB.. Use it and your GUI should load without issues - at least it did for me.

I had no other issues with the install on the Dell Inspiron 500m and even with only 512MB RAM the machine is reasonably responsive - much more so than it was running XP.

Ubuntu 10.04 on Dell Inspiron 9400
There were two issues with this machine. wi-fi card (no surprises there eh) and sound.

The wi-fi card, based on a Broadcom chip, required proprietary drivers which can easily be installed from the Ubuntu user interface itself by choosing System > Administration > Hardware Drivers from the main menu.

The Sigmatel soundcard (which incidentally had caused me no end of hassles originally under Vista) also had issues - essentially using the slider to control volume only output sound after it was raised to 17% and at 17% it was extremely loud. A quick search on Google turned up this - the final solution on the page produced a decent result for me.

The interface for Lucid Lynx is very pretty - quite OSXish in appearance and with Ubuntu taking care of the installation of MP3 codecs when you open Rythmbox now to support the new Ubuntu music store and Adobe doing a much better job of distributing the latest version of Flash to Ubuntu machines (installation is at least as easy as it is for Windows) not to mention the leaps forward in functionality for the Empathy multi-protocol chat client (which now supports Facebook chat and audio/video calls in Google Talk) as well as the handy Gwibble client for getting even more social on Facebook, Flickr and Twitter directly from the desktop, Ubuntu should easily meet the needs of most casual desktop computing users.

The only little gripe I have is how little space comes with the free version of Ubuntu One - the cloud storage service bundled with Ubuntu, which only offers 2GB as opposed to the much greater capacity offered by MS Mesh.

Tuesday, August 11, 2009

Bing Webmaster Central - Broken?

Having very strange issues with Bing Webmaster Central today.

Some of my sites are reported as failing authentication even though they were previously via the XML file and I have checked that the authentication files are still in place and crawlable.

On another site, I can not view any information on the status screeen - just seeing N/A for date last crawled, number of pages indexed etc, even though I could previously view values for these bits of information. No errors displayed under the errors section and no indication that the site has been blocked.

Furthermore it seems that the site has dropped from the SERPs though it had quite a prominent position for my main keywords just a couple of days ago.

Anyone else seeing behaviour like this. Left a message on the community forum but no response so far..

Friday, June 5, 2009

Google Toolbar Hijacking Style and Tooltip

Quick update on this. The tooltip stealing behaviour I have observed seems to happen in Firefox 3 on Vista, in IE 7 on XP and IE 8 on Vista, the tooltips are left intact. Those who have checked other platforms may add their findings to the comments.

Well I have been looking into this issue over the last couple of days and I am surprised that more web developers aren't voicing their displeasure about the way that Google Toolbar hijacks the background-color style of form elements it thinks it can autofill and how it overwrites the title attribute on these fields as well.

Now, let me begin by saying that I think browser enhancements like this can be a great addition to any browser but there should be an option on the development side to disable them, particularly when they can have such an impact on the usability of forms. The main issues I have with the toolbar are:

1. Autofill is turned on by default. Google's position is that the user should decide whether they want this behaviour or not but if that is the case then the user is quite capable of turning it on themselves. Many times clients, who I assume are pretty representitive of the average web user have asked me why it was that some fields in their forms are yellow. Therefore it seems that this visual prompt is of little use to users in any case unless they know about the autofill functionality in Google Toolbar.
2. Autofill may break usability. Frequently, web developers would use CSS styled visual queues on form fields to indicate validation status and would also wish to provide extra information about the data expected in the field to the user via the tooltip. Both these tasks become very difficult to accomplish when the Google Toolbar hijacks these properties. If users don't recognise the meaning of the yellow background, they may think the field has some other significance that it does not. Also, what happens if a developer wants to style their form with a background color that is the same as the highlighted field colour? Should a plugin really have the power do dictate the design choices made - I don't believe so.
3. There is no 'Off' switch. Some browser plugins I have encountered allow the developer to disable them. For instance, the Skype plugin which attempts to identify phone numbers on a web page and render them as a clickable button which launches a call to that number via Skype can be disabled with a META tag.
4. There are issues of aesthetics here - many clients have remarked to me that the highlighted fields look ugly in the overall context of the syle of the form.

On a site I am currently engaged on, the colour change isn't really an issue but the tooltip hijacking is. I had hoped to provide extra information for users in the tooltip describing in more detail than I could in a label, the data they should enter in each field. Now it seems that I can attempt to 'fool' the toolbar by giving my fields non-standard names. However, what I seem to be finding is that if I have label's who's for attribute points to the field, the toolbar will use the content of the label as a hint to the kind of data expected in the field.

For example, I have the following code:

<label for="txt_ccn">Mobile</label><input id="txt_ccn" name="txt_ccn">

Now the name txt_ccn seems fairly ambiguous to me, yet the field is flagged by the toolbar as a field it can autofill. I can only conclude in this case that either the toolbar is psychic or that it is using the content of the label element associated with the field to figure out the data expected in the field.

The other problem I have with a naming based solution is that it really should be in the developer's domain to choose whatever field names suit their project. Many developers for instnace, like to map field names to object members in their server-side code.

With all these considerations in mind I began to look for workarounds to these issues. I found precious little on the topic out there (maybe most developers just don't care) but I did find a great article here though it is somewhat dated.

Using some of the ideas from that article, and given that I am using JQuery already in this project I decided I would write a small JQuery Plugin to address these issues. For IE browsers I was able to use the onpropertychange event to prevent the toolbar from modifying the background color of the fields. Similarly for Mozilla based browsers, I was able to use the onDomAttrModified event to catch the toolbar and remove the background color change.

Sadly though, this approach did not work for the title attributes on the fields in Firefox 3 with the toolbar installed. The toolbar replaced those regardless so I guess it makes these changes outside the scope of the document DOM - very annoying!

In any case, here is my JQuery plugin code which some may find useful to at least address the aesthetic and some of the usability issues. Basically, it itterates through the input elements in a document, attaching an event listener fuction which simply prevents the Google Toolbar applying the background color style on all input elements by resetting the style attribute on the field to an empty string each time it detects an attempt to change the attributes of the field.

$.fn.googleToolbarStyleRemover = function(options){
function setListeners(){
if (typeof (this.onpropertychange) == "object"){
else if ($.browser.mozilla){
return false;
return setListeners();

To use the plugin you would simply paste the above code into a javascript file named jquery.googleToolbarStyleRemover-1.0.js and link that to your documents using:

<script type="text/javascript" src="path_to_file/jquery.googleToolbarStyleRemover-1.0.js"></script>
<script type="text/javascript">

Obviously this code would need to appear after you had called the main JQuery file.

If anyone out there has found a way to address the tooltip issue or those who have trie experimented with the toolbar's behaviour in a wider range of browsers and operating systems, I would love to hear from them.

3 Ireland Finally Gets Webtexts

I've had a pretty rocky relationship with telco 3 Ireland over the past couple of years. Their customer service is appalling so even getting the simplest things done can be a nightmare but their data packages are second to none in terms of value and their 3 like home 'promotion' is unrivaled in the current Irish market.

Yesterday, I discovered that they are now offering 333 free webtexts per month to their 3 pay, pay monthly and best of both customers. The service seems limited to national numbers only, probably reflecting 3's lack of roaming agreements with foreign telcos but still, particularly for those of us who spend a significant chunk of our day in front of a PC, this is great news.

You can find full details here -