Rohit's Realm

// / archive / 2018 / 09 / 04 / the-photo-gallery-comes-home-to-nest

September 04, 2018

The Photo Gallery Comes Home to Nest

As should be readily apparent from the lack of activity on this most wretched of sites—the last post was nearly a year ago and about some weird computer shit—very little these days can wake me from the somnolence that set in over me and this site years ago. But asleep shouldn’t necessarily be interpreted as moribund. While this pathetic excuse for a site hasn’t seen a comprehensive update in more than a decade, I have not abandoned all my web properties just yet.

For instance, following the untimely demise of the Gallery Project, I did develop and release a web application (RIOT Gallery) for displaying my photos on the web, built on top of the command line software (RIOT) that I had developed in 2006 to facilitate my photo management that has served me well over the years. Over Labor Day weekend, I managed to finalize and release a much needed update to RIOT Gallery. The balance of this post summarizes the changes made, and also briefly (and, very likely, futilely) discusses what is up next.

The changes in this release were both structural and visual. While the latter will be immediately apparent (the site looks different!), the former are far more significant. In no particular order, the changes were as follows:

  • Nested Containers. As those sad few that have been with me prior to 2014 may recall, my old photo gallery utilized nested albums to organize various events into useful subsets (e.g., all subalbums from a trip to Europe would be in one album). When I was implementing the first version of RIOT Gallery, I did not include this feature, primarily because it would have involved implementing recursive SQL queries to manage the tree structure and I simply ran out of time.
    The alternative, unfortunately, was rampant disorganization. Most of my photos come from travel; without groupings of albums, it was getting very hard to use. In this version, I added nested containers (at an arbitrary level, although I don’t expect to use more than one or two levels of depth). You tell me, but I think this feature, coupled with pagination (discussed next), significantly improves the usability of the gallery.
  • Pagination. I’d like to think I did not implement pagination in the first iteration of RIOT Gallery for some principled reason, but thinking back on that time a couple years ago, no discernible principle has emerged. I think it may have been simply because I got lazy and decided to skip it. Whatever the excuse, I have now remedied it and pagination is back.
  • HTML 5. Although there was already a tremendous buzz about HTML 5 at the time I was coding the first version of RIOT Gallery in 2015–2016, my experience with that technology was limited at the time, and I was not ready to commit the time necessary to make the switch. Since then, I have used HTML 5 for a couple sites (including in the latest revamp of my personal site) and come to like it quite a bit. Given that I was making significant structural changes to the code base for RIOT Gallery to implement the first two changes, it seemed like the natural time to also revamp the views.
  • Style. The move to HTML 5 also resulted in two other changes, both which I view as big wins. First, I moved to a cleaner theme and styling for the site and in particular decided to move to Google Fonts for typography. I happen to like the new look, but of course feedback is welcome.
  • Mobile Support. The second big change resulting from HTML 5 was the ability to add much more robust mobile support. With the first version, mobile support did not extend beyond general compliance with HTML and CSS standards; the site was visible on a mobile device, but there was no attempt to address the smaller screen size or other limitations that accompany mobile devices relative to desktop computers. With a fluid layout in HTML 5 and CSS 3, however, I was able to make some specific tweaks to the styling that optimizes the display for small screens (e.g., one picture per row rather than three).
  • Image Generation. I made some minor changes to the ImageMagick code used to generate images and thumbnails from the full sized images. Those changes achieved in an increase in quality without much of an increase in file size, though I see this as one area where additional optimization may be possible.

That hits all the major changes. So, what’s next? Well, the biggest piece that is still missing is the ability for friends and family to access non-public photos (which I loosely define as any photo with a person in it). Obviously, that is a big issue, but solving it is also a rather significant technical chore, as it, among other things, requires researching and then coming to a view on an authentication framework (home rolled? outsourced? to whom?), and then implementing the authentication and authorization code. While I have made some progress in the last few months in answering some of the threshold questions, a fully functional system is still a ways away. (I have all but given up on committing to any sort of time frame.)

But so it is with this site. As I observed in my missive recording the tenth anniversary of the Realm, [t]his site is nothing if not wrought with the shambles of unmet expectations. It wouldn’t be a post on this site if I did not leave you disappointed, dear readers. But in the mean time, please check out the photo gallery, and let me know what you think!


I had to look up somnolence, and that ended up being the most accessible section of the post. That said, I think being able to see photos with people in them would be nice.

Add Comment





* required field

E-mail addresses will never be displayed. The following HTML tags are allowed:
a abbr acronym address big blockquote br cite del em li ol p pre q small strong sub sup ul