Add-on Push Notifications - OSX Safari

Would love to see this as a released add-on, please :) Disclaimers included.
Let me test it for awhile... Already found a couple issues I fixed (like I was getting conversation push notices letting me know I replied to a thread). Also want to see about moving the actual sending of the notices to XenForo's deferred system... need to figure that out.
 
So I more or less spent all day today and yesterday rewriting it and cleaning it up to make it as easy as possible for any site owner to use.

Settings
Allows you define variables rather than hacking on push package and JavaScript.

upload_2013-10-30_18-22-37.webp

Certificate Tool
I built a tool that makes it (relatively) easy to generate the necessary public/private key .PEM file for the system.

upload_2013-10-30_18-24-44.webp

Icon Generator Tool
I even made a tool so you to upload a 256x256 icon, and then it generates the 6 various sizes/icon files for use in your push package.

upload_2013-10-30_18-26-54.webp

It also has some additional functionality now as well...
  • It uses the deferred system to do the actual sending of push notifications (doesn't slow down the user who triggered the action that causes the push notice).
  • It logs daily stats (in the normal XenForo stats system) to record number of active devices as well as total number of push messages that were sent each day.
  • Has a daily cron job where it will contact Apple's feedback API and removes invalid devices (this is typically when a device allows push notifications, but then the device breaks/no longer in use). Apple's feedback API lets you pull a list of devices you've been sending push notices to that can no longer receive them.
The Bad News
You need a valid signed SSL certificate for your site running on your web server for it to work. No way around this because Apple requires your site to have HTTPS endpoints for the calls (which makes sense because otherwise someone sniffing packets could get the user's unique device ID and start sending them spam push notifications. I've built it in a way where you don't need to run your entire site on HTTPS if you don't want (although not sure why anyone wouldn't want to if they have a valid SSL certificate). You can get fairly cheap SSL certificates here: http://www.startssl.com/

You need a live Apple Developer account (or at least know someone that will generate you a Website Push certificate on theirs (no clue if this is allowed under their terms of service, but I would think it's okay). You need to regenerate your push certificate .PEM file every year since they are only valid for 12 months. This basically adds a $99/year to buy an Apple developer account (and keep it active since you have to regenerate certificate annually) if you don't already have one.

You need access to a Mac once a year when you generate your .PEM file.

Overall, I've taken the time to make it all as easy as humanly possible to install and use for site owners, but it's still not a simple thing. And while the bulk of the overall costs are going to go to other providers (SSL certificates and Apple developer account annual fees), I'm going be the one stuck doing support and helping people with it all and updating product when Apple's API changes, etc. Realistically the less sites who use it, the better (mainly because of the support that is going to be required, but I suppose there's also value in not a zillion sites having it to keep it as a uniqueish feature for the sites that do). Given that, it's not going to be a freebie or a super cheap addon on my end.

It's more or less a pretty vertical market/fun thing for now... but it's usefulness will increase 100-fold when Apple opens up the technology to iPhone, iPad and iPod devices (which is what I'm looking forward to as a site owner).
 
@digitalpoint
Shut up and take my money ;)

I also look forward to getting the push onto my members iOS devices. That would absolutely kill it.

I'm testing this with Macrumors site and they work really nice. http://www.macrumors.com/push/

It allows me to select which stories to get push notifications from.
Are we able to offer sections where the members can receive push?
 
Are we able to offer sections where the members can receive push?
Not exclusively for the addon... rather they piggyback the alert system mainly (as well as the conversation alerts). So anything that shows in your Alerts nav menu would be pushed (this even includes third party addons... alerts they generate should work fine as well).

So if someone wanted push notifications about new threads in a certain area, they would use the normal forum watch system that ultimately generates the Alert (and in turn the push).
 
So I more or less spent all day today and yesterday rewriting it and cleaning it up to make it as easy as possible for any site owner to use.
Wow, that is so awesome. Really looking forward to spinning this up for my users.

I've built it in a way where you don't need to run your entire site on HTTPS if you don't want (although not sure why anyone wouldn't want to if they have a valid SSL certificate).
Many CDN services don't support SSL on the source server
 
This is basically a $99 addon cause you need a developers account.
Well actually, add $25 if he releases it on his site for his members.
I don't need it but I think I'll sign into his site to see what it looks like.
 
This is basically a $99 addon cause you need a developers account.
Well actually, add $25 if he releases it on his site for his members.
I don't need it but I think I'll sign into his site to see what it looks like.
$99 per year
 
So I more or less spent all day today and yesterday rewriting it and cleaning it up to make it as easy as possible for any site owner to use.

Settings
Allows you define variables rather than hacking on push package and JavaScript.

View attachment 60286

Certificate Tool
I built a tool that makes it (relatively) easy to generate the necessary public/private key .PEM file for the system.

View attachment 60287

Icon Generator Tool
I even made a tool so you to upload a 256x256 icon, and then it generates the 6 various sizes/icon files for use in your push package.

View attachment 60288

It also has some additional functionality now as well...
  • It uses the deferred system to do the actual sending of push notifications (doesn't slow down the user who triggered the action that causes the push notice).
  • It logs daily stats (in the normal XenForo stats system) to record number of active devices as well as total number of push messages that were sent each day.
  • Has a daily cron job where it will contact Apple's feedback API and removes invalid devices (this is typically when a device allows push notifications, but then the device breaks/no longer in use). Apple's feedback API lets you pull a list of devices you've been sending push notices to that can no longer receive them.
The Bad News
You need a valid signed SSL certificate for your site running on your web server for it to work. No way around this because Apple requires your site to have HTTPS endpoints for the calls (which makes sense because otherwise someone sniffing packets could get the user's unique device ID and start sending them spam push notifications. I've built it in a way where you don't need to run your entire site on HTTPS if you don't want (although not sure why anyone wouldn't want to if they have a valid SSL certificate). You can get fairly cheap SSL certificates here: http://www.startssl.com/

You need a live Apple Developer account (or at least know someone that will generate you a Website Push certificate on theirs (no clue if this is allowed under their terms of service, but I would think it's okay). You need to regenerate your push certificate .PEM file every year since they are only valid for 12 months. This basically adds a $99/year to buy an Apple developer account (and keep it active since you have to regenerate certificate annually) if you don't already have one.

You need access to a Mac once a year when you generate your .PEM file.

Overall, I've taken the time to make it all as easy as humanly possible to install and use for site owners, but it's still not a simple thing. And while the bulk of the overall costs are going to go to other providers (SSL certificates and Apple developer account annual fees), I'm going be the one stuck doing support and helping people with it all and updating product when Apple's API changes, etc. Realistically the less sites who use it, the better (mainly because of the support that is going to be required, but I suppose there's also value in not a zillion sites having it to keep it as a uniqueish feature for the sites that do). Given that, it's not going to be a freebie or a super cheap addon on my end.

It's more or less a pretty vertical market/fun thing for now... but it's usefulness will increase 100-fold when Apple opens up the technology to iPhone, iPad and iPod devices (which is what I'm looking forward to as a site owner).
Soo... Where do I send the money to get this? LOL
 
It really is annoying how many prerequisites this thing has to have... So I decided to start building a system that allows sites to utilize our servers which are already HTTPS enabled for their API endpoints.

That means that when it's done it *should* eliminate the need for a Linux/Unix type server since our servers would be generating the push package for you (which is the only reason it wouldn't work on a Windows server).

It will also mean the site will not need their own SSL certificate since they will be bouncing off ours. Since only the underlying API endpoints need to be HTTPS, not the entire site that is the destination for the user. The end user won't know the difference, and they will never be directed to digitalpoint.com in their browser or anything.

It will be a simple toggle in the addon, so those HTTPS already set up on their site with valid SSL certificates can keep everything in-house.

I still have a lot of work to do on getting it all working seamlessly, but the way it works is the site owner sets/uploads the necessary info until a new area on their Digital Point user account. Long story short is that it will be an option that will remove as much as the prerequisites/setup headache as possible.

upload_2013-11-5_15-27-51.webp
 
So would you still need an Apple Developer Account to be able to do this?
Yes you would... or at least know someone that has one that would be nice enough to generate you a website push certificate since that's really all you need out of it (takes about 30 seconds to make one). :)
 
Awesome....well once you get this all setup where everything is done through your site I may very well just get this for my new site. While it won't benefit most it will me...... I'm guessing I will need to sign up for the OSX part of the Developer site....?
 
Awesome....well once you get this all setup where everything is done through your site I may very well just get this for my new site. While it won't benefit most it will me...... I'm guessing I will need to sign up for the OSX part of the Developer site....?
You can generate website push IDs with either the OS X or iOS Apple developer program (both run $99/year).

Technically you could probably get away with renewing it every other year (or so) because you could generate a website push ID on your first day, and again on your last day your developer account is active. So more or less getting 2 years (minus 1 day) out of it.
 
You can generate website push IDs with either the OS X or iOS Apple developer program (both run $99/year).

Technically you could probably get away with renewing it every other year (or so) because you could generate a website push ID on your first day, and again on your last day your developer account is active. So more or less getting 2 years (minus 1 day) out of it.

Well thanks for the heads up on that. Like I said as soon as you get things setup on your site I will most likely get this add-on and of course the Apple Developer Account.
 
Well, the option to utilize our servers for your push endpoints should be working now. It's just a toggle in the settings.

upload_2013-11-5_22-1-23.webp

You then can manage it through your Digital Point account here: https://forums.digitalpoint.com/account/push-proxy

I also added a certificate check when you are on the admin home... You will get a normal admin message there if your push certificate is within a week of expiring.

I really need to stop working on this. haha
 
Yeah... been watching it a bit. Probably still a few months away before it's viable... hopefully they will work the technology into their mobile versions (that's still what I'm *really* waiting for).
 
Yes, should happen in the near future I guess. Still it would also be nice to have PUSH notifications for desktop applications.
 
I really wish Apple would roll out Safari push notifications for iOS. I've gotten quite used to using them on my desktop machine (even though I use Chrome, it's still nice to see the notices).

We are consistently getting a few new users using it per day. 223 users are using the OS X push notices to their desktop. If this was available on iOS already, I suspect that number would be closer to 10,000 users using it.

upload_2014-2-10_12-10-20.webp
 
Top Bottom