Mobile App Market

27 views
Skip to first unread message

Matias Saguir

unread,
Nov 19, 2023, 3:07:14 PM11/19/23
to Sandstorm Development
Hi, I've just joined the e-mail group. 

First of all, I've recently found Sandstorm, and I really love the whole idea behind this project and I want to collaborate with it.

I'm thinking about developing the app market, but I think it will be awesome to have it as a mobile app, what do you think about this idea? 


 

Dan Krol

unread,
Nov 19, 2023, 8:48:51 PM11/19/23
to Matias Saguir, Sandstorm Development
Glad to have you Matias! New collaborators are very welcome.

The idea of a mobile or desktop app has crossed my mind a few times. Something that manages your Sandstorm account as a whole. Particularly grains. Mostly for backups, but maybe shares, deletions, we could think of more.

Managing apps, as your idea implies, is an interesting addition that I may not have considered. But I'm not sure if I understand the use case for an app market alone as a phone app. Could you clarify what you had in mind?

I'm imagining that I'm using sandstorm on my phone's browser. I decide to install a new sandstorm app. I click the [+], and instead of taking me to the sandstorm market website, it pops up the sandstorm market mobile app. I select a sandstorm app to install, and it takes me back to my phone's browser to proceed with the installation. Is that how you imagined it?

--
You received this message because you are subscribed to the Google Groups "Sandstorm Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sandstorm-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sandstorm-dev/8b0bd5f1-b635-45d9-a778-f6b2690f8359n%40googlegroups.com.

Mati

unread,
Nov 20, 2023, 12:23:30 PM11/20/23
to Sandstorm Development
Hi!! We can start with the mobile app for managing the sandstorm Account and then we can include the app market later. 

In my mind the mobile app should 100% replace the web market. I was thinking of having the same experience as a mobile market, you find the app you press to install, and after confirmation, the user can see the installation progress, then see the app already installed or maybe it”s status. The user always stays inside the app and never uses the browser. It’s similar to some router apps that let you fully configure your router through the app. 

Jake W

unread,
Nov 20, 2023, 12:27:29 PM11/20/23
to Sandstorm Development
I think that's an inevitable goal if we want to someday be able to distribute a "Sandstorm box" which people can set up by just plugging in, scanning a QR code, and starting setup. Though Sandstorm itself definitely doesn't have the features one would need to enable that at this point.

The app market is in dire need of a refresh, it is currently a static-hosted version of an old Meteor app. A much simpler app market would likely not be hard to build either, as it is mostly just parsing the data from https://app-index.sandstorm.io/

Dan Krol

unread,
Nov 20, 2023, 12:53:49 PM11/20/23
to Jake W, Sandstorm Development
I think sandstorm market in a mobile app makes sense if I'm already using the mobile app for other things. However Sandstorm is made for web apps, so some time will be spent in the browser. If I'm on a desktop browser, I would personally consider it less convenient to have to take out my phone to install a sandstorm app, as opposed to using the current web flow. Also, some users might not even have a smart phone. So, I don't think it's a good idea for it to be the only way to install sandstorm apps. (But please correct me if I misunderstood you.)

Jacob Weisz

unread,
Nov 20, 2023, 1:04:48 PM11/20/23
to Dan Krol, Jake Weisz, sandst...@googlegroups.com
I am inclined to think a modern app market would still have to be web-based, but probably easier to embed directly into other things and mobile friendly. A standalone web-based view has to exist so people can explore what they could do in Sandstorm. Though I also wonder if the market experience should be embedded more directly into your Sandstorm interface when you are installing apps rather than jumping you out to another site.

--
  Jacob Weisz

Mati

unread,
Nov 20, 2023, 1:26:28 PM11/20/23
to Jacob Weisz, Dan Krol, Jake Weisz, sandst...@googlegroups.com
I'm really new here, so I'm not so sure about sandstorm goals.

