SSE

New Release: PeepSo 2.0.1

The first release of December delivers bug fixes and compatibility improvements. We are also shipping foundations for the New Notification Engine based on Server Sent Events, which will remain hidden under the hood until alpha testing is finished.

Upgrades

If you are on version 2 already: simply wait for all PeepSo plugins  to show that the update is available and then update them all. We deploy our plugins through two independent systems, it usually takes a few minutes for all updates to propagate.

In PeepSo 2 the order of updates is no longer important –  just make sure at the end of it everything has the same version number. If you happen to update Foundation first, the child plugins will still remain active (although their functionality won’t) and you will be able to update them as well.

If you are using the PeepSo Theme – Gecko update it too. A new 2.0.1.0 BETA was released too.

If you are still on version 1.x.x, please refer to the legacy upgrade procedure or contact us.


What’s new

PeepSo Bug Fixes

The last quarter of 2018 and most of 2019 will be dedicated to speed, scalability and modernization of the code under the hood. As we put a hold on new features that are not directly in line with these three priorities, we still carefully listen to bug reports and have a chunk of our manpower reserved only for these.

In this release we fixed scenarios where admins were unable to see posts with “friends” privacy, made sure PeepSo links no longer send 404 headers when using the experimental SEO URLs, and patched two final little bugs related to albums combined with PHP 7.3 and WordPress 5.0.

Gecko Theme

As the backend engineers busy themselves with big architectural work, our frontend magician Matthew keeps working on our new theme. Although still in beta, Gecko Theme 2.0.1.0 delivers better page builder compatibility, full width options, some new color settings, multi-level main menu and more.

Gecko theme with improved mobile and more
Gecko theme with improved mobile and more

You can read the complete changelog here.


Future

Server Sent Events

This new upcoming feature (called SSE for short) is an alternative way of passing information about events (comments, likes, chats) from the server (PHP) to the browser (JavaScript).

In essence, the browser will open a single permanent connection (shared between all tabs) to the server and be ready to receive events instead of permanently bombarding the server with timed AJAX requests.

The SSE handler is written in pure PHP and without any database, to avoid WordPress and MySQL overhead. Event triggers are simple text files placed in specific directories identified with user ID and unique token generated for each browser separately. When an event is triggered via the SSE pipe, the legacy AJAX call is performed in order to actually obtain the information. This hybrid approach allows us to deliver a feature that brings a positive performance change in high-load environments without having to wait for a complete redesign of most of the systems involved.

PeepSo Server Sent Events on the drawing board

