I have an SE clone. How do we feel about building on that?

What I would vote is for us to hold off on votes a little until we can actually evaluate existing solutions - and not just this specific one - more criteriously and on technical merits alone before considering the idea and putting it to a vote, at which point concerns such as level of familiarity and comfort from contributors would come into play as well.

I had @rodolphito helping me test qpixel last night and we found many indicators of qpixel being much more of a proof-of-concept than a finished product, contrary to a previous comment elsewhere stating it was mostly production-ready. Looks like it’s very far from that. I haven’t finished my analysis of the architecture and code so far, which is why, despite my previous statement, I wasn’t able to post my review just yet. But it’s coming.

Some problematic points I remember right now:

  • Very bad Unicode handling
  • Bad error handling - try logging in with a non-existing account, or editing someone else’s post
  • No proper whitespace validation
  • Missing: edit history, flag system (whole of moderation tools, in fact), markdown editor, edit and delete comments without requiring a full postback / page load, logging (errors, hacking attempts…), review queues, infrastructure for easy content import and synchronization (at the implementation level)
  • Undocumented limits and constraints (max length, allowed chars, etc)
  • The tags system is still very crude and looks more like a demo - I don’t see how it can be “fixed” without requiring actual reimplementation

This is all from the top of my head. Now, for some hands-on demo:

How long can a question be?


Maybe the scary error page is a server environment setting. Anyway, we had to test it. (Notice the bad horizontal scrolling.)

I can make your computer run out of memory by embedding an arbitrarily large image.

Who posted this?

No input sanitization (see also)

See more at https://qpixel.artofcode.co.uk/questions.

Reproducing one of my most recent comments on this topic from Discord:

(…) the poll text says “quicker launch, less dev work to do” and that’s something I’m going to argue against.
I can see the same thing I referred to at https://discordapp.com/channels/634104110131445811/641360136908046336/642549776277307412 happening here. We take something that exists, but doesn’t quite do what we want, and it ends up being much more of a headache to adapt because either the architecture is not flexible enough, or the implementation is just too different, or both.

For reference, the linked message says:

(…) shudders, because the project leaders decided to use a combination of Moodle + Wordpress and, given their requirements, it ended up being much more work adapting both for their needs than just implementing a solution from scratch.

I mentioned in my nomination (https://discordapp.com/channels/634104110131445811/638255503474163713/638530858516480016) that I’ve had a couple of projects fail, and this would be one of them. (I was just a consultant, not an employed developer, however).



It appears that a lot of our requirements have not been factored in at the design phase, and unless the architecture is really flexible and maintainable, it’s going to be a pain to implement them - and even if it is flexible, that’s not a hard guarantee. This is true not only of qpixel, but of most of the existing implementations. No wonder not one of them ever came even close to being capable of potentially disrupting SE.

In terms of being production-ready and feature complete, Question2Answer seems to be much more advanced, but it’s still not without its fair share of concerns (that requires a separate evaluation).

9 Likes