I thought that with sandstorm we would be able to install, for example, the selfhosted dropbox replacement (I don't recall it's name now) or for example bitwarden, so this web apps could also work as API to other services that aren't web. Maybe I am mistaken. I think this approach is very interesting because many people doesn't use very much the web, just apps in their phones and occasionally a browser. I used to imagine people buying a server without the need to have a monitor a keyboard and a mouse, only starting the server, and configuring through a smartphone app what they need and start using it. But, I also understand that the opposite user also exists, no phone just web. 

So maybe everything should be available through both web and mobile, and maybe web comes first. I can work on the web side too.

Jacob Weisz

unread,
Nov 20, 2023, 1:31:49 PM11/20/23
to Mati, Dan Krol, sandst...@googlegroups.com
Supporting users who never have a desktop PC is certainly something I think would be nice. Sandstorm was originally launched in 2014, and mobile-only households were a lot rarer then than they are today. There are a few apps which have pretty good support for apps via APIs like Tiny Tiny RSS, but there isn't a lot of them yet. Currently a new user has to install Sandstorm on a machine somewhere, including going through the command line installer, the setup wizard, etc. but we've talked a lot about wanting someday for people to be able to buy a box with Sandstorm pre-loaded on it, so a user would just need to scan a code on their phone to launch the setup wizard.

--
  Jacob Weisz

Kevin Reid

unread,
Nov 20, 2023, 1:58:17 PM11/20/23
to sandst...@googlegroups.com
I think that the largest benefit that a dedicated Sandstorm mobile app could provide is some means of using Sandstorm “offline” — with intermittent network connectivity. Right now, Sandstorm apps cannot do this at all — even less than normal web apps which can use service workers.

Here are some things that could be implemented based on such an app:
  • Keeping a local copy of the Sandstorm grains' static published content, so you can use Sandstorm online to write or archive material (wikis, manuals, ebooks) that are then automatically sent to your phone and become readable offline.
  • Actually running a Sandstorm server on the phone, and synchronizing grain data when connectivity is available. (The app would provide a web-view that displays the Sandstorm UI and can talk to the private server.) This would be costly because many Sandstorm apps are fairly heavyweight on the server, and it would risk edit conflicts with the networked server, but might be better than nothing for certain single-user applications.
  • Also useful online: An app that provides grain management plus a way to grant grain capabilities to other apps installed on the device so that the user can use native mobile apps to edit grain data, without each app needing to build its own Sandstorm-specific setup UI, or the user needing to copy API keys manually. However, this is only useful insofar as there come to exist mobile apps that are developed to cooperate with it (or already have intents/urls to be told to talk to an arbitrary server).

Mati

unread,
Nov 20, 2023, 3:29:49 PM11/20/23
to sandst...@googlegroups.com
Does sandstorm has a public API to communicate with it? Because if there exists an API the implementation of web or mobile can change at any time or can be part of the roadmap.
--
You received this message because you are subscribed to the Google Groups "Sandstorm Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sandstorm-de...@googlegroups.com.

Dan Krol

unread,
Nov 20, 2023, 10:18:50 PM11/20/23
to Mati, sandst...@googlegroups.com
It occurred to me that there's one thing we may want to clarify for you Matias: There's a difference between the idea of an API to talk to Sandstorm (the platform) per se, vs an API to talk to specific Sandstorm *apps*. Jacob mentioned that some apps have APIs, such as Tiny Tiny RSS. However to answer your question, Sandstorm the platform afaik does *not* have an API. So that's a big part missing from your vision that doesn't exist and probably won't for a good while. (Jacob correct me if I'm wrong there, though). Indeed, Sandstorm was built for the web first.

But let's consider your example. It now makes a little more sense to me (vis a vis the router setup comparison):

* install Sandstorm on your server
* install "Sandstorm Mobile" on your phone
* Sandstorm Mobile: Log into your Sandstorm server
* Sandstorm Mobile: Install Dropbox Replacement onto your Sandstorm server
* Sandstorm Mobile: Configure Dropbox Replacement to start syncing files with your phone

