The first release of March delivers a reasonably big payload of improvements and fixes. In the meantime, the work on Server Sent Events and a few other major improvements is quietly progressing in the background.
Double checking e-mails during registration
There has ben some misunderstanding about what – on the outside – seemed to be activation e-mails not getting delivered. In fact, in many cases the users seem to have been so excited to join your PeepSo driven communities that they mistyped their own e-mail address. A mistyped e-mail led to the activation e-mail never being delivered. PeepSo 2.2.1 introduces a repeated e-mail field.
The users are now required to type their e-mail address twice, and PeepSo makes sure both fields are identical – to help avoid typos. The field has copy-pasting disabled, so that nobody can speed through the registration without looking.
The feature is enabled by default, but since some of you might find it to be overkill, there is an admin config switch to disable it. You can find it in backend > PeepSo > Configuration in the Registration section.
Config reorganization
Since we keep adding new plugins, the amount of tabs in PeepSo Configuration started to get a little out of hand. The Location, Tags and Moods tabs had only 1-2 options each, so we have put them all together with the recently merged Hashtags feature and called it the “Stream Posts” config tab. Two other options: default post privacy and maximum post length have been also moved there. This streamlines control over what the postbox looks and works like.
Markdown
We have tried for quite a while to make Markdown work fine when processed with PHP, until we realized we are still stuck in the old thinking. Since the new PeepSo architecture is planned to me more CSR (Client Side Rendered) for future multi-device support (for example native mobile apps) it only makes sense to shift the place where formatting happens to the client device. This way future mobile clients won’t have to deal with HTML – they will simply parse Markdown with a Java / ObjC / Swift library of their own.
Markdown is the first part of PeepSo which embraces this philosophy – the raw MD data is now processed with JavaScript directly in the browser.
Since we no longer load and execute a PHP library to process Markdown (thusย the resulting payload takes less space than HTML) all posts load a little faster. The chance of different back-end formatting filters to clash was significantly lowered, so we were able to add support for Markdown links as well. And because line breaks are no longer dependent on the default back-end processing, we were able to make them more human intuitive – a line break finally means a line break againย (although we have not tested extensively with more than 2 line breaks).
Thanks to these improvements we will be most likely soon able to bring Markdown formatting to other areas of PeepSo, hopefully starting with profile fields.
Groups
With a new setting “expand all categories” you can now decide to display groups inside each category in the default Group Categories listing. The default behavior is to expand only one group. There is also a new setting that controls how many groups to load per category before showing the “load all” link.
We made sure the Group Managers can always post and invite users – even if these features are disabled in Group Settings for everyone else. In the past the line was a little fuzzy and Managers could not post in read-only groups.
Fast Activity Queries (BETA)
PeepSo 2.2.1 introduces an experimental open beta of Fast Activity Queries mode that improves activity stream performance in communities with massive databases. We don’t expect it to be absolutely perfect yet, especially when combined with hashtags and search, but the stream loading time for websites with thousands upon thousands of posts, users, friendships etc has been significantly improved due to smarter usage of GROUP BY and SORT statements.
You can find a switch that enables this mode in PeepSo ยป Configuration ยป Advanced ยป Performance.
Other Improvements
We improved the WordFilter engine to make sure it does not interfere with the internal PeepSo mechanisms if the admin decides to exclude a relatively innocent word. For example, excluding the word “Line” (a popular communicator app in Asia) caused the line breaks to stop functioning properly (because at some point of activity reformatting a PEEPSONEWLINE constant is used to make sure the HTML line breaks aren’t accidentally stripped). It also tended to break BlogPosts activity stream items if the Blog Post URL contained an excluded word.
We also improved some translation issues, for example missing formatting placeholder in Japanese and introduced a better translatable string for relative dates in Profile Fields to ensure better flexibility for languages with more complex grammar.
A full list of all changes shipped in PeepSo 2.2.1 can be found in theย changelog.
To Boldly Go…
Our team is currently handling a few background epics – big tasks that take more than few sprints to finish. They are built and tested behind the scenes. Here’s a glimpse to what’s going on.
Welcome Post
This upcoming feature is currently in closed beta. When enabled, it will post a “just joined this community” post on the user streams upon their first login. The post can be configured to contain selected Profile Fieldsย (ignores the privacy completely!).ย If you’d like to try this feature, contact usย and we will give you the instructions.
Post Straight To Group
Another upcoming feature: Post Straight To Group is in closed beta stage since PeepSo 2.2.0 – the idea is to let users select a group to post into directly from the main activity stream or profile. There are some hiccups in relation to photo uploads, so the feature still stays under wraps.
Server Sent Events
Server Sent Events implementation based on Node.js is slowly moving forward as well. We have just built a new dedicated server to perform some live tests on – hopefully our own website will be running the SSE system this month.