I am largely offline till 20 July 2008.

Firefox 3 Release Party in Christchurch

Mozilla has finally announced Firefox 3's launch date; this Tuesday 17 June. (Note that's probably US time, so it will be Wednesday in NZ).

Mozilla wants to break a guiness world record for number of downloads in one day and I'm sure they'll achieve it. You can go pledge on spreadfirefox.com (A drupal site): http://www.spreadfirefox.com/en-US/worldrecord

I created a "FF3 launch party" event in Christchurch for kicks on mozillaparty.com: http://mozillaparty.com/en-US/events/view/101

I think we get some free gear if enough people come or something.

OT: Humourous Signs on the West Coast (New Zealand)

On a road Trip to the West Coast (New Zealand), we found the merchandise, prices and marketing rather peculiar. This store had a particular broad but limited range of products and services:

Painted Blackboard sign in mud reading 'Psychic Reading, Vege's & Soap'

While the petrol in Ikamatua seemed just a little over-priced:

Petrol Station price listings at a petrol station where prices are 'ARM' and 'LEG'

Mac Favicon Deprecated -- And RELEASED!

Iuru pointed me to a plugin on userstyles.org that fixes the issue Mac Favicon was designed to resolve in a far more maintainable and cleaner way than Mac Favicon ever could. Therefore I've decided to deprecate Mac Favicon and Mac Favicon XL themes for Firefox and instead encourage users to install the Stylish addon, then install the Mac bookmark toolbar favicons style from userstyles.org.

If you prefer Mac Favicon XL, see the instructions that follow.

Mac Favicon XL hides the text labels on bookmarks and allows favicon images up to 32 pixels wide and high. This is useful if you with to further optimize your bookmark toolbar experience by recognition of favicons, and removing the clutter of the text labels. It's also very useful in conjunction with the Favicon Picker 2 addon to select your own custom (large) icons for bookmarks.

Favicon Picker 2 has not yet been ported to Firefox 3, but I've contacted the author, Robert LaFont Jr, to get an indication of update plans. I'll update this thread if/when I receive word back from him.

Demoing Mac Favicon using Stylish

In the meantime, you can install the Mac Favicon XL style in Stylish by going to Stylish's preferences, clicking the "Write" button and copying and pasting the following CSS code into the space provided. I have not yet been able to get a user account on usertyles.org to release it there.

Thanks to;

  • Danil Einspanjer for releasing "Mac bookmark toolbar favicons" style which I used to start this.
  • Iuru for pointing me to it. (No link available.)
  • Robert LaFont Jr for creating favicon picker.
  • most of all Mozilla and the Firefox team for making such an awesome killer product!

And the Stylish code that deprecates Mac Favicon XL theme:

  /* No padding on bookmarks */
  .bookmark-item { padding: 0 1px !important; }
  /* Restore padding on folders */
  .bookmark-item[container] { padding: 0 0 0 7px !important; }
  /* And on bookmarks and folders inside folders */
  .bookmark-item[container] .bookmark-item { padding: 0 !important; }

  /* Hide the left semicircle on bookmarks */
  .bookmark-item:hover { background-image: none !important; }
  /* Restore the left semicircle on folders */
  .bookmark-item[container]:hover {
    background-image: url("chrome://global/skin/toolbar/toolbarbutton-customhover-left.png") !important;
  }
  .bookmark-item[container]:hover:active, .bookmark-item[container][open="true"] {
    background-image: url("chrome://browser/skin/bookmark-open-left.png") !important;
  }

  /* Show favicons on bookmarks */
  .bookmark-item > .toolbarbutton-icon {
    display: -moz-box !important;
    max-width: 38px;
    max-height: 36px;
  }
  /* Hide favicons on folders */
  .bookmark-item[container] > .toolbarbutton-icon { display: none !important; }

  /* Show a minimalistic background on hover on bookmars */
  .bookmark-item:hover > .toolbarbutton-icon {
    background: url("chrome://global/skin/toolbar/toolbarbutton-customhover-mid.png");
  }
  .bookmark-item:hover:active > .toolbarbutton-icon {
    background: url("chrome://browser/skin/bookmark-open-mid.png");
  }

  /* Hide text labels on bookmarks */
  .bookmark-item > .toolbarbutton-text-stack { display: none; }
  /* Show text labels on folders */
  .bookmark-item[container] > .toolbarbutton-text-stack { display: -moz-stack; }
AttachmentSize
Mac-Favicon-XL.png23.94 KB

Mac Favicon 3