Again, first major blocker is that there's no API for Sandstorm the platform. But the second issue that I'd put forth is, Sandstorm doesn't have a set of "official Sandstorm apps" as such, it's more open-ended in spirit. (In theory anybody could even make their own market). So, there might be multiple Dropbox Replacement apps some day. Thus, I don't think it would make sense to have one "Sandstorm Mobile" with special handling for all of of them, since each app's APIs would be different. Instead, the Dropbox Replacement developers can create their own Dropbox Replacement Mobile app, like Tiny Tiny RSS did.

So here's how I could see your idea working: Sandstorm Mobile could be a launcher of sorts. You use it to install your Dropbox Replacement app on the server. You use it to create a new instance ("grain") of Dropbox Replacement. Then, you tap to open the grain (still within Sandstorm Mobile), which *launches a different app*: the Dropbox Replacement Mobile app, and it connects to that grain. From there you can configure your shared folders etc. (Then you go back to Sandstorm Mobile, create a Tiny Tiny RSS grain, open it, and it launches the Tiny Tiny RSS mobile app, etc)

This is all *plausible* and I would say within the vision of Sandstorm, and I agree it's an appealing vision. But again, the prospects of that are quite a ways away. The current Sandstorm platform is something of a legacy thing. The "next generation" platform known as Tempest would be where such new features would be implemented. Tempest is in early stages still. Again, Sandstorm was built for the web first, so as it stands that's what it "naturally" is.

Dan Krol

unread,
Nov 20, 2023, 10:26:36 PM11/20/23
to Mati, sandst...@googlegroups.com
Ah, and Kevin, reading your email more closely, it seems like your third bulletpoint is close or the same as I was thinking. I didn't want to get into it, but yes the handling of the API key would be part of it.

As for syncing grains between two sandstorm servers, generically, while the grains are doing other things? That sounds really tough.

Syncing static content? If it's app specific, that's of course easy enough. Doing it generically, I suppose you could specify a "to sync" directory in your package definition. Not sure how in demand this would be but it seems plausible.

Kevin Reid

unread,
Nov 21, 2023, 12:41:27 AM11/21/23
to Dan Krol, sandst...@googlegroups.com
On Mon, Nov 20, 2023 at 7:26 PM Dan Krol <orbl...@gmail.com> wrote:
As for syncing grains between two sandstorm servers, generically, while the grains are doing other things? That sounds really tough.

As I said, “might be better than nothing for certain single-user applications” — I should have clarified that I imagined it would refuse to merge changes in a situation where both sides had changed the data, and only write changes when the grain is not running, to ensure no corruption. It'd be equivalent to repeated use of the backup tool. Something for offline enthusiasts, not everyone and every app.

Syncing static content? If it's app specific, that's of course easy enough. Doing it generically, I suppose you could specify a "to sync" directory in your package definition. Not sure how in demand this would be but it seems plausible.

I mean taking content that's using the existing static publishing feature and copying it for offline viewing.

Mati

unread,
Nov 21, 2023, 9:54:13 AM11/21/23
to sandst...@googlegroups.com
If I've understood correctly, in any type of mobile application that can be developed we need the idea of an API to talk to Sandstorm (the platform), and that API doesn't exist, and its development isn't in the near roadmap. So, I think that it's not the right time to start working on a mobile app, and also, it's not the right time to start working on an API. 

So I will move to the web app market. I will try to work on this but I have some doubts about what is the sandstorm vision for the app market. Do you prefer that I create a new thread and leave this one for mobile app talk?
--
You received this message because you are subscribed to the Google Groups "Sandstorm Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sandstorm-de...@googlegroups.com.

Jacob Weisz

unread,
Nov 21, 2023, 2:50:31 PM11/21/23
to sandst...@googlegroups.com
We aren't super picky about how the mailing list is formatted.

I will note that one of the key aspects of Tempest's design was for everything to be an API and then the UI to implement the API, so when Tempest development moves forward more, I am hopeful there will be a lot more to build off of for things like mobile app integration.

--
  Jacob Weisz

Mati

