Development of an Android App

A short question: Is it possible to use Solid based on an Android app or to develop an android app that uses Solid?

Thanks for your help! :slight_smile:

Short answer: yes :smile:
Somewhat longer answer: you save and retrieve information from a Solid POD via HTTP requests, so if you can do HTTP requests from your (Android) app, then you can interact with a POD.

And you can always wrap a website in something that makes it a native app.

Thankā€™s a lot! :slight_smile:

In general I would hope that progressive web apps are a better way to build apps for Solid, but I understand that might not be a viable option for all :slight_smile:

5 Likes

Ideally a browser :wink:

Native apps are problem already, and getting worse in respect of privacy abuse and device security. Best avoided if at all possible, as a user.

1 Like

Ideally a browser

Yes, I certainly donā€™t disagree on that one :slight_smile:

And btw. I have an experimental Solid web-app running without any trouble on my Android phone - as a website and with a ā€œdesktopā€ shortcut like any other phone app (it is just a browser bookmark).

3 Likes

Hey Jorn,

And btw. I have an experimental Solid web-app running without any trouble on my Android phone - as a website and with a ā€œdesktopā€ shortcut like any other phone app (it is just a browser bookmark).

I am a big fan of creating apps in that particular way.

May I ask what you are using to get access to the local filesystem?

Ty ty!

Sure ā€¦ I am not accessing the local file system at all :smiley: Why should I?

1 Like

Sure ā€¦ I am not accessing the local file system at all :smiley: Why should I?

Ah true. I donā€™t know lol. Iā€™m working on a music app though and that part of it is pretty crucial. Been searching around for a good solution for that exact problem that would be easily digestible.

@perplexicon Do you need files locally on the phone, or any storage?

I think a POD on the phone will be fantastic, but I havenā€™t been to get it going yet and itā€™s hard to debug in the setup I am trying.

1 Like

Interesting idea! Can you get a static IP-number or hostname for a phone?

1 Like

@vaza

I would just need access to their storage (or partial storage) in order to get the locations of any audio files that they would want added to the music platform.

I was actually curious about that as wellā€“although Iā€™ve been doing more of the work on the program and less fiddling on the side of the Solid Server.

Unfortunately, and I would love to help you with that side of things, but I am not all that well versed in it at the moment. Having said that, if you needed a program to test certain features of what youā€™re working on, I might be able to be of more helpā€“in a couple weeks or so more than likely.

Out of curiosityā€¦what setup are you trying atm?

1 Like

@JornWildt

yes, localhost :slight_smile: . Localhost works for node.js server, but the solid server fails silently so far.

You can get a static address from the local router (DHCP server to be precise) for the local network in the same as a local server. But a phone by definition changes networks quite often so my intended purpose was not have the solid server accessible from outside the phone. That is, localhost is perfect for local, private access. I know Solid is meant to be shared.

I asked here if anybody has done this, but got no replies.

Again the purpose is to have a store private for the user, which can then be moved, copied or maybe cached to another POD on the internet, and then be shared with others. You still get sharing just for the same user on the device.

If all you need is to add files from the phone, then you can just use a simple classic file upload HTML input. That would allow you to select a file from your phone - and send it to the POD.

You can do a lot regarding files with the File and Image HTML/Javascript APIs. Just Google.

2 Likes

And, yes, I know I wrote this:

But I thought you were talking about two-way direct interaction with the file system. My ā€œSolid-RCā€ app does allow users to upload images.

1 Like

@perplexicon

Thank you for the interest. I am trying this

https://code.janeasystems.com/nodejs-mobile/getting-started-android

They have apparently managed to port on IOS as well.

Then just install solid-server nom within the tree for the app.

My first problems were working directories and access privileges, but after using absolute paths, it seems fine. Next was generating certificates with openssl, which is obviously not there, so I disabled that and copied already generated certificates on install - this will need a mechanism in future, but I just want a proof of concept to start.

@JornWildt

Hey Jorn,

Thatā€™s what I have been doing in the meanwhile but it hasnā€™t been satistfactory. While it does sound really good to do it that way, the issues that I ran into with it are still not quite up to my liking with regard to a more holistic and universal solution across platforms.

I do plan on sifting through it more but am not entirely sure of what all Iā€™ll find.

Thanks though!

Hi @perplexicon . Iā€™m working on a Polymer3 web app Spoggy4 graph easy making and Reading

If you want the user send MP3 from his device to your Platform, this one has the ā€˜importā€™ functionnalities that uses a filebrowser to import files from localstorage into the app, so perharps no need to port solid-server to Android until you decide that the user must keep his crucial data ā€˜in the pocketā€™ as his crĆ©dit card, but itā€™s another question :wink:.

You can already see what it looks like on Spoggy ( if nothing, wait 15sec & refresh)

1 Like

@Smag0

Hey hey!

That does sound quite cool. I wound up messing around with Cordova for the time being and am actually looking forward to more work with it.

The main thing for me was to really retain the local aspect of the platform so that it can run basically in the exact same way whether or not you have internet access.

The Solid server on the phone sounds pretty interesting but Iā€™m not entirely sure I need it anytime in the near future.

Good luck on your graph app! And thanks for the suggestion!

Take it easy!