How to run Firefox 3.5 on Ubuntu 9.04 Jaunty Jackalope

Mozilla Firefox 3.5 was released yesterday. It isn’t (at the time of writing this) available for install through the repos on Ubuntu Jaunty. I guess it will be backported at some stage but should you want to play about with it, here is how I did it so as not to (hopefully) break anything else… [Note: you should probably back up your profile directory before going any further. Something like this should do it: cp -a ~/.mozilla ~/firefox-3.0-backup]

I downloaded the Linux tarball and unpacked it. I moved this directory (called firefox) to my local bin dir:

mv firefox ~/bin/firefox-3.5

This command assumes you are in the same directory as the tarball you just extracted and have a local bin directory. If not just do mkdir ~/bin first.

Then I started the current Firefox Profile Manager and created a new profile just for 3.5 to test (I didn’t want any conflicts or updates to my existing firefox 3 add-ons). To check that you are using the right path for the existing installed Firefox you can do a command like which -a firefox which will give you the full path to any firefox executables on your system and in your path.:

/usr/bin/firefox -no-remote -ProfileManager

Follow the Profile Manager dialogues to create a new profile – I called mine 3.5 amazingly. Exit the profile manager (don’t start firefox or else you’ll end up with the existing firefox also using the 3.5 profile).

Now you can run the 3.5 version of Firefox by typing the following command:

~/bin/firefox-3.5/firefox -no-remote -P 3.5

The -no-remote switch ensures that we start a clean instance of FF from these commands. If you already have an instance of FF running and you do not use this switch, you’ll get another window tied to the same, already running, firefox process. This also affects trying to start firefox remotely over X as I discovered quite some time ago.

I have since created a launcher on the top panel to start FF3.5.

It seems to work OK and feels incredibly fast at loading pages, but trying to run anything that needs flash causes it to die horribly.

So although this isn’t perfect, it was a reasonably safe way to test and just try it out. YMMV of course and I really think we’d all probably be better just waiting for one of the MOTU “Gods” to deliver a 3.5 backport for Jaunty. :-)

Did Microsoft make Firefox?

This post by Matt Assay discussing how we got to a competitive browser market got me thinking. (Dangerous I know, but bear with me.)

… I suppose the truly intriguing thing is not that we have a competitive market for Web browsers again, but how it happened. Baker told me recently that Firefox is “an anomaly” because it managed to beat back overwhelming Microsoft market share. Can we do it again?

What was the tipping point when Microsoft’s Internet Explorer team finally had to start paying attention to Mozilla’s Firefox browser? And when did Google decide that it couldn’t subsist on Firefox’s roadmap and instead had to forge its own browser, Chrome?

Mozilla FirefoxMy own take on this is it was all Microsoft’s own doing. Think about it. Their browser, Internet Explorer [and more specifically IE6], was locked into the operating system that ran an almost every PC sold. So for Mozilla’s Firefox browser to take more than a 20% market share is pretty staggering. If you use Windows (as certainly a few years ago almost everyone did) you already have a browser on that Windows PC so why go and download another one? It isn’t quite the same for OpenOffice.org or Gimp for example. You are having to make a decision about acquiring an Office Application Suite or an Image Editor; whether you pay for commercial code or use FOSS is your choice. But with the browser, you already have one.

My conclusion to Matt’s question is that it comes down to just how bad IE6 really was. If it had been a half decent browser with acceptable support for the standards it was supposed to support then I don’t think Firefox, and possibly the entire FOSS ecosystem, would be as strong as it is today.

Presumably Microsoft could have patched and updated IE6 during the course of it’s life but they chose not to, and instead stuck to delivering a half-baked, non-compliant browser full of leaks and security holes and proprietary features that lead many unfortunate souls to build sites that only worked with Microsoft’s browser.

I think that it was the web development community that started this movement. Being professionally involved in helping Graphic Designers make websites work across browsers, I know just how BAD IE6 really is when it comes to supporting standards. If it hadn’t been so terrible, or even got fixed, I don’t think the web developer community would have started using Firefox in the numbers that they did and then espousing it’s virtues with quite the same level of gusto.

Of course, as well as being a decent browser, there were many new and innovative ideas and features in Firefox, a huge extension and plug-in library and cross platform support too. But as “most” users of a browser are simply surfing, then if IE wasn’t such a pile of steaming poo in the first place I don’t think many consumers would have been inclined to change at all.

What do you think?

Joomla! Hacking: Menus, Modules, Articles and Rings

I wanted to share a little Joomla! hacking I did the other day for two reasons:

  1. Because I think what I managed to do was pretty damn cool (someone else might think otherwise of course),
  2. Because I think there must be a better, less intrusive, way to do what I wanted. So I am hoping for some comments from hardcore Joomla! guys.

So, the scenario is this: A good customer of ours, ion design it a web design firm, asked me to build them a template, from scratch, for a particular client of theirs. This is something I’ve done before and will probably do again (basically, in this role, I help the artists with a fantastic eye for design make their artwork work in Joomla!). Clive, my customer, does come up with some cracking designs… Follow some of the links from his home page if you’re interested.

