Over the last several months Status has been laser-focused on shipping the beta, fixing bugs, auditing security, and creating a well-rounded product. While this is essential for releasing a polished product, sometimes it is great to let our imagination and creativity run wild and explore new ideas and new technologies in totally unexpected and surprising ways. It can also be an opportunity to cross-pollinate and work with other contributors and teams and spread ideas throughout Status.
Many companies balance the necessities of shipping with experimentation by spending a week hacking on moon shots and creative endeavors a few times a year. It works like this: The company dedicates a week for everyone to work on whatever they want. The week leading up to this allows for people to share ideas, form teams and get inspired. Ideas can come from anywhere or anyone, and people are free to ask for help or contribute in various ways. When Monday rolls around people get to work hacking! Friday is dedicated to team demo’s and ends with voting.
The output from a hack week can be nothing but an opportunity to blow off some steam and work on ideas and with people that we otherwise might not have interacted with. But it can also produce glorious and unexpected features or products that may alter the future of Status or even the blockchain!
If so, when should we do it? July 9-14 could be a good time.
Has anyone had experience with company hack weeks? Any tips or suggestions?
How can we make this completely open so anyone can participate? It would be brilliant for open bounty contributors to be leading ideas working hand in hand with core contributors. Or I’d love to see a crypto-fan and Status user come up with a brilliant idea and recruit team!
I am also ok with those dates,
I have a preference for long running hack days (once a week or by-weekly or 10% etc), as it allows to build projects incrementally instead of in a big-bang, but it’s all good.
Sounds really interesting, i always have some ideas in mind but don’t have time to develop them And i have one interesting idea, but i need go developer in my team
This is great! I’d love to use this opportunity to work with DevOps to experiment with a unified CI/CD solution to replace Jenkins/Travis CI/Circle CI. The solution we want would have to:
be self-hosted so we don’t depend on third-parties when things go wrong;
be able to handle all our CI needs so that it can replace all the current jobs we’re currently achieving with the multitude of solutions in use;
allow unauthenticated access to the build logs for our community;
provide custom metrics easily so we can effortlessly track things over time like code metrics, app performance metrics (e.g. avg/peak memory usage, data usage, etc.), per branch.
At the end of the hack week, I’d like to have the following working:
Replacement of Travis CI for the PR builds in at least one repo;
Alternative builds for status-go and hopefully, status-react too.
Depending on the number of folks interested in this, we could explore Fastlane CI and how we could integrate it into this pipeline, in parallel (to get functionality like automated screenshot generation, code signing and upload to App Store).
How can we make this completely open so anyone can participate?
Would an easy way to suggest/vote for projects be to create a #hackweek Slack channel, and use posts to suggest projects, threads for signups, and emojis for up/downvoting ideas? Could the channel be linked to our Riot somehow so it’s open for community participation?
Or maybe Reddit?
Also how could non-technical people be integrated?
@julien - good question! Perhaps non-tech folks could help out by supporting tech project teams with documentation, project management, communications with the org on project outcome, etc. (depending on the project!) It’s also possible that non-tech projects are pitched that could benefit from tech support, e.g. devs helping automate People Ops processes, or similar.
I would like to take this opportunity to work on improving our testing on status-react side. The idea I briefly discussed with @cammellos already is to:
re-use previous work on dockerizing status-react
run multiple instances of the app simultaneously
use generative testing with quickcheck to generate activity on the app instances
collect minimal scenarios that lead to unstable app instances
The goals will be to have an MVP that
allow us to identify area of the app that need better specs
implements a minimal solution for collecting results (maybe just collect and parse docker logs)
Ultimately this could turn into our own chaos monkey (Chaos Monkey · Netflix/SimianArmy Wiki · GitHub).
This would be very useful for testing new iterations of the communication protocol as well.
Use universal links to gift a CryptoKitty, or a sticker, or some SNT, to a friend outside of Status.This would be a cool one to start building network effects.
II. One-click transaction signing—
There are too many transactions for menial things, like logging in to DApps. Can we reduce that to a single click? Can we do away with transaction signing for basic actions entirely?
III. Workarounds to the web3 object injection—
MetaMask is building a new flow that will ask a user to login (give permission) before it injects a web3 object. The web3 object can expose not only that the user is on Ethereum, but using MetaMask, making them an easy target for phishing.
Something I have observed is there are some projects that have great whitepapers and solid protocol implementations but no DApp.
General idea: Build a status optimized DApp for a protocol which has no mobile friendly DApp or no DApp at all.
This can accomplish a couple things.
Engage a wide variety of roles inside Status since such a project may only require 1-2 developers but will require more people to help figure out what a great user experience would be like and the synergies with the external team(s). (UX, Product, community, BD, immediately come to mind).
If we build such a DApp, it will be the only way to interact with the protocol for most or all users, which will drive more users to Status being the only onramp for that other community.
Engage an external team that built a solid protocol to let best practices cross pollinate.
A few ideas that immediately come to mind (I have been thinking about financial primitives, so my ideas are biased toward that, but I think the same applies across the space):
Dharma on Status
Decentralized credit is the natural evolution of decentralized money and Dharma has created a great protocol and a simple UI for filling borrowers requests but no tool to list the all the requests from borrows and lenders. bloqboard.com does already exist but is not mobile optimized and requires user to fill the request on plex.dharma after, creating an odd experience even on desktop.
The first dYdX (decentralized derivatives) DApp
dYdX released their protocol a fews weeks ago with great comments, code quality and 100% test code coverage, but no DApp exists. Idea: Create the first DApp around dYdX that allows users to use SNT derivatives, Example: 2XSNT owning one token gives the user 2x governance exposure of SNT for the same cost as one SNT token in exchange for twice the financial volatility. Example: Anti-SNT: Moves opposite in value to SNT, Owning 1 Anti-SNT + 1 SNT would create a currency stable wallet. Wrapping 1 Anti-SNT + 1 SNT into a single token would be a Status Stable Token (SST).
Status starter packs using Set protocol
Set protocol allows for bundling various ERC tokens to create a single token. Idea: Create a DApp that allows users to buy, bundle and unbundle Status Starter Packs. A starter pack might be a single token that contains:
building status
it should be possible to build status from sources and install on your phone (Android only?). Can be done on Status desktop, so all desktop clients will store latest source code for status mobile, and can build release version for Android, it solves 2 issues 1) if play stores block application or Microsoft blocks blockchain open source, it wiil be possible to build status and install on your Android phone and 2) if you want to build your own version of status, you can make changes (or create bounty) and build (pay SNT for build)
As per my knowledge this is the day of exploring a particular projects and fixing the error to make it better. I am currently working on my own page (eduhelphub.com) in fixing bugs that was causing more error in the entire system.