how about: create a website with a random string in the URL, send that URL via whatsapp combined with content that likely triggers many safety bells (at facebook, whatsapp, nsa,...) to a contact, and make sure that contact does not open the URL.
create a second website (same domain) with a different URL, also with a random string, and use this to compare.
check if first URL gets a hit, and if yes, check if second URL gets same hit.
(spoiler alert: first URL will get a hit, second won't ;-D)
Don't must of these services (Skype, Facebook, WhatsApp), load the URL to fetch a thumbnail, page title, and page description, to show in the chat window instead of just the URL?
The content is encrypted between you and the receiver. If you didn't hit the URL and the recipient didn't hit the URL, how did someone else hit the URL which was encrypted in the transmission?
Consider coffeescript. It does a good job at removing nuisance quirks from Javascript, and adding some python-esque features (sensible looping constructs, list comprehensions, etc.), while maintaining logical equivalence with the javascript it compiles to. (It also mirrors some of the syntactic features of ruby that make that language so appropriate for producing DSLs, which is a feature or a bug depending on your perspective)
You really can think javascript and write coffeescript.
Consider ES6 too. It also does a good job at removing some Javascript quirks and adds sensible looping constructs, list comprehensions, generators and generator comprehensions, proxies, rest/spread arguments (removing the need for the magical `arguments` identifier), classes (just sugar for what we already wire up with prototypical inheritance), modules, fat arrow functions etc.
No help on the DSL front though - still stuck with various kinds of brackets and parens.
On the other hand, it doesn't do the utterly horrible mistake of conflating variable declaration and variable assignment while forbidding shadowing, resulting with surprise bugs and spooky action at a distance.
I like the way ES6 is going, but Coffeescript has the advantage of maintaining compatibility with old (like, old-old) browsers. I hate having to do it, but you can't just ignore them.
Server-side, sure, use the latest build you can get.
Thanks! If you're looking for ways to ease the burden of compiling it yourself, my favorite tools are django-pipeline (for django) and middleman (for static sites). Both of these let you treat coffeescript files as first-class while you develop.