MaidSafe Dev Update :safe: 11th August 2015

Yeah, I know we’re not going full blown. I’m trying to get a handle on the user experience, in relation to the network. I got some data that they’re using digital ocean servers for the time being. That sort of keeps it “in house” but lets everybody play on a network that is starting to approximate the end product, but not yet there. I think that’s it anyway.


That is the short term goal, start putting this in peoples hands. Initially apps may be static binaries, but installers for vaults etc. This part will move quickly though.



I think it would help to explain what you mean by the uploader and relate it to the screengrabs because although I can guess what is going on here it isn’t clear, and I think people will be at a loss to understand how you go from uploading files to seeing those screengrabs.

Crazy work guys! Im very exited for build my own website or project on Safe Network!


Ah yes, the uploader is a desktop app to select a service (from the DNS system, such as website) and a public name. Then you will be able to upload to this location, in this case a website. So a sample of an app to create static sites for now. Just a demo really of a decentralised web / html network.

As the API’s stabalise further then we will put out a lot of these examples. There will also be an examples zip/tarball to allow everyone to just run our examples without needing rust etc.

@Krishna_Kumar will walk you through that for sure.


@fergish technically non devs have been globally connecting nodes for about a month :wink:

Continuing the discussion from Running a publicly available crust node within a private LAN:

A huge thank you! to everyone who is obviously putting a lot of “blood, sweat, and tears” into building the world’s future network. You are an inspiration for all and stories will continue to be told about your special team for a very long time.

At least in my community the word is spreading fast and there is much anticipation.


Very exciting. I keep sharpening my rust skills, hoping to catch up down the road… but now python bindings!! And I ask myself why oh why must I be out of town this weekend when it sounds like this release will arrive. Thanks for keeping the rapid progress up!

1 Like

@happybeing The desktop application is like a File transfer application to the Safe Network.

