James Stanley

Eldood: what Doodle used to be

Fri 1 July 2022
Tagged: software

I have made Eldood as a replacement for Doodle, because Doodle is now shit. If you used to like Doodle but have grown frustrated with it, try Eldood.

If you don't know: Doodle used to be a very simple tool for coordinating social occasions. One person would create a "Doodle poll" listing proposed dates, and everyone else would tick the dates they could attend, so you can select an optimal date for the event. It beats the game of "can you make this date?", "no, I have another thing on, how about the day after?", "Fred can't make that, what about this other date?", and so on.

Unfortunately, like so many previously-great products, Doodle has slowly got worse over time and is now your standard corporate bloatware. I guess when you have a good product and people like it, the natural response is to change it until they don't. Doodle used to just do dates, but it now seems to be more focused on times-of-day, which hinders the original purpose because you can now only see 7 days at a time instead of an entire month. The straw that broke the camel's back is that they now require email addresses from all poll respondents. Doodle is now shit. They should have left it alone.

So Eldood is what Doodle used to be. It's on github.

The backend is a Mojolicious application that stores data in a SQLite database.

At first I was going to make a table that joins a respondent to a single date and a poll, but in the end I went with "CSV-within-a-column" because normalising it seemed more complex for no reason. Each response is a single row in the responses table, with a column called dates that has values like 20220630,20220701,20220702.

To provide the "ifneedbe" option, dates in this column can have parentheses around them. It's not pretty but it is quick and easy.

And, crucially, it is better than Doodle.

If you like my blog, please consider subscribing to the RSS feed or the mailing list: