Tools For Better Developers

Osm Admin: Stopping The Project

2022 August Osm Admin

1 year ago ∙ 2 minutes read

I’ve been excited with the Osm Admin project really bad. I’ve pushed it through all the way for a long time. And I’ve created a little something that works, and with some effort it can actually become very useful to many people.

Despite that, today, I’ve decided to put in on a big pause.

It’s hard, really, really hard. My hard breaks seeing all these great ideas may just end up in the graveyard of unfinished software.

But the reality is, the project had several major problems, and I to push the brakes earlier. I didn’t see it then. When you believe in results this much, it becomes a blind spot.

Ironically, a break in this project - first, having COVID, and then a vacation trip - helped me to see the project from the outside, and understand that even longer break is needed.

The main reason I do this is financial. I don’t have the time to wait until the project becomes popular and starts earning. In addition, while I worked on this project, the current income stream deteriorated, and it should be addressed now.

Lessons Learned

There are some things I wish I did differently:

  • Talk to users now, build later. The idea of customer development has been out there for a while. However, I didn’t do that, and lived with the risk that no one is going to need it, or that facing the actual needs may require significant changes. And by the way, finding those users is not a trivial task in itself, and I’m still figuring it out.
  • Solve specific use cases first, generalize later. For example, before creating, let’s say, a generic blogging software, build several blogs for several people without generalization in mind.
  • Use existing frameworks and libraries. Your best code is the one you didn’t write. Third-party code allows you to focus on the specific needs of your application, invite new team members with the existing skills, and sleep better if someone else supports a product you created.
  • Start with a README. Really, do your future self a favor. Tell him what your software is for, how to install it for development and in production, how to use it, what are the main moving pieces, where are the main entry points. If it becomes too long, split it into several documentation files.

Good Parts

Having written all of the above, I must say that I love Osm Admin project.

It contains very efficient solutions to many technical problems, and, one way or another, I’ll reuse them in my further work. Class extensibility, computed properties, data indexing, formula language, unlimited table columns, aggressive caching - this list could go on and on.

It also helped me to learn new and improve existing skills: unit testing, documenting and writing, publishing Composer packages, versioning, and more.

Instead Of Conclusion

The end of one thing is always the beginning of some other thing.

Currently, I’m looking for another problem worth solving, so if you have one and need a helping hand, let’s get in touch and discuss it.