Blair’s Brain

And Other Unfocused Things

Private Browsing command for Ubiquity

November12

One of the cool new features of the upcoming Firefox 3.1 is Private Browsing. Essentially, when you enable Private Browsing, nothing of what you do in Firefox is recorded. Great when you want to hide something from a nosy flatmate. So in Ubiquity fashion, here’s a command to easily toggle Private Browsing mode.

Once you’ve subscribed to that command, all you need to do is open Ubiquity, and start typing “private-browsing”. Typing “p” may even be enough, depending on the commands you have. By default, it will toggle Private Browsing to the opposite of the state its currently in. You can also explicitly specify whether you want it on or off by specifying “on” or “off” respectively. That way you don’t have to actually remember or check whether you’re already in Private Browsing.

Screenshot of Private Browsing command

Screenshot of Private Browsing command

The command can be subscribed to from here:
http://theunfocused.net/moz/ubiquity/verbs/?cmd=private-browsing

Note: You’ll need to be running a nightly build of Firefox 3.1, or 3.1 beta 2 (when it gets released) or newer.

How web services punish you

October11

I’ve noticed that in order to use the APIs of some web services, they are requiring applications (web based or otherwise) to obtain per-user API keys. This is essentially a generated password (separate from the normal login password) specifically to allow an individual application access to a specific user’s data via an API. It requires the user to manually request an API key for each individual application they wish to grant access to, and then enter it into that application. Sometimes the user is instead forced to manually verify every single action.

In other words, it punishes the user because the web service doesn’t trust the 3rd party application. This is wrong. Its not the user’s fault.

This has come up many times for Ubiquity command authors trying to provide easy and novel access to web services. It means that if commands want to use a web service’s API, they need a setup procedure before they can be used. Which is stupid, because a command already has access to the login cookie, and the login information in the password manager.

I’m not saying that I’m providing a solution for all of this. There are already plenty of other existing methods to choose from - some of which may fit, some of which may be just as bad. What I am saying is that while granularity in access control can be seen as a good thing, it should not come at the user’s expense.

posted under Mozilla, Ubiquity | 1 Comment »

The New House

September30

Well, Anne and I finally found a house on the market that was not only in our price range, but also fitted both of us! And as a bonus, its not far from where we’ve been flatting - since we rather like this area of Dunedin. The lease on the current flat doesn’t end until 17 January 2009 (my birthday!), so there’s no big rush to move like last time. And we’ve got some extra money to let us do some fixing up and re-decorating - so we’ll be doing a lot of that before moving in completely. And that will continue after we’ve moved in too, as we have quite a bit planned. We’ve still got other things going on (university for one), and my health still isn’t 100%, so we’ll be taking our time. Anyway, here are the initial photos of the new house. They were taken on the day we made the offer to buy the house.

Read the rest of this entry »

An Introduction

August29

I believe a formal introduction is in order, as this is a shiny new blog. I haven’t blogged since high school, so bear with me as I reacquaint myself with the non-academic writing style of blogging.

Firstly, a short introduction about myself and what I’m doing. My name is Blair McBride, and I live in Dunedin, New Zealand. I’m enrolled at the University of Otago and I’m interested in amateur photography, programming, and making things easier to use. At Otago, I have completed an undergraduate degree in Computer Science, and continue to learn and work with computers outside of academia. Now I’m working on completing an undergraduate degree in Psychology, while also exploring other areas of study such as Art History, Latin, and Anthropology/Archeology. Computer Science and Psychology may seem like an unusual mixture, but I believe its important to understand how the brain works so that computer interfaces (and physical objects) can be designed for the people using them, rather than designed for computers/manufacturers.

This leads me to a topic which is likely to be featured a lot in my blog posts: Ubiquity. Ubiquity is a project from Mozilla Labs, the virtual lab responsible for various experimental browser addons such as Weave and Snowl. The principle aim of Ubiquity is to experiment with connecting the Web with language. In doing so, we’re attempting to find new user interfaces that could make it possible for everyone to do common Web tasks more quickly and easily. Instead of being forced to do things the way the computer thinks, it allows you to tell your computer what to do in the way that you understand it. In other words, it lets you control the computer, rather than having the computer control you. We recently reached the stage where Ubiquity could be useful for normal people, and so the first public release was unleashed upon the world. In conjunction with the official launch, Aza Raskin posted an introduction to Ubiquity and an more in-depth followup, each of which covers the basic concepts and usage. But as he explains, Ubiquity is more than just an interface - its also a development platform that lowers the bar for entry into augmenting the user’s browsing experience. In plain English, that means Ubiquity makes making Firefox addons easy. Really easy. Just be aware that Ubiquity is still in its early stages of development. There are bugs. There are things that will change, some drastically. But all for the better, because Ubiquity is going to change the way people interact with their computers.

I started contributing to the Ubiquity project sometime after the basic foundations had been laid. But since then, I’ve been able to find bugs, fix bugs, add features, contribute ideas, and meet some great people. And the development process is made as transparent as possible, so everything is public and anyone can contribute.