How to use GET and POST properly: safety and idempotency

March 28, 2008

Ever used GET and POST requests with wild abandon? Use POST requests on your forms to “hide” the URL parameters? If so, you probably don’t understand the right and wrong times to use each properly, the keys are safety and idempotency:

It’s not just about GET vs POST. There’s this other little point: the distinction between safe and idempotent.

Safe means a request doesn’t cause any side effects. A safe request just grabs data from a database and display it. Static pages, browsing source code, reading your email online — these are all “safe” requests.

Idempotent means that doing the request 10 times has the same effect as doing it once. An idempotent request might create something in a database the first time, but it won’t do it again. Or it’ll just return the reference to it the next time around.


Highly available EC2 deployments: Elastic IPs and Availability Zones

March 27, 2008

Amazon has beefed up their Elastic Cloud services by allowing developers to dynamically allocate up to five static IP addresses and assign them to any of your EC2 servers.  Amazon calls this new feature Elastic IPs.  This allows developers to swap IP addresses from machine to machine on the fly depending on failure or changing requirements:

server_upgrade_3.png

Amazon’s new Elastic IP (EIP) addresses allow users to allocate an IP address and assign it to an instance of their choice. What’s really cool is that each IP address can be reassigned to a different instance when needed. For example, if the first one failed or if a new one is supposed to take its place.

The RightScale blog has an excellent write up on the new features and the possibilities this brings. The main takeaway is that EC2 is now fully capable for deploying production, high-availability applications.

The second big announcement is the introduction of Availability Zones.  This means you can bring up EC2 instances in Amazon datacenters in different regions of the world as needed.  From All Things Distributed:

Availability Zones allow the customer to specify in which location to launch a new EC2 instance. The world is divided up into Regions and a Region can hold multiple Availability Zones. These Zones are distinct locations within a region that are engineered to be insulated from failures in other Availability Zones and provide inexpensive, low latency network connectivity to other Availability Zones in the same region.


Is the web the appropriate place for your ads?

March 17, 2008

Adage has a post that starts with a story about how Apple supposedly isn’t spending enough money on buying online ads.  That’s not the right conversation to have though.  Is the internet even an truly effective advertising medium?

Here’s the issue: The internet is too often viewed as inventory, as a place where brands pay for the privilege of being adjacent to content, like prime-time TV and glossy magazines relics of the pre-blog days when getting into the media game actually required infrastructure and distribution… For the media seller, ads and ad revenue might be all that’s left.

[W]hy pay for reach with the array of distribution channels already available? That’s a question no media player wants to hear, whether it’s old-school or new. Even discussions of still-shiny new phenomena such as social networks, which allow marketers to get up-close-and-personal with consumers, inevitably drift toward relatively hoary notions of advertising simply because the business model that undergirds social media is — you guessed it — advertising.

And most importantly:

“It’s easy for clients and agencies to think about banners and email because buying banners is like buying outdoor and email is like direct,”

You cannot treat the internet like the media of the old days.  It might look the same, but it’s not the same duck.  Jakob Neilson put it this way:

“The basic point about the web is that it is not an advertising medium. The web is not a selling medium; it is a buying medium. It is user-controlled, so the user controls, the user experiences.

If your advertising doesn’t add value to a user’s online experience, you will fail and fall far short of your goals.

Further reading, see my post about Banner Blindness and why (traditional) banner advertising is on the way out.


Joel Spolsky pontificates on Unicode… in 2003

March 17, 2008

An oldie but a goodie from 2003, Joel unravels the basics of Unicode so you don’t have to.  Our own Lee Aylward is a bit of a unicode mastermind himself.

I’ve been dismayed to discover just how many software developers aren’t really completely up to speed on the mysterious world of character sets, encodings, Unicode, all that stuff. A couple of years ago, a beta tester for FogBUGZ was wondering whether it could handle incoming email in Japanese. Japanese? They have email in Japanese? I had no idea. When I looked closely at the commercial ActiveX control we were using to parse MIME email messages, we discovered it was doing exactly the wrong thing with character sets, so we actually had to write heroic code to undo the wrong conversion it had done and redo it correctly…

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets No Excuses


SXSW Interactive 2008 Podcast

March 14, 2008
Here’s the link for the podcasts of the interactive sessions from the 2008 SXSW interactive festival. Enjoy! I was listining to Tantek Çelik’s Body Optimization talk this morning on the way to work.  Almost makes me want to become a vegetarian ;)

Business Technology : Bigger Computer Monitors = More Productivity

March 13, 2008

I should really think about picking up a second 24-inch LCD for home.  For those of us who spend 8+ hours working on the computer each day, up to 2.5hrs could be saved by buying two 24-inch monitors for your desk:

