Updated Update
This is an updated proposal to fund development of an initial SAFE Network browser.
Updates include:
- Reimplementation of the original goal to produce a
safe:
protocol browser. - Addition of continuous integration and app packaging to basic development goals.
- Removal of anonymous launcher integration stretch goal. The launcher will remain separate (for not, can be debated or added later if desired).
- Addition of browser data stretch goal to integrate browser data sync to the network, instead of any data storage on a local device (ie: history/favourites/a ācookieā system etc).
You can donate to the dev fund here:
Summary:
The browser will (initially) be a fork of Beaker, a simple browser that should allow for rapid prototyping and development.
Initial development will aim to get a usable, secure, safe-only browser in the communityās hands, further goals will look to incorporate SAFE browser functionality for userās data (eg. history/favourites).__
I have a Proof of Concept using Beaker working without the need for the proxy using a āsafe://ā protocol.
This build currently requires some build and technical know-how to run, which is described in the README.
The Beaker POC will be updated to use beakerās plugin functionality for the safe:
protocol and app builds, asap___
Description:
The browser will advance via a concept browser implementation in Beaker.( as itās easier to work with a smaller codebase, iterations will be faster.)
The main aims of this development will be:
- Rapidly create a useable SAFE only browser. Utilising a
safe:
to denote access to the SAFE network. - Create portable javascript code that should facilitate implementations in other browsers (via browser window js injection).
Should more features be required Iād look at implementing them after all basic requirements of a SAFE browser have been met. (Two stretch goals are noted).
Known Limitations:
Beaker is a minimal browser, and so might not have all the functionality of larger browsers (itās very minimal not as easily to āextendā as Chrome, for example). But for an initial browser, it should be much faster to work with.
Initial Development goals.
- DONE: POC beaker browser, access the SAFE Network without needing the proxy.
- Allow only SAFE network access in the browser.
- Inject API endpoints into the browser window for webapps. This will allow launcher access as part of a standard
SAFE Browser
experience. (Likely via an updated version of safe-js). - Continuous integration setup to allow for testing and app packaging.
Budget:
Initial development goals can be achieved for 65,000 MaidSafeCoins. Progress will be reported at every goal (if not more frequently), ready for user testing and feedback.
I envisage a locked down SAFE-only beaker, sans proxy, ASAP (~ two weeks from start of development). Implementing APIs will require more testing to ensure itās robust, and will follow thereafter (~ 2-4 weeks).
Stretch Goals:
- 25,000 MaidSafeCoins: Implement clearnet āindicator / switchā. Enable clearnet access when desired via browser UI, to optionally re-enable clearnet browsing.
- 35,000 MaidSafeCoins: SAFE browser sync Add history / favourites / cache / settings to the network and prevent local browser caching via saving browser data directly to the SAFE network, and preventing saving in the local browser.
Team:
@joshuef: Professional front-end web developer with 5+ years of experience. I work with a variety of web technologies, including nodejs and reactjs on a daily basis. Iāve been working with SAFE more and more over the last months. safe-js being my first public project (that extracted launcher APIs into a javascript promise library for webapp development). And Iām working on some simple distributed search implementations as well.
Iāve been a forum member for a couple of years (or so) and Iām pretty stoked to be able to finally use my skillset for something useful and SAFE!
Iām planning to work on this 20 hours/week (1/2 time) time as needed to get through all funded development goals.
POC:
A Beaker POC, running without the need of the proxy is available here. Please note: this is not currently a fully secure experience. Normal HTTP requests are still enabled.
Complete app packages of the POC for windows/osx/ubuntu will follow asap once app purveying has been set up.