All opinions on this site are solely those of the author unless specified otherwise. All affiliations and endorsements will be disclosed if present. If no disclosure, no affiliation exists.

I'm just here so I don't get fined...

Thanks, ElasticSearch!

Points for elasticsearch.

I got a V-day card from them, which was nice. Included is ANOTHER v-day card, which got a chuckle. It's blank, with envelope and the first card says that since we're all busy people, here's a v-day card ready to go. Give it to someone.

Classy, funny, and memorable.

7 Tips to Improve Your Mobile Performance

Optimizing your mobile site is more than just search engine optimization (SEO) or making sure your content looks acceptable on mobile devices. There are a number of specific areas in which a little attention to how your website’s mobile counterpart is created can go a long way towards improving performance as well as ranking. From the common sense to the not-so-obvious, these seven tips cover a cross-section of areas where you can make measurable gains.


1. Use Google’s “Mobile-Friendly Test” to check your site.

Google’s Mobile-Friendly Test is a fantastic tool and a good place to get started. After giving your site’s URL, the tool will tell you if your site is mobile-friendly as well as show you how Google sees your page through the eyes of a mobile browser. It will even alert you to page elements that cannot be loaded, allowing you to quickly ensure your mobile display is as complete as possible.

2. Optimize for search engines.

True of non-mobile sites as well, but especially important for mobile, always ensure that search engines can crawl your content. Many webmasters will block images, CSS and JavaScript from search engines in their robots.txt files. This prevents crawlers from seeing them, however, and rendering your mobile site as intended. Google provides a tool called “Fetch As Google” that can help.

Advanced tip: Don’t presume that search engines will be able to identify your mobile site. Include viewport data in your HTML to remove any doubt.


3. Test all of your media on mobile.

Some video files are blocked from mobile playback or may use a format not supported by many devices. Don’t presume that because it scales it will also play. These days, it’s also advisable to use HTML5 for media playback.

4. Check your redirects!

If your desktop site redirects users to the mobile site when it detects that they’re on a mobile device, ensure that the redirects — including paths and query string arguments — are correct. Simply redirecting every desktop page to the mobile home page results in search engines having just a single point of entry to your mobile site; this can sometimes confuse their crawlers.

5. Serve mobile content before ads.

This tip can be argued, but adding a mobile ad page before serving mobile content is generally a bad idea. This includes both advertisements and pleas to download a mobile app before proceeding to the actual mobile site. Many users will abandon a mobile site when presented with such a “speed bump.” Resist the temptation. Instead, use a banner rather than an interstitial or popup page.

6. Optimize your mobile pages.

Remember that a large number of your users on mobile devices are also on slower and sometimes unreliable connections like cellular. While desktop web pages should be well optimized, mobile pages demand it. Images should be as small as possible. Be mindful that the resolution of a mobile device may be significantly smaller than a desktop site. Take advantage of this fact and serve smaller images.

Advanced tip: If you have dynamic content generation for desktop and mobile, add a “Vary” header to your output to signal to search engines that they should re-crawl with mobile settings.

GET /page-1 HTTP/1.1
Host: of HTTP request headers...)
HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710
(... rest of HTTP response headers...)

6. Optimize your mobile pages.

Yes, this is the same tip as the previous one, but it’s so important that we felt it necessary to say it twice.

7. Think about URLs.

Google and all major search engines do not give any extra benefits for using separate URLs for mobile. That is, if your site is on but your mobile site is, Google neither penalizes nor rewards your search engine ranking. Use separate URLs if that is your architecture, but don’t feel that you must to get better ranking.

That said, remember, if your mobile and desktop sites are on separate URLs, search engines are going to index them separately. That also includes your reputation scores on these pages, which will be calculated separately. Higher-traffic websites might not care about this, but smaller ones might. You might want to avoid separate URLs for this reason.


The Ultimate Counter to the Exposure Pitch

There are a decent number of stories going around the Internet, many of them recent, about how artists should push back on being asked to work for free. Let me state up front that I agree with this position to the tune of about 80%.

There are times when working for free makes sense - if you're doing a favor for a friend, for example, or you're donating your time to a good cause. I've done some artistic work as a gift and I know some photographers who regularly shoot weddings as gifts (and that's an expensive gift!). I've shot bands that I love in exchange for being let into the venue for free and the necessary front-row stage-side access. I can be a fanboy like the next guy. This isn't about those times. This is about the times when someone who can and should pay for your artistic talent and time still asks that you do/perform their gig for free.

The latest, describes how Oprah Winfrey asked an artist to attend and perform for no compensation (and, after pushing back on the issue, offered a little gas money before revoking the offer completely). The artist rightly points out that while "exposure" was dangled as the draw, her landlord won't accept rent payments in whatever quanta "exposure" uses for measurement. I'll stop using quotes around exposure now.

That outlined, I have found a sure-fire, ultimate counter whenever someone promises you exposure in exchange for your time, work and talent. The conversation goes something like this:

Promoter: Hey, Chris, I have this fantastic project I'm working on, and I need a photographer. I immediately thought of you because I love your work. You'd be perfect for this gig!

Photographer: Wow, thanks, I appreciate that! Let me read over these requirements... okay, yeah, that's a lot, but I can nail this for you. Let's talk fee and usage - what's your budget for this, and let me see if I can exceed your expectations.

Promoter: Well, there's the thing. The budget is zero for photography. We're spending a lot on everything else, and, well, we're just out of money. But look there are going to be hundreds of people there and they'll all see your work. You'll get tons of exposure out of this that should bring you lots of paid gigs.

