where *not* to register your domain name

Spoiler alert, it’s Network Solutions. It seems like just last month I was trying to rescue a vanity domain name from Under-Construction obscurity. It appears that every four weeks Network Solutions wants to enjoy ad revenue by taking over your hosted domain name (when you stop watching them like a hawk). So instead of your customers landing on your website they end up on an Under Construction page which has keyword lookups. Obviously, they make money like this by stealing your property when you’re otherwise not watching out for this treachery.

UnderConstruction

So now I’m on the long hold with customer support, having entered the combination of voicemail commands to put myself into the wants-to-cancel-service queue. Of course, this queue is poorly-staffed because they don’t want you to cancel any of the services.

Having now waited out a 30-minute+ hold queue I eventually got to talk with a Michelle who couldn’t actually help me directly since I’m not the principal on the account. I prep’d the principal to indicate YES to the cancelation but we’ll see if that actually plays out. I suppose I get to wait until tomorrow then to bring that vanity domain into service.  <_<

Other People Complaining About Network Solutions

hacking agar.io, part 4!

Eureka! I’ve managed to totally cheat the ads and still play Agar.io on my iPad! Yesh.

For those of you following along, here are the entries that I had to create in my surrogate DNS server:

  • agar.io (with A records @, www and m)
  • facebook.com (with A records @, www and graph)
  • amazonaws.com (with A record prod-miniclip-v3-881814867.us-west-2.elb)
  • miniclippt.com (with A record mobile-live-v5-0.agario)

This allows the game to startup, authenticate via Facebook’s mechanism and to start the game. Gone are the ads in their entirety.

hacking agar.io, part 3

This would be the third post in a series. You might want to read the first in the series if you haven’t already done so. Here, I continue with the work related to rendering the game server’s ads so that they don’t display at all.

DNS server

It struck me that if I could build a relatively-ignorant DNS server of my own and point my iPad to it then I could control which servers my computer talks to. Remove everything but the minimum and this should work for killing the Agar.io advertisements.

So I would need to use nslookup to find the IP addresses of the servers the game talks to. And since I’m authenticating via Facebook’s mechanism I’d need to educate the DNS server to this as well.

I happen to have an Ubuntu server which is under-utilized at the moment since I’m using it to develop WordPress plugins. So I installed bind9 (the DNS service) to this server and then configured it with some entries and zones:

  • agar.io @, www and m
  • facebook.com @ and www

For each of the entries above, I just used the nslookup command to determine what the normal IP address(es) would be and used those values.

The next step would be to make sure that this bind service does not do recursive lookups, in other words, it won’t ask for help if it doesn’t know the zone in question. So in theory, it will only give answers to the entries I’ve made; anything else will fail a lookup.

Next, on the iPad -> Settings -> Wi-fi -> my zone area, I manually set the only DNS server to be the IP address of my private server. I then confirmed that in a browser I could not resolve Google.com but could see the webpage for Agar.io.

Did it work? Not yet. Upon startup it either is missing a critical server it needs to talk to and the app now can’t do the DNS lookup to find that server. It’s okay. I’ll keep hacking away at this to find out what server that is. I should be able to get this approach to work, I just need to go to school on the application some more to find out.

firebase notches things up

Looks like Firebase is likely getting an influx of capital from Google from what I’m seeing. Google announced on May 18th that they’re using Firebase as its unified platform for mobile developers after acquiring them in 2014. Too bad they didn’t give the nod to Adobe’s PhoneGap, given its traction so far in this arena, to-date.

Firebase’s pricing page now indicates that their free entry-level tier Spark now includes custom domains! This is going to be great for developers, especially. We can’t afford to pay $25 per month per concept site that we’re running—that’s just madness. But we can afford free. I can afford free all day long, in fact.

Granted, there’s a lot that you don’t get with Firebase since it really changes things up. You  don’t get server-side code like you might get with the typical Apache/Perl setup. You also don’t appear to have server logs that you’d find on most hosting plans. I think they assume that you’ll use Google Analytics and push that content to them in the form of client-side JavaScript.

Existing developers

Unfortunately, they haven’t figured out what to do with us early implementors. Their interface wants to charge me to add a custom domain to my developer tier. I assume that you’ll need to delete your existing rig, re-create a new account and then push the content back to them in order to take advantage of the new Spark tier offerings.

creative marketing

