azureabstraction > out of the blue

Archive for April, 2012

Starting on Amazon Silk

Sunday, April 29th, 2012

Two weeks ago I started work at Amazon Web Services. AWS is Amazon's cloud computing platform, which provides processing power to individuals and organizations that don't want to maintain their own server fleets. I'll be working on Amazon Silk, which is the browser for the Kindle Fire, Amazon's tablet device.

That Silk is a part of AWS is both unusual and exciting. Traditionally, the browser would simply be an application on the device. Silk is what we call a split-architecture browser. This means that some of the processing occurs on the device, and some of the processing occurs on the cloud — in this case, AWS. Offloading some of that processing to the cloud, taking advantage of intelligent caching and image optimization, can do a lot to increase battery life, reduce data consumption, and improve performance when browsing the web.

I have a lot to learn. Not only will I be working with new technology, doing Android development and an unprecedented (for me) amount of concurrent programming, but I will also have to learn the Amazon ecosystem of software, libraries, and tools.

Really, it's just what I needed at this stage in my career. I've experienced a number of environments: educational, during my time at college; self-taught, from all the projects I've done on my own; and startup, from my work at Zebigo. Now I'll dive into corporate, and see where it takes me.

Cycling through Photos

Saturday, April 14th, 2012

I've been puzzling over how best to display photos from Flickr. On my home page, I show my most recent six photos, which helps keep things fresh for search engines and visitors. The problem is that I generally only upload a photoset every month or two, so the same six photos remain up for a couple months, before switching out for a new set of six photos. Furthermore, those final six photos are probably related to each other, so they won't generally represent the variety contained in the photostream. Here are the possibilities I'm considering:

  1. Display the last six photos. This is my current strategy, and has the disadvantages outlined above. Its main advantage is that it is simple, and requires no history.
  2. Display a random six photos from the last X photos. This has the advantage that it will keep changing, and will have a much greater chance of displaying all of the recent photos from time to time, especially if X is large. It is also quite simple. But the chaotic nature of randomness puts me off a little — a visitor can't know what to expect.
  3. Progressively work through new photos. Each is displayed for a period of time. This spreads the freshness out over a longer period of time, but it is quite complicated. It involves keeping track of all photos posted, and having some algorithm to decide when to move on.
  4. Hand-pick favorite photos from each photoset. This has the advantage of displaying a wider variety of photos, of higher quality, but has the disadvantage of not giving them each a chance. It also means I have to write infrastructure to keep track of favorites, or tie into Flickr's favorite mechanism.

Any thoughts?