5 ms·
This, to me, is probably the most interesting thing about Sandstorm as it relates to open source web apps. Today, I can write an open source web app and post it
by mnutt 10y ago
This, to me, is probably the most interesting thing about Sandstorm as it relates to open source web apps. Today, I can write an open source web app and post it to github, but it takes someone with operational knowledge to deploy and run it. (even if that's just "create a heroku account, create a new app, git push" you still need to know something about development) But it feels like open source web app distribution has been stagnant and possibly even a lull since the wordpress/drupal/etc php heyday.
My hope is that Sandstorm rejuvenates open source and indie web app development by providing a channel where end users can easily and safely run random web apps they find.
- djsumdog 10y agoI'm in the process of trying to setup some things I'd like to seriously try in Docker containers (GNU Social and iodine for example). Now I want to try to get Sandstorm working in a container now as well. :-P Honestly though I was talking about this exact concept that Sandstorm has implemented, a few years back. I was telling a buddy, "We have general purpose desktop OSes where we install apps. Why isn't there a building-block type server OS we do the same thing?" Of course I'm sure like a million other programmers had that same idea, and it's am incredibly difficult one. Sandstorm seems to have a C++ base with Javascript frameworks on top of it. I'll totally put it on my list of things to try out. The future is distributed.
- erichocean 10y ago> Why isn't there a building-block type server OS we do the same thing? Because everything is built on Unix as an OS abstraction. Even Windows (since the early 2000s). Consider: byte streams and file systems are less than ideal fundamental abstractions in a distributed world. IMO we won't have what you're seeking until we rethink what an OS should be in an Internet-everywhere world. We're still using OS designs that predate the Internet entirely.
- spacelizard 10y agoIt would be nice to see a future where all applications have some concept of peer-to-peer networking and would be able to talk to each other. My hope is that this leads to blurring the line between having separate architectures for server, desktop and mobile apps, to the point where the only differences are reflected in the physical limitations of the device. It's interesting to see how modern public cloud businesses seem to have borrowed a lot of their business models from old timesharing systems of the 70s. From there it's easy to analogize timesharing systems being killed off by personal computers to cloud computing being killed off by personal cloud.
- hannesm 10y agoHave you seen unikernel approaches like MirageOS (https://mirage.io https://mirage.io), which challenge the POSIX basics of operating systems? If not, take a look :)
- braderhart 10y agoI can help create a very lightweight container image for this if you want?
- newsat13 10y agoSince you give the example of GitHub... Sandstorm itself doesn't use their own Gitlab app to host and collaborate. How can they convince others? Doesn't make me confident of their platform. Centralized platforms like GitHub exist for a purpose.
- kentonv 10y agoWhen the Sandstorm project started, we obviously couldn't host it on Sandstorm. But, we are gradually moving towards more dogfooding. For example: - We use Etherpad on Sandstorm for all documents we write, e.g. design docs or project plans. - We use Wekan on Sandstorm for project / task planning. - We use Rocket.Chat on Sandstorm for internal team chat. - We commonly share and publish files using Davros. - We host docs.sandstorm.io -- and the analytics for docs.sandstorm.io -- directly from Sandstorm. - We host the Sandstorm app index (back-end for apps.sandstorm.io and for the automatic app update pipeline) as a Sandstorm app. - We host the purchase flow for Sandstorm for Work as a Sandstorm app. - We sometimes use private Gitlab or Gitweb grains on Sandstorm for non-public code, or for working on security fixes before they are ready to be disclosed. That said, we still need to: - Switch the main Sandstorm source repo to Gitlab or similar. This will obviously be a disruptive change, so we haven't tackled it yet. - Host our e-mail on Sandstorm. Sandstorm's e-mail support admittedly needs a lot of work -- it's a much more complicated problem than most of the other things one does on Sandstorm, and we haven't put much effort into it yet. We'll get there eventually. - Host our CI server on Sandstorm. This requires packaging Jenkins as a Sandstorm app, and also has a bunch of other complications relating to the fact that some of our tests need to run in VMs or use privileged syscalls, so it might take a while. - Host our main web site on Sandstorm. Currently it's hosted as a plain-old static file server that we maintain. We could switch but there wouldn't be a ton of benefit in doing so, other than to say that we did. We'll get to all these eventually.
- sytse 10y agoIf we can help to your use GitLab CI to test your app we would be happy to. Since GitLab already runs on Sandstorm I think we can do it relatively easily compared to Jenkins. Of course the privileged syscalls still are an issue. But maybe we can host the GitLab Runner on a non-Sandstorm box to work around that.
- amelius 10y agoBut the browser itself is an application delivery platform, and it includes a sandbox. So I'm curious why one would need something like Sandstorm on top of that to run apps?
- kentonv 10y agoMany (most?) apps need server-side logic. Apps that have multiple permissions levels need to enforce those permissions somewhere. Apps that support real-time collaboration need to maintain the authoritative copy and coordinate the OT stream. Etc.
- jessaustin 10y agoOnline services are never going to be truly free-of-charge. (If you're not paying for the product...) In many cases the business plan is the reason that server interaction is necessary. However, there exists F/OSS that is truly free-of-charge for the typical user, so it seems feasible that many browser apps could be like that too, which would often obviate the server. For the example you cite, every client needs to agree eventually, so they could all keep their own copy.
- nine_k 10y agoYour talking by phone is "free of charge", you pay for air time, and buy a phone. Equally, running a personal cloud can be free of charge, provided that you pay for connectivity and processing power.
- jessaustin 10y agoPerhaps I was unclear. By "online services" I meant third parties that provide processing power and half of the connectivity. That is, they run servers. With a peer model, each collaborator pays for a fraction of connectivity and processing, but we wouldn't say any one of them is a service provider.
- kentonv 10y ago