Round-up #17 – Fallow: Third time’s a charm

TL;DR: Luna 2.0 Fallow is in development. Ain’t that awesome?
For no “blast from the past”, skip first 6 paragraphs.

ModernBB 2 was an awesome release, the whole (or something around 95%) of the old FluxBB interface was rewritten in Bootstrap 3, making ModernBB one of the first forum engines to have a full responsive design without any compromises (that is, you won’t lose functionality just because you’re using a smaller screen). In future updates, we continued to refine that design and we nailed it with ModernBB 2.2 if I say so myself.

ModernBB 3 was mainly a rewrite on the back-end, but also contained a lot of improvements to our responsive design. It added quiet a lot of functionality and was refined in 8 subsequent updates (3.1 – 3.7 and 4.0). All bringing along new features that would eventually make up a part of the Luna feature set.

Luna was, just like ModernBB 3, a major jump in both the codebase and design. With Luna, we tried to reimagen forum software design from the ground up. We made – what we believe to be – the best management interface out there with Backstage 5 (sure the UX wasn’t on par with things like position numbers, it still isn’t). And we did away with the idea of individual forums and categories you needed to go look into to know what threads where updated thanks to the reworked index (as long as you had Fifteen as your theme).

These where the released versions of ModernBB/Luna and while we’re proud on these, we’ve had some projects in the past – 2 to be exact – that went beyond that. These 2 projects where named “Vanellope” and “Luna” respectively. Vanellope was a version we started developing during the beta stage of ModernBB 3 and was ment to be a full rewrite of ModernBB. It eventually got canceled but many ideas of it got inserted into ModernBB 3.1, 3.2 and 3.3.

The “Luna Project” was originally planned to be a major refactoring of our source code too. Rebuilding it from scratch. In stead, the project got cancelled once again and many of the ideas from this new project ended up in Luna 1.0 and following versions, the software you’re using today.

Twice we tried to rewrite our code, to break from the past and start anew with modern code. Twice we failed. Third time’s a charm, right? I hope so. In the past days and weeks, I’ve been asking for feedback on quiet a lot of things about Luna on our board. I’ve been showing of some design ideas and mock-ups of what could be “the future of Luna”.

Today, I’m pleased to announce that I am in fact working on a brand new piece of software that eventually will take the place of the then current version of Luna (which should be Luna 1.4 by then). This project is being written under the name “Fallow”, following on Aero, Bitterweet Shimmer, Cornflower Blue, Denim and Emerald, the codenames for the first 5 Luna releases. The version will – obviously – be “2.0”.

Fallow has been in development for a couple of weeks now and I think I’ve been making some nice progres. The codebase is being rebuild from scratch, we’ve got a shiny new core named Jewel, a framework developed by Studio 384 that contains some handy features, and a brand new database layer that has support for MySQL and anything based on that (MySQLi, MariaDB, etc.). SQLite support is coming soon!

Fallow is not only going to be a rewrite just for the sake of it. No, we want to build Luna from the ground up for a reason, or actually, a couple of reasons:

  1. Goodbye GPL. Our license has been holding us back, it has been holding the community back and I don’t like that. GPL is, despite being made by the Free Software Foundation, one of the most restricted open source Licenses out there. We’re currently looking into a new license and MIT or BSD(-like) are licenses we consider promising. Our we might ending up our very own license.
  2. Rewriting Luna means that we can start over again and use modern technologies at the core of Luna. Right now, it’s a hard task to mess with the true core of the project because it requires changes throughout the whole code and more often than not, that triggers unwanted side effects. A clean core is an important change, not only for that, but also because it is more future proof. Think extensions and so on. The PHP requirements won’t probably go up from PHP 5.3 (at this point).
  3. Rewritten markup, rewritten CSS. This might sound like something trivial and something we could easily do in other releases, but rewriting the whole interface is also a big plus for this. Our main focus for this point is to give Luna an overal more unified look. We got a lot of comments on the way Fifteen looked like in Luna 1.0 and 1.1 and fixed a lot of these issues in 1.2 and the upcoming 1.3, but we don’t feel like we’re done just yet. And Fallow is going to bring a much improved design, for both the Mainstage as Backstage. Oh, and we use Less now.
  4. Improved security. We’re taking the chance with Fallow to give our security a serious upgrade, make some serious improvements to encryption, limit the amount of login attempts that can be made within a certain period of time and more and ask new users a question to verify that they are in fact users and not bots.
  5. Very, very small. Luna has grown in size over the releases, now clocking in at over 1 MB when compressed. I’m quiet glad to tell you guys that at this point, the current core clocks in at just 70 kB. On a side note, by for not all features have been included yet, including the whole Backstage, but I have fait. Our goal is to keep Luna very small.

I’ll be talking a lot about the Fallow update for Luna in the near future, so keep an eye on our blog. Sneak peaks will be shown on our board most of the time, unless I’m going to do a serious blog post about that too. I hope you’re all up for some fun. It’s gonna be great!

I don’t have an ETA on when Fallow will land, or when even the first Preview will land, or when it will land on GitHub to begin with. The only target dates I can give right now are those of Luna 1.3 Denim and Luna 1.4 Emerald. And why do these releases matter? Well, Luna 1.4 is currently planned to be the final Luna 1.x release and thus it might be around for a long time. And both 1.3 and 1.4 will contain changes that prepare Luna for the Fallow update. Anyway, the release dates for both version are known for quiet some time now. Luna 1.3 is planned for a December 25, 2015 release, and Luna 1.4 will follow on April 13, 2016.

As mentioned above, SQLite support isn’t planned for the premiere release. And that might botter a lot of people out there. However, we’re planning to include it someday. 🙂 But this might not be something that will happen in Luna 2.0. That’s why Luna 1.4 will be a Long Term Support release, that’s the first time we do that since ModernBB 1.6. We’ll support Luna 1.4 for the then forseable future, until you guys can also migrate to version two point oh.

Luna 1.2.3 now available

Hey everybody! We’re happy to announce that Luna 1.2 “Cornflower Blue” Update 3 is now available – or in short version 1.2.3 – and ready to be used. Todays update contains a series of quality improvements for the code. Additionally, we’ve fixed some issues surrounding the SQLite 3 driver, we updated made a couple of small changes to the interface of the groups page and we extended the reach of our “comment count” update from Luna 1.1.1 to also include scenarios where you’re pruning a forum.