UPDATE: Mac Favicon and Mac Favicon XL have been deprecated and rereleased. See http://drupal.geek.nz/blog/mac-favicon-deprecated-and-released

With Firefox 3's release now imminent, a number of people have contacted me about whether there will be a version of my Mac Favicon theme for FF3.

While the short answer is "yes", the long answer is more complicated; I won't be able to take this on anytime soon -- probably not till August. A couple of folk have contacted me about doing it themselves. I would be really happy if someone were to do it. I would happily test it, release it on addons.mozilla.org under Mac Favicon, give you access to do that or link to your release elsewhere.

Here is a very simple guide on how I went about creating Mac Favicon and Mac Favicon XL for FF2:

  • Search and read some documentation on Mozilla's dev site about creating theme packages and XPI installables.
  • Find out how to use the DOM inspector on the firefox window itself (not the webpage).
  • Find Firefox 3 for Mac's default theme in the application's directory
  • Duplicate it.
  • Find the CSS file in the theme that has the display definitions for the bookmark toolbar.
  • Hack them to NOT hide the favicon image (this will make sense once you've browsed the DOM around the bookmarks toolbar and it's items).
  • Zip the modified theme up, install it and restart firefox.
  • Test.
  • Test also the bookmarks menu, bookmarks sidebar and anywhere else bookmarks and favicons are displayed, since some CSS lines are used to theme multiple occurrences of bookmarks and favicons. Test also drag drop and reorder etc.
  • Repeat previous steps as necessary.
  • Once that's working, make another copy.
  • Hack a bit further to NOT set the dimensions of the bookmark toolbar's favicons to exactly 16x16px, but set max-width: 32px; max-height: 32px;.
  • Install favicon picker module.
  • Load some custom icons into some but not all of your bookmarks, in both the menu and the toolbar.
  • Zip up, install, restart and test as above.
  • Repeat previous steps as necessary.
  • Release on addons.mozilla.org, or contact me!

Well over a year ago that took me the best part of a full working day; say 8 hours. Now it wouldn't take very much quicker since I've forgotten everything I had to learn to do it then.

Learning & Teaching Code Style & Appreciation

Yesterday in an informal COSC208 (C and C++ programming) lecture at the University of Canterbury, discussion broke out on how to teach and learn coding Style. Here are my 2 cents;

I believe it's not possible to effectively teach & learn Style with single-developer programs that have a clearly limited life span -- such as all code written for COSC208 and most undergraduate university papers. Once the paper has finished and the grade has been determined, who is going to maintain the student's code? Who is going to read your code? No one. So why would the author/programmer/student bother to make it easy to read or maintain, or care for Style? They would not -- except if the prof mandates it. But as pointed out yesterday, that is very resource-consuming and fails to teach an appreciation for Style.

Writing code for open source projects or other multi-developer projects requires that the code be well-documented, easy to read and understand, and have Style. Without this, the code is simply not valuable, useful, or in the case of open source, it will simply not be committed. OS communities often place more value on Style than the code or algorithm itself -- and rightly so. Imagine trying to fix a bug in someone's code that has bad Style, or even just understand it! Well you probably can not imagine that unless you have done it before. And that is precisely how an appreciation for style is learned!

I think the only way to teach/learn Style is to work with other programmer's code, ideally old code, or code that has a large intended life-span. How this can be achieved in undergraduate university papers is another question. Since peer-review, which works so well in open source, is clearly risky and problematic in university environments, perhaps past student's anonymized code could be used? Tasks could be;

  • This program has a bug. Fix it.
  • Review this code with respect to 208's C Style guide.
  • In terms of the Foo and the Bar, what happens on line 123 (some line in the midst of the most complex part of the program)

I think it would be valuable to repeat these tasks with code with both good and bad Style, for students to appreciate the difference. (i.e. How much easier was it to understand program A than B?)

In the context of COSC208, these programs could be incorporated into quizzes with fairly efficient usage of resources. One past-student's anonymized code could be used for all students in one quiz question. Further, the same anonymized code can have multiple "Style-appreciation" questions in one quiz and can be reused year after year.

Do General Public GET Open Source?

This article about SilverStripe "giving away their product" completely misses the point of open source. I think that like most of the general public here in NZ (perhaps worldwide?), the author understands that "open source is free" (like free beer), but misses the point that SilverStripe's software, and open source in general, is not free because it costs nothing, but because the code that is written to create the software, is open for anyone to use, look at, modify, enhance, learn from, redistribute, sell, print out and use as toilet paper, or glorify in a nice picture frame above their mantlepiece. Because the code has been freed from the restrictions typical of commercial software licensing.