The usage of desktop app would be,

  1. Select the service name and public name (, www is the service and is the public name
  2. Drag and drop the files to be served for the service(www) under the public name(
  3. The desktop application would create the public folder and the dns mapping record in the Safe Network.

Then we expect the Firefox Add-on for the Safe network to be installed on the Firefox browser (Will detail the installation instructions once we are about to wrap it up). Once the Add-on is installed, just hitting on the address bar of the browser would serve the page from the Safe Network.

We are also planning to provide a template section along with the drag and drop feature, i.e, drag and drop your own files or use the existing template (to help non technical users).

@Scott has illustrated the the desktop application walk through,

use an existing template feature is missing in the above image. Above is the initial version of design, later we thought of adding use an existing template feature for making it easier to try for users with no html background. So they can edit the template from the app and save/publish to the network.

Hope this gives some clarity :smile:


Not only does this explanation give some clarity; it also brings an unprecedented quantity of excitement :joy:


That sounds pretty bloody rad, @Krishna_Kumar. Do you have file views as well, something like an FTP client?

Is there anything I can pull on git to checkout the FF plugin? I’m keen to see what sort of API is available to us in the browser.

1 Like

Since this is the first application/example out of the Rust boundary, we have lot of challenges to resolve. So we are putting out a simple example, without much App functionality. We can certainly evolve the application with each iteration. We also have few restrictions from the API level as of now, but all those would be resolved in the upcoming weeks. This is just the first step towards porting the APIs.

I am not sure about what API you are meaning in this context(Safe/Firefox). The Safe Add-on does not expose any API, it merely intercepts the safe: scheme and renders the content.

1 Like

Aha, @Krishna_Kumar I was thinking about how to save something to the network, for example PUT a file upload etc?

I guess that’s something that’s out of scope of the FF plugin itself then at this stage?

You are right @joshuef, the uploading part is done from the Desktop Application at this stage.

Can your public name consist of special characters, foreign languages characters, space and tab?
for instance public name : !ɔċ لعَ贼德…www
Have you tried stuff to break the SAFE dns? Like:

Will there also be an visual indicator that I’m visiting a SAFE website? I think you would know if your visiting a SAFE website when you log into the SAFE Network with your SAFE creds. But what if I unknowingly downloaded a malware Firefox Add-on for the SAFE network and I go to without logging in? Not everything is what it seems on the current internet.

Will the Add-on be available through Mozilla or directly from Maidsafe?

If NSA/Attackers can change http: to safe: and serve content on the current internet, would it be detectable, if your not logged into the SAFE Network?


Cool stuff! Although I don’t think I’ll be using www on Safenet. Way to confusing for a lot of people. safe:polpolrene should be fine :wink: Will there be a reset before launch, where all the DNS names are removed again? Or is there a possibility that these names will be alive in the 1.- network?


Yep, it should be UTF-8 compatible

I think these sort of UI improvements can certainly be made in future iterations of the plugin. Worth noting that it’s not just for an actual url entry into the browser directly by the user that the plugin can react to, it can also respond to a url request to fetch data from say an image link in another page on the traditional internet. As long as the browser backend receives a request to fetch data from a url that has the protocol safe:, this plugin should be able to intercept and provide that data.

You dont have to login to the network to view public sites/ retrieve public data from the network.

For now it’s very much just via MaidSafe, but once it’s deemed stable and feature complete it should make it’s way to the Mozilla hosts.


There should be. Prolly worth considering this for now as an elaborate POC.

The main goal in this week with the Plugin/Desktop App is to show App-Devs how they can start building/thinking-about apps for the SAFE network and give them a hint of the different port options we are hoping to be providing in the coming weeks(Do note launcher isnt still added to this process, it should be in the next sprint hopefully ;)). Just thought this was a nice example where we had user interaction from both traditional desktop apps and also via a browser plugin :slight_smile:


Everything is utf8 compliant. So whatever’s within ambit of utf8 correctness, should work

Not sure, but is this just related to parsing of the url you mean? In that case, it’s just the url parser that needs to deal with it.

NSA:slight_smile: Just by the amount of money spent on defense and intelligence, i would assume they are a pretty capable team. Nah but i don’t know the answer to this - i’ll leave it to others probably

1 Like

Thanks @dirvine & @Krishna_Kumar for clarifying what we’re seeing here. It is indeed exciting. Simple static HTML support with such an easy to use interface will be a nice touch for some.

@Viv I’m curious about the comment on lack of API access via the plugin as our early discussions suggested you were not planning, or at least hadn’t decided, to stop at URL interception. Maybe I misremember, but the question is important because so much more will be made possible be extending the API to the HTML client side (ie accessible from Javascript). Are there any fundamental road blocks to this (security for example), and do you think MaidSafe will be interested in going in this direction, or at least supporting devs who want to?

My RFC pull request gives some flavour of the kind of thing I have in mind, and why it would be useful. To progress in this area we need to decide what approach to take and of course who will do the plugin work. I think it would be best to have one standard plugin and client side API, so part of the “official” plugin. (Details here: SAFE browser plugin URL handling / dynamic HTML on client side -> click “Files changed” tab to read).

Like @polpolrene I’m not sure of the value of “www” in the DNS. Can you elaborate on what you mean by services in this context - what services do you anticipate and why are they needed? They are largely redundant on the current web as far as I understand, and just serve to confuse users, search engines and website control panels! :smile:

And I want to jump up and down too :smile: This is great work everyone. It must be good to feel things are getting so close to putting your ideas and apps out there on a network that anyone can install.


Also, within any directory listings, there will need to be a clear indication of the access allowed on files. Will a user be conscious of what they are sharing?.. Perhaps use coloured indicators on file listings [Green:Amber:Red] for [Private::PrivateShared::Public]. I wonder Windows users etc might not be familiar with file permissions and that aspect is critical.

I’m expecting necessarily that whatever a plugin can do, will be available outside of a browser too.

Off topic thought#1:
People widely are not very original and will rarely understand the need for obscure choices of account detail, unless prompted. If there are a large number of people over a long period, choosing their own account name:password:pin, there is a high chance of then clashing with an existing account or of a bot brute forcing those accounts. I’ve seen there is an ID provided, so perhaps that usurps the account name now?.. otherwise something like a generated 12 x random word account name, is easy to understand… and perhaps more user friendly than a string of alphanumeric?.. perhaps allow brainwallet like credentials.

Off topic thought#2:
If most blocks are 1MB, will transfer of those be an indicator of network usage? Would network mostly just work, if an arbitrary 1MB +/-10% was used for any one file… or is 1MB necessarily hard in the code?

1 Like