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.
- Add support for HTML5 video, as the current draft of the standard leaves out full screen, and allows browser implementers freedom in determining how full screen can be accessed.
- Or… call my work done and move on
What would you do? HTML5 could be a great feature to add, however not that many sites use it yet.
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.
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.
What do you think about our strategy? What could we have done better?
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?
26 December, 2010 § 3 Comments
Yesterday I published “Multiple Monitor Full Screen“, my first public extension to Google Chrome. I just wrapped up shooting a simple walkthrough video of the extension:
Right now the extension only works on non-embedded videos hosted by YouTube and Vimeo. I looked in to adding support for Hulu but they appear to be doing some funny things to restrict this. In the near future I would like to add support for embedded YouTube/Vimeo videos.
24 March, 2009 § Leave a comment
From searching through the available projects that are on the GSoC delicious list, I’ve come up with three potential ones that I’m going to look in to. By the end of the week I would like to have a project picked out and an application submitted to work on it.
Here are the three projects that have caught my eye, and why I would like to work on them:
Some people that I work with have used Qt previously and I was amazed at the nice animations that were possible within Windows. And don’t forget the fact that the framework is cross-platform. The project says that you should have some Qt knowledge and C++ experience. I don’t have any Qt knowledge, but I do have the willing to learn.
Internally AbiWord uses Unicode between methods, while the controls are all Microsoft ANSI controls. This project will look at converting the controls from the ANSI ones to Unicode. This doesn’t sound too tough, although when switching character-encodings, there are always bugs that manifest. Also, to make this a true internationalization effort, it should support “international” filenames and dragging and dropping of these files in to the interface. Some of the other benefits that come with switching from ANSI to Unicode will be better integration with the features of the NT platform and better support of the Multilingual UI (MUI) features of Windows 2000/XP/Vista.
Everyone that sits down at a computer has a different use for the internet and there are many ways to accomplish the same thing. Extensions allow for users to customize their setup and make their user experience better. There are API’s that need to be implemented and also unit-tests to go with it. The code for Chromium is written in C++. Downloading the source and getting it to build in VS2008 has been a learning lesson, but this looks to be a nice project.
What do you think about these projects? Is there one that sticks out to you that you think I should go forward with?