Having spent the last couple of weeks building a Solid app, I thought i’d do a bit of brainstorming about the future of Solid.
Firstly, I think it would be a good idea to create a browser extension similar to Bookmarks sidebar, to display a categorized list of the most popular Solid apps. The Solid Apps extension could have categories for Profile management, Blogging, Photo Management, News Feeds, Chat, File Management, Dating, and so on. It would also help to organize what would otherwise be a disorganized space.
EDIT: As opposed to a list of trusted apps, they could just be the most popular apps. If we are using a browser extension to confirm write actions (see below), it doesn’t matter if they are trusted. Also, we could use my DVO Toolbar extension to determine the most popular apps
Also, getting people to switch to a different social media platform is a monumental task. Therefore, we need the apps to be one click away, and be able to provide notifications that appear on the browser task-bar, something which is easily done with an extension.
Single sign-on, gateway and universal API
How do we stop a spammer from taking a dump in our POD? Or injecting malicious JS into their posts? Could a browser extension solve these problems? I had some issues authenticating via a chrome extension. As soon as i get the chance i’ll look deeper into it.
Once we are able to sign-in with a browser extension, we can expose a universal API. We would only need to use the API for write access to our POD, and thus it would not affect the viewer. Each time an app wants to write something, we will need to confirm the action. From the user’s perspective this would be a much better experience. Install the extension once, login, and access the apps which are available to you via the Solid Apps extension. We could open up solid to web designers with little coding experience, by providing widgets, web components, and so on. All they would have to do is simply copy and paste some code on their site, and the extension will take care of the rest.
Standardized posts and comments
A Solid CSS Framework
I think Solid needs it’s own, using it’s own color scheme. Something that uses CSS grid, and doesn’t pollute the markup. Sure, a lot of Solid apps would look the same, which isn’t necessarily a bad thing. Anyway, I could put something together if anyone is interested (and if get the time).
I might be wrong about this, but I feel that Solid and GunDB compliment each other very well. One of the issues with Solid is decentralized aggregation of POD data, which Gun does well. One of the issues with Gun, is decentralized storage, which Solid does well (in it’s own way ). Anyway, I created a chrome extension which uses both GunDB and Solid. It allows people to like, dislike and comment on any URL (among other things). The likes and the comment ID are stored in localStorage, but the comments are sent to the users’ POD. I’ve still got lots of stuff to sort out, but it seems to work as intended.
While GunDB is P2P, you are still required to connect to a “super-peer” when you initialize an app, which acts as a relay server. However, what if the gun server was built into the solid server? When we connect to a POD, we are also connecting to a super-peer, thus making it more decentralized.
Also, could gun to provide some kind of decentralized DNS system for WebIDs? I’m not sure how that would work.
A Minimum Viable Product (MVP)
It’s easy to get distracted by tasks that are interesting, and never actually finish anything. I do this a lot. However, the resume app is what I consider to be a minimum viable product. By offering a free website/profile that can be edited directly from the font-end, there’s plenty of ways to gain adoption. We could target pretty much anyone, including job seekers, employers, teams, artists, self-employed people, and so on. As I said before, a social media platform will struggle to gain adoption, and would not make a good MVP. An MVP is something which is free, useful, simple, functional (ideally bug-free), publicly accessible, well designed and well documented. An MVP makes it easier to establish a realistic road-map. It will also help to attract other developers, and open the door for more financial contributions.
Anyway, i’ll leave it there for now. Thanks for reading.