BlobStar ✨

iOS application to automagically control the device torch/flash and capture photos.

It was quickly drafted to monitor some Physarum Polycephalum evolution as a #EleveTonBlob mission assignment.

Photos are stored in the device Photo Library and are meant to be aggregated in a single movie file later, using FFmpeg for example.

This custom project was developed by a volunteer parent to help a primary school in the French Jura, not so far away from where the first Comté 🧀 to the ISS was baked.
The name is a word play on “blob”, the other name The French 🇫🇷 gives to the Physarum Polycephalum, and the B52’s Rock Lobster 🦞

Features

  • Take photo every 1 to 60 minutes
  • Turn on then off device torch to take a photo
  • Control device flash mode
  • Store device location to photo EXIF data
  • Store photos to Photo Library
  • Remember user settings

Privacy settings 🔒

The app needs to access some Privacy sensitive features, such as:

Privacy Permission Required Usage
Camera Access the Camera ✅ Preview and capture photos
Location Allow While Using App ❌ Store device location in photo EXIF data
Photo Library Allow Access to All Photos ✅ Store photo in the device library

Location and Camera permissions are requested at the app first launch.

Photo Library permission is requested during the first photo capture.
You can press the Camera 📷 button to trigger the authorization first.

The app raises a fatalError() when it can’t access the camera 🐞 and no photo is saved when it can’t access the Photo Library.
This is by poor design because of rushed deadlines, and Privacy controls can later be fixed in the BlobStar section of the Settings app.

Once Privacy settings are in order, it might be a good idea to quit and reopen the app…

Build

The app was developed with Xcode version 13 and tested on recent devices running iOS version 15.

It is trivial to build and run the app on any device, as long as you deal with the Signing requirements.
Anyone with a Mac and registered as a free Developer can install Xcode to build and install apps, with just a few limitations such as the provisioning profile expiration period.

The project source code is provided as is and it’s not ok to contact me for support (this file covers pretty much everything you need) or feature requests beyond the scope of the mission.
Responsible pull requests and forks are welcome.

Preview

A picture is worth a thousand words, so here you have a SwiftUI preview:

BlobStar SwiftUI Preview

Acknowledgments

Many thanks to the wonderful pilots, doctors, engineers, etc. that turn the Space discovery dream into a reality.
I am so glad you are sharing your research with all the kids down there.

Also, I used the mission logo for the app icon without any permission, sorry 😅

GitHub

https://github.com/melomac/BlobStar