SAFE Browser RFP

As a part of the Community Engagement Program, we are looking forward to receiving proposals to build a browser for the SAFE Network.

The high-level requirement is relatively simple, the browser should be able to render standard web content and also enable web applications to invoke the APIs exposed by the Launcher. A mechanism to provide SAFE-only URLs as well as html…etc… is expected, whether this is default SAFE or via a “switch”. In SAFE mode we would imagine that “clearnet” requests would be blocked.

Proposals should take this into consideration as a design issue to be considered. While there is no “correct” approach to this requirement, proposals that are both simple and scalable would be looked on favourably.

For example, using a fork of Brave browser, Chromium, Tor or Firefox browser and implementing the changes that deliver the required features would seem like an advisable approach.

Once a proposal is added to the #development:proposals category, everyone is welcome to comment.

The proposal should specify the abstract of the implementation plan and also a time frame for a proof of concept. Importantly the proposal should include a budget requirement in MaidSafeCoin. Please do NOT include a donation address or similar. MaidSafe will provide the address for each applicant and the winner will receive the funds. For the avoidance of doubt this is a winner takes all system. Payment will only be made upon delivery of the project and after community acceptance via live testing on either the testnet or live network.

Please note that any donation to an RFP (Request for Proposals) is a donation to support the RFP, not an individual proposal. The donation address for this RFP will follow.

How to make a proposal

We have intentionally kept this process simple and extensible. Initially any interested party will start a topic under the #development:proposals category and post an OP as per the example (below).

For more information or if you have questions about the process, please go to the Community Engagement Program topic.


Example proposal template

Summary:

Quick implementation using Brave browser with inbuilt proxy

Description:

Brave browser is built using Electron and Electron applications can be integrated to a proxy using the electron-proxy-agent. If we move the proxy from the Launcher and bundle with the Brave browser, we can get a dedicated browser quickly.

Known Limitations:

Other applications can also connect to the proxy if the port is known. Even if other apps connect through the proxy it would be treated only as an unauthorised request. Need to find a method to mitigate this threat.

Budget:

We anticipate this project will require at least 100,000 MaidSafeCoins to complete.

Stretch Goals:

Integrate feature XXXX (20,000 coins)

(description)

Add feature YYYY (30,0000 coins)

(description)

These goals may be achieved by increase in MaidSafeCoin price or via further donations.

Team:

Our team consists of:

Person A

(responsibilities, short bio)

Person B

(responsibilities, short bio)

POC duration and justification:

We will need three days to get a POC setup. We need some buffer for setting up the tools for building it.

18 Likes

I have doubt! :slight_smile: Am I right in thinking you mean that if the competition is between four proposals A, B, C & D, then if A wins (gets more donations to A’s address than B, C or D) then A gets the all the voted coins - ie A’s plus B’s plus C’s plus D’s?

1 Like

Yes, that’s how it would work :slight_smile:

It’s explained in the Community Engagement Program topic:

The successful applicant will be the one whose wallet has collected the most MAID and the total of all wallets that relate to the new RFP will be transferred into the wallet designated for the successful applicant and paid on completion of the work and/or agreed project milestone.

3 Likes

A fork of Brave seems like a good move.

I’ve posted on here before about a chrome extension that i am developing called GiveMeCredit https://github.com/GiveMeCredit/extension

I really think that a feature like this would be perfect for the SAFE browser.

To recap, the extension allows you to earn ‘Silver Credits’ by liking and disliking content. These credits are made active by giving them to someone else, at which point they become ‘Gold Credits’ (a cryptocurrency).

In order to receive Gold Credits you must paste your link somewhere. i.e. http://gmc@[your_unique_id].com. The extension then converts this link into a widget, which people can use to give you credit. The value of each credit corresponds to the current page score (i.e. if your page has 90% positive feedback, then each credit you receive will be worth ©0.90).

The extension also features a profile manager which allows you to see who is lobbying for credit and leave comments on their profile along with a rating.

I really believe this is the way forward for crypto as you must earn trust and contribute value in order for the money to created, and thus provides the perfect economic model. It could also be very useful as a search engine for the SAFE network.

