Serendipity Camp 2015 and the near future of Serendipity

This weekend marked the first time a couple of developers and users finally shared a room and their faces with each other. We hope this was only be the first time, and will be repeated at least annually.

Our goal for this weekend was to connect names to faces, get to know each other and discuss the past and future of Serendipity. Seen from both viewpoints, users and developers.

Luckily, the kind people of the Linuxhotel in Essen (Germany) have a great offer for OpenSource projects like us: comfortable rooms, food, wifi and a special ambience for a price that is hard to beat. Thanks so much for having us!

Also, the city of Essen was a good middle ground for most of our people to meetup (from left to right):


Besides a lot of talking, having fun and food, we also reserved most of Saturday to "properly" talk about Serendipity. We even decided on a couple of major things that will surely affect the future of Serendipity.

Here's some of the things we talked about:

Mission Statement

Serendipity has been around since 2002 and was continually developed mostly bearing feature requests and issues in mind. During that time we all have come to know what Serendipity is, what it should be, and what it never will be.

We are fully aware that we will never be a blog system that will reach the popularity of WordPress, nor will we become a content management alternative. Despite the decline of personal blogging systems (i.e. in favor of social media platforms), we fully believe in the need of such systems customizable, small and proven projects like ours.

Serendipity stands for:

  • Reliability (in terms of compatibility, functionality and adaptibility)
  • Security (our track record shows that we have dealt with the few issues swiftly)
  • Extensibility (easy plugins, themes)
  • Ease of use (uncomplicated, understandable interface, PHP code with a low entry barrier)

We want to provide a blog engine that users can trust, for which they can get indivdual support, while being able to influence the project (both as users and developers). Und ein System zu bieten, mit dem man sich vor allem in Deutschland identifizieren kann. ;-)

This all was captured in our new byline:

Serendipity - A reliable, secure and expandable PHP blog
Not mainstream since 2002

Future development

For our ongoing development this boils down to:

  • We want to further improve an interface that leaves no question marks for any kind of user, both experts and novice
  • We want to make our components stand on reliable libraries and code that will not break existing systems but stand firm for the future
  • Understandable, adaptable and clear codeflows / architecture

Reach more users, attract developers: Reworking our web presence

To make our statement and future more clean, we decided to improve our whole "project identity" websites and consolidate services.

A new homepage will make a better introduction to Serendipity, and obviously show users where to get what, which service to use for what, how to get support and how to contribute. We will make more clear how and where to report bugs, feature requests and questions. And we will make more exactly clear what kind of things we could need help with (i.e. translations, etc.).

We will rework our documentation to be more streamlined. This will happen by dropping our main wiki software and moving the documentation with updated content within a GitHub Pages repository. We will specifically make clear and readable instructions for interested developers to quickly dive into "understanding" Serendipity.

This will leave us with those services:

  • GitHub: Plugin and Core code
  • GitHub Pages: Documentation, Main webpage (www.s9y.org)
  • Forum: User support, Discussion (board.s9y.org)
  • Blog: Central communication and important updates, showcase of our software (all available themes will be selectable there) (blog.s9y.org)
  • Spartacus: Browsable plugin and theme repository (spartacus.s9y.org)
  • SourceForge: Mirror/Release file hosting, read-only mailinglist for commits

This will go along with a visual overhaul of all involved pages and showcase our improvements in responsive back- and frontents that went alongside Serendipity 2.0.

Precise plans

Of course we also made a few more specific plans:

  • Increase the ability to "maintain" a blog by utilizing more cronjob functionality, extended the "dbclean"-Plugin and also improve our maintenance core that will be able to deal with removed plugins and their database tables. Also make the spartacus plugin be able to inform users automatically about updates.
  • Improve our URI routing, possibly through the use of framework components like Slim (will be evaluated)
  • Try to remove "cruft" in our archives-routing, i.e. by outsourcing functionality to a plugin or making a proper routing API (see above)
  • Find a way for a better frontend caching
  • Add htmlpurifier cleaning options to a plugin
  • Improve visual presentation of themes on Spartacus (web site), add demo links to blog
  • Add core support for noindex/canonical URLs

Compatibility

As we said, compatibility and ease of upgrades have been an honest core factor of Serendipity in the past.

Serendipity 2.0 is thus no "breaking" release, and users should be encouraged to upgrade their 1.x blogs without fear.

The improvements we get through a better API and new core methods shall be carried through to our plugin repository and backwards compatibility should not hinder development too much, to encourage the use of new methods.

Thus we have decided to set a date for when existing plugins are allowed to get a "required minium version: Serendipity 2.0" indicator: This means that starting August 1st, 2015, for users that still use Serendipity 1.x it is not guaranteed that they can upgrade installed plugins to new versions.

Don't be afraid, though:

  • If you have installed any plugin and it currently works in your blog, it will still work past that date.
  • You will not receive updates if a plugin gets updated unless you update to Serendipity 2.0+
  • If you have a 1.x blog and want to install a plugin that has in the past been available for 1.x, you can still specifically manually install that version of the plugin (through GitHub version control)
  • Of course we will only raise the version requirement of a plugin, if it really needs Serendipity 2.0+ functionality. We will not unneccessarily perform that on ALL plugins, rest assured - compatibility is always a major concern for us.

The date simply is there for us developers to know that new functionality is meant to be actually used. :-)

Serendipity 1.x will not get new feature commits. Only if relevant security or high-impact bugs were to be found, a new release would be made available for the foreseeable future.

Closing words

We are hoping to have the next meetup in the first quarter of 2016, so get your calendars ready and save the date. :-)

We are motivated and excited to implement the things we mentioned and hope you stay interested in Serendipity, more than ever.

Trackbacks

Trackback specific URI for this entry

Comments

Display comments as (Linear | Threaded)

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

BBCode format allowed