Inspiration

Experiences through hackathons and with different project-management systems gave us the desire for a simple and standards-based system — with a timeless feel.

What it does

Create projects and and keep track of them, either in modern mode, or relive the timeless style in Retro mode.

How we built it

Using test-driven design and best practices ensures seamless integration between the two versions of our application. The “modern mode” using a modern Lavarel-based stack, and the “retro mode” using a stack made up of solely software available in the year 2000: PHP version 4.0.1 (as opposed to the modern 8.x), HTML 4, and CSS 2.

Challenges we ran into

With the past constraints considered, we had difficulty implementing the backend in PHP 4, and keeping it to feature-parity with the Lavarel version — particularly regarding setup of an environment which could even run PHP 4! Incompatibilities between PHP 4 and PHP 8 were also somewhat tricky to paper over, as we wanted the retro mode to function in both environments. Now-standard parts of PHP that are taken for granted, like the superglobals $_SERVER, $_POST, and several hashing functions, were completely unavailable in PHP 4.0.1.

Accomplishments that we're proud of

We our proud to offer a user experience that is simultaneously retro and modern in one easy-to-use application. The modern version is fluid and responsive, and the retro mode is truly able to run in a retro environment.

What we learned

We learned how much can be done with little; that many modern niceties can be done even with an older tech-stack; that modern design doesn't require a framework (even though they make it a lot easier); and that Debian 2.0 Potato from the year 2000 can run just fine in a chroot, even on a modern GNU/Linux installation.

What's next for Momentum

Standard file-formats for storage of data, e.g. org for the task-list; screen-sharing in a backwards-compatible way (an <iframe> reloading a server-rendered JPEG); and real-time chat around projects.

Built With

Share this project:

Updates