Building the Minimum Viable Experience

Thanks Jim, that makes sense.

Just hadn’t spotted anything anywhere about a unique key, so wanted to check that was how it would work.

1 Like

Very cool to have, thanks Jim.

P.S. be ready for @Sascha :sweat_smile: I spotted some typos!


Figma’s lack of a spellcheck exposes my hamfistedness!


Yeah, this is some of the functionality we get via Labels combined with BLS.


This is something we briefly discussed over the past few weeks with some ideas to solve it in the medium/long term. E.g.:

  • Perhaps apps can be published on SAFE and users can bookmark them with immutable URLs (safe:// URLs which have a specific version and on the perpetual web). These bookmarks can then be used as the launching location for the app. The browser/CLI/SNAPP could pull the app’s binary/binaries from one of your bookmarks (which assures you are pulling the exact same version of the app you trusted before), and then run it.
  • Simply use the OS keychain perhaps (
  • Some more complex ideas were being thrown, ideally to make it a bit more secure, perhaps there could be a SAFE filesystem (i.e. create a driver for the OS, analogous to an ext4 driver) which can perform hash verification before allowing the OS to launch an application, so you could have some SAFE partitions in your hard drive that you know the apps binaries can be verified when the OS requires access to them for launching the apps, so it sounds kinda similar to the way some mobile phones are putting some secure crypto key storage…note these are all just ideas without much deep research on them.

i like this greenish taint that it has to it :wink:


Thank you, @Savage, for alerting me. This looks like a very good and much needed document. I never used Figma before, so I wonder how to best go about proofreading the documents in a systematic way. Maybe they could be exported into something that has a spellchecker?

I only took a quick look, but here are some errors:

auto generated -> auto-generated
rphbust -> robust
ghenerated -> generated
credientals -> credentials
strong, -> strong


TBH, I’m not sure I’d spend much time on it. It’s not a marketing’s document per se, and is really only to keep the team aligned, and community up to speed. So long as the message is understood, I’m all good with a typo here and there.

The reason it’s in Figma is because it’s always readily at hand, and beside all the design > dev handover documents and prototypes.


Well, I think even forum posts are part of marketing in a sense. At some point typos actually start making reading difficult, e.g. “rphbust” above. And I believe general impressions are important. One of the reasons I like this forum and became interested in the project is that people tend to write like adults, i.e. serious researchers, not just kids swiping away streams of consciousness on their phones.


You should be a able to leave comments directly in the Figma file to point out and egregious errors. That’d be the handy way to do it.

But what I mean is, don’t worry about cracking open a spreadsheet for it, or anything more than you’d do for a Github issue etc.

I hope they put a spell check or something in Figma in the future. As some one with dyslexia I tend to lean on them pretty heavily!


One thing I am really not getting a feel for here is how this will be a MvE specifically. I mean lets look at a basic function. Start a vault. Ok so we can start vaults. I would hope even in MvP we can do that :stuck_out_tongue: Do I have to go into some command line interface to do it or will it be a nice clicky walkthrough like installing a new video game?

Just because something is part of the MVE does not mean it would not also be part of the MVP, in my mind anyhow.
I’m pretty sure command line interface is no good for MVE, that would not be a good experience.


As I say in the description at the top of the file (and probs should have done in the post) all of these features will be part of a suit of apps accessible via the Safe Network App, not a CLI.

Have you seen the walkthrough of the Vaults UI? This is the design work that’s already been completed against the MVE, so it should give you a flavour:


oh sweet no I had not seen this yet! Ya I think that deserves its own comment in the main section. @bones has a point if its in MvP its necessarily also part of the set of MvE features :slight_smile: I was just looking though it and trying to pick out what were the new things being added now that MvE was the goal for Fleming and I could not spot much that would not have just been in the MvP anyways. Well if that’s how it is those people being like omg another delay in Fleming release should rest easy that its not another huge project to make it to MvE quality.


To quote myself from the dev update the other day:


ya that’s what I kinda thought. MvP is like the under the hood part that makes anything actually work at all and MvE are the UX features built on top. In that list most seem to only go as far as the functionality (MvP) and not really dig in to what we can expect in the UX.

I do understand a big element of UX is the synergy of how it all fits together so like maybe I should just assume in brackets after every feature it says (and this will fit into an overall interface where non-tech-savy people can use the function easily.)


Nice video, loving the designs. When I see this my hands are itching to get to farming and all the other things we’re going to be able to do on the network. :grinning:


This is awesome, thank you , Jim. One wee point, instead of an app being authorised to read a Safecoin balance, perhaps it could be only authorised to answer Y/N to the Q “Is there enough Safecoin to do X?”

If an app needs to withdraw a small amount (with permission) then it can be authorised to go ahead if balance > cost of current operation. The app (in most cases) would not need to know the actual balance, only that there are sufficient funds to do whatever is required.
Or m I making it too complicated for now? Or not reading it all carefully enough?


An app does not need to be authorised to read your balance to spend Safecoin, or transfer it. If there are insufficient funds for either the it just gets knocked back.

There is that separate authorisation in case you wanted to use say, a wallet/finance app that displayed your balance or what not. Most apps won’t need it.


Thats what I love about this project, almost instantaneous answers to questions - even daft ones that I should have thought harder about. Thanks Jim :slight_smile: