Elgg at a crossroads

I'm excited about the upcoming Hackathon (Sept 23, 24), but this temporary burst can't make up for the fact that core dev contributions are down and have been for a long time.

This isn't anyone's fault. To an extent, this is normal cyclic behavior as people get busy with other things, but I rather think it's that Elgg is no longer exciting or fun enough to maintain developer interest.

Sure, we've made huge improvements in DX and performance, and 2.x provides a lot of value, but the product remains highly tethered to trends, technologies, and architectural decisions made 8 years ago. We have some loud voices in our community telling us that Elgg should change even more slowly (or not at all), and I've personally over-romanticized the idea of extreme backwards compatibility, but if we continue this path I think developer interest will keep dropping off.

Personally I really enjoy working with Elgg's contributors and don't want to stop, but for my career's sake I can't focus on reworking 2008-era APIs much longer. I considered quitting in 2014 and didn't out of inertia and because family health problems made it comforting work to bury myself in.

What can we do?

We could do nothing. This is just my perspective and I could be wrong or it could really not matter. There's nothing wrong with stable software that nudges along slowly. My prediction is that high maintenance chores will start to go by the wayside. Elgg 3.0.x will get dozens of releases and plugins will thrive as they did on 1.8. It's not a bad outcome for lots of people, but I'd be bummed.

In the short term, Ismayil and I should stop stalling new development in order to wait for a 3 member consensus. If a PR on 2.x/master gets a thumbs up and no one expresses concern or a desire to review for weeks, it goes in. Those branches give plenty of opportunity to revert or fix concerns that come up later. When reviewing involvement goes up, we can scale the need for consensus accordingly.

Businesses relying on Elgg could offer developer time. That won't help if devs really don't want to work on it though. And IMO business owners are under no moral obligation to contribute, but it would of course help.

We could seek out and destroy any low-return hassles that make working on Elgg less fun:

  • Commit messages are a constant headache, but may be worth it for our awesome changelog.
  • LTS releases: if so many sites want to run 1.12, one of their developers should put in the work of backporting fixes to it; merging this stuff into 3 other branches is a headache. Maybe the foundation can pay someone to make these releases occasionally.
  • Community spam: Maybe you can't register until you to contribute some sort of content; then we can just delete several thousand spam profiles.
  • RST is still !@#$. I'm continuously looking up how to do basic things and even the docs about RST are bad. Markdown is inferior tech with miles ahead UX. Really I want to do like Drupal and build more docs from source code.
  • ??

We should identify roadblocks that make more radical changes seem impossible. It was really disheartening to turn away a good 3rd party effort at moving to UTF8MB4 columns. Schema changes in general are almost unimaginable due to the expectation that Elgg run its own upgrades.

Personally I would love to--at least temporarily--set aside the requirements of upgrade paths and BC and start over.

  • How can Elgg be many magnitudes faster, not a few ms.?
  • How can it have the real-time functionality users now expect?
  • Are we sacrificing anything by giving plugins too much power?
  • What Elgg-specific dev concepts are really cool or not worth the overhead for new devs to learn?

In general I want Elgg to take a great leap forward to become something I'd be proud to put my name on, not filled with things I have to apologize about.

  • just a note: i use the bookmarks plugin because it allows lists of bookmarks to be saved per group (so per topic) and for that to be a reference for others in the community. i appreciate that sites that are heavy on the social and light on the 'information resource' aspects will not care about the bookmark plugin, but for information resource sites it is useful.

  • Internet in its true open and interconnected-network-of-multitude-of-sites form exist no more. To majority of the teens (as well as adults) net is FB and Apps. Just to think of it! Apps and apps - which are far from the spirit of net. Many open source php projects like Geeklog, e107 are dying a slow death. No longer there are any teens coming up with similar scripts like Drupal or WP in the last 5 or 10 years, simply because being online now means you are on FB, Apps, or Amazon. Its Apple, Google, FB all the way.

    If you still want to look at the "small" number of people who download social net scripts like Elgg and have their own site, then think of the fact: they have better options like EasySocial, Peepso simply because of the fact their status box is alive and brings to center all activities OUT_OF_THE_BOX.

    Elgg is still wonderful but with teens and folks on FB, many companies having only FB and whatsapp address as the only web address on billboards, and with no sopa-like movement against the fact that internet is being or has been fragmented into much-worse-than-Microsoft monopolies like FB and Apps, not just Elgg but opensource php scripts will suffer death or stagnation. So called Hobby users were actually MAJOR chunk of users of these scripts but if php 5.3x is not supported for eternity the net we knew will just slowly  disappear.

    PS and off-topic: can someone make the double top-bar atop elgg org into single, its an irritation to the eye (3 top bars if you are logged in!!), not uniform across all pages, and many links are repitative like Blog and Elgg blog, Community and activity. Also, I do not find why we cannot have less pagination for comments, almost all such sites have at least 50 comments per page.

  • I would like to see documentation to be readable from within your own Elgg installation


    I'm closing this topic with some takeaways:

    • Performance isn't a huge concern. Mostly agree at this point, it's up to plugins to be written well and sites that get popular need to hire devs to optimize in ways core shouldn't.
    • Everyone wants a new theme. This is an area where it's impossible to please anyone and each site wants their specific look. Using Bootstrap as a base seems conservative, but fine. I think responsive UX is much more important though.
    • Plugins need regular UX improvement iterations, each of which impose BC breaks, so plugins need to leave core. (Can manifest require version(s) of particular plugins? That seems necessary.. Would be nice to let composer handle all that)
    • We need a team to meet and set big goals, especially for work that will be controversial or opinionated.
    • hypeLists and hypeInteractions are great in part because Ismayil didn't need core permission to iterate improvements, but having their features in core would lead to greater use across plugins I would think; seems worth it.
    • If you want Elgg to improve, follow the GitHub repo, learn how to work on Elgg and with git, etc.
    • Real-time server to client communication is coming to core, even on shared hosting.

This discussion is closed.

This discussion is closed and is not accepting new comments.

Feedback and Planning

Feedback and Planning

Discussions about the past, present, and future of Elgg and this community site.