Status Hack Week

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!

For some further reading take a look at Spotify’s post on organizing a hack week, or this one on why you should run a hack day, or why Dropbox employees are goofing around on company time.

So a few questions:

  • Is there any interest in this?
  • 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!
7 Likes

Fantastic idea Chad! Love it! Great way to foster new ideas or simply share existing ones with everybody.
July 9-14 sounds perfect to me.

How about everyone share potential ideas? Also how could non-technical people be integrated?

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.

1 Like

Sounds really interesting, i always have some ideas in mind but don’t have time to develop them :slight_smile: And i have one interesting idea, but i need go developer in my team :slight_smile:

2 Likes

Yes me too Andrey! I have a cool idea that would perfectly fit the hack week model!

I love this! We could also have a place to display the outcomes from that week (GH hack week special repo?).

who needs a designer? :slight_smile: I’m open

1 Like

rad! I volunteer for any design / animation / AR / sound / casual front-end work needed :smile:

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.

That’s a cool one @pedro!
I’d also love to see someone have fun with Fastlane CI!

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.

2 Likes

How can we make this completely open so anyone can participate?

I vote that we use the SNT voting DApp for proposals. Maybe can make a clone of it for hackweek specifically.

1 Like

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.

2 Likes

There are so many things I’d love to see happen.

I. Send tokens to friends outside Status—

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.

We subject our users to this risk as well.

IV. A simple game using chat commands—

Not my idea: Game on Status · Issue #89 · status-im/swarms · GitHub :slight_smile:

1 Like

Love the idea of a hack week!

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.

  1. 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).
  2. 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.
  3. 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:

5 Crypto Strikers
10 X Stickers
1000 SNT

2 Likes
  • personal channels
    it should be possible to register ens channel name, and the only person who registered this name can send messages to this channel, all others can only read (see also https://discuss.status.im/t/visibilty-stake-for-public-chat-room-governance/133)

  • 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)

2 Likes

You could team up with @pedro for this one, rewriting our build pipeline with drone.io would make this much easier

just shared my ideas, anyone can work on this if he wants, i have another idea i want to work on, will publish details later :slight_smile:

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.