During our 2+ years in Remix, we interviewed many expert users (e.g. many 1-on-1 meetings with Project Teams, MythX, Sooho, Chainsafe Team and others; doing focus interviews with tool users during Conferences (e.g. EDCON, EthCC, EthGlobal Events, Devcon, etc…), and interviewed people during EthMagicians gatherings).
We also organized workshops and meetups on a regular basis to try to teach ourselves using the tools and getting feedback from users.
We also lobbied for and then integrated the gitter support chat into remix and grew it to a few thousand users and executed surveys and analyzed the chat generally for which issues are brought up most often
The things we've heard most often was that:
We noticed there is a gap between beginners (programmers but not blockchain) and profesisonals in the ecosystem and Remix was simply not suitable for beginners.
This is exactly why we started the play project - first as a lightweight embeddable solidity editor in the browser which generates a live interactive frontend for the source code for users to deploy with one click and interact with the contract. And later we extended it to a search engine for solidity source code with integrated editor where users can browse code and open it in the editor in just a few clicks. The interactive frontend can then be published to github or downloaded as an HTML file to explore and learn about web3.js calls and be able to copy/paste them already customized to the use solidity template it was generated from.
Since the release of the first MVP, we introduced the tool to many professors and their assistants who teach solidity in universities. Their feedback was positive and the tool is now their go-to-tool when starting to teach solidity, so I guess that’s a pretty good feedback. Some also opened issues and added feature requests some of which we implemented already.
We’re currently in the process of adding Open Zeppelin contracts and also professionally audited contracts from our partners from ChainSecurity to the database to present more relevant contracts to first time users
Our hypothesis is that the first real boom Ethereum had was due to ERC20 standard which gave users an out of the box business solution in the form of a contract, which they could slightly adapt for their needs and they were ready to go.
We think there is a need for more standards/templates/out of the box solutions for contracts as a business
Moloch DAO and Token bonding curve came close, but they are maybe not such a mainstream usecase as an ERC20 Token which can be used for any loyalty program, game, ICO etc.
Duration (Months) | 12 |
Indicative Budget | £ 265,180 |
---|---|---|---|
Project Name | Play project |
||
Website(s) | playproject.io | github.com/ethereum-play | |
Name | Timezone/Countries | ||
Contacts | Alexander Praetorius |
a.praetorius@serapath.de | UK/UTC-0 |
Nina Breznik |
nina@ethereum.org | UK/UTC-0 |
|
Applied for EF grant before? | No |
Previous Project title | / |
project manager & full stack javascript engineer
skills / experience | duration (years) |
---|---|
javascript | 10+ |
visual analytics, data science, interaction design | 6+ |
node.js | 4+ |
distributed file systems (ipfs,dat) | 2+ |
solidity and web3 | 2+ |
teaching programming | 3+ |
working in the Ethereum ecosystem with the EF | 2.5 |
solidity and web3 | 2+ |
building Solidity editor - Remix | 2+ |
relevant additional achievements: |
ui/ux and frontend developer
skills / experience | duration (years) |
---|---|
marketing planning and communication | 10+ |
business (co-founder, coo of an angel funded start-up) | 7+ |
product development and ux/ui design | 5+ |
javascript | 3+ |
teaching programming | 3+ |
working in the Ethereum ecosystem with the EF | 2.5 |
Remix | 2+ |
solidity and web3 | 2+ |
building Solidity editor - | 2+ |
ruby on rails | 2+ |
distributed file systems (ipfs ,dat ) |
1+ |
relevant additional achievements: |
Fiona Ye
ui/ux adesigner
skills / experience | duration (years) |
---|---|
design | 8+ |
ux/ui | 8+ |
javascript | 2+ |
dweb developer
dweb developer & dat engineer
relevant additional achievements:
frontend and backend developer
skills / experience | duration (years) |
---|---|
java and groovy programming | 10+ |
javascript | 7+ |
devops & server administration | 5+ |
node.js programming | 5+ |
solidity and web3 | 5+ |
relevant additional achievements:
50,000+ new developers per day need to be able to explore smart contract source code to get familiar with how the Solidity language works and later to be able to find specific code examples to implement or learn about particular smart contract features.
Users need to be able to quickly learn the basics of smart contract deployment and to be able to easily prototype their learnings and their ideas.
It's important we give professors and other educators easy ways to showcase how to build smart contracts and to enable them to do this inside of their webpages/resources.
goal:
tangibles:
impact:
source-verify
by Christian Reitwiessnerbytecode-verifier
by Consensyssep
- improve and refine etherscan source code scrapernov
- module to store source code in p2p databasesep
- module to conveniently query the p2p database client sideoct
- maintained server running the scraper codeoct
- maintained server running the p2p databasesep
- UX and UI for explorer page (layout, interaction, theme, design, copywriting)sep
- pagination listoct
- embedded lightweight editor with smart contract UIoct
- UX and UI for section: featured, newoct
- storage - section spec for iframe storage interaction (.postMessage, .onMessage)oct
- storage - iframe storage interaction implementationsep
- compiler that runs in webworkeroct
- resolver for local imports and dat linksnov
- load contract from addressnov
- form validation (arrays and bytes)nov
- feature to load source code from a url paramnov
- refined responsiveness (e.g. adapt font size to contract length)oct
- solidity syntax highlighting themesep
- autocompile based on all imported pragmasnov
- compiler error messagessep
- stickers (+maybe business cards)sep
- printed t-shirts for the project teamaug
- presenting at Web3 Summitaug
- presenting remote at EthIndiaTotal Budget | £ |
---|---|
TOTAL (dev work) | 256,000 |
Server hosting | 180 |
Speaking - travel & accomodation | 8,000 |
Merchandising materials | 1,000 |
TOTAL | 265,180 |
DEV WORK - detailed overview
GOAL | TANGIBLES | ESTIMATED DURATION (days) |
---|---|---|
Smart contracts explorer | 91 | |
UX and UI for explorer page (layout, interaction, theme, design, copywriting)js , dom , css , ux , design , copywriting |
30 | |
autocomplete search/filterjs , dom , css , json |
30 | |
create new buttonjs , dom |
2 | |
UX and UI for sections: featured, newcss , dat , ux , js |
6 | |
UX and UI for section: recently viewedcss , iframe , js |
6 | |
pagination listjs , dat , css , dom |
6 | |
embedded lightweight editor with smart contract UIcodemirror , iframe , js , dom |
11 | |
Crowdsourced database of verified Smart Contracts | 156 | |
improve and refine etherscan source code scrapercheerio , nodejs , devops |
10 | |
module to store source codes in p2p databasenodejs , dat |
20 | |
module to conveniently query the p2p database client sidenodejs , devops , js , dat |
10 | |
module to publish verified source codes to p2p database from clientnodejs , js , dat |
20 | |
module to (re)verify source codesjs , bytecode , web3 , solc |
20 | |
p2p database registry to publish verified contract p2p databases to js , nodejs , dat , dht |
8 | |
module to import verified contracts from other p2p databases nodejs , dat , dht |
8 | |
maintained server running the scraper codedevops , nodejs |
20 | |
maintained server running the p2p databasedevops , nodejs , dat |
20 | |
a tutorial to describe how to create and maintain a p2p databasedevops , nodejs , dat , web3 , dht |
20 | |
Solidity editor | 82 | |
feature to load source code from a url paramurl , js |
6 | |
file explorer (caches recent)dom , js , css |
40 | |
refined responsiveness (e.g. adapt font size to contract length)codemirror , css , js |
10 | |
solidity syntax highlighting themecss , js , codemirror |
10 | |
autocompile based on all imported pragmasjs , regex , solc |
6 | |
compiler error messagessolc , js , codemirror , solidity , css |
10 | |
Smart contract UI | 81 | |
load contract from addressweb3 , js , dom , solidity_ABI |
14 | |
refined responsivenessjs , css , dom |
10 | |
form validation (arrays and bytes)js ,solidity , web3 |
4 | |
switch between form and json (copy/paste)json ,js ,dom ,css ,codemirror |
14 | |
new form themejs , css , dom , ux |
20 | |
executable web3 code snippetsweb3 , js ,codemirror , css , solidity_AST , dom |
8 | |
NatSpec commentssolidity , solc , js , dom , css |
6 | |
verify source code with publishjs , iframe , dat , bytecode , web3 |
5 | |
Solidity compiler | 14 | |
compiler that runs in webworkerjs , webworker , solc |
10 | |
resolver for local imports and dat linkssolc , url , regex , js |
4 | |
Developer Account | 130 | |
user account widget with basic UX/UIux , css , js , dom |
8 | |
wallet section with basic UX/UIux , js , dom , web3 , javascript_vm |
10 | |
wallet - switcher between JSvm & Metamask (e.g. mainnet, testnet, …)js , dom , css |
3 | |
wallet - confirming/rejecting transactionsjs , dom , css |
3 | |
wallet - javascript_vm implementationjs , web3 , javascript_vm |
14 | |
wallet - spec for iframe wallet interaction (.postMessage, .onMessage) json , web3 , javascript_vm , iframe |
14 | |
wallet - iframe web3 provider implementationjs , web3 , javascript_vm , iframe |
14 | |
credentials section speciframe , js , browser_security |
6 | |
credentials - with basic UX/UI for credentials usageux , js , dom , css |
4 | |
credentials - isolated secure storage space for credentialsbrowser_security , js , iframe |
4 | |
storage spec for iframe storage interaction (.postMessage, .onMessage)iframe , js |
10 | |
storage - permissions (for each dapp)browser_security , js , iframe |
6 | |
storage - iframe storage interaction implementationiframe , js , dat |
20 | |
storage - permissions administration ux/uijs , ux , dom , css , browser_security |
10 | |
storage - file explorer implementation/integrationjs , css , dom |
4 | |
Marketing & Operations | 86 | |
presenting at Web3 Summitslides , presentation , playproject |
10 | |
presenting remote at EthIndiaslides , presentation , playproject |
3 | |
presenting at Devcon5slides , presentation , playproject |
10 | |
workshop at Devcon5 with scholarsslides , presentation , playproject |
5 | |
presenting at 3 more eventsslides , presentation , playproject |
18 | |
printed t-shirts for the project teamdesign |
5 | |
stickers (+maybe business cards)design |
5 | |
management & operationssocial_media , marketing , project_management |
30 | |
TOTAL DAYS | 640 |
We will work for traditional client projects like we did in the past (before Ethereum) and we will try to work on this project in our free time while searching for alternative sources of funding.