DevelopmentSystems

Behind the sites

Illustration of two separate program releases, shared saved work and a return arrow.
Separate releases, saved work kept apart, and a way back. Illustration.

A new version goes online in the middle of someone else's day. They may have a game open, an image waiting or a document they plan to come back to after lunch. This is the less visible half of my projects: releasing changes so the page keeps working and saved work is still there.

Old tabs still need old files

Tiny AI Arcade made this concrete. A visitor with an older page open could still need files from the previous version, even after new visits were loading the current one. Deleting those files right after a release could break the game for the person who had been playing all along, so I keep them available while older pages still depend on them.

Code and people's work live apart

Program files are only part of what sits on the server. Uploaded photographs, saved conversations and generated images belong to the people who made them. I keep that material separate from the application versions, so replacing the software leaves it where people expect to find it.

The separation matters most when a release has to be undone. Rolling back to an earlier version of the software shouldn't erase work someone added after the change. I plan for both parts before a new version goes online, and earlier versions stay close at hand while I check the new one.

Moving a whole application

Moving an application to another machine raises the same issue. For The Story Scrolls, the stories, illustrations and the information connecting them have to arrive together. I work through a move with backups and a way back, then make sure new work goes only to the intended copy. Otherwise two locations start collecting different changes.

After any change, I check what a person will actually use: the address, the sign-in and the pages where their work lives. A process running on the server is a good sign, and I still open the site to confirm it.

My part covers the server integration, application moves and a repeatable release process across these projects.

Cory BoehneLet's talk
Creative full-body development portrait of Cory Boehne
03SOFTWARE CASE STUDIES

Software I've built
and how it works.

I've built tools for maintenance teams and company finances, applications that run on local models, image and story software, and games with a little AI in the cast. The problems range from a missing zero in a spreadsheet to a suspect who mustn't reveal the answer.

Building software since the late nineties.

Business tools, games and image software.

Three places
to start.

A Maximo assistant that has to know which release you run. An arcade where one local model plays a different part in every game. An image tool I built while making the portraits on this site.

Dr. Maximo brand character holding a tablet.
AI and reliability

Dr. Maximo

A web application for Maximo and reliability questions that shows its sources, keeps track of the release and reads approved system data without changing it.

Inside Dr. Maximo
Fifteen illustrated game worlds from Tiny AI Arcade.
Interactive experiments

Tiny AI Arcade

Small games and practical tools where the rules stay in charge and the model plays a defined part: suspect, narrator or hint-giver.

Enter the arcade
Personal portrait of Cory, created in Image StudioAI portrait of Cory, created in Image StudioRiding portrait of Cory, created in Image Studio
Creative software

Image Studio

A private image application for keeping one person recognizable across many scenes, with reference roles, saved recipes, masked edits and transparent output.

Inside Image Studio
The Story Scrolls
Alice’s Adventures in Wonderland in Story Scrolls, with John Tenniel’s original illustrations.
Alice’s Adventures in Wonderland in Story Scrolls, with John Tenniel’s original illustrations.
Creative software

An illustrated library with room to make your own.

An illustrated public-domain library, several ways to read and a guided workshop for writing and illustrating a story of your own.

Open The Story Scrolls
  1. Dealerships

    Selling cars showed me what finance and sales software had to do.

  2. Professional Software Systems

    Finance and insurance software for smaller dealerships.

  3. IBM Maximo

    Asset-management work, starting with barcoding software.

Before the current tools

Dealership software led me to Maximo.

I was building, selling and repairing computers by my mid-teens, and did early web work after that. Then came a stretch as an electronics supervisor at OfficeMax and several years selling cars at Casa Chevrolet in Albuquerque.

The car lot turned out to be good preparation. At Professional Software Systems, I built finance and insurance software for smaller dealerships, including buy-here-pay-here loan handling and sales tools. One of those tools compared amortization scenarios to show when a different use of a customer's money could benefit both the buyer and the dealership. I had worked the sales floor, so I knew what those screens needed to show.

The oddest problem involved driver's license numbers. Some states built their identifiers with Soundex patterns, and each state had its own variations. Inside the dealership workflow, we reverse-engineered those patterns and worked through the exception rules one state at a time.

A contracting connection then brought me into IBM Maximo, writing barcoding software. After that I left the industry for a while to travel and study, starting at San Juan College around 2005 and moving on to New Mexico Tech. Banetti brought me back to software.

How that experience grew into technology leadership

All the software stories.

Explore the applications, experiments and server work, including the private prototypes and the decisions that shaped them.

11 entries
Related work

The design, the businesses
and the skills behind the builds.

There's more to a project than its software: the identity it needs, the business it serves and the people who have to use it.

Build something

What needs
building?

Tell me what the software needs to do, what data it touches and where the current process breaks down. I'm glad to work through the details with you.

Tell me what needs building