I would really like to see something like this built into the SAFE network. It’s about time we had a currency that is useful. A currency that is accessible to everyone. And let’s face it, there’s no shortage of economic problems at the moment, and they will only get worse as global debt levels accelerate.

I saw some Venezuelan entrepreneurs enquiring about using the NXT platform for creating a new national currency, yet the NXT community were not able to provide a solution. A currency like GiveMeCredit would be perfect for Venezuela. And any lack of technological infrastructure could be worked around using crypto debit cards.

What do you think? Even just the ability to like and dislike content is surely an important feature of a web browser right?

I would seriously be interested in a browser that, with sticky buttons on a toolbar, optionally blocks not just popups but ALL advertisements, animations, and videos that play without asking.

9 Likes

Hey folks. Per @frabrunelle’s request, I wanted to let you know about https://github.com/pfraze/beaker

Beaker’s a lightweight browser built on Electron. It was created for decentralization projects, like SAFE, to build proofs-of-concept. Please feel free to fork it, and use it as a base to your work.

Beaker hasn’t had an official versioned release yet. There are some various usability issues that need solving, still. (Small things like tab reordering and the URL bar handling.) I have my own roadmap of experimental features, centered around Dat and IPFS, which occupy some of my time. I’m happy to work with any forking teams, to keep my experiments out of your fork (please open an issue to discuss).

25 Likes

May Isuggest we have a very modular approach whatever we do. People have different browsing needs and desires. So perhaps each feature could be a different module of some kind, a plugin or addon of some kind. You could have security modules, appearance related modules, UI modules, and so on and so forth. This way people could create a very unique user experience without having to download or create a whole new browser.

1 Like

I think the priority should be delivering something solid, secure, familiar (so easy to use) ASAP.

It would be counter-productive to try and reinvent the web browser at the same time. No reason why someone can’t do that in parallel, but I don’t think tying that to the SAFE Browser would be sensible.

6 Likes

I would like to see the Launcher built into the Browser, perhaps near / under the address bar. All in one. Login & authorize the app itself all through SAFErfox :slight_smile: would lower the bar for adoption, if all people have to do is download and open the browser software to get browsing on SAFE.

6 Likes

That’s a sound idea, a browser that accesses clearnet by default and has a radio button to access SAFEnet. Click the button and up pops a login window.

4 Likes

But keeping what Mark said in mind though, this type of feature might be farther down the road

@bluebird Actually you only log into SAFE to upload and access your account.

You can surf SAFE sites without being logged into your SAFE account, or at least that was the intention previously and I think still is.

2 Likes

You could be right. At present, though, you need to be logged in to some account.

Just to clarify you don’t, a launcher will allow you to browse fine without being logged in. You need to be logged in to put or post data etc. but Get is always free.

11 Likes

I stand corrected, i tried running the launcher just now without logging in and sure enough I could open my sites, using the pac proxy. Learn something every day. :smile:

7 Likes

Still many sites require some kind of login if you are to interact with them in any way. Social networks, comments on blogs, pintrest type sites, all that fun stuff, it all requires one to sign in and upload data. If you just want to surf passively yeah that would be just GETS but much of what people do these days isn’t passive but rather interactive.

I would like to see next generation browser in mixed with file system browser. It could be like thunar + servo.

1 Like

So what’s the status of the proposals?

Is anyone working on a proposal already?

I’m tempted to stick my oar in here, (Brave are using react, webpack etc, which I know my way around), but need to see if I can actually organise some time to do this.

Maybe someone is planning a proposal but would want another pair of hands? If so, feel free to PM and we can chat about if/what I could help with.

8 Likes

I have been assembling a team and in the last stages of putting out our proposal.

12 Likes

@PaulFrazee

The dev on our team is a NodeJS coder and he would like to integrate your beaker browser.

We have reviewed the GitHub, but first @PureF would like to know your (And the community’s) opinion, where to start with integration.

We have some ideas in my mind, like working with proxies for safenet, or creating a FS-like system to work with launcher’s API.

2 Likes