Presenting jAlbum 20

18 years have passed since we first released jAlbum 1.0. We've now reached v20. Not that many software titles stay around for so many years so we're proud that jAlbum is still relevant, and now it's better than ever. There are about a dozen changes in this release, but here I'll focus on the top 3.

1. The details view

jAlbum's Explore mode now offers a new configurable "Details" view alongside the "File name", "Title", "Comment" and "Keywords" views.

This mode will be very helpful when dealing with a lot of metadata: You can now view and edit the aspects that matters to you at the same time while maintaining the overview that jAlbum's Explorer brings. A quick double click on the "Details" button will bring up the configurator in Preferences. Here you just drag and drop metadata aspects to your liking.


The offered aspects are Added date, Camera date, Comment, Creator, Copyright, Copyright URL, Dimensions, File name, Keywords, Modified date, Title and Size (some are read+write and some are read-only). This configurator along with jAlbum's zoom slider allows you to pick the best balance between overview and details that suits your needs.




2. Group by Creator 

Album has a powerful file organizer, somewhat shadowed by its main role - to produce web galleries. The organizer has previously been capable of grouping files in folders based on camera date, GPS location, file name and keywords. It can also delete duplicates in the process. jAlbum 20 now adds the ability to group files by creator too, perfect for photo clubs and schools managing work from several authors.


3. New upload engine

If you've been facing upload difficulties, this change will probably be the most welcome. jAlbum 20 is fitted with a completely rewritten ftp upload engine that's designed to handle shaky network conditions better than before, and be faster too. Without getting technical about it, that's all you need to know, but for those of you who'd like to know what's been changed, here's the story:

Sidenote: This all relates to ftp, ftps and ftpes uploads, it does not affect uploads to where we use a special single connection transfer technique called "zipstreaming".

jAlbum's uploader, like any ftp transfer software utilize multiple simultaneous connections. This speeds up transfers significantly as a large portion of the per-connection time goes to negotiating information about each file transfer with the ftp server. jAlbum's existing upload engine has a pool of "worker threads" each grabbing files for processing from a common work queue. Each worker maintains a dedicated ftp connection for the file transfer operation:


One folder is completely processed before proceeding with the next folder. On stable networks, the only downside with this approach is that some threads are idling by the end of each processed folder, waiting for the last transfers to finish. In the real world however, many networks aren't fully stable. There are timeouts, packet losses and a host of issues with various ftp servers. Here's where troubles arise: When IO errors occur, the affected upload worker thread will try to reestablish a new ftp connection and retry the transfer. This does however not always work due to per-user connection limitations usually set up by those who administer the ftp server, so that file is put on a special error queue for processing by some other worker thread by the end of the upload instead. Finally jAlbum tries to write a manifest over all files processed. This is done to speed up future updates to an existing album, but sometimes fails when the dedicated connection used had troubles.

With jAlbum 20's new upload engine, the ftp connections have been decoupled from the upload worker threads, meaning that any worker thread can utilize any free connection from an active connection pool:


This gives us several advantages: On error, reattempted uploads can be performed by any free connection, and the connection pool can reestablish new connections while serving existing connections to the workers. More robust, and less time waiting for negotiation. The manifest file and folder creation is also handled over any free connection instead of on a dedicated connection. Again, more robust. Finally, the new uploader doesn't wait for one folder to be completely processed before continuing with the next folder, so we make max use of all available connections at all time.

Congratulations if you've made it this far. Just wanted to explain what an excellent uploader jAlbum 20 now has :-). Now it's the time to give it a try. Download jAlbum 20 today!
Sign in to post
Add your comment
Post comment
David Ekholm

David Ekholm 3 years ago

Thank you Marko!


Marko 3 years ago

I am impressed! New Story Skin and upload speed is simply fantastic! Thanks! :)

David Ekholm

David Ekholm 3 years ago

@Michael, yes, the new upload engine should work fine from the command line too.
@Jonathan, thank you!


kartphoto 3 years ago

Great news! can you tell something if the upload engine will also work from the command-line?
I create all my albums from the command line and then I need to upload all at once with a other application.

Jonathan Coffeng

Jonathan Coffeng 3 years ago

Congratulations on reaching 20. No other software creates such good web albums with up-to-date technology. Thanks everyone at jAlbum.

David Ekholm

David Ekholm 3 years ago

@Rog, interesting. jAlbum by default attempts to use 8 simultaneous ftp connections (configurable under Preferences->Publishing). Ensure that FileZilla is allowed the same number, then let me know how the stats compare.


Rog 3 years ago

David: I ran a test to compare initial upload times for Filezilla vs. jAlbum. For 1118 files, 74.260 MB, upload times were,
Filezilla: 935 s
jAlbum: 159 s
A second test of jAblum yielded an upload time of 64 s!
So, jAlbum was 5.9 x faster. The last test, with a smaller album, 5.4 x faster.
I have a cable connection that is giving me 2.09 Mbit/s up, 31 Mbit/s down.

Curiously, the jAblum upload was slightly smaller at 74.248 MB. The destination folder was emptied each time.

The album uploaded was "Waterway of the Czars," at (concatenate the link)
h t t p s ://


David Ekholm

David Ekholm 3 years ago

@Rog, happy you like it :-) Yes, once set up, future uploads and updates to existing albums will be faster than using FileZilla due to jAlbum's manifest file, which also ensures that locally deleted files gets deleted safely from the server too. I haven't measured radically different initial upload speeds compared with FileZilla though. Let me know if you consistently see jAlbum outperform FileZilla for initial uploads too!


Rog 3 years ago

Gave it a test: for a 16.6 MB album with 317 items, the upload took 3:30 with filezilla and :37 with jAlbum's uploader. Fantastic. Guess which I'll use in the future? I like also that it allows creation of a folder on the server and one can specify a parent folder for albums thereon. Thanks, David.


Rog 3 years ago

Thanks. Giving it a try.

David Ekholm

David Ekholm 3 years ago

@Rog, ftps is a secure (SSL based) connection but it's layered on top of FTP so it's not ssh based. Use sftp if you wish to have ssh based uploads.

Yes, the uploader takes care of deleting files that were uploaded earlier but no longer in use by the current album.


Rog 3 years ago

Great addition. Two questions:
1. Does "ftps" mean an ssh connection is established?
2. Can the uploader also, optionally, delete files on the server end? Example: I'm doing a lot of updating of albums and so many files are no longer needed. In one case, I had "make html pages" turned on. These pages are no longer needed and taking up server space. I resort to deleting the whole folder contents on the server end, using an ssh shell connection, and deleting directory contents before uploading the changed album.

David Ekholm

David Ekholm 3 years ago

Thanks guys!


Johnno 3 years ago

Congratulations on reachingw 20. I switched my website 3songsbonn to a jalbum gallery several years ago because it was simple and effective. By 'Simple' I mean you guys do all the work in the background ;-)
Whilst I'm free to write and take photos. Thanks everyone at jalbum!

Roland Pauwels

Roland Pauwels 3 years ago