After being given the job, I started looking through the 5 page PDF which he submitted with the design. One page had a rather troubling menu layout…

Joomla! Menu in-the-round

Joomla! Menu in-the-round

After quite a bit of head scratching, this is actually what I have managed to achieve. The image is taken straight from Firefox 3 running on Ubuntu 8.10. That is Joomla! 1.5.9, the blue boxes arranged in an elipse are actually real Joomla! menu items! At this stage, the template is still being developed and doesn’t have the proper graphics but the basic physical layout and structure is there.

Each dark blue box in-the-round is a regular menu item in Joomla! that is a sub-menu of the menu shown along the top. Using the new split-menu technique in Joomla! 1.5 I am able to use seperate menu modules to display different layers of a single menu heirarchy, so that I can retain the “active” highlighting in the main menu for example.

Making the menu items appear in this ring arrangement isn’t really too hard; I just used absolute positioning of the <li> elements. Each menu item has a unique class such as <li class="item62">. It even mostly works in IE6!

However, there is a much bigger issue… On other pages of the site, the same sub-menu content needs to be displayed but with a different, more traditional, layout; as here:

Regular Vertical Menu in Joomla!

Regular Vertical Menu in Joomla!

To achive this I realised there were several problems to overcome:

  • The titles in the sub-menu needed to break across several lines so they wrapped consistently,
  • the menu module responsible for displaying the menu had to be the same for both layouts or I would lose the active highlighting of the top menu,
  • I wanted to have a single menu so it was easy for my customer or their end-user to modify and update the site,
  • the ring menu really needed to be text based so it was properly indexable and accessible,
  • Joomla! only allows custom CSS class or id tags to be added at the module level and not at the article level.

To fix the first problem, having line breaks (or <br /> elements) in menu items, I used an excellent plugin called yvBBCode. It enables you to insert BB Codes, such as [br] for example, anywhere in Joomla! Including in menu titles. The plugin then converts these BB codes to XHTML codes on the fly.

In the end, the solution for the menu layout itself was fairly straightforward, but required a minor hack to the Joomla! core (you can’t use the override facility here) and a small eval script on the template’s index.php page.

I added a custom radio list parameter (ring_menu) to the article.xml file in administrator/components/com_content/models/article.xml:

<params group="advanced">
<!-- Added by Alan Lord. 22/01/09 -->
<param name="ring_menu" type="list" default="vertical" label="Menu Style" description="Chose a normal or ring style menu layout">
<option value="vertical">Vertical</option>
<option value="ring_menu">Ring Menu</option>
</param>
<!-- End modification -->

On the particular article where I wanted the menu displayed “in-the-round” I set this radio list param to “Ring Menu”. The option is shown in the Article Advanced Parameters accordion (the default setting is “vertical” BTW). You can see how the custom parameter is displayed here. Note the first item in the Parameters (Advanced) menu on this screenshot.

Custom Article Parameter

Custom Article Parameter

Now we have a parameter to play with, in the template’s index.php file in the <head> area, I can read this value into a php variable ($class).

// This loads a custom article parameter "Ring Menu". The custom parameter is defined in
// administrator/components/com_content/models/article.xml. It defaults to Vertical, the other
// option currently is "Ring Menu".
// We can read this parameter and apply a different style to a module based on the page
$params = &JComponentHelper::getParams( 'com_content' );
$class = $params->get('ring_menu');

Further down the script, where the menu module itself is loaded, the $class variable is echoed into the surrounding div. Thus, when the particular article in question is loaded, the container div for the menu changes from <div id="sub-menu" class="vertical"> to <div id="sub-menu" class="ring-menu">. So my stylesheet can now do its magic and render the sub-menu, or any module for that matter, in the manner which I choose.

I hope this is useful to some and I would really love to know if there is a way to achieve the same result (i.e. adding a style class based on the article being viewed) without needing to hack the Joomla! core. I’m sure there probably is…

Vietnam: Will be 100% Open Source

I know this isn’t exactly “new” news, (it’s 2 days old and has appeared on /. I understand) but to me it is really important and should be shouted from the rooftops.

VietNamNet Bridge – The Ministry of Information and Communications has issued an instruction on using open source software products at state agencies.

Accordingly, by June 30, 2009, 100% of servers of IT divisions of government agencies must be installed with open source software; 100% of staffs at these IT divisions must be trained in the use of these software products and at least 50% use them proficiently.

Get that! 100% of servers be installed with FOSS (I wonder if they will use Ubuntu?) by the middle of this year.

I mean WOW! Somebody tell Gordon will they?

The article goes on to discuss the desktop, although I guess some of the clarity has been lost in translation but:

Open source software products are OpenOffice, email software for servers of Mozilla ThunderBird, Mozilla FireFox web browser and the Vietnamese typing software Unikey.

The instruction also said that by December 31, 2009, 70% of servers of ministries’ agencies and local state agencies must be installed with the above open source software products and 70% of IT staff trained in using this software; and at least 40% able to use the software in their work.