unread,
Nov 22, 2023, 4:51:23 AM11/22/23
to Jacob Weisz, sandst...@googlegroups.com
I would like to help with the market but does it makes sense to do it in sandstorm instead of tempest? It seems that the best way to go is to help developing tempest core. 

Let’s start over, how can I contribute with the project?

Troy Farrell

unread,
Nov 22, 2023, 12:26:44 PM11/22/23
to Sandstorm Development
On Wednesday, November 22, 2023 at 3:51:23 AM UTC-6 Matias wrote:
I would like to help with the market but does it makes sense to do it in sandstorm instead of tempest? It seems that the best way to go is to help developing tempest core. 

Let’s start over, how can I contribute with the project?

Now you've asked an even more interesting question.  How does one contribute to the project?

As someone who needs Sandstorm (or Tempest) to succeed, I'm working to make that happen.  Right now, I'm doing that by building a more sustainable version of Sandcats.  Sandcats is a tiny part of Sandstorm, and spending time to understand it has helped me to begin to understand other parts of Sandstorm without being overwhelmed.  I think that building a low-maintenance version of the market would be a great way to move forward.  (I haven't explored that corner of Sandstorm yet, so I can't comment on the technical side.)

Sandstorm (the project) is large and has many moving parts.  Any effort that improves the user experience (whether end-user or administrator) would be welcome as you work to understand the whole of the project.

Thanks!
Troy

Mati

unread,
Nov 22, 2023, 2:03:41 PM11/22/23
to Sandstorm Development
Ok, I get the idea. So I will work in the app market, I think that's good advice. I have some questions about the app market. 

1. Is it better to do it with tempest or with sandstorm?
2. Do you think it has to be a sandstorm app or should it be part of the core project?
3. What technologies do you think are low-maintenance? 

I haven't done an introduction, but I've been working as a web developer for many years mostly in Python/react
--
You received this message because you are subscribed to the Google Groups "Sandstorm Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sandstorm-de...@googlegroups.com.

Jacob Weisz

unread,
Nov 22, 2023, 7:35:50 PM11/22/23
to sandst...@googlegroups.com
So the app market is just a website that stands separate from Sandstorm currently. It does ingest data from the App Index, which is a Sandstorm app with a public API. If you are building a new market, you will end up interpreting this API. If it publishes as a static website, we'd potentially be able to host it from a Sandstorm server (and it would cache well), though there is definitely some additional configureability I wish we had for the app market which we don't have now.

Sandstorm and Tempest are intended to pretty much be entirely app-compatible, so an app market that works for Sandstorm should work for Tempest and vice versa.

There's a few of us who are generally pretty familiar with Python-based projects, and both Python and React are popular enough it should be easy for people to work with. The current market is based on Meteor and Blaze, which is not super popular today, which tends to mean it is not a comfortable environment to develop in for a lot of people.

--
  Jacob Weisz

Mati

unread,
Nov 27, 2023, 7:48:37 AM11/27/23
to Jacob Weisz, sandst...@googlegroups.com
Ok, I will start by installing the project and trying to make a very basic app in django that it's compatible with sandstorm. Thanks.

Spencer Fleming

unread,
Dec 2, 2023, 12:07:40 AM12/2/23
to Sandstorm Development
I've been thinking about the same thing, to replace apps on my phone that are non-collaborative, but backup over the internet and allow sharing. Specifically, Google Photos and Google Keep.

It seems like it might be possible to add Progressive Web App features to a Sandstorm app allowing it to be dowloaded offline for offline use. Sandstorm might even be able to automatically wrap the app in a way that could display all the grains associated with that in a file browser that the grain itself can't access, with search, and add new, etc.

This would ofc require the app to be written to work offline, so it wouldn't be able to just plug into any app. It also wouldn't be running any of the sandstorm backend in the app, so it would be limited to things that can be done in a web browser / PWA. Google Docs is able to do this (in Chrome at least, they stiffed my beloved Firefox).

Not sure yet if this is possible or fits with the model, but going to keep pondering it.
Reply all
Reply to author
Forward
0 new messages