Category: Plugins

BuddyPress Desktop Notification 0.7 Release

Today, I am happy to announce the 0.7 release of my WordPress plugin “BuddyPress Desktop Notification“. If you do not know my plugin yet, I covered it in a small blog post here.

Today I’ve (finally) read a small complain in the support forum of my plugin:

Notification received excellent but repeating again and again

Basically, when a message is pushed through the notification API the same message won’t be displayed again, unless – and this is more or less the typical use case 😀 – you click-through the page. You read a message, you go back to the homepage, you edit your profile. In this case you will get informed again and again about lets say an unread message. This can become quite annoying. I was wondering a bit if I should solve this problem server or client-side, but I think it’s better to solve this issue on the client side.

One solution I was thinking about was to save somewhere in the database, which messages have been already sent to avoid sending them again. I didn’t like this solution since the database would get quite a lot of useless information after a while. Imagine a huge community and for every single activity we would need to save a lot of data, which person this message already got via the notification system.

So I decided to go with a client side solution. Here, we go with Javascript. In version 0.6 we had already an array, where the ID of the message is saved to avoid popping up again and again – on the same page. The question was: How do we save this array, when the user jumps to another page: The solution, sessionStorage. I do like this solution, since its small, quick and does not need any database storage. Some might say, the disadvantage of this solution is, the array is only saved for one browser session. But on the other side, this is quite nice, you might have missed a notification or whatever. Nevermind, you will be reminded in your next session.

What do you think?

WordPress Support Ticket

Some weeks ago, I had a small job which led me out of the WordPress cosmos. Basically I had to adjust a running webpage on which a ticket support system was included. I immediately missed a lot of the nice filters and features WordPress comes along and which are usually used by plugin and theme developers. The support ticket system had its own templating system but was lacking basic requirements. So the menu was generated automatically and you had to change either the core code or the language files (which I decided to do) to have the “Home”-Link called “Home”. And this was just one of the disadvantages which bugged me.

I got quite annoyed with the system and continued to talk about the advantages of WordPress, but we had to stick to a solution out of WordPress. Anyway, after I finished my job, I decided to go for my own support ticket system and write the WordPress plugin, I would have dreamt of working on. I am very happy to announce WP Support Ticket is now an official member of the WordPress repository family.

Of course, I started to work on my plugin even before I had a close look into the repository, I guess that’s the developers approach. So, after I was almost done, I started my research on what plugins are already on the market. Of course, there are already some nice plugins out there and compared to them, my support ticket plugin lacks some features. But my central goal was to create a plugin where almost every setting and functionality can be somehow overwritten by add ons. So there are dozens of action and filter hooks, which I describe in the plugins codex and which enables developers to create plugins on top of my support ticket software. And of course, I have already a small roadmap in mind, where to head next and which other features to include. And I already start to keep track of some minor bugs, which I will solve the next days. For example: The plugin is fully translateable and comes already with a German translation. The table overview has status classes. A closed ticket would have the class “close”, but unfortunatly, the plugin translates this right now, so the class won’t be applied. You know, these kind of bugs.

Here are some screenshots from the plugin. Have a look:

Create a new ticket in the backend
Create a new ticket in the backend
Create a new ticket in the frontend
Create a new ticket in the frontend
Ticket settings
Ticket settings
Edit a ticket
Ticket agents can answer tickets in the backend
Tickets overview
Here, you see all the tickets in the backend.
The user settings
The user settings
Create a new form field
You can create textfields and selectboxes, so your users can for example leave the order ID or the product name in question.
The email settings
The email settings

So, anyway: Happy to announce my latest plugin, a lot of work has been done and much more is to come. If you are interested in a flexible support ticket solution for WordPress, you should definitely have a look.

BuddyPress Desktop Notification

My latest plugin has just been released on wordpress.org: “BuddyPress Desktop Notification“. If you are running a BuddyPress community, you can use this plugin in order to display new messages, activities and friendship requests for your users.

BuddyPress Desktop Notification
A notification, which is displayed, while the browser is open

How this works? After a user logged in, the browser will ask for the permission to display desktop notifications. This works with most modern browsers (see a list here). While usually notification plugins show a pop-up or something similar, which are displayed only in the browser, desktop notifications also pops up, if the browser is minimized:

Desktop notification works also with minimized browsers
Desktop notification works also with minimized browsers

It’s quite a lightweight plugin, but it might cause some traffic because it produces an ajax request every five seconds for every logged in user who enabled the notifications. I decided to make this plugin configurable via filters and not using another admin menu page, since – to be honest – I am not such a fan of overloaded admin menus. If you are using this plugin and it produces too much load, you can reduce the request interval with the following piece of code:

More information on my latest plugin can be found on the website.

Sick of Google Analytics? Try the WordPress plugin Statify!

Still Google Analytics is the top dog when it comes to webstatistics. But there are numerous reasons, why someone doesn’t want to use Analytics. Privacy is just one issue, why people don’t want to work with Analytics no more. There are numerous alternatives out there. Today, I want to introduce you to Statify by Sergej Müller.

Especially when you worry about privacy, you should have a look as Statisfy is a transparent solution which doesn’t rely on third parties and doesn’t use cookies or the IP addresses of the visitors to track them down.

In direct comparison to statistics services such as Google Analytics, WordPress.com Stats and Piwik Statify doesn’t process and store personal data as e.g. IP addresses – Statify counts site views, not visitors.

You can also define how long you want the data to be stored and the additional database is rather lucid containing only four columns.

Also the plugin is quite lightweight, it gives you, what you need. A clean and beautiful insight over your visitors:

Visitor statistics with Statisfy
Visitor statistics with Statisfy

Statisfy is currently running on over 20,000 installs and received quite good reviews like this one, which points out the main advantages:

The strength of Statify lies in it’s simplicity. Set up with two mouse clicks you get a little widget in your dashboard that shows a chart with your website’s latest web traffic, the referrers plus the most active pages of your site – just enough data to give you a little feedback on the popularity of your site. As this information isn’t shared with third party, the plugin also meets German laws for the protection of your users privacy.

Another advantage is the good support which Sergej Müller is usually able to deliver. I saw it myself on Google+ how he quickly solved a server related issue in between minutes. Can you get this with GA? I switched today! What about you?