Archive for January, 2008

Will the Real ScrumMasters Please Stand Up?

Wednesday, January 30th, 2008

Scrum cycleI came across A Resuable Presentation on Scrum this week while looking for materials to help explain this method of agile software development to a colleague. In the process, I also got an education - on how much the scrum projects I’ve contributed to over the last year have varied from the “pure” ideal.

It’s partially due to the tendency of many companies to adopt scrum in a modified format. Such customization is surely necessary for the variety of businesses that write software, though it sometimes misses key points. In particular, it’s tough to institute scrum without creating another hierarchy in organizations both large and small. Without a flat, peer-oriented structure, projects miss out on the quality and morale benefits of developers having some choice and ownership in their work.

On the other hand, it was good to see that most of the key roles and rhythms manifested themselves in some way. An interesting tangent also came up in our discussion: that while scrum dictates methodology rather than technology, it does influence the latter. To do monthly releases, you really do need to have efficient tools for development, compiling, and testing software.

Ultimately, it was a reminder that no matter how you develop software, there’s as much social engineering to be done as technical engineering.

The Demand-Side Economics of eBay

Wednesday, January 30th, 2008

Amazon and UPS trying to make me nervousI sold three items on eBay this week: a camera lens, a cell phone, and a suitcase, all starting at 99 cents. Guess which one had the highest final bid?

The lens got some initial bids, but the last-day bid up finished short of what I had hoped. The cell phone got nothing until the end - I didn’t think it would even sell, based on some other unsold listings - and ultimately fetched a tidy price. The suitcase really surprised me, though, selling for 80% of what I paid for it, despite its use, bulk, and more expensive shipping.

I’ve sold occasional outdated or unneeded things on eBay over the years, and it’s always surprising what price the market sets for them. It’s a good reason to clean out your closets and basements and “find” some money in the process. Another good reason: eBay has simplified their listing form and PayPal makes it quick to get paid and print USPS and UPS shipping labels.

Building a Photography Portfolio

Saturday, January 26th, 2008

Skyscraper and silhouettesOne of the challenges of photography is highlighting your best photos from the multitudes that you can easily share in a digital world. I’ve used simple tagging to mark The Best of My Favorite Photos, though these virtual portfolios become too wide or narrow for customers looking for quality photos in a certain theme. To meet this need, I’ve tagged a medium number of photos “portfolio-theme”, with themes including art, food, nature, people, pets, snow, and travel.

It’s a concept I’ve seen many people on Flickr use, where the time-bound album has given way to more flexible organization. I’ve also followed some other advice on building a web photography presence by creating a Flickr profile that highlights my portfolio and links back to my main gallery. Because as much as I’d like to think my gallery customizations and search engine optimization will drive people directly to my site, Flickr is still a top destination for photography on the web.

Gallery2 iPhone Theme

Sunday, January 20th, 2008

iPhone Gallery2 Theme MainiPhone Gallery2 Theme Album iPhone Gallery2 Theme PhotoAs promised in Roll Your Own WordPress iPhone Theme, I’ve applied the same custom iPhone theming process to my photo gallery. It follows the look and feel of the iPhone’s own photo application: albums appear in a list, photos in a grid, and individual photos largely by themselves. I also reproduced its coolest feature: you can scroll through photos by clicking the left and right sides to go back and forward!

While this leveraged CSS to tweak the same set of full screen pages, I found there was a good bit of cleanup needed in the original Gallery2 theme, which still had tables instead of divs. There’s also some Javascript XPath and DOM manipulation to strip out the tables that create the drop shadows around photos and thumbnails. Finally, the “scrolling” photos are accomplished using a custom image map based on the dimensions of each photo.

I’m quite pleased with the end result; it makes viewing photos on the iPhone quite nice!

Update: By request, the code for my theme is now available; the iPhone specific parts are marked in theme.tpl, theme.js, and iphone.css. It’s still a bit rough, so you may need to make some adjustments for use on your own site.

Download the iPhone Gallery2 ThemeĀ 

 

Roll Your Own WordPress iPhone Theme

Wednesday, January 16th, 2008

New and improved iPhone WordPress ThemeThis blog now has a new, custom iPhone theme, replacing the previous plugin-based theme. It’s based on the principles laid out in A List Apart’s Put Your Content in My Pocket, using CSS and a layout optimized for iPhone and other small screen devices. It also restores the benefits of caching and the search feature. None of the iPhone emulators respond to the layout cues, but you can see a preview to the right.

The project was a great challenge: optimizing a single, cached copy of each page for both large and small screen devices. In addition to using CSS to hide secondary features and resize the important parts to be readable and functional, I employed some Javascript manipulation to hide the remainder of posts and provide the “…” more links. Safari doesn’t have a native XPath implementation for Javascript manipulation of the DOM, but there’s a very compact XPath and XSLT library for Safari available. The CSS and Javascript is all open, so feel free to have a look.

Next up: an iPhone theme for my photo gallery.

The Drupal Experience

Wednesday, January 16th, 2008

This week concluded a six-month project to develop a more dynamic website for my ski club, which culminated in the design being scrapped. It’s a bit disappointing, since I had put a decent bit of effort into the beta, and had been advocating a change for at least a year and a half. Ultimately, though, it was a good learning experience, both in terms of technology and project management.

The original goal was to offload some updating responsibilities from our webmaster to a larger group of editors, and to provide more timely updates. This meant moving away from a static, Dreamweaver-generated site to a dynamic content management system, Drupal. Drupal seemed like a good choice from systems I reviewed, being free to use and modify without costly tools, and with a large community of contributors.

