Mimas is OpenSource

256px-Mimas_Cassini-2020-02-24-11-36.jpg

That picture above is Mimas, one of the moons of Saturn – yes, I’m still a bit of a “geek”. Mimas is the name I chose for the Agile on the Beach submission system I started developing about four years ago.

I am a bit surprised that Mimas has grown to over 10,000 lines – mainly Python and HTML, a very small amount of JavaScript and a super tiny bit of CSS. O, and 239 unit tests which now take about 8 second to run. (Like so many other systems the front end isn’t covered by automated tests. This hasn’t been a big problem, the tests I have giv great confidence.)

I’m not completely surprised by the fact that four years later we are still using it.

The code has lots of failings – doesn’t every system? – but I’m immensely proud of it as more than I’m embarrassed by it. I’m particularly proud of the way the system held up to 300 submissions and 55 reviewers this year. This was the most use it has ever had.

As of last month the system is also OpenSource – MIT License. You can browse the code – and tell me about all my failings: Mimas on GitHub.

The system itself runs on the Google App Engine here. Anyone can log in and create their own conference. Although this being the post-review period, and me having some time, I’m taking the opportunity to make some improvements. If it is down it won’t be down for long. Unfortunately Google are forcing a database upgrade (NDB to Cloud NDB) on a move from Python 2.7 to 3.x (which I should have done a while back.)

Once upon a time I thought that other people might like to use the system for their conferences but nobody ever has. The offer is still there.

I’d love it if anyone else wants to help with development on the system – but I’m realistic to know this is unlikely. (If you want to help there are a lot of places in the UI where a little JS or CSS could improve things. In the backend I know a few places that could do with changes too.)

For the record this is what Mimas does:

  • Conference organisers create a conference and accept submissions.
  • Speaker details are retained for future conferences as are talk details.
  • Submissions are accepted into tracks, they can have co-speakers, formats and duration are configurable.
  • Two rounds of reviewing are supported, these are configurable. AOTB uses scoring for round 1 and ranking for round 2.
  • Reviewers can volunteer and be assigned (random) submissions to review.
  • Conference permissions allow for different users to have different capabilities.
  • E-mail acknowledgements, acceptances and declines are handled via SendGrid – you can also define custom messages via templates.
  • Half a dozen or more types of report plus export to Excel capability.
  • OAuth login currently supporting e-mail, Google and Facebook via Firebase.
  • Share reviewer feedback and comments with submitters.
  • Some conference branding.
  • (There is an open speakers directory and tagging mechanism, I should either improve this or scrap it.)

I’m currently building out a scheduler so the accepted submissions can be organised in the system too. Its half done.

There are bunch of ways I could develop it further: it could support paper review rather than conference review, it could support shepherding, it could be used for reoccurring events, and a whole lot more.

Finally, it is surprisingly cheap to run on the Google App Engine.

Anyway, its OpenSource, its live, let me know what you think.

Leave a Reply