Archive for July, 2009

Gmail unsubscribes from spam for you

The guys from big G never cease to amaze me. I was deleting an old coupon message from Pro Flowers today and accidentally hit the “Report Spam” button instead of “Delete”, and was greeting with this:

google-spam-unsubscribe

I thought unsubscribing from legitimate mailing lists was already pretty easy, but Google decided that one step was still one too many. The usability focus these guy extrude is mind-blowing at times.

If you’re curious, that “Learn more” link heads to a Gmail Help article. It just discusses why they did it, and nothing about how. So it’s less than helpful if you run a mailing list and are looking to leverage this feature for yourself. If anyone finds out how to tap into it, please comment or email me.


Fwd:Vault now open to the public

After eight months of development, Fwd:Vault — the secure data backup service that operates entirely through email — is ready and waiting for you.

This is a free beta release, so anyone can sign up and use the service totally free of charge. Hit the site to get started:

http://fwdvault.com

If the description “Secure data backups through email” isn’t obvious enough, you’ll find more information on the About page.


Get Inspired: JK Wedding Entrance

Just the latest entry in my get inspired series, my wife let me in on this one. It’s apparently made the news and ended up in more than a few facebook posts, so I am (as usual) just late to party. Oh well.

Always dance, and always do it to your own beat. Have a great weekend!


A bit of bad Google math

The following screenshot was taken from the documentation for Google Page Speed (aka the Google version of YSlow), under the section “Parallelize downloads across hostnames”

google_math

I don’t know about you, but I love looking at half-delivered web pages.

Let’s hope the guy who wrote this isn’t also responsible for the search engine’s built-in calculator.


Do I need to backup my Amazon S3 bucket?

If I store critical data in an Amazon S3 bucket, do I need to keep a backup copy somewhere else, or duplicate everything to a second bucket?

I searched high and low for an answer to the question, and couldn’t find a definitive word. I guess I should have read Amazon’s own design requirements first…

Amazon S3 was built to fulfill the following design requirements:
[ ... ]

  • Reliable: Store data durably, with 99.99% availability. There can be no single points of failure. All failures must be tolerated or repaired by the system without any downtime.
  • So there you go. Amazon S3′s massive infrastructure acts as a backup unto itself. If you store data in a bucket, it’s already being duplicated behind the scenes. Good stuff.


    Build a slick Twitter feed on your site

    A few months ago I published an article describing how to output a Twitter stream on a page using PHP, and later followed up with two more to polish the display. The article content and code examples have since been tweaked based on feedback and my own debugging.

    If you haven’t already had a look, or missed a portion, here’s the full series:

    1. Display Twitter updates on your website
    2. Calculate dates and times in different timezones (translate Twitter timestamps)
    3. Parse URL’s in text, create links (automatically link URL’s in stream)
    4. Download and store your Twitter posts in a database

    If you have any comments or questions, be sure to post them under the proper article.


    Firing a customer is okay, but not in this case

    An effective business always remembers that their relationship with a client is a two-way street. If the client isn’t holding up their end of the bargain, the company can and should drop them. This is called firing your customers. The discussion surrounding this notion, both pro and con, is pretty vast, and I recommend you do your own research to ensure you take the right approach for your market, your business, and yourself.

    However, in most cases the decision to fire a customer stems from one or both of the following basic scenarios:

    1. The client is a calculable drain on resources (i.e. the client is a net negative income)
    2. The client is a complete pain in the a**

    My personal feeling is that both situations grant justifiable cause to at least consider dropping the customer. In the case of A, something is seriously screwed up with the terms of the relationship. You initially charged too little or promised too much, or the client somehow wrangled you into that position after the fact. Whatever the case, the relationship has to be balanced or eliminated.

    Scenario B is self explanatory. In addition to generating a massive amount of stress and anxiety around the office, these cases often lead to Scenario A.

    In short, I would try to repair a relationship in Scenario A, but I would get rid of a B client as fast as humanly possible.

    Today a friend presented me with Scenario C, which is a landmine for businesses.

    The web developer for my friend’s company dropped them as a client recently. In the Dear Jon email on the matter, they stated that the relationship was “no longer engaging for less than $XX per month.”

    *Smack* No! Bad web developer!

    Let’s put aside the possibility that it was cover speech for the aforementioned Scenarios A and B and assume that the profit margin was the primary reason at work here. Unless there’s another con in the relationship to point to — perhaps toeing the line on B — this is never ever a good reason to drop a client.

    Businesses grow by building on past success, and you have your clients to thank for the opportunity to create that success. Dropping smaller clients for bigger fish is a helluva way to say “thank you” to clients who helped get you started and/or grow.

    No matter how awesome the work that my friend’s company received, that developer will only get bad reviews from here on out. Referrals, both good and bad, are the most powerful advertising you can’t buy. I’m on several business networks, and participants are often asking for web help. This developer has actually come up in a few cases. Guess what the response will be the next time someone asks about my experience with them?

    And consider the payoff to the developer. There are always bigger fish, so this practice only helps engender a reputation as an “ambulance chaser” of sorts. It’s a clear indicator that money is your first, last, and only motivation, and no one likes working with a company that’s purely concerned with the bottom line.

    You generate bad blood, and only get the opportunity to make more money in return (Which you had to begin with! Expand, hire more people, work harder!). There’s no way you come out looking like anything other than a money-grabber.

    Firing a customer is fine, but you better make sure you have your head on straight before doing so.