I wrote a post over at werd.io about idno, the open source publishing tool I’ve been building:
You may know that I co-founded Elgg, the open source social networking engine, which is used by the likes of Oxfam, NASA, the World Bank and several national governments as a social intranet and learning platform. The original thinking around Elgg happened a decade ago. Given that, you shouldn’t be surprised to learn that my original thought experiment was: What decisions would I make if I was building Elgg today, in 2013? What would I do the same way, and what would I do differently?
It’s still a relatively technical post – it’s still very much in development, after all – but go read the whole post and let me know what you think.
2 responses to “What is idno?”
It’s cool to get your thoughts after so long. The switch to a true NoSQL storage system makes a lot of sense. I don’t think it’ll happen with Elgg any time soon, but I’m curious to see how idno does with it.
I feel obligated to say that I see Idno falling into some of the same pitfalls that Elgg did when it was written so long ago, mostly around testability. How are you going to make your UI and plugin logic testable? I still see a lot of global state and very little separation of concerns. We’re trying to get away from this in Elgg ASAP.
Your point about global state is well taken, and I’ve been thinking a lot about testability. The trick is allowing for dependency injection and separable tests, while not adding too much overhead for plugin authors (which in turn can lead to breakages).
Meanwhile, I’ve been writing an Elgg site this summer. You guys have done some really awesome things with it. It’s been fun!