What it took
Building a product is slow, but steady going. I jotted down this list of the various hurdles and went through to get a useable product today:
Design the UI: most of this was done for version 1.0 five years ago
Understand the basics of Javascript (with 1990s Pascal to start from)
Understand post 1990s programming concepts: objects, methods
Get an environment up and running so that I actually could run a simple piece of code
Find a way to get access to the data (presentations) version 1.0 was producing.
Setup an environment that turns a program that says “Hello world” and turns it into a desktop app
Figure out a way to scale text in a browser environment, preserving the exact proportions of design elements (resize your web page, this is not what most web pages need).
Get github and multiple versions to work
Build the first rendering engine that actually displays a chart: text boxes are easy, scaling images a bit trickier, data charts get nastier even
Find a way to register clicks and make things editable: shapes, menus, in different context.
Copy the rendering engine to a generic format (for thumb nails in story mode for example)
Duplicate the app engine to enable multi-screen presenter mode (running 2 processes and a master process that talk to each other)
Enabling on-screen editing of text, graphs, image dragging, image cropping, flipping
Building the grid editing system (implementing my patent)
Build the PowerPoint conversion
Build the PDF conversion
Build the image export
Build the printing functionality
Add automatic 16:9 to 4:3 and back conversion
Add automatic dark/white background conversion (beyond simply changing the background color)
Enable multiple windows (each window is a full copy of the render process) and coordinate settings between them
Build user authentication: pro users get features others don’t have access to via a web server, involving password hashing and building a user database
Build the first version of the online template database: search slide layouts inside the app, but pull data from the central server
Hook up unsplash image search
Hook up noun project icon search
Create an auto-update mechanism that updates the desktop app in the background when new versions are released
Get the mac app to run on windows as well
Get certified with Microsoft and Apple so that people don’t receive scary warnings when installing the software
Build the full-scale slide template server, integrating the PowerPoint-only content from the old one
Get payments working
Build the front end of the marketing web site and the template store
Get PowerPoint conversion to work on the server as well
Build the management console to manage slides, users, and the search algorithms
We are going into the next phase now with a live product, direct user feedback is exciting, but it also means I cannot pull off some of the dramatic overnight feature and architecture changes I did over the past year. To be continued.
Photo by Thomas Galler on Unsplash