Archive for March, 2007

Amazon Prime 4% penetration

Thursday, March 15th, 2007

According to this Forrester’s Blog Amazon Prime is only used by 4% of Amazon customers. About half of those customers order a lot the other half don’t order that much (and they’ve forgotten to turn it off).

A 4% conversion is pretty bad for a loyalty program. If I started a loyalty program I would want a least 20% conversion.

I’d like to know what Peet’s Coffe & Tea has for adoption of their debit card. I checked their 10K’s, but didn’t find anything. Top secrete I guess.

What Happened To Those Entries

Tuesday, March 6th, 2007

My service provider changed hosts on my. The old posts are lost on some machine sitting in another datacenter. Sure they sent two emails, but under the title and description our DNS servers are moving. I don’t care if the DNS server changes, I run my own DNS.

My hosting provider didn’t mention they would be changing machines and ip addresses. I swear they are idiots. Hosting providers are free to do whats best for their customers and owners, and providing their actions were clearly communicated I would be fine.

Communications is the key.

Google Maps is Easy

Saturday, March 3rd, 2007

Turns out that Google maps is really easy to use. First you need a key, just sing up and get one. Then you can start showing maps.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<script src=”http://maps.google.com/maps?file=api&v=2&key=!!MYKEY!!” type=”text/javascript”></script>
<script type=”text/javascript”>
//<![CDATA[
function showmap(geocode) {
if (GBrowserIsCompatible()) {
if ( null == geocode )
geocode = new GLatLng(37.4419, -122.1419)
var map = new GMap2(document.getElementById(”map”));
map.setCenter(geocode, 13);
}
}
//]]>
</script>
</head>
<body onload=”showmap()” onunload=”GUnload()”>
<div id=”map” style=”width: 500px; height: 300px”></div>
</body>
</html>

Now if you like, you can add two more js functions to lookup new addresses, get their lat & lng and show the new map. The function getLatLng will execute the callback function workongeocode with a geocode as the arg.


function lookupaddr(address) {
var geocoder = new GClientGeocoder();
return geocoder.getLatLng(address,workongeocode)
}
function workongeocode(geocode) {
if ( null == geocode )
return
var divReplace = document.getElementById("latlng");
newLi = document.createElement("li");
newLi.innerHTML = geocode.lat() + " " + geocode.lng();
if ( null == divReplace.childNodes[1] ) {
divReplace.childNodes[0].appendChild(newLi);
} else {
divReplace.childNodes[1].appendChild(newLi);
}
showmap(geocode)
}

Now just add this html/js after the <div id=map …. >


<div id="myaddr">
<input type="text" name="thisaddr" size="50" />
</div>
<button onclick="lookupaddr(document.getElementById('myaddr').childNodes[1].value)">Get Lat/Lng
<div id=”latlng” >
<ul>
<li> first!</li>
</ul>
</div>

There you go, easy right?