Logo of the iOS app

The App

The goals of the Photo Club Waalre (or Fotogroep Waalre in Dutch) iOS app are to:

  1. showcase curated work of members of photo clubs
  2. show the images with minimal distraction (unlike a website)

The work is organized into portfolios. Each portfolio covers that part of a photographer’s work that was shared within a photo club. If a photographer is (or was) a member of more than one of the supported photo clubs, the app will show multiple portfolios for that photographer.

We have recently put the code on GitHub to enable other software developers to contribute. Getting more developers speeds things up somewhat, but also gives fresh ideas and promotes continuity.

Compatibility

The app runs on iPhone and iPad and requires iOS 15.0 or higher. iOS users tend to upgrade to the latest possible iOS version, which means that the app supports devices made in the last 5 or 6 years. The app also runs on the new generation of Macs with “Apple Silicon”.

Screenshots

Highlights

  • supports iPhone, iPad and Apple Silicon Mac
  • displays curated portfolios
  • fast startup using an on-device database (CoreData)
  • Portfolios and membership lists updated automatically (server)
  • a photographer can be a member of multiple clubs
  • bilingual (EN, NL)
  • scrollable/zoomable maps showing home bases of clubs
  • fancy interactive opening animation (photography themed)

Software technologies

The app uses various Apple software technologies including Swift (Apple’s newest programming language), SwiftUI (a declarative UI framework), Core Data (persistent local data storage), Metal (graphics acceleration using GPUs), concurrency (for fetching data), and animations.

Software Design

The app currently uses a software module per club. That module loads membership and portfolio data from a club’s server and merges it into the in-app database. For Photo Club Waalre, the membership data is read from a HTML table on a password protected part of the club’s website. The portfolios are read from XML files generated by a Lightroom Web plug-in called JuiceBox-Pro. Thus portfolios are created and managed as Lightroom collections. These collections are then uploaded to the webserver with a single Upload click (thus triggering JuiceBox-Pro) where they can be downloaded by the app.