Beware the incredibly-addictive game agar.io that will turn you into a cannibal in the microbial sense. The goal of the game appears to be: eat or be eaten.

a∙gar  noun  gelatinous substance obtained from various kinds of red seaweed and used in biological culture media…

This stuff’s interesting if your day job is at a pharmaceutical company. I find the game enjoyable and yet maddening at the same time. You can’t believe how mean people can be until you’ve been at this for an hour… or a day. Did I mention that it’s addictive?

Gaming as marketing

And so I find that I need to market a new website that I’ve created, myJS.io. The game itself actually includes an advertising venue and yet those ads couldn’t be displayed at a worse time: your session’s game death. Seriously, your game death is a time for mourning (and usually some well-deserved cursing) but decidedly not for marketing purposes. On that note, if you play the game you need to turn off your sound and be ready to just quit the game and restart it—it’s much faster than trying to endure the inserted advertisements.

It’s interesting to note that Arnold Schwarzenegger appears to be in one of the ads and he’s trying to sell something to me. I couldn’t tell you what it is because I never watch the ad. I say this as a cautionary tail to Arnold and anyone else who wants to get your attention in the wrong way: you’re wasting your money.

Changing up the advertising model

And so, I play the game as I normally would only I opt out of any skins I’ve earned (I’m level 30 because I’m cool like that) and I tag myself with my new website’s domain name. And then—now this is important—I play in such a way that I’m hopefully not perceived to be a jerk.

Agar-top

Game play

The game incorporates features so that you can move your player in all directions plus two more options: 1) direct/shoot a small uncontrollable part of your mass away from you and 2) split and direct about half of your mass which you can control at someone else.

Your speed is determined inversely from your mass. You begin the game tiny and fast. As you progressively get larger, your speed is vastly diminished.

You increase mass by moving over (eating) small circles which represent nutrients, (possibly sugar), or by eating other smaller players or their parts which they’ve split off somehow.

Add to this a collection of green spiky viruses. If you run into a virus and you’re slightly larger than it is then you’re blown into smithereens and yet you still get to control the collection. And yet this is usually the trigger for a feeding frenzy as your neighbors eat you for lunch. If you’re the same size as the virus or smaller you can pass through safely.

Strategy

A normal strategy for most appears to be to eat anything around them that they can. Some form alliances by sharing mass with another player then teaming up on others. Yet others hide behind viruses. Another strategy is to shoot enough of your mass into a virus so that it creates and shoots another virus at some larger player, causing them to blow up (with the subsequent feeding frenzy).

There are splitting attacks, multiple splitting attacks, baiting attacks, corner attacks and one that I really hate: a smaller player approaches you and at the last moment their team mate gives them enough mass to eat you.

But nowhere in all that did I describe the strategy of simply: eating the sugar and being nice to others. Apparently, that strategy doesn’t appear to exist, until now at least.

Enter the marketing strategy

So now, I visit agar.io and play the game with my website’s domain name as my tag. My strategy is to eat sugar, play nice, avoid eating the small/helpless and just survive as long as possible. The longer I survive, the more people will see my domain name.

Agar-myJS.png

Is it better than standard advertising? It’s certainly better than others I can think of. The only money it costs me is my time but it’s a fun game so I don’t mind. I’d bet that hundreds of the habitual players have even memorized my domain name by now and some of those have even visited the website. In fact, there have been many times when another player shows up and then rewards me out of the blue, seemingly, with mass. Presumably they remember me from some previous session. Think of this as karma-based game marketing.

Eventually, someone who sees my website might want their own website or app designed and all this will have paid off. And even if it doesn’t, what did I lose ultimately?

unseen complications

Don’t you hate the unseen complications that rear their ugly heads somewhere down the line?  Today’s drama involved the inclusion of a very cool fullscreen api by Vincent Guillou.  Of course, it worked great in development and then failed silently on production.  Here is an overview of what makes my production site a little different.

Production Site Overview

GoDaddy domain name hosting with option “forwarding with masking” —> Firebase.com—based hosting site

GoDaddy does this technically by serving up a single HTML page which simply frames the remote content.  By its nature, it uses the HTTP protocol and cannot use HTTPS. In its configuration it allows you to set either HTTP/HTTPS for the framed content, however.  You’d think that you would have plenty of room to make something work. And it did work just fine up until the latest add to the project:  a button which allows the browser to go full screen and back again.

