How JavaScript works: the mechanics of Web Push Notifications

“How JavaScript works” is a series of articles on SessionStack, describing some of the lesser known bits and pieces of JavaScript.  One particular chapter that caught my attention is “The Mechanics of Web Push Notifications“.

Push and notification are two different APIs.

  • Push — it is invoked when the server supplies information to a Service Worker.
  • Notification — this is the action of a Service Worker or a script in a web app that shows information to the user.

Zabbix : No more flapping. Define triggers the smart way.

No more flapping. Define triggers the smart way.” is a very useful article from the Zabbix Weblog on how to setup sensible, flapping-aware triggers in Zabbix.

I’m sure every single person on this planet has a limit to how many up and down notifications he can receive …

Important Announcement about SMS notifications in Google Calendar

Catching up with emails, I saw this email from the Google Calendar team:

Starting on June 27th, 2015, SMS notifications from Google Calendar will no longer be sent. SMS notifications launched before smartphones were available. Now, in a world with smartphones and notifications, you can get richer, more reliable experience on your mobile device, even offline.

Too bad I say.  SMS notifications is one of the features I use and love the most about the Google Calendar.  My smartphone is full of all kind notifications.  In this day and age, it seems, every up considers it it’s duty to add something to the notification bar.  I’ll never configure each one of those to have a different sound, vibration mode, or LED color.  I don’t really care about them no more.

The ONLY notification that I care about 24×7, since my sysadmin shift days, is the SMS.  An SMS wakes me up in the middle of the night.  An SMS draws my attention in the noisiest of places.  An SMS interrupts my meetings.  That’s the one and only instance notification that I respect.

And now, it’s disappearing from the Google Calendar…

huginn – build agents that monitor and act on your behalf

huginn – build agents that monitor and act on your behalf

What is Huginn?
Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take actions on your behalf. Huginn’s Agents create and consume events, propagating them along a directed event flow graph. Think of it as Yahoo! Pipes plus IFTTT on your own server. You always know who has your data. You do.

agent flow

Redmine email notifications with Exim

When configuring Redmine project management to send email notifications, using Exim MTA, you might end up with test emails bouncing due to no recipients specified.  It’s a bit tricky to debug, but, fortunately, quite easy to fix.  The problem comes from different implementations of “-t” option handling for /usr/sbin/sendmail.  Redmine uses this option to specify on the command line to specify message recipients   However, Exim by default uses a different behavior, where it gets recipients from the message headers, and removes from that list recipients which are provided using the “-t” command line option.

The solution to the problem is a very simple – just add the following line to your /etc/exim/exim.conf file, as per this FAQ:

extract_addresses_remove_arguments = false

LinkedIn email love

In the age where pretty much each and every websites considers it its duty to ask for your email address and subscribe you to some kind of mailing list or notification system, it is still rare to see an email integration done right.  Showing bad examples is not my favorite approach to treating the problem, since there are too many of them and they seldom do any good.  Today, however, I have a good example to show.

As many of you know, I am a member of LinkedIn social network for professionals.  One of the things you can do on LinkedIn is join the groups according to your professional interests.  These groups are very much like forums – full of discussions.  The groups you are subscribed to also show up on your profile, so other people can easily see what are you interested in.

LinkedIn has a system of notifications, where you could get an email for when something happens in those discussions.  You can get individual emails or digests.  In most systems that I’ve used until now, the setting is only up to the user.  If one gets too many emails, a switch to digest mode usually happens.  If too few are coming in, then the opposite occurs.  I can’t remember a system that was helping the user to make a decision or to realize a need for the change.

Today I received the following email from LinkedIn.

Apparently, the system is smart enough to realize that I’ve been busy and didn’t have the time to follow up discussions in this particular group.  So it not only suggested, but automatically changed a preference for me.  It notified me accordingly, and provided a quick way to change it back (‘Change Settings’ button).

This is how you tell your users you love them.  I have no other way to interpret this.  Very well done! – the way to do site messages

After all the comments I received for my  other post about, I decided to expand a little bit on the positive parts of the web site.  The biggest success of it, except of course for thousands of people registering spreading the word of a mouth, is the messaging system.  And the whole messaging system, but the notification part of it.

For me personally, the proof of the success of the notification system lies in the fact that I actually like it myself.  Because I am usually in the opposite camp.  I think that we have enough messaging and notification systems as we are, for web sites to develop their own ones.  But, in this case, I have to say that it was done very well, and that it works possibly better  than any other alternative could have.

