Amazon AWS releases CloudFront – here’s how it works

Amazon released CloudFront to public beta today. It’s a simple way to get free content publicly available to the edge of the network (closest to the recipient downloader).

From the AWS announcement:

Amazon CloudFront is a web service for content delivery. It integrates with other Amazon Web Services to give developers and businesses an easy way to distribute content to end users with low latency, high data transfer speeds, and no commitments.

Here’s how it works:

  1. Upload your content files to S3.
  2. Call the CloudFront API, specifying the S3 bucket.
  3. Use your S3 bucket’s already created domain and filename in your website (no change here).
  4. When a customer clicks a link the closest file is automatically routed.

So, uhhh, what’s special here? From AWS’s description, CloudFront is simply setting a flag for your S3 bucket that means it’s to be distributed around the cloud or remain in a single location.

This should be an addition to the S3 service, not a separate service. The added step of having to let CloudFront know you want the edge network coverage is an unnecessary chore. It would be better as an attribute for the S3 bucket. This would make S3 a stronger brand, keep it clearer for those navigating AWS, and simplify the process of pushing content (1 less step).

Here’s how much it costs:
Continue Reading

Scraping the rust off – AppEngine and iPhone SDK


Photo by Peter BaerCC


As a tech manager I’ve got myself in to that mode. You know the mode. The one where you’re so focused on building a great product that you’re not getting to code that often, if at all. This isn’t bad – you have to do whatever you can to get things done – but if you’re a developer manager, you need to live in this space. And I’ve felt the atrophy.

So over the weekend I scraped the rust off and tried some new stuff. I’ve never coded in Python, but I’ve had Google AppEngine sitting on my account for a while. And I’ve got a personal iPhone developer SDK and ADC membership. It was time to whip out the programmer-WD40.

What did I build? Pytchfork. What is Pytchfork? You’ll find out – but not in this post. It’s something I’ve had on my mind for a while. In about an hour I had AppEngine installed and Pytchfork configured. Less than two hours later I was done with a REST library and the framework for what Pytchfork will become.

A REST feature set for input. Basic XML, RSS, ATOM, and JSON as output. In a few hours. Not bad, and it felt gooooood.

From this I’ve learned Python is a friendly animal, and not just in theory. It’s too friendly. The lack of semi-colons in my C/C++ brain feels like I’m walking up to a cliff without a railing at each line ending. But it’s something one gets used to.

Unless you’ve written a PHP or Ruby framework you’re married to, AppEngine and Python is about the best thing you could do for yourself as a way to publish a small, personal, application.

Starting a Monday without rust feels great. Stay sharp!

Viva la digital audiobook sublimation

The New York Times published Say So Long to an Old Companion on the 28th of July.

The image above is the invitation from the audio department at Hachette for a party to mourn (read: celebrate) the passing of the cassette technology. Their final audiobook released on cassette was “Sail,” by James Patterson and Howard Roughan in June of 2008.

Cassettes held out far longer for audiobooks than music because they allow the listener to resume wherever they left off, in any device that supports a cassette (getting harder to find these). CDs took up about half of the audiobook market and digital download is already looking to surpass CDs in music.

This is great for me and the team, working on audiobook digital downloads. Developing software distribution allows an amazing amount of flexibility and ease of use. Digital allows us to resume where the customer left off (benefit of cassette), as well as provide a deeper connection through metadata and images. Through our Zip process, we help make it easy to put the audiobook on a device such as an iPod, WMA player, Windows Mobile or PalmOS phone.

Kind of like ice sublimation, audiobooks will sublimate directly to digital. No need to stop at a usurped physical media.

How to build a really successful web 2.0 service on top of another service and screw it all up

Twicecream – a fake service to demonstrate a point about single sign-on…

In web 2.0 there is a determination to screw up potentially great services. It’s my number #1 pet peeve with software development these days. Here’s a fictitious example of a service you might create…

You’ve built a service that automatically Twitters your geo-position and the name of an ice cream parlor when you’re in front of it. Your phone buzzes when an ice cream parlor is detected and begins sending photos to SnapTweet and TwitPic, including Zagats ratings and commentary. Other patrons respond back and generate conversations. This is your social network: Twicecream – a social network for twittering ice cream enthusiasts.

In front of Ben & Jerry’s on the Wharf, Zagats 4-stars, pics:

Congratulations! You just failed.

You didn’t fail by creating a service few would use. You failed because you didn’t utilize the authentication mechanism your patrons preferred. You built an unnecessary barrier to your garden by requiring an unnecessary account creation. Don’t do this, it’s arrogant and inefficient.

Your patrons have Twitter accounts. Twitter has an API. Your service should have asked the patron to log in with their Twitter credentials.

This isn’t just for social networking. This goes for all web services. SaaS solutions that require secondary account creations are a bad idea. Single sign-on, whenever possible, should be used.

The whole idea is to simplify access to what the customer needs. If you’re requiring unnecessary account creations, you’re screwing it all up.

FriendFeed’s response about feeds not updating


Ross Miller at FriendFeed responded to my question about FriendFeed feeds not updating. It seems is blocking mass spidering of their site.

Ross’s email:

“Hi Sol, places restraints on our ability to crawl their site. So if for some reason the item is missed, it becomes very hard for us to retrieve the link. Unfortunately for now the refresh button is your best option when this happens. Sorry for the inconvenience and we hope to get this resolved with soon.”

Looks like this is a restriction on’s end.