Ideas are listed in generally-reverse-chronological order, meaning that as I add new ideas to this page they will show up at the top. However if you want to start at the beginning, press the button below.
#2: Files are dying
Think of the modern webapp, does it have a file format? sometimes you can export as a file, but usually the data itself is stored in a big database somewhere.
Exporting your data as a file is often a lossy process. I can export my document as a pdf, but can I export its comments as well? Some of the additional complexities and features do not map well to existing file formats and are thus discarded.
#1: Playspace Metaphor
Often I think about making software more composable, more modular. A common metaphor that comes up when thinking about modularity is that of LEGO— however, while this metaphor may be useful at the level of programming/functions, software and tools as a whole do not fit well into this simplification.
Imagine six-year-old me has built a house, dinosaur, and UFO out of LEGO. It doesn’t make sense to attach these together does it? No. Instead, I may play with them and tell a story— the dinosaur stomping towards the house, people fleeing, and then a UFO comes out of nowhere *ziiiew** and abducts the dinosaur.
All these pieces, they all exist within the same space— and it is through this space which they interact. Toys, of course, interact mostly through spatial arrangements fueled by our imagination, but I think this idea is generalizable back to software. To create composable interfaces, modules which may interact with each other despite being previously unaware of each other’s existence, it is important that they all exist in the same space, the same underlying substrate through which they can interact.
For much of the history of computing, that space has been the filesystem! But in our current world of webapps and mobile devices, we have less and less access to our data.