This project is read-only.


Photo and image hosting today is simple. There are plenty solutions to choose from. Practically all of them offer comprehensive sharing functionality and high availability of the content.

But watching family photos with friends in the comfort of you living room... Well, it doesn't always fit very well the "social networking" model. These are the problem/limitations that "social" photo hosting doesn't fully address:

  • Ownership of the content can be ambiguous.
  • Exiting mechanism can be complicated. Deleting the account can be possible but evacuating tons of photos can be a challenge.
  • Sharing model may not necessarily be suitable for everyone. Sometimes it is just black and white (fully private or fully public).
  • Necessity to be connected to the public network can be impractical.
  • If you do not like the "playback experience" the only choice you have is to move your content to another hosting provider.

One of the possible answers to the problems above is private photo galleries hosted locally. And Ruta is a tool for composing such photo galleries (albums). The following is the list of the Ruta features as well as the features of the produced albums themselves: 

  1. Ruta album is a static SPA, which does not require Web Server for hosting. The album file can be just open in the browser from either local drive or online repository.
  2. Ruta albums can be shared over the Internet with the conventional file sharing solutions like Dropbox.
  3. Playing Ruta album locally allows extremely fast delivery. This is because all resources are accessed locally (e.g. home network drive, USB stick).
  4. Ruta album itself is very light. It is just a Web page with the references to the resources (images and thumbnails) 
  5. Ruta album can be exported as a self sufficient Web gallery with all images are nested in the sub-directories of the a Web page (album) root.
  6. When exporting the album user has an option to ajuste the total size of the volume by automatically resizing the images. It is useful for hosting albums in clouds.  
  7. All images in the album can have an optional custom title - short image description.
  8. Album playback allows either manual or automatic (slow and fast) "next-image" navigation.
  9. Album navigation can be triggered with the mouse, keyboard or with touch input.
  10. Ruta allows opening individual images in the editor of your choice.
  11. You can extend Ruta with the external album generator from the album definition file.  
  12. Ruta album composer is implemented as a WinForm application. WPF is undeniably a better tool for the job but I wanted to keep alive the possibility of running it on Linux.

You can have a look at the sample album here:

I'd like to thank Manos Malihu for his SPA Image Gallery, which is used as a template for the Ruta generated albums.

Features Highlights

Most of the Ruta features is self explanatory. The following is a highlight of some of them.

Ruta is a single file executable, which doesn't require any installation. Just copy it in your preferred location and start it.

Creating Album
Press "Create" button and supply the album name when prompted.
By default the album will be created in the in the "<user_profile>\Documents\Ruta Photo Albums"


Select the album you just created and press "Add Image" button. Select image(s) you want to add to the album.
Alternatively you can just dag-n-drop images in the 'Images' panel.

Editing Album
You can adjust album to your needs by by changing the sequence of the images. Just select the image(s) an use Up/Down toolbar buttons to move the selection.

You can also provide the image title (short description) to be displayed in the album:
If you enter title "-" it will instruct the album to render the same title as for the previous image. 

Album play-back
After album is created you can test it by pressing "Start" button. This will start the default system browser and load the album Web page.

Exporting Album
You can export album as a selfsufficient Web page and all its resources (album images). To rigger exporting press the "Export" button.

Specify the destination directory and scaling factor for the images (this will affect the size of the exported data).


After exporting is completed Ruta opens the directory with the exported album. You can now freely copy/move the whole content of this directory to any location of your choice (e.g. USB stick).

You can optionally extend Ruta functionality with the external applications. In the settings dialog specify the name of the external applications. 

The external image editor (if specified) will be launched for editing the selected image when user presses "Edit" button.

The Web page generator application deserves special attention. It is the application that is responsible for generating the photo album from the album definition file. By default Ruta is using itself as such an application but you can develop your own 'generator' if you want the Web Page to be generated somehow differently.

The valid 'generator' application must implement specific command line interface and be able to understand the album definition file format:

- The 'generator' app is invoked by Ruta with the following command line parameters:
     <app_path> -generate <album_file> <output_file>
     <app_path> -export <album_file> <output_dir>  

- Album Definition file is a text file with every line (except the first one) containing the information abut the album item/image encoded as follows:  


Note "<image_name>" is used by Ruta only internally to help with image sequential ordering.


Hints and tips

One of the best ways to view Ruta albums (particularly locally hosted) is the playback on large HD TV via Chromcast. The large format does make the justice to practically any photo. 

It is very easy to host Ruta albums in clouds. Just export album and upload the whole exported directory to the cloud destination.

You can use any Web hosting provider, which offers direct HTTP access to the user content. It can be your ISP or public file sharing solutions like Dropbox

If you are using Dropbox then the uploading is done as part of the file auto-synchronisation. 

WARNING: If your Web hosting is implemented over HTTPS (e.g. Dropbox) then make sure you browser configured to allow 'Mixed Content'. Otherwise the browser will shows 'Mixed Content Warning' and block loading the album images: 


Last edited Jan 31, 2014 at 3:55 AM by oleg_s, version 27