0 1

  Octoboxy Project History

All years and dates should be read with a prefix of ‘circa.’

Pre-History

2010 - 2014

We wanted a fully custom photo gallery.

Exploring our options, we rebuilt the same site once each year for five years:

  1. Hand-coded HTML
  2. Adobe Lightroom galleries
  3. Drupal
  4. Wordpress + premium theme
  5. Wordpress + our theme

Making money is good, so on the side we built three versions of an eCommerce site, for a company that screen-printed t-shirts:

  1. Wordpress + free theme
  2. Drupal
  3. Wordpress + premium theme

By this point we'd seen the problems we were solving on both sites were the same. We started thinking about a digital asset manager that could directly support our web properties.

First Versions

2014 - 2015

We called our project "Moonrise."

v0.5 "Moonrise" - 2014-03
  • 2.5K lines Python
  • rendered photo assets using Photoshop
  • indexed those rendered assets

The first working version was a glorified asset index. At the time we were still thinking about exporters/importers to move assets into a Wordpress front-end. But we were also already using Django -- a web app platform -- for the developer interface on our backend.

Why not build the whole frontend out of Django too?

We had no idea what sort of a monster project we were getting into.

v1.0 "Sunrise"
  • 12K lines Python
  • photo gallery website

Some experimental projects happened here:

  • Interlude: photo galleries for handoff to a publisher
  • Interlude: color identity explored via Amazon’s Mechanical Turk
  • Interlude: Lightroom plugin to maintain collections in our index

Making Ends Meet

2015 - 2016

The frontend and backend individually worked, but under the hood shared little connection. The next version was all about bringing them together (a task not fully finished until v3.1!)

v1.5 "Unity"
  • unified codebase: workstation and website
  • taxonomy data structure

After this we began making smaller, feature-add versions, as opposed to megalithic redesigns.

v1.6 "The Doctor"
  • integrity testing
v1.7 "Plug n’ Play"
  • more generalized model for a digital asset
v1.8 "Feature Creep" - 2016-04
  • first version with wallpaper art
1 8
1 9
v1.9 "Prose" 2016-05
  • documents are now assets

Fiindex

2016

We were tasked to build a new, photo-based app to run lost-and-found operations at Burning Man.

The lost-and-found problem gave us opportunity to explore an excellent real-world use-case. Many parts of our system, most especially our taxonomy models, grew in complexity as a result.

Fiindex went through two versions:

  • Fiindex v1 -- branched from Moonrise v1.9
  • Fiindex v2 -- refreshed with Moonrise v2.1

Now Do It Better

2016 - 2019

Version 1.10 started out as a brush-up on the visual look of the system. Code-wise, it never was deployed, but blurred seamlessly into a v2.0 where we rebranded the project.

Project Moonrise had become Octoboxy!

Skin
v1.10 "Skin" / v2.0 "Duality" - 2016-12
  • 28K lines python
  • website layer redesign
  • branded: Octoboxy
Duality

Our system still had a lot of room to mature in every existing component.

Enchantment
v2.1 "Enchantment" - 2017-08
  • standardized cloud deployment
v2.2 "Shadows" - 2017-12
  • isolated web properties on the same server
Shadows
Octoboxy2.3
v2.3 "Meta" - 2018-01
  • better background processing
v2.4 "Continuity" - 2018-03
  • better sandboxing of faces
Curecanti Narrow
Crucible
v2.5 "Crucible" - 2018-05
  • new user model

At this point the core was more or less deemed stable.

It was time to tackle some bigger problems:

v2.6 "Kjahiit" - 2018-08
  • eCommerce
tertiary
Serendux
v2.7 "Serendux" - 2018-11
  • off-schedule improvements
v2.8 "//~;~//" (pronounced: sky) - 2019-01
  • replication between deployments
//~;~//
Firmament
v2.9 "Firmament" - 2019-06
  • performance and stabilization

Third Time’s the Charm

2020+

To kick-off the next arc of our story we set out to fix every long-standing annoyance we had with system architecture.

Some of this was simple module renames with little semantic change. On another level, some whole modules got rebuilt. This became a megalithic redesign version, perhaps our largest one ever.

v3.0 "Illumination" - 2020-09
  • a purifying light shown to every aspect of the system
  • 36K lines python
Illumination

eCommerce is now sophisticated enough to run multiple storefronts on different faces, but actually deploying multiple storefronts wasn't in-scope on v3. (We had to draw the line somewhere!) So next up: v3.1 will make that real.

Completing this will be a really exciting moment, because it will mean we check off the last one of the original design goals on this project that still hasn't been answered.

v3.1 "Visage" - IN PROGRESS
  • pages shall be assets

Wish us luck!

~ the Octoboxy crew