👍🎉 First off, thanks for taking the time to contribute! 🎉👍
Right now, we are at this uncontrollable mess where all the client architecture is documented only on our heads. Please be patient, we'll create a thorough architecture description and documentation soon.
In the mean time, what we desperately need help with is design. As you may have already noticed, we are all really bad when it comes to design, so if you are any good with it, you can probably help us! And you don't have to know anything about programming.
If you are not familiar with computer programming, the best way to contribute to Hacker Experience 1 and 2 is by submitting, analyzing and improving design mockups. It doesn't matter which tool you use: Photoshop, Inkscape or pencil. Mockups are a great way to present an idea and they engage healthy discussions and brainstorms about the game UI, UX and mechanics.
From minor UI/UX improvements to wild new looks, if you have an idea, feel free to suggest it. We'll take the time to discuss the suggestion/mockup, how it fits with our visual identity and our planning for the game.
On the other hand, if you know your way around modern CSS, there are a lot of ways you can contribute. Usually, our bottleneck is on translating design suggestions to code, so you could give us a hand on this. There are several small design details that could be enhanced to improve the overall UI. See something you could improve? Consider extending the current CSS code and submitting a PR.
When submitting new CSS code, please include a screenshot of the changes. This makes it much easier for other contributors to see the change without having to fork the repository, apply the changes and run the game.
This is up to you. Our recommendation is to make it detailed enough to prove your point, and then wait for feedback. It's better to iterate later, so fellow contributors can see each iteration step and improve upon them, either with feedback or new suggestions based on the previous one.
Two examples. Suppose someone wants to propose a new app, ProfileViewer, which is better at presenting/browsing user profiles than the current solution (Web Browser). In this case, a black-and-white prototype with the main expected sections and user interactions would be enough. On the other hand, if you believe a green neon border would be a better fit for windows, you'd probably have to draw a detailed, colored window border, while the window contents could be blurred.
No, you can contribute with CSS improvements without having to learn Elm. Simply open the game on your favorite browser, edit the CSS in-place and share the resulting CSS. We'll be happy to translate that CSS into Elm code and start iterating over it.
Note that we highly recommend you do learn Elm. It's a wonderful language for frontend development, and even though the syntax may seem like out of this world, things usually start clicking in a day or two. Feel free to ask questions on our dev chat.
It's not translation time yet, but we are almost there! Please come back in a few weeks :)
By the way, we are hiring! Unfortunately at this time we require relocation to our office in Brazil. We know this is a dealbreaker and it is a silly thing keeping us away from real talents. We hope to achieve the required organization and discipline for handling distributed teams soon, but for now relocation is necessary. Brazil has great food though.
At the moment we are looking for mid- to senior-level frontend engineers willing to learn Elm with us. We are also looking for open-source advocates who can help us with our goal of fostering computer science education. Other than that, we love to be surrounded by smart people, so feel free to drop us a line to hear more about the game and our goals.