A second goal soon overtook the project, though: redesigning the look of the site. It made sense to do both together, but graphic design by committee is a difficult process and took us away from a functional evaluation. After implementing and debating several designs, attention did partially return to functionality, which still came up lacking to many. Admittedly, Drupal - even with TinyMCE and WYSIWYG editing - isn’t the easiest system, but it was still usable.

The classic dilemma of customizing an broader, existing tool versus developing your own tailored but more limited one presented itself. In the end, the latter won out, largely due to the fact that in six months, other ways were found to spread the load of updating the existing site, and other options were presented for the more dynamic pieces.

For myself, I got some first hand experience with Drupal and the politics of project management. The lessons I learned: commit to a visual design before implementation, make early and objective functional evaluations, and engineer the social aspects as much as the technical ones.

Feedback

Wednesday, January 16th, 2008

Syndicated feeds (RSS and Atom) make it much easier to follow your favorite sites and your friends’ activities; I’m also finding they provide some other amusing moments:

  • I’ve been using FeedHub to suggest select entries from the many feeds I subscribe to; it uses a trainable recommendation engine to give you a feed of recommendations. The list of feeds it works off included a few of my own I added for testing purposes, so it’s alway fun to see one of my own posts get recommended back to me!
  • On the more social side, I’m a heavy del.icio.us user and enjoy seeing what people in my network have been bookmarking & occasionally tagging bookmarks for them. It’s always rewarding to see them pick up things I’ve bookmarked, whether it was one for them or just one for myself.

Revelations from the Netflix Prize Winners

Tuesday, January 15th, 2008

Brian pointed out that the AT&T Research Labs team that won this year’s Netflix Progress Prize ($50k out of $1M) for improving movie recommendations had published a number of papers on their winning strategy. It’s interesting reading, and this paper is fairly approachable if you skip the statistics in the middle.

Their final approach combined 107 different model, and though the majority provided only incremental improvement, the total effect propelled them to an 8.43% improvement over Netflix’s own proprietary algorithms. (Wikinomics fan can take a moment to cheer another success for open collaboration.)

One interesting sidenote:

The distribution of movies-per-user is quite skewed. Figure 4 shows this distribution (on a log scale). Ten percent of users rated 16 or fewer movies and one quarter rated 36 or fewer. The median is 93. But there are some very busy customers, two of which rated over 17,000 of the 17,700 movies!

This confirms my previous findings on participation and the 1-9-90 rule. The team also made use of additional models which considered simply the presence or absence of a rating for a movie from a particular user.

Overall, it seems that Netflix and the recommendation community have gotten a lot of mileage out of the prize in an area that will continue to grow:

Because good personalized recommendations can add another dimension to the user experience, e-commerce leaders like Amazon.com and Netflix have made recommender systems a salient part of their web sites.

If such systems interest you, I’d recommend O’Reilly’s Programming Collective Intelligence. Reading - and working through it’s examples - really opens your eyes to how simple these algorithms can be and how commonplace they’ve become.

Canon EF-S 17-85mm Lens Review and Comparison

Saturday, January 12th, 2008

My latest camera purchase, per my Lens System Wishlist, was a Canon EF-S 17-85mm f4-5.6 IS. After a few shoots, I’ve found to to be a good general purpose, walk around lens and replacement for the kit 18-55mm.

It’s a larger and heavier lens than the kit zoom, and the build quality is solid with a metal mount and good feel. Actually walking around with it around my neck this morning in Norristown Farm Park, I didn’t really notice the weight.

Waiting for the actionThe zoom range is welcome, and one you only tend to see in EF-S and other lenses for small-sensor SLRs. Given that small-sensor cameras will continue to be cheaper and likely more numerous than full-frame ones for years to come means that there’s not much threat of EF-S lenses becoming obsolete. It doesn’t go beyond f4-5.6 to get you truly shallow depth of field, but as more of an outdoor walk around lens, it wasn’t missed.

MatthewImage stabilization is showing up on a growing number of consumer professional lenses, and I quickly realized why. Shooting indoors without a flash, you can handhold much longer exposures than usual. The advertised 3 f-stop advantage generally seems to be true. I bought mine used, so I don’t have the user manual to know if it automatically senses a tripod, but in a series of tripod comparison shots I didn’t notice much difference with it on or off.

I did do a lengthy series of comparison shots using the tripod, 17-85mm, 18-55mm, and 50mm f1.4 prime lenses at various f-stops and focal lengths. All were reasonably sharp at f8 and softened outside that. The 18-55mm kit lens softened more quickly than the 17-85mm, which also held up better at a mid-range 50mm zoom and maximum f5.6. The 50mm f1.4 prime softened a little, but still looked good at f22. I don’t have a quick way of posting 100% crops for comparison, but if you’re really curious, I’m happy to share them. Through the viewfinder, there’s a bit of vignetting on the corners at 17-24mm, but the actual images don’t show much that I can see.

Overall, it’s proving to be a worthy upgrade to the kit lens for general use.

How the Other Half Lives

Friday, January 11th, 2008

I have a confession to make: I’ve actually been using Internet Explorer 7 for the last month at work. Though I’m a die-hard Firefox fan, I decided to undertake a little experiment when I switched jobs.

With tabbed browsing and search plugins, IE7 offers some familiar features, and even goes a step further by making it easy to create your own search plugins. Bookmark organization is a bit basic, as is del.icio.us integration, but usable. It’s also missing Greasemonkey, though I use fewer scripts at work than at home. Being that I do develop websites at work, though, the developer tools are a step down from Firebug, particularly when it comes to debugging Javascript.

The verdict: IE 7 is surprisingly tolerable, but still leaves power users hungry for Firefox and it’s rich collection of plugins.