The above agencies are requested to increase the number of documents and information exchanged among them processed by the above software. By December 31, 2010, all staff at these agencies must be able to use open source software in their jobs.

This is pretty amazing. A sovereign government, mandating the use of FOSS and open standards for document exchange too. And let’s not forget that will bring massive benefits to the Vietnamese citizen. No longer will they have to go and buy, or possibly pirate (see below about cracked software), copies of proprietary software to exchange documents. They can all happily go and use Free Software safe in the knowledge that their government will be able to accept their documents.

I’d like to see what happens if you sent Gordon a letter in ODF?

There is a final, short sentence to this news item that also made me sit up and take note:

The instruction also requests that computer traders not sell PCs installed with cracked software, but open source ones.

BANG goes the Microsoft TAX in Vietnam.

Congratulations to every one who made this happen – I dread to think how much lobbying must have gone on behind closed doors before they got to this point. Can you imagine how M$ must have reacted???

And please pass this story on. I believe this is an announcement worthy of spreading far and wide.

Here’s the URL in it’s full glory: http://english.vietnamnet.vn/tech/2009/01/822425/.

Migrating from Windows

The last Windows computer in our house is very shortly going to be history :-)

I have been threatening my wife’s PC for quite some time now, but there has been no real motivation to move until today… Our bank called and told her a credit card has been fraudulently used in the last few days. Fortunately they appear to have correctly and swiftly identified the misuse and are dealing with the problem.

However, this experience has obviously caused my beloved (Helen) to start wondering how her details were captured in the first place. She is pretty scrupulous with the shredder, and this particular card is almost only ever used for on-line transactions; so her PC was a possible, if not likely, route for the thieves. The ClamWin AV scan threw up a few nasty sounding files, including some IE.IFrame trojan thing, although they had all been quarantined already.  But the fact that Windows is so vulnerable to attack and subsequent compromise when compared to Linux, this saga has just tipped the scales. We now have a good reason to start the final migration of the Lord household.

This evening, I have installed Thunderbird on Helen’s Windows PC and imported everything from her Outlook email client. The import was basically flawless and after changing a few settings she’s now up and running with TB. (Interestingly, her first few comments were very positive: “This looks nice”, “It’s much faster”, “I like the address book layout” and so forth.) I added Lightning and connected her up to our caldav Calendar Server (Cosmo) which is an added bonus for Helen. We all use this for work, family and personal scheduling and Helen had been limited to using web access (simply because Outlook doesn’t support the Caldav standard) which is not the optimum interface to this calendar.

Helen was already using Firefox most of the time but now I’ve asked her to stop using IE altogether.

Helen also has OpenOfice.org (OOo) installed already but has not been using it much as the Windows defaults are [were] set for MSO 2003. This will probably be the area where there will be some new learning as she stops using MSO and starts using OOo but it isn’t that painful to be frank.

I think within a month, I will install Ubuntu 8.10 as a dual boot for a short period just in case she finds there are things that don’t work and then we’ll turn off the malware-that-pretends-to-be-an-OS Windows within a few weeks from then.

She does use iTunes for her work and pleasure so I am thinking we’ll need to have a VM (VirtualBox) running her copy of XP to support that, unless someone would like to offer advice on alternatives. She runs music therapy classes and her material is ripped onto her iPod using Apple’s lossless codec IIRC that iTunes seems to default to. Never having used it myself, nor do I own an iPod I am not the best source of advice on this one so if anyone can help here I’d be grateful.

I can’t think there is much else that will bite us though; she doesn’t have any other proprietary apps I can see that are going to prove troublesome to replace.

One thing that is really important in this story is this ability to run the main applications: Firefox, Thunderbird and OpenOffice.org, on both Windows and Linux platforms. It will make the transition, for a non-technical user, much less painful than having to switch wholesale over to new apps and a new OS all at the same time. Thanks Mozilla and OOo.

As we go through this migration I’ll write a little more (I might even ask Helen to document her experiences and thoughts). Hopefully it will help others doing, or wanting to do, the same thing.

Microsoft Holes Exploited Again

As if the last security hole in Internet Explorer was not enough, here’s yet another reason to drop Microsoft Software. This time it’s their cash-cow, Office:

Attackers are exploiting the just-patched vulnerability in Internet Explorer (IE) by hiding malicious ActiveX controls in Microsoft Word documents, according to security researchers.

“Inside the document is an ActiveX control, and in that control is a line that makes it call out to the site that’s hosting the malware,” said David Marcus, the director of security research and communications for McAfee’s Avert Labs. “This is a pretty insidious way to attack people, because it’s invisible to the eye, the communication with the site.”

This all reminds me of a sieve – full of holes.

If I was a small business using Microsoft application software today, I would be dropping it faster than a red-hot rock. If I was a CTO I would be planning now how to migrate away.

OpenOffice.org will protect you from malicious ActiveX in documents, Firefox for web browsing and Thunderbird for email will do the same whilst allowing you to continue to use the Windows OS as you plan the final step to freedom. Ubuntu will complete the process.

If you need help, there are companies out there who can provide support and technical assistance. ;-)

Next Page »