I recently red a post by Ryan, the creator of SolidJS, where he reflected on ten years of developing his solution.
I commented on the post, but it also got me thinking, because I’ve been working on MOD-CSS too for almost five years now.
I wonder about the point of continuing
I find myself questioning whether it’s still worthwhile to continue:
- to improve it,
- to maintain code,
- to keep the website up to date (that last part is more hardest for me).
The first goal was to create tools for rapid prototyping without ever leaving the template and that has been more than achieved since version 2.
Today we’re on the fourth stable release.
Features I hadn’t even imagined at the start (like the REPL and JavaScript's functions) have since been created and work well. So that should be enough, right? Not at all—I keep coming up with new ideas for improvements as my own needs evolve.
The Frustration
The idea of its creation came simply from frustration. I was (and still am, to some extent) a user of Bootstrap for its ready-made components, but I felt hampered by its limitations when it came to quickly customizing them and UI. The best alternative was Tailwind, but it made the template feel disordered and I didn’t like that.
I have to admit: I love simplicity, and complex solutions bore me.
He’s at the summit alone… or almost
From the start I’ve been working solo. My little pleasure is watching the script improve from one release to the next and seeing it works well. But oh, how much better it would be if I could discuss it with actual users or anyone interested… Sometimes I feel it’s more of a personal obsession than a useful solution for UI development needs.
When you build something for yourself first
It began as a project to satisfy my own needs, and then I decided to share it with anyone who might find it useful. And maybe that’s a big problem :
from the outset I’ve built it primarily for myself, so I’ve never felt a strong urge to promote it.
On the other hand, as I mentioned above, I’d love to have conversations about it but how will be happen if no one knows that ?
Trends Change… Needs Do same
Another question I had was whether MOD-CSS’s paradigm doing most of the UI creation/customization on the client side has become outdated. There’s now a strong trend toward server-side rendering and sending fully composed pages to the client.
For my part, my design needs are modest, so adding that complexity would be an unnecessary burden. At most, for a time-saving boost, I choose to cache pages server-side into which I inject the same external data. That’s always been enough for me in Django. What about you ?
Lessons Learned from Almost Five Years
Your documentation can save your own life
I mentioned earlier that I didn’t like writing documentation or preparing usage examples. But how many times that same documentation and examples saved me when I’ve forgotten how certain functions work ? (I’m ashamed to admit it.) Good docs aren’t just for users, they’re a lifesaver for the author too.You also need versioning.
Why? versioning helps you to see in which direction your project is going forward.
Sometimes you get discouraged because it feels like you’re going nowhere but with version history and features tracking, you can measure your progress.No one serves you better than yourself.
A tool you build yourself will always fit your needs perfectly but it often takes a lot of time. Before embarking on that long journey, make sure a similar (and popular) solution doesn’t already exist. It would be a shame to spend months building something you then can’t use in client projects for security or other policy reasons.Unusual paradigms don’t inspire confidence.
If your library breaks well trodden design paths like MOD-CSS does expect to be pretty much alone at first, and maybe at the end too...
It can be hard to get others to adopt.Just because something doesn’t interest a large public doesn’t mean it’s bad or obsolete.
A professional developer’s tool choices are heavily influenced by market trends and project requirements. If the market doesn’t demand it, there’s often no incentive to learn it, however interesting the tool may be.It always takes longer than you think.
If you plan to do it in one month, plan for three. I never imagined I’d work so long on MOD-CSS. Things rarely go as you imagine. For example, it took me almost one year and a half to build MOD-CSS’s core rendering engine. After that, I had to optimize it from (nearly) scratch two or three times because some features didn’t integrate well with the rest.Few stars on GitHub or none doesn’t necessarily mean poor quality.
More often, you’ll have to open your wallet to advertise yourself (even if you’re extremely talented). In reality, the one who’s really good is the one who’s popular. I’m not the one saying it, it’s the internet ^^.
You’ll probably never become the next Elon Musk or Mark Zuckerberg without some serious lobbying (sorry, I digress).
And finally
Some tools be so specific that cannot concerns large majority of users. You have to be aware of that.
However, if it fine for you, that’s already good for developing your own solution.
It takes a lot of time, energy and money to get your work noticed online.
It was great to talk about all of this.
Thanks for reading.
Gilles ;-)
(sorry for my bad english)
Top comments (0)