A Ruby-Gnome YouTube Browser to surf
on Maemo internet tablets like the Nokia N800 (which I used to test the app) and on regular Linux/Windows desktops (or laptops, etc.)

RubyGems: gtk2youtubeapp



  • How do I delete a video?
In regular desktop mode, right click on the video's play button. A delete confirmation pop up should appear. In hildon (hand held device) mode, a play/delete dialog should pop up when the play button is clicked.
  • I don't see a tags entry, how do I do a tags search?
The tags are also entered in the keyword's entry, but enclosed in square brackets. For example:
"these are keywords [and these are tags]".
  • How do I get the application's main menu?
In regular desktop mode, right click almost anywhere on the application window, the main menu should pop up. In Hildon (hand held device) mode, the main application menu is in the usual place.
  • Can I copy the video's web page url to the clipboard?
Right click on the video's Web Page button, the url gets copied to the primary clipboard, and the video's title and author are copied to the regular clipboard. This is configurable in the configuration file.
  • Hidden tricks...?
  1. Use [tag1, tag2, ...] in the keyword search to search videos with tags tag1, tag2, tag3...
  2. Center-click (button 2) the link button to copy the url of the video to the main clipboard, and the title to the copy/paste clipboard.
  3. Right-click (button 3) the link button to see the video's comment web page.
  4. The default order by published for the Author button can be changhed under the Options Tab(the Options page).
  • Some features not visible in hildon mode (maemo/n800), why?
Some features can be toggled on or off in the app's configuration file. I have some features off when runned in hildon mode based on some assumptions on how the app will most likely be used in a handheld. You can turned them back on. Note however that some features are not available without the net/https library which N800 may be lacking.


The easiest way to install is to just run
  • gem install gtk2youtubeapp --no-rdoc --no-ri
On a Linux system with Ruby installed, along with the other required software (ie. mplayer), that's it. Type gtk2youtubeapp at the prompt and press enter. Maemo has Ruby 1.8 and Ruby-Gnome (aka gtk2/hildon) in their catalogues, but Ruby-Gnome is installed as a side effect of installing Ruby-Sample.

As of me writting this, Maemo's Ruby install is missing https, so YouTube feeds requiring authentication are not available.

gtk2 is now available as a gem which will automatically build gtk2 on a system with the proper building tools (most linux desktops should be able to easily intall gtk2 via gem install, but it won't work on the N800).


The different search forms are under separate Gtk Notebook tabs. In the Notebook you'll find Standard Feeds, Search, Tagged, Cached, and an Options tab. If the application is authenticated (via username/password), a User Feeds form will also be available.


The feeds are YouTubes "Top Lists". In the Feeds form one can select the type, time frame, and category and then press the Feed submit button. For example, "Most Popular" "Today" in "News".


The Search form allows one to do keyword and tags search on YouTube. One can also restrict the search to a selected category, time frame, author, and have the list sorted by "rating", "views", "relevance", or "published".
  • Keywords are entered normally into the entry box.
  • Tags are entered into the entry in square brackets.
A keyword tags search text will look like "keyword1 keyword2... [tag1 tag2...]"


User feeds are available with authenticated login.


The Tagged search will go through the videos one has tagged and filter by a set of tags. The Top Tags Cloud button (version 2.7) will give a dialog box with the top tags related to the tags already on the keywords entry box. To exclude videos with certain tags, enter the tags in brackets (NOT feature). So like... selecttag1 selecttag2... [nottag3 nottag4...]


The Cached search will go through the videos downloaded, sort by the selected file attribute, and select by keywords, tags, and category. The file size * accessed time sort is meant to be a cost of storage measure, to help one find large rarely viewed videos.


  • Author sort by allows one to select the sort for the uploader's video list returned by the video's Author button.
  • FullScreen (as of version 1.2.0) allows one to set fullscreen mode for the Play Cached button.
  • Play Cached checkbox sets if cached videos are set to play by default.
  • Short List allows one to temporarily set the size of video lists to a shorter length.
  • Cancel Downloads button (2.7) will "killall" video downloads (you'd rarely want to do this)


The navigation and post sort buttons apply to all search results, and become active after a search has fully loaded.


  • Back returns to the last page viewed of the previous search made.
  • Previous goes to previous page on the current search.
  • Next goest to the next page on the current page.

Play Cached

The Play Cached button will play all cached videos in the current results. One can set if the videos are viewed in full screen mode in the options.

Post Sort

The post sort buttons re-sorts the loaded results.
  • Modified sorts by a configuration set valuation.
  • Rating
  • Raters sorts by the number of raters.
  • Views
  • Date sorts by the published date.
  • Length sorts by the video's length in time.
  • Restore returns to the original sort given by the search.


Left Side Buttons

  • Description pops up the videos description.
  • Web Page remote commands the browser to open up the video's web page.
  • Record/Play downloads the video or plays the video.
If the video has not been donwloaded, the record button will show, allowing one to request a donwload. Once enough of the video has been downloaded, the button switches to play, allowing one to request the video to be played. The play button has also an alternate mode when right clicked... then a delete confirmation pop up appears for one to confirm that the video is to be deleted. When run under hildon (tipically the mode run in a handeld device like Nokia's N800), clicking on the play button will pop up a play/delete dialog for one to choose the action to be taken.

Center-clicking on the Web Page button will copy the video's web page url to the primary clipboard -- the paste is done with the middle mouse button. Also, the video's title and author is copied to the regular clipboard. Both of these behaviors are modifyable in the configuration file.

Right-clicking on the Web Page button will open the video's comment web page.

Video's Search Buttons

  • Related will do YouTube's related search on the video.
  • Responses will search for video responses on the video.
  • Author will return the uploader's other videos, sorted by the selected sort under the Options tab.

Tags and Sub Buttons

  • Tags will pop up the list of tags for the video and allow one to select or add their tags.
  • Sub will subscribe one to the video's uploader channel.
Tags allow one not only to see the video's tags, but also to "bookmark" it under one's own selected tags. The video need not be downloaded. One can then restrict searches on just the videos "tagged" in the Tagged search described further down.

Add To List (+)

The add to list button (+) allows one to add the video to either a pre-existing list, or a newly created list.

Thumbs Up/Down, and Favorite (*)

These buttons provide YouTube's like/dislike and favorite video functionality.


The configuration file is found in
  • ~/.gtk2youtubeapp-2/appconfig-2.?.rb
Here you can modify many of the application's settings such as cache size, number of items to be displayed the results, and the video format to be downloaded. Further more, the modified rating and clipboard functions are coded in the configuration file. The help text is found in
  • ~/.gtk2youtubeapp-2/README-2.?.txt
but the most complete help is found online (what you're reading now on my Ruby-Gnome Apps blog). I placed a copy of the README file in the user's hidden directory to allow one to edit in their own notes.