April 4, 2009

Design Challenge Tutorials

Over the last two weeks, I gave two tutorials to our Design Challenge students. The first was called Engineering Prototypes, and centers on the most challenging part of working on prototypes for me, which is the balance between expediency of implementation and robustness. Prototyping involves prioritizing the former over the latter, but it’s unwise to throw engineering principles out the door: for instance, a prototype that constantly crashes or runs slowly may not be usable enough to dogfood, and one whose implementation is poorly designed can be difficult to iterate and evolve. ... Read more

March 3, 2009

Redesigning Planets and Project Dashboards

The Ubiquity project has been moving pretty quickly and despite the fact that I spend most of my time working on it, I actually have a hard time keeping track of its progress. At Labs we’ve talked about the idea of having “project dashboards” that present the latest developments on our projects, so I thought it might be a good opportunity to play around with new ways of visualizing community activity. ... Read more

February 27, 2009

Automatic Bug Reporting for Firefox Extensions

We want to make Ubiquity awesome at reporting errors. In our original release, a transparent message with JavaScript exception information was displayed, which wasn’t very useful to the average user, and was downright annoying when dozens of exceptions were logged in the same instant. At present, running a command that raises an error just results in that message being logged to the JS Error console, which very few people know how to access—so most people are left scratching their heads and wondering why their command is taking so long to run. ... Read more

February 11, 2009

PyXPCOM vs. jsbridge

Yesterday Tempura left a good question as a comment on my blog post concerning Ubiquity’s experimental support for Python: What about http://pyxpcomext.mozdev.org ? They bring Python in an xpi for all major plattforms, without the need of an local installed interpreter. Using PyXPCOM was actually a potential option we had considered, but we ended up going with jsbridge for a number of reasons: PyXPCOM uses XPCOM as its means of communication between Python and the Mozilla platform. ... Read more

February 10, 2009

Ubiquity's Python Feed Plugin

A few weeks ago I wrote about Ubiquity Feed Plugins, which are basically just a way of separating the user interface of subscribing to a new feature from the implementation of the feature itself. As I’ve written about before, one of the things I’ve missed about the Mozilla development environment is its support for the Python programming language. Aside from being humane and having a great community, it has functionality that could complement the Mozilla platform quite nicely. ... Read more

January 7, 2009

Beautifully Documented Code

When searching for a documentation system to use for Ubiquity, we looked at a number of tools. None of them particularly satisfied me; all the ones I saw required a build step to convert raw source code into formatted documentation, and I wasn’t very pleased with the typography of the generated content—though obviously the aesthetics were customizable through CSS, none of the default stylesheets left me dying to read the documentation I created. ... Read more

December 31, 2008

Ubiquity 0.2 Preview Release: Feed Plugins!

I’ve just released the first preview release of Ubiquity 0.2, which implements some of the functionality outlined in the Ubiquity 0.2 Architecture Proposal. In particular, we now have support for something called Feed Plugins, which makes it possible for Ubiquity to draw from a much wider range of functionality: imagine, for instance, if end-users saw Greasemonkey and CoScripter scripts no differently from standard Ubiquity command feeds, and used the exact same interface to subscribe to and use functionality that’s been implemented with any number of web technologies. ... Read more

December 16, 2008

Ubiquity 0.2 Architecture Proposal

Much simpler than the one for 0.1.3. Read more about this architecture proposal at Ubiquity 0.2 Design: UI and Security Extensibility, and feel free edit the document or join in the conversation on ubiquity-core!

December 12, 2008

The Curious Architecture of a Labs Experiment

To prepare for some of the upcoming changes to Ubiquity, I took some time this morning to document the architecture of what’s about to be released as Ubiquity 0.1.3: The full prose to go with the above diagram is on the wiki. The tool I used to make the above diagram is called OmniGraffle, and has been recommended to me over the past few years by most of my friends who use Macs. ... Read more

December 5, 2008

Ubiquity 0.1.3 Preview: Faster, Prettier

We’re currently working on Ubiquity 0.1.3, a release that improves Ubiquity’s responsiveness and adds skinning support. In preparation for this, I’ve just released the first Ubiquity 0.1.3 Release Candidate. Please feel free to download it—you’ll automatically be upgraded to each new release candidate as it becomes available, as well as the final 0.1.3 release. Any bugs that you can report either to our bug database or our mailing list would be much appreciated. ... Read more

© Atul Varma 2021