This may have been asked and answered already but I am a bit confused about the launcher vs apps.
Will the launcher always be required along with any apps?
For example, once SAFE is up and running on all platforms, I make an app that lets you store data on SAFE, say its for a smartphone. I am a smartphone user who has no idea about SAFE and just wants a cool app.
Will I be able to download the app, set up a SAFE account (if needed) like any other app would have you create an account (say FB for example) and be off to the races, or will I also be prompted to download the launcher and also be required to have the launcher running on my phone as well as the app every time I want to use the app?
My understanding is that if you wanted you facebook app and had never used safe before, it would prompt you to download it the launcher, set up your account through that and it will run forever (much like gmail starts up and automatically checks your email, or the launcher to show you your icons). Once the launcher is up and running, you’ll forget its there. When you open any safe app, it will automatically log you in without you having to do anything.
As I’m writing this I’m thinking there should be an option to make you have to log in if your phone is restarted, timed out, locked, or never ask to log in again all based on user preference. Those less “I need my uber security” conscious might want to never think about it again, whereas those who value extreme privacy might want to log in every time their phone is unlocked.
Ha, I read the title and thought you were talking of something else
The launcher contains the code for the protocol. It knows how to accept requests for data and to send the requests to the SAFE network.
APPs do not natively talk on the SAFE network, or any other either. But like most programs running on your computer they (via library code often) make api calls to the underlying operating system or other program to have some task performed. EG C code writes to the disk via library code that is linked in at compile time and that code does api calls to linux (or windoze etc) to do the writes.
So SAFE APPs will do api calls to the launcher to access the SAFE network.
To answer your question, like @wes says, the launcher will be program that is loaded once and remains in the background accepting api calls and accessing the SAFE network to perform the task requested.
Just to say it what I thought you were meaning was more to do with how the launcher will look in the future and if maybe it will be a library that is linked into APPs, but this then requires the APP to be re-compiled with each launcher code update. With them being separate then ONLY if the api changes then maybe the APP needs recompiling if the changes to the api affect it.
Another thing that has been tossed around a (very) little is the idea that all SAFE APPs will run in a thin virtual machine which most likely be the launcher. That way more protections for the user’s machine could be implemented.
I think if the launcher can be initiated without the user having to do anything (such as a thin client as mentioned) I think that would be a great benefit.
As of now they should always be separate for security and network health reasons. The launcher protects the user by not having to share SAFE network credentials with individual apps and protects the network by only allowing certain actions to be taken against the network via APIs.
Think new paradigm and new network protocol in the long run. Your current tcp/ip stack or network layers dont come bundled with the applications on top of them. Maidsafe idea is named data networking. Its very different from how networking is done today. The ideas are fundamentally different.