My Father cut this out of the newspaper and sent it to me in the post with a post-it note and all! The original Social Networking Protocol!

As a fellow open source web content management software developer, I'm happy about the increased attention open source is getting recently in NZ media. However I'd like to see the media educating NZ about what open source is REALLY about, and not tauting it as a free toy, like those McDonald's Happy Meals or similar cheap marketing stints.

I'd also like to see the media educating NZ about how open source can and will change the future of computer usage in the home, government and schools. How these changes can and will benefit schools businesses and individuals alike. How NZ businesses, schools and individuals can adopt and embrace this change for the good of all. How businesses need to embrace open source to remain competitive (large monolithic monopolists from Seattle, and your 'partners' -- beware). How YOU can be part of this change. Why there are few women working in technology. Why there are even less in open source. Why more adolescents aren't interested in programming. Why tertiary education in computer science is in such a terrible state. Why NZ's tertiary education in computer science is in an even worse state.

I challenge you NZ herald.

Contextual Help in Module Development

One of the findings of the Drupal usability testing at UMN in February was that users like, use and like to use contextual help. Many of the participants explicitly said that they would have liked more of it during their evaluations and in debriefing.

As a developer it is difficult to anticipate where contextual help is appropriate, needed or perhaps why it's even necessary. While usability testing is possibly the only way to effectively determine exactly where contextual help is needed and useful and where it's not, I think this example might help developers understand when where and why contextual help is likely to be helpful. This is part of developing sympathy for the user.

read more

ACLU's "Freedom Files" Season 2

Many folk don't know that the ACLU has a TV series called "The Freedom Files". Season 2 can be seen on PBS stations throughout the country. Episodes can also be viewed online at aclu.tv which we re-launched for the new season recently.

Screenshot of aclu.tv

read more

NZ Drupal Vendor or Developer needed for Snow and Skateboard Ecommerce Sites

Online retailers BWMsnow and SKATEgear require the professional services of a Drupal vendor or developer to take over the maintenance and future development their websites.

BWMsnow is NZ's largest online retailer of snowboard gear and has been operating for more than 4 years internationally, focussing more heavily on the NZ market in recent years. BWMsnow was NZ's only online retailer of snowboard gear until recently. BWMsnow is a NZ limited company which continues to grows significantly every selling season (March to June).

SKATEgear is considerably younger and smaller but growing very quickly. SKATEgear is a NZ limited company. There are 2 individuals that operate SKATEgear jointly, one of whom operates BWMsnow solely.

The websites are running in a multisite configuration on Drupal 5.7, ecommerce 3.4, 25 'vanilla' contrib modules, 10 custom or customized contrib modules (customizations are clearly documented) and a custom theme and theme variant. Paypal is the merchant gateway for credit cards. Payments are also accepted by bank transfer.

Currently the sites are operating smoothly with no major issues and are hosted on a drupal-optimized server in Christchurch managed by Egressive, where a subversion SCC repository is also provided and used. Every now and then issues arise or enhancements are requested. The clients need assurance that the sites will always work as expected, that enhancements/bug-fixes won't break any existing features and to know the total cost of maintenance and development. An established QA team and/or process will be a significant advantage. Some enhancements that currently need research, estimation and possibly development are;

  • Charge for shipping
  • Enable shipping to Australia
  • Restore and fix flash gallery module for image galleries
  • Enhancements to the cart and checkout steps

I developed the sites and have maintained them. I am no longer able to continue meeting the growing needs of these growing businesses due to other commitments. I maintain a good personal and business relationship with the individuals involved. I will be advising BWMsnow and SKATEgear on vendors and developers where possible and will help the successful vendor/developer to orientate themselves with contacts, access, the website, configuration, database, code base, customizations and other nuances.

Extensive experience with Drupal and a portfolio of Drupal work are expected. Experience with ecommerce module, paypal APIs or other ecommerce sites is a significant advantage. Vendors/developers in Christchurch are preferred, but not required. An established QA team and/or process will be a significant advantage. Excellent communication, project and client management skills are required.

Contact BWMsnow via 'Website Feedback' on bwmsnow.co.nz/contact.

Tech Tuesday: Loading GMaps Asynchronously On The Witness Hub

Last week the Witness Hub was updated with new enhancements and features -- most obviously, the Hub Map is now also on the home page!

Here is a video demonstration:

This feature required asynchronous loading of the Hub Map, including it's full-screen switcher and chunk marker loader code and features, on-load of the 'Map' tab (a Hub-customized version of jQuery tabs).

read more

Syndicate content