2015: A year in review and a year in preview

So… I wrote this post at the end of 2016, but forgot to post it. So here we go…

2015 was a big year for us. We release Luna 1.0, a major update to our software. And we also released the final ModernBB release. Let’s take a look at what we did this year:

We released 19 development versions (alphas), 13 pre-release versions (betas and RCs), 4 final versions (Aero, Bittersweet Shimmer, Cornflower Blue and Denim) and 19 updates (x.x.1-releases). In total, we released 55 versions of Luna. We also had 2 ModernBB-releases (version 3.7 and 4.0). This brings us on a total of 57 releases in 1 year. That’s up 17 from last year’s 40 releases and quiet a bit up from 2013’s 23 releases.

I’m also very happy with our download count. Compared to last year, we had a 60% year over year growth for the counted downloads. The bad news is, in the period of June to early November, we – sadly – didn’t count all downloads, so this could have been more.

But what will 2016 bring? Well…

First of all, I hope we’ll be releasing less updates. Sure, updates are fine, but some of the past year’s updates shouldn’t have happened. I hope that Luna 2.0 will bring along a more stable platform then 1.0.0, 1.1.0 and 1.2.0 have been so far (Luna 1.3.0 is doing just fine, though). I’ve also noticed that well, I should be a little bit more critical about contributions made by the community. Don’t get me wrong: I love that people help out with Luna and that’s more then welcome. But some commits shouldn’t have happened either and I’m not to happy about some of the directions Luna has been going into the past year (and Luna 2 will revert these directions).

What I do hope is that 2016 will bring Luna 2.0. This won’t be for the coming months, I can tell that already. The first preview might, though. Luna 2.0 is probably going to be the final major update. Future updates will probably be more focused like the x.1-updates. Don’t worry, we’ll eventually get to Luna 3.0, but I’m hoping to adapt a more rolling-release-ish scheme for updates after the Luna 2.0-update is done. More on that later. I hope we’ll have a great 2016. I’m actually certain of it.

So now that I failed to put this one up on January 1st, 2016, I actually can reflect on what I said back than already. Where we’ve released 57 builds in 2015 in total, this year, we’ve only released 3 versions so far (1.3.1, 1.4-alpha.1 and 1.4-alpha.2). So to that matter, we’re on the right track. I hope 1.4 to be a very stable update from the get-go, despite it having some changes that are potentially dangerous.

Luna 1.4 Preview 1 now available

It has been a while since our latest update: Luna 1.3 was released last year on Christmas day and the last patch followed on New Year. Now, we’re ready for the next step as we approach the launch of Luna 1.4 “Emerald”. Today we’re releasing the first of a series of Previews to show you what’s new.

Fifteen 2.0
As promised, we’re bringing the Luna 2 design (or at least an early concept of it) to Luna 1.x. Luna 1.4 Preview contains a reimagined Fifteen theme based on this concept. We’re still working on it and the light grey accent color is currently a little broken, but it is a first step towards this new UI.

Password security
Todays Preview also brings much better secured passwords, as they now use salts and SHA-512 instead of SHA-1 like Luna 1.3 and prior used to. Just like the new design, this is a feature backported from Luna 2.

New night-mode
Together with Fifteen 2.0, we also introduce a much improved and much cleaner looking night mode for the Fifteen theme. Minor adjustments to this mode are coming in later builds.

New editor
The editor has been revamped to have a more mobile-friendly toolbar. The mobile editor no longer just removes buttons, but instead hides them under the new ellipses menu.

And well, that’s it. For now. We have put our main focus on Fifteen and the password update, both being features we backported from Luna 2.0. Later previews will also come with some new features. We’re planning a couple of other stuff:

Improved Backstage night mode
The Backstage will receive an updated night mode, mainly focused om some serious consistency fixes compared to the current version.

Sunrise 2.1
Sunrise will also receive an update, mainly focused on bug fixes but also bring along some minor design improvements.

Revamped search results
Search results will be more informative, the goal is to make search results look more like the threads do today.

All by all, most of the changes are visual updates and some minor feature improvements. The reason should be obvious: we’re focusing feature development on Luna 2 and I’ll reiterate: it’s coming along nicely. The work on Backstage is progressing very well and I’m hoping to have a first preview ready soon. Anyway, before updating to Luna 1.4, I’ve got a few words to say:

Make. A. Back-up. Luna 1.4 Preview 1 messes with the users-table in your database, more specifically, the password and salt fields. These are 2 fields that you really don’t want any damage too, so make sure you can always go back to Luna 1.3.1 and can restore at least the users table. Damage might not be reparable!

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.3 focus points

The Denim update for Luna has been planned to focus on improving the core of Luna quiet a bit. This mainly includes revamping our CSS-files to apply with the new coding conventions and updating our whole codebase to new naming conventions, including the database. So let me set out the main focus points for the Denim update as a whole.

Core 1.3
As mentioned before, the Luna Core is our main focus for this release and it’s all about conventions, both naming and coding. With this update, we want to make the Luna Core easier to understand and read and make it easier to develop for Luna by unifying the way things are named. A lot of work has already been done on this front.

Improved mobile interface: Fifteen 1.3
Further, we’ve received some feedback on Fifteen and we’re going to apply most of that into the next update. This mainly includes improvements for the mobile side of things (for smartphones, not for tablets as they use an interface similar to desktops instead). However, we’re also going to improve the desktop/tablet interface with some enhancements and additions.

Sunrise Revamped: Sunrise 2.0
We’ve been working for quiet some time now on a new theme named “Sixteen” for Luna. This theme is planned to be part of the final release of Luna before the end of 2015, and as it turns out, that is the Denim update. However, while the idea of Sixteen lives on, the theme itself got scrapped. Yep, we’re dropping that project. Instead, we’re updating Sunrise (and it will contain a lot of the Sixteen ellements) into a full standalone theme (Sunrise 1.2 is a small child theme based on Fifteen).

You can also take it as “Sixteen is being renamed to Sunrise”. The design language will be more in line with that of Fifteen, but the structure of the theme will remain like it is now.

Minor featurea additions
But don’t fear! It’s not all about coding conventions and theme updates. No! We’re also adding in some minor new features for you guys to enjoy. We don’t have a list of this yet, but you can expect the new “Important” label for threads as one of these small changes.

Preparing for Emerald
Most of all, the Denim update is a preparation for all the work that will be done for Emerald – or rather, is currenlty being done – which you might also know as Luna 1.4. We’re currently planning a massive update for the anniversary release (it will be released on our 3rd anniversary and one year after Luna 1.0). But more details on that later.