Uncovering hidden features of Campfire

29 March, 2011 § 8 Comments

Tonight I spent some time with one of my coworkers, Eric, who is working on a Campfire extension for Google Chrome.

While perusing through the JavaScript of 37Signal’s Campfire, Eric came across a couple of undocumented features: Emoji, and the complete list of sounds.

To place an Emoji in a message, simply surround one of the following with colons, like


Here is the complete list of Emojis that you can use:

Emoji: [ 'sunny', 'zap', 'leaves', 'lipstick', 'cop', 'wheelchair', 'fish',
'hammer', 'moneybag', 'calling', 'memo', 'mega', 'gift', 'pencil', 'scissors',
'feet', 'runner', 'heart', 'smoking', 'warning', 'ok', 'tm', 'vs', 'new', 'bulb', 'zzz',
'sparkles', 'star', 'mag', 'lock', 'email', 'fist', 'v', 'punch', '+1', 'clap', '-1' ]

Now for the sounds. To use these, type /play followed by one of the sound names:

It’s always fun digging through JavaScript and finding unpublished features. Our software team regularly uses Campfire for discussions, so the more expressive we can be the better. Does your team use a chat room like Campfire or IRC to communicate?

My extension reached 1,000 installs… just in time for extinction

27 February, 2011 § 1 Comment

This week the Multiple Monitor Full Screen extension hit a milestone: 1,000 installs. The install rate is now around 140 per week, which has decreased from around 350-400 per week at its peak.

Much of this is likely to do with the new version of Adobe’s Flash plugin, 10.2, which added support for full screen with multiple monitors.

While it makes me sad to see that less people will want to use my software, I am happy that the overall user experience will improve for all everyone.

So where to go from here?

There are a couple different directions that I could take.

What would you do? HTML5 could be a great feature to add, however not that many sites use it yet.

Multiple Monitor Full Screen version 2 released

9 January, 2011 § 7 Comments

Today marks the release of version 2 of the Multiple Monitor Full Screen extension for Google Chrome. Multiple Monitor Full Screen allows videos to consume the entire web page so videos will stay in full screen even when interacting with other programs on your computer.

The extension places the commonly seen “full screen” icon in the address bar when it detects a video on the current webpage. Clicking on the icon will bring the video in to full screen mode, and clicking the icon again will exit full screen.

This new release gives instructional text on how to make the full webpage video use the full display. This mode will still not exit if you interact with another program, allowing a user to get the most use out of their pixels.

Since our first release on December 26, 2010, the extension has seen five updates released. We have seen a large demand for the extension coming from Russia and quickly localized the extension for Russian. All changes are now internalization-friendly.

As this new release introduces some instructional text on how to make the video use the full display, I also want to take the opportunity to describe another way to make your video use the full display. There are two ways that you can make the Google Chrome web browser go into full screen mode. The first would be to click on the web page or the address bar, then press F11 on your keyboard. The second would be to click on the wrench menu, then click the full screen button as seen in the screenshot to the right.

When exiting from browser full screen, move the mouse to the top of the display and wait for the “Exit full screen (F11)” text to appear. Clicking on the text will exit browser full screen mode.

Install the extension today and join the over 300 users that have started to go “full screen” the easy way.

Using analytics to grow market presence

4 January, 2011 § 1 Comment

I’ve been having a lot of fun with my new extension for Google Chrome. After our initial release of the extension, Matt and I started looking at the viewing statistics for our first tutorial video on YouTube.

Matt made a good our most popular origin of visitors was Russia, actually ahead of the United States. We promptly changed our feature priorities and began internationalization efforts. We followed the steps in the Internationalization (i18n) pages of the documentation, and pushed out an updated version of the extension featuring Russian and English within the same day.

Now neither of us speak Russian, so this can be quite a daunting task. The first thing we tried was to use Google Translate. We translated “full screen” and “exit full screen” to Russian, but we weren’t sure if we could trust the translation. With such little context, it could be very easy for the translation to mean something completed unintended.

To confirm our translation, we launched Google Chrome in the Russian locale by running ‘chrome.exe --lang=ru‘. We then headed over to YouTube and compared our Google Translate results with YouTube’s tooltip text of their video player. The comparison showed that the translation was perfect.

The next step was to translate our listing on the Chrome Web Store. This was a little tougher since we were unable to compare it with an accepted translation. We also don’t think that we can simply trust trying to translate it back in to English because of the multiplication of noise. For example, if there was one translation error when going from English -> Russian, then translating back from Russian -> English can introduce many more translation errors all based off of that one previous error.

What we were now left with was to simply scan the listing text for our previously accepted translation. We saw the text in the listing translation and were pleased.

Our listing is now live in Russian as well as English. We have seen more uptake in Russian viewership of our videos and we hope that transfers into more Russian installs.

What do you think about our strategy? What could we have done better?

Using Sikuli IDE to test a Google Chrome Extension

3 January, 2011 § 1 Comment

On Christmas Eve I decided to start working on my first publicly available Google Chrome extension. I blogged previously about it, but today I wanted to cover how I test that the extension is working.

The extension allows a user to take a YouTube video and bring it to the full window size of the browser. This creates a full screen that will not exit when another window is clicked on.

To use the extension, there is a “page action” that is located in Google Chrome’s address bar. When clicked, the video will either expand or contract. After the initial release, I made public the manual test cases for the extension. When I found time later, I automated them with Sikuli.

Here is a video of the test cases being run:

I have uploaded the Sikuli test case files to the project website as an example on unit testing with Sikuli.

Previously, I’ve used Selenium IDE for web-based testing and I know of some coworkers that use AutoHotkey. Have you ever used an app like these for unit testing?

Where Am I?

You are currently browsing the Google Chrome extensions category at JAWS.