Goofy - My Facebook Messenger App

A couple of month ago I wrote about this standalone-brower-app I wrote for Facebook Messenger using Fluid. I just used some CSS and JavaScript to overwrite some of Facebook's styles and added notifications and dock badges to the app (using the Fluid-API).

Now I did basically the same thing but I created a real app for that. Basically what the app does is, it takes and pulls some JS-code in. I built this app using the new WKWebView and mapped some JavaScript-calls to native functions so I can change the Dock badge and create notifications from inside my JavaScript. Other than that I am only changing the CSS to make it look like a real app.

I am really no fan of this kind of web apps. But Facebook doesn't expose all their features in the API and the XMPP-support is too basic (I want stickers and group chats and all that other fancy stuff). With my approach, the app can do everything that the real Facebook Messenger can, because it is the Facebook Messenger. But as soon as Facebook changes the smallest bit of their code my app could break. This is why my app pulls the JS from a server every time it is launched. This makes it easy for me to implement features and respond to changes without updating the app itself.

You can take a look at the JavaScript I am pulling into the app. And you can download the app from