There are a couple basic rules which we keep in the back of our head when developing Luna: our philosophy. And since this is actually nowhere ever explained in detail, let me do this right here. And yes, we’re doing another round-up, one year after #15.
First of all, Luna is supposed to be light. Light in that it has the basic features a board needs in 2015. We don’t want fancy features that are not essential to boards. Why? Because light means simple, simple is less and less is more.
No non-essential Javascript. Javascript is an amazing tool and it can make anything you could imaged dynamic. However, modern boards tend to over-use this and use Javascript anywhere, even when this is not needed. The result is a more bug-sensitive board and additional work for your browser. That is if you’re browser has Javascript enabled or even supports it (and Webkit-based browsers are horrible on this point, especially for the more advanced features). Luna uses Javascript, but only for the essential parts: making the Bootstrap framework work (with jQuery), improving the experience in tables and making sure notifications reach you whenever they are send to you.
No third-party influence. This is something a lot of our users have complained about, or actually, just some of them, but they did complain a lot to cover almost everyone: why is there no possibility build-in to login with your Facebook account? Well, that is because Facebook is a third-party. And we don’t do third-parties for a simple reason: you can’t possible predict whether or not that third party will continue to exist. Even Facebook will some day disappear. That might be a very distant future, but it could happen. A more possible issue is that third parties change their APIs rending your board unusable. And we’re only talking about registration and login here. That’s also the reason why Luna will no longer use CDNs – which where the one exclusion on the rule – and instead put all the packages in the core.
Simple code and simple installation. Another goal of Luna is to keep our code in the back-end simple too. It’s nice to have a simple-to-use piece of software, but its even nicer if you can also simply understand what makes all of that possible. That’s why we like to keep our code lean and simple, this will be something especially Luna 1.3 “Denim” will focus on with our reimaged coding conventions for CSS and PHP.
Another thing is that a lot of projects out there tend to become more and more confusing on what you need to install their packages (especially pre-release versions). And we don’t like that idea. That’s why we continue to use our drag-‘n-drop methode. Easy and simple: just put the files on your server with any FTP program out there and go ahead. And updating? It’s basically just installing: drag-‘n-drop the files on the server over your previous version and just hit the “Update” button that appears on your board and you’re ready to go. No complicated upgrade processes that require you to replace only certain files or require you to go into your database and change stuff or change files in the Luna core… Just make a back-up and get started.