Idea: Launcher App

I’m very glad you brought this point up :slight_smile: I shared this concern as I was writing it. Ultimately, the simplicity forced me to write applications a certain way. I honestly don’t know enough about the meta narrative of programming, but it feels like scaling the UI horizontally vs scaling vertically.

A bit of it has to do with my sole knowledge of the internals at this point, but there are a lot of hooks to grab onto to override defaults to keep tricky things lean.

In designing the launcher application, I wanted to think about first party apps and the launcher holistically. I ended up treating each feature as an HTML leaf node. This lent itself well to creating single-file applications. These load really fast in iframes.

All that said, I souped up solid-user tag to serve as the launcher. The button toggles between an full screen iframe and an overlay. Entering the konami code pops open developer tools on the iframe layer.

Solid User Launcher Demo
Solid User Launcher Module Source

In the above module, we’re now exporting the Solid User’s Tag properties, in addition to connect and disconnect functions. This allows us to import those into other modules.

Importing Solid User’s functions a Solid Todo App

With that Todo example, we’re able to inherit Solid’s context. With that, we’re able to render the person’s name in the todo app. This is one way to build and chain more complex features.

I see software as very tribal. By decreasing the vocabulary required to communicate effectively in a medium inherently makes it more accessible. I want anyone familiar with the web to discover a new way to call into it. Anyone not familiar, I want to have code that can be easily ported or refactored into any competing alternative. I want time spent learning it was still worth every second, even if it’s not perfect.

All that said, all the launcher apps in the parent post are the use-case I’m aiming for. I want an abstraction to be able to roll my own software so that I’ll be able to come back 5, 10, 20 years down and pick up changes with only a brief refresher. And I want to be able to share that same ability with others.

Thanks for trying out the first hello-launcher, it really isn’t self explanatory as it stands right now :sweat_smile: it was mostly for me to prove out the technical hurdles I was facing, but what those are isn’t clear externally.