Photographer: Oh, really? Well, hey, you know your stuff, right? You're pretty confident about this?

Promoter: Absolutely. 100% certain.

Photographer: Well, not to get stars in my eyes, but let me outline this. My normal fee for something like this would be on the order of $2000. If I do this for you for free, that's $2000 I'm not getting. But you say hundreds of people. Do you think I could get three paid gigs out of this?

Promoter: Easy. Do a good job and sure, I could see three people hiring you based on your work. Maybe even five!

Photographer: Let's say three, just to be fair. That means by giving up $2,000, I could make $6,000. That would be a profit of $4,000. That's not bad.

Promoter: Now you get it! I'm totally jazzed, man!

Photographer: Great! So here's my proposal - since you're so sure that I'm going to make this money, I want to cut you in. You pay me my normal fee of $2,000. In exchange, I'm going to split everything I book from this gig with you, 50/50 as a thank-you for giving me such an incredible opportunity. If I book three gigs, that means that you paid me $2,000, but I immediately turn around and give you $3,000 back. You actually make $1000 just for hiring me! And if I book five gigs like you said, that's $10,000 in bookings. You get $5,000, minus the $2,000 you already paid me, meaning you profit to the tune of $3,000 on this deal. The sky's the limit, my friend! Exposure!

Promoter: (crickets)

And that, my friends, is how you use math, science and common sense to take down the myth of exposure.

If you ever do this and it works, I'd really love to hear about it - share in the comments, any time. And feel free to share and repost this advice. It's free (as in beer) and I hope it helps someone spread the message.

PS: Any aspiring web comic who would like to take this conversation to a set of panels, get in touch. I'll trade the text for the art and we can both publish it. That's not exposure, that's barter, if both parties believe they're getting value. See how easy that part is?

The Holiday Slowdown?

It happens every year about this time - the holiday slowdown. Lots of days off around holidays, people in the office taking time off meaning that projects seem to slide into January, comments like, "Yeah, let's just push that off until after the holidays..."

Same here, I suppose. I'm taking advantage of a lot of this time to catch up on loose ends, get a lot of reading done, and create planning specifications for things that, as I noted, won't really get started until after the holidays.

I hope you have a great holiday season and I look forward to more insightful (well, at least to me!) blog posts.

After the holidays ;)

You're Only Getting Half of the Lesson

My friend Rick shared a story with me this morning, about a seminar and a lesson. I quote it here:

Once a group of 500 people were attending a seminar. Suddenly the speaker stopped and decided to do a group activity. He started giving each person a balloon. Each person was then asked to write their name on it using a marker pen. Then all the balloons were collected and put in another room.

The people were then let into that room and asked to find the balloon which had their name written on it within 5 minutes. Everyone was frantically searching for their name, colliding with each other, pushing around others and there was utter chaos.


At the end of 5 minutes no one could find their own balloon. Then, the speaker asked each person to randomly collect a balloon and give it to the person whose name was written on it. Within minutes everyone had their own balloon.

The speaker then began, "This is happening in our lives. Everyone is frantically looking for happiness all around, not knowing where it is.

Our happiness lies in the happiness of other people. Give them their happiness; you will get your own happiness. And this is the purpose of human life...the pursuit of happiness."

Ferris at the CBOENow, what does this tell us about happiness? Well, the concept is pretty well-known, if you help others, often that help will come back as help to yourself. A rising tide raises all boats, as they say. Selfishly, if you do nice things for other people, they're more inclined to do nice things for you.

I'm not telling you anything you don't already know.

So let's examine the actual events here, instead. Initially, everyone looked for their balloon, and had a 1-in-500 chance of finding it. Let's say ten people managed to do so and that they even helped a little by getting out of the room when they accomplished that goal. That still leaves 490 scrambling people. Clearly this demonstration, at this point, works. Chaos is bad. Random searching is the wrong protocol to solve this problem. The leader of the seminar deliberately picked the wrong algorithm to make his point.

A better algorithm is then described. Clearly, on its face, this makes more sense. But we can't leave it there. I asked Rick, "Okay, by what protocol did people call out the name of the person on the balloon they selected?" Rick answered, "The Starbuck's Protocol." Sure, everyone has their order. As they're ready, the barista calls out your name and you pick up your double cafe latte and go about your day. But in this story, there is no barista - there is no leader.

Trading PlacesIf this were played-out as described, the exercise would look like a rough day in the pit at the Chicago Board of Exchange (that wild place Ferris and friends visited on their tour of Chicago and the setting for the payoff of one of the greatest movies of all time, "Trading Places."). To make this work properly, you need a leader to coordinate the protocol. The leader could tell everyone to quickly and quietly pick a single balloon. Then the leader could say, "If you know the person, please immediately walk to them, swap balloons with them, and then if you have your balloon, please exit the room. Start this now, while we continue. Now, we'll move quickly: if the name on your balloon starts with an 'A,' please raise the balloon up high and, as I point to you, say the name. Then follow the previous protocol - if you hear your name, go get your balloon, swap, and leave. We'll move as quickly as we can through the alphabet. Someone bring me a double cafe latte."

That's just one possible protocol. As a software architect, I immediately can think of some pretty interesting optimizations that I'd love to try. But for a quick "teach you a lesson" exercise at a seminar, if someone stepped up and took the lead and made this work, I'd keep my eye on them and find out if they're looking for a new job.


Site Map