If you are not familiar with it, here is a screenshot (NOTE: the green border on the left was added by me, I’ll explain why in a moment). profile

This is my profile page.  Or, more accurately, a part of it.  This is what I see when I login.  There is the main navigation menu at the top (orange color), with sub-menu (in light gray) for the currently selected tab.  There is my picture, and some basic information, such age, last login time, etc – something other users can see when they visit my profile.  And, there is the notifications section on the left side (I put the green border around it).

Users of can send each other messages.  As far as I know, they can’t do mass mailings or group discussions or anything like that.  It’s purely one registered user to another.  There is a limit on the size of the message – 1,000 characters.  There is a rich text editor with some formatting controls, such as text alignment, foreground and background colors, copy and paste buttons, and font face and size selectors.  Of course, smiling images and some commonly used icons (money, beer, etc) are also available.

The nice parts of the notification system are as follows.  Firstly, it shows incoming messages and status notifications in full.  It doesn’t tell you something like “you have 1 new message, click here to read it”.  It just shows it you right there and then.  Secondly, it queues all notifications and messages and shows them to you in turn one by one.  Not all at once or in a digest form, but one by one, in chronological order.  Thirdly, the system doesn’t hide the message after it showed it to you.  And it does not insist on you dropping whatever is that what you were doing and acting upon the message.  No.  It keeps the message in its full length on the left side of your screen until you act upon it.  For this you have two buttons underneath the message – close it and reply to it.  If you close it, the next message appears if there is one, or the notification area folds, so that not to occupy your screen space with nothing.  If  you do a reply, then a popup window appears with the name and picture of the person to who you are writing the message, and a rich text editor.  You can type your message there and press submit button.  Once your reply is submitted, the popup window is closed and the notification for the message that you were replying to is closed.

The way this notification system works is totally intuitive and out of the user’s way.  There is no way one could miss the notification while browsing around.  And, at the some time, it is easy to ignore it if you are in the middle of something.  Considering that many users of are middle aged people and older, with somewhat limited web experience, I think the system does them a big favor by not being too stealth or too aggressive.

Back to the wider system of messaging, there are a couple of other nice bits to it.

First of all, it’s the archives.  Message archives are easily accessible through the top menu.  You can go through incoming and outgoing messages separately. And again, there is always the name and image of the user with who you communicated, and the full text of the message right there – no need of extra clicks and deep navigation.

Secondly, the way email notifications are done is also nice.  The system is tracking if you are online or not.  If you are, it won’t be sending you email notifications.  And, if you are not, it will still give you a chance to come back before abusing your mailbox.  It does not send notifications right away as they happen, but keeps them in the queue for some time.  If you aren’t coming, you will eventually get those to your email.  But I have to say that the balance of immediate notifications without emergency email abuse hits right on.  Perfect.

Now, why am I so detailed and picky about this messaging and notification system of  Because, I believe that much of its popularity lies within just this part of the site.  Many of the registered users don’t know how to use other messaging systems (ICQ, Skype, IRC, etc).  Many don’t want to share their email address.  And many try to avoid any extra email.  Also, there is a large diversity in age, current location, and computer skills among the users, so finding another common medium for all these people to communicate might prove rather difficult.  But with this one, it’s not.  Anyone can send a message, get a message, and reply to a message.  And that’s all that matters.  I know some people who use as an instant messenger.  They chat with a whole bunch of people at the same time, using really short messages of plain text (no rich formatting), and they send them back and forth a few times per minute.  These people stay online for hours at a time!

Can the existing system be improved?  Absolutely.  Firstly, I think it should use left-aligned or justified text whenever the text of the message is shown.  Now it uses centered text for some reason.  Secondly, I think formatting should be a little bit smarter.  Paragraphs and links should be recognized better.  Text *like this* should be bold.  Text _like this_ should be underlined.  There should be better support for quoting.  There should be a way to refresh your memory about older messages.  Maybe something like phpBB has.  Maybe group discussions will make some sense… Some of the possible improvements should be thought out and planned carefully not to make interface heavier or user interactions more complex.  But there are many potential improvements on the intuitive side of things – something that will minimize the annoyances and unexpected behaviors.

I’m eager to see how this part of the site will evolve in the future. What will be improved, what will be added, and what removed… What do you think?