Unfortunately, the first push to production then failed silently. The button was there but didn’t seem to work. Entering the development area of the browser I saw that the browser had to block the content because the framing page was HTTP and the framed content was HTTPS and this isn’t allowed.

Okay, so I thought I could then adjust GoDaddy’s settings so that I could frame the content as HTTP to match the parent document. Unfortunately I see that Firebase always uses HTTPS and does not support HTTP. Since I can’t mis-match the content and combined with the fact that I can’t easily promote GoDaddy to HTTPS on the framing page or demote Firebase on the framed page, I was screwed.

To make a long story short, I either had to pay for hosting at Firebase (which allows you to bind your domain name to their hosting server) or I could abandon the cool  feature. Since I’m trying to highlight the cool new features of the latest browsers I decided that’s it’s better to just pay Firebase in this case.

It was still a bit technical in getting all this to work since Firebase only bound a single entity (www) to the website using my domain. This means that if someone just puts in my domain name only then they’re stuck at a GoDaddy-parked page. To work around this problem, I set up a redirect to deal with this situation. This time it looked like:  myJS.io -> http://www.myJS.io. Problem solved.

So now, the cool new feature is working on production and the implementation is slightly simpler, not that anyone else would necessarily know.

use your domain name not theirs

There are times when you want to use a service provider like Gmail, WordPress, Firebase, Heroku or OpenShift but you don’t necessarily want to keep advertising their domain name with your business, blog or website.

Converting me@gmail.com to me@MyDomain.com

This one is easy enough, assuming that you know your way around your domain registrar’s configuration.  I usually park things at GoDaddy these days so I’ll use them as an example. Likewise, I’ll assume that you have a free mailbox at Google’s Gmail.

Assumptions:

  • Mailbox: me@gmail.com
  • Domain: MyDomain.com
  • Registrar: GoDaddy

Instructions:

  1. Write down the collection of email entities that you would like to forward to your mailbox
  2. Log into GoDaddy, visit the Manage My Domains page
  3. Choose the Manage Email link associated with your domain
  4. If you haven’t already, setup email forward for your domain
  5. Choose the Create Forward link
  6. Type in the first email entity from step one above, for example, support
  7. When you type the @ symbol you next get to select MyDomain.com
  8. In the next field, enter your mailbox name of me@gmail.com
  9. In the next field, choose the Free email forwarding with domain: MyDomain.com
  10. Click the Create button
  11. Repeat for each of the entities you’d like to be:  support@MyDomain.com, info@MyDomain.com, MyName@MyDomain.com, etc

It’s best at this point to wait a couple of minutes and then send a test email out to one of these entities to see if it arrives into your mailbox.  Once you’ve verified that it works you may begin to use it confidently.

I routinely create multiple mailboxes for notification apps so that they can have their own email queue.  Again, email forwarding hides the Gmail mailbox name.

Converting wordpress.com/Me to blog.MyDomain.com

Again, this is easy enough using a feature called forwarding with masking.

Assumptions:

  • Blog: wordpress.com/me
  • Domain: MyDomain.com
  • Registrar: GoDaddy

Instructions:

  1. Log into GoDaddy, visit the Manage My Domains page
  2. Choose the gear icon associated with your domain and then choose thee Manage DNS link
  3. Choose the Settings tab
  4. Under Forward -> Subdomain choose the Manage link
  5. Click the Add Subdomain Forwarding button
  6. Enter blog as the subdomain
  7. Select http as the protocol
  8. Enter wordpress.com/me in the next field
  9. Select 301 as the Redirect Type
  10. Under forward settings choose Forward with Masking
  11. Click the Add button

Give it a couple of minutes before giving this a try to see if it works.

The same technique works for your website.  For example, I’m hosting a website at Firebase.com, another at Heroku, yet another at OpenShift.com, etc.  Each of these hosting providers would probably love it if I allowed the world to see their domain name in the URL.  But I’d rather not since that’s free advertising to them.  Don’t these examples look better?

happy-pretty-8464.firebase.com -> MyDomain.com

myphpapp-mydomain.rhcloud.com -> MyCoolApp.MyDomain.com

myappmydomain.herokuapp.com -> MyApp.MyDomain.com

Honestly, domain names cost you year after year.  You might as well take advantage of the many free services which are included with your domain registration.