This feature will only work on PHP 7.2 and newer. It will  bring benefits to bigger communities where the need of constant back and forth communication between the server and hundreds or thousands of logged-in users tends to become a bottleneck. It will require some custom server configuration (to allow multiple keep-alive connections and more relaxed timeouts, so it won’t be very beneficial on shared hosting environments (which you should not be using anyway if your community reaches a certain size). We are still in closed alpha mode, measuring the performance.

This and license / update improvements in 2.0.0 are  only a small foray into the bigger picture of architecture changes coming to our plugins. Next months will bring a new event-based notification engine capable of hooking custom actions to events (think mobile push notifications hooked into events in PeepSo). Our database design needs to shift away from WordPress tables to custom structure. All the PeepSo AJAX needs to be rewritten into WP REST API, and new endpoints need to be written for full separation of data from presentation. The list is pretty long but everything in  is is either about making PeepSo faster, reaching into the mobile app world – or both.

WordPress 5, PHP 7 and more

The WordPress industry is about to experience a combination of three major events.

WordPress 5.0 is around the corner and marks the first major release in 4 years.

Additionally, as I detailed previously in a dedicated article, PHP 7.0 has reached End of Life today, and PHP 5.x will follow in 4 weeks. These versions will not be provided with any security fixes anymore – which immediately makes them a threat to the security of your website.

The demise of PHP 5 is the first PHP major version End Of Life event in a decade -last time it happened in 2008 when PHP 4 was written off.

Supported PHP versions as of December 3rd 2018. PHP 5.6 is reaching End Of life in 4 weeks.

On top of that, PHP 7.3 is almost ready. That leaves us with three officially supported versions: PHP 7.1, PHP 7.2 and PHP 7.3

(Wind Of Change now plays in your head)

Our team is dedicated to staying ahead of the curve when it comes to new technology, so it might be no surprise to hear that we have been ready for these things long before they are actually happening.

PeepSo and WordPress 5.0

We have routinely tested PeepSo on the bleeding edge nightly builds from the very beginning.  We have found a handful of small bugs and patched them weeks or months ago. As I am writing this, WordPress 5.0 has a status of RC1 and we are completely ready for it.

PeepSo and PHP 7.3

Similar to WordPress 5.0, we have been running PeepSo on PHP 7.3 since the first Release Candidate. We only found a couple of minor issues and fixed them all.  As far as PeepSo is concerned, it’s perfectly safe to upgrade to PHP 7.3 when it comes out – but I can’t speak for potential plugin / theme conflicts as not every developer stays up to date with the industry standards.

PeepSo and PHP 5.6 / 7.0

I can’t stress that enough: staying on these old versions is a very bad idea – since they are no longer patched, anyone below 7.1 is a sitting duck for hackers.

Nevertheless, we are not completely dropping support for the legacy PHP versions yet. We will be happy to do it as soon as PHP 5 market share melts to a reasonable low – only then we will be able to start using PHP7 syntax without breaking anything.

However, some new PeepSo features will not be supported on PHP below 7.1 (starting with Server Sent Events). You will be simply unable to turn them on.

It is very likely that new plugins (Pages, Events, etc) will be written for PHP 7.1 and up and faced with PHp 5.x or 7.0 they will refuse to activate.

We will also be very reluctant to fix bugs specific to legacy PHP versions that reached End Of Life, simply because we have to draw a line between legacy and performance somewhere. We have a lot of new code to (re)write for the benefit everyone in the PeepSo family in terms of speed, scalability and mobile apps – and we need to keep our eyes forward into the future as much as possible.

Brought to you by PeepSo Team Matt Jaworski
I am a professional nerd with **over fifteen years of experience** in the field of Open Source web development. Before [PeepSo](https://PeepSo.com) I was a contractor and have helped build successful businesses around the world, including USA, UK, Germany, Indonesia, and Malaysia. A couple of years leading up to founding PeepSo, I was involved with JomSocial - a social networking extension for Joomla. Stepping up from the role of a contractor to a business owner, I became [PeepSo](https://PeepSo.com) founder and Chief Technology Officer. I strive to build beautiful, fast, and functional software that **empowers users to build their own digital tribes with full autonomy and freedom** often not available on mainstream social networking media. In 2022 I launched [EmeraldWP](https://EmeraldWP.com) which acts as an umbrella for my other projects such as ListoWP, Widget Shortcode Pro, and MomentsWP.

Reactions & comments

Join Our Community!
Join us to discuss PeepSo's features, connect with the development team and give suggestions.

Comments

@peepso_user_7380(Levi Beers)
The hybrid approach you've taken to implement SSE is definitely outside-the-box thinking. Love it! Just to be clear, we won't notice the AJAX calls firing when an SSE is sent until a later version than 2.0.1, correct?
@peepso_user_7(Eric Tracz)
@peepso_user_7380(Levi) some of the code is already in 2.0.1 but hidden. We're testing it internally and won't give you guys access to it just yet. It's a really cool and big feature, but we need to do lots of load testing and balancing it before getting it out there.
@peepso_user_10(Matt Jaworski)
@peepso_user_7380(Levi Beers) thank you, it was a weekend epiphany kind of solution. We are going to replace and improve PeepSo piece byy piece like this, instead of trying to rewrite everything at once. Relatively modular design lets us do that. Evenrually we want a fully Client Side Rendered REST application which does not care if the client is a browser or an app or whatever. We will also look into node.js as SSE server since PHP is not the best choice for everyone. The only thing stopping us from going faster is funding and manpower, but with current revenue stream and team size we can move relatively fast. Still before SSE makes it to the end users we will have seen a few releases.
@peepso_user_15740(Chaia dechen)
Is it divi visual builder compatible with this version? In case it’s not, Is it just css that’s not compatible?
@peepso_user_15740(Chaia dechen)
@peepso_user_10(Matt Jaworski) thank you
@peepso_user_14699(kovin albert)
@peepso_user_10(Matt Jaworski) it’s an amazing work you guys are doing every single day