Researchers at the University of Utah tested how quickly people performed tasks like editing a document and copying numbers between spreadsheets while using different computer configurations: one with an 18-inch monitor, one with a 24-inch monitor and with two 20-inch monitors. Their finding: People using the 24-inch screen completed the tasks 52% faster than people who used the 18-inch monitor; people who used the two 20-inch monitors were 44% faster than those with the 18-inch ones. There is an upper limit, however: Productivity dropped off again when people used a 26-inch screen.

Business Technology : Bigger Computer Monitors = More Productivity


SXSW: A Critical Look at OpenID

March 13, 2008

Ryan Janssen has an excellent summary of the OpenID panel I sat in on at SXSW:

I actually made my way through the labyrinth that is SXSW to one of the lesser rooms about 15 minutes early (WAY early in SXSW time). To my shock, the room was already packed (300-500 people). Even more telling, this was a very sophisticated 300-500 people. I would guess that about a quarter were implementing or looking to implement identity solutions in some form or another. In other words, this space is SCALDING hot.

SXSW Report: A Critical Look at OpenID


OpenID is to oAuth as Authentication is to Authorization

March 13, 2008

OpenID and oAuth are two technologies that solve big problems on the web (and create some new ones), that have considerable momentum behind them.  Problem is, a lot of people don’t understand the two, or don’t understand the difference between the two.

Malcolm Tredinnick, Django developer extraordinaire, drops knowledge about the confusion some people have between OpenID and oAuth.  Truth be told, I probably had many of the same confusions and misconceptions before I educated myself this weekend at SXSW by attending a few panels on the subject.  The key difference is between authorization and authentication.

That and the fact that oAuth is somewhat of a poor name, considering most people automatically assume that the auth in question is authentication, when in fact it is authorization, or giving an application permission to access, manipulate, or remove your content.  Malcom explains (emphasis mine):

Lazy message writers, in email, on blogs, even in the printed media, will throw around the abbreviation auth as though it’s well-defined and clearly understood. They’ll talk about “the auth system” or use it as a verb (little realising that when I rule the world, there’s going to be a severe accounting for that bad habit) “you’ve been auth-ed”.

The problem is here that “auth” is an abbreviation for both authorisation and authentication and they are different aspects of identity management. Unless the context is very clear, it is often confusing as to which use is intended.

Defying Classification: Explanation: The Difference Between OpenID and OAuth


Doubleclick gets the Google treatment, meet Ad Manager

March 13, 2008

Now that Google and Doubleclick have finally tied the knot, they’ve unwrapped what looks like a very compelling new product called Google Ad Manager, Wired’s Compiler has a short article on the service:

While Google AdSense offers fully automated ads based on your page’s content, the new Google Ad Manager is designed to help you manage and sell custom ads to companies of your choice.

Think of Ad Manager as a dashboard for controlling your own ad empire.

slide_3_final.jpg

It looks as is Google has taken Doubleclick’s existing Revenue Center and given it the Google treatment.  They’ve taken explicit steps to make the tool easier to use for small companies with even smaller media departments.  Let me just say right now that I think a tool like this is going to be insanely great for small to medium sized advertising agencies.  From the official Google Blog:

Google Ad Manager is a free, hosted ad and inventory management tool that can help publishers sell, schedule, deliver and measure their directly-sold and network-based ad inventory. It offers an intuitive and simple user experience with Google speed and a tagging process so publishers can spend more time working with their advertisers and less time on their ad management solution. And by providing detailed inventory forecasts and tracking at a very granular level, Ad Manager helps publishers maximize their inventory sell-through rates.

Right now, you can sign up to receive an invitation when the service goes completely live; I can’t wait to see if it works for our team here at Stone Ward.


Two of my favorite panel / presentations from SXSW 2008

March 12, 2008

I sat in on many panels this year in Austin.  Some of them turned out to be major duds and some were simply amazing.  Of the set of panels I felt I got a lot out of, two have placed their slides online for everyone to enjoy.  They are obviously not as good as actually sitting in on their panels, but you can still get something from them.

The first up is John Resig’s Secrets of JavaScript libraries.  The panel consisted of Sam Stephenson (prototype), Alex Russell (dojo and fellow Purdue alumni), Thomas Fuchs (Scriptaculous), John Resig (jQuery), and Andrew Dupont (also prototype):

The second was a panel put on by Derek Powazek called Weird turn Pro: Crowdsourcing for Creatives. Derek talked about his vast experience in building growing online communities, highlighting what works and what doesn’t work and how you can help your contributors and fans feel like they’re a part of something larger than themselves:

There currently exists no audio for these two panels, but the SXSW staff is producing and posting them at a rate of about three to four a day and posting them on their podcasts page.