Thoughts on Assembly
Assembly helps you “turn ideas into great products with people around the world”. That sounds wonderful, but what does it mean? To find out, I put Ledger, one of my side projects, on Assembly.
Ledger tracks your expenses on the web. I wrote the back end in Haskell and the front end in JavaScript with React. It is a complete working application, and I hosted it on OpenShift.
I started the transition to Assembly by answering questions about my project. What was the point of it? To easily track expenses through the web. Did it have a monetization strategy? No, but making money off it is possible. What did it compete against? More robust software like Mint and YNAB.
Some of these questions I had never considered before. Answering them made my project feel more official than it was. I worked on Ledger on and off by myself for a month; even calling it a “product” instead of a “project” seemed weird.
Regardless, I wanted to put my best foot forward. I dutifully and honestly answered all the questions. Then I transferred the code from my repositories to theirs. At this point I felt like I had invested in Assembly. I anxiously awaited whatever I would get out of it.
Assembly keeps new projects in “stealth mode” until they get ten members. To recruit members, I shared Ledger on social media and in the chat on Assembly. Other than that, I did no marketing. Unsurprisingly, I failed to get enough members. Part of the problem was that I didn’t (and still don’t) understand what members are exactly. You might think they are contributors, but you can become a member without contributing. As far as I can tell, they are people who expressed an interest in your project.
Anyway, bounties are the beating heart of projects on Assembly. I created bounties for all the features and bugs I could think of. Easy ones, hard ones, front end ones, back end ones — you name it. Nobody did any of them. Some people claimed bounties but never finished them. One person even developed code that I would have accepted if they made a pull request. But they never did that.
My takeaway from this is that people are uninterested in working for free. More specifically, they avoid projects on Assembly without plans for monetization. (Or maybe my project was boring or the code was gross or nobody even heard about it.)
Another problem with the bounty system is that switching between projects is hard. It takes a long time to get up to speed with a project. Especially to get to the point where you can contribute code to it. And once you do, it makes more sense to keep contributing to that project instead of switching to another.
If, unlike me, you manage to complete some bounties, you will earn coins. The best way to think about coins is like shares. The founders get a bunch of them. When you finish a bounty, you will earn a few. If the product makes money, that money will be distributed among the people who own coins. This part of Assembly is conceptually simple. I would like to see how it plays out with a cash-positive product.
After my team building phase ended, I stopped using Assembly. I like the idea of developing a product collectively in the open, but my product never took off. If I was more passionate about it, I might double down and try to get people interested in Ledger.