ClickAider
You are currently browsing the Bogle’s Blog weblog archives.

Big, Beautiful Mobile Maps using the Yahoo Map Image API

Full screen maps are now included on the business details page in Berry411, replacing the small Mapquest thumbnails that were there before. These mobile-friendly maps come courtesy of the Yahoo Maps Image API, which allow you to construct a map image of arbitrary dimensions for any address or latitude/longitude, and the ym4r Ruby gem that wraps the Yahoo web service. Google currently doesn’t have anything like it, and the Yahoo service is free for up to 50,000 web service hits a day. 

 

Unobtrusive Javascript for Rails

CSS showed the benefits of separating documentation presentation from document content. Until now, however, it’s been awkward (though possible) to separate Javascript behavior from document content. The built-in helpers that come with Rails follow the prevailing standard of inline Javascript.

I haven’t tried it yet, but  UJS (formerly known as Unobtrusive Javascript) looks to be a very interesting approach to the problem. Rather than inline javascript, UJS allows you to specify client-side behavior using CSS-style selectors and Ruby (using RJS ). UJS also patches up all of the existing Rails helpers to work unobtrusively, meaning that your markup will be easier to read and more compact. 

Introducing Unobtrusive Javascript gives a good description of the motivation and technology behind the solution, which uses a Javascript library called event:Selectors to bind events to DOM nodes using CSS selectors.

Windows Live Writer

Those who read this blog may have noticed me experimenting with a variety of Blog Authoring tools, but over time I keep finding myself regressing back to the basic Wordpress post page. 

After reading favorable reviews of Windows Live Writer, I thought I’d give it a try and am impressed enough that it could become blog editor of choice. 

Before anything else, I should note that Windows Live Writer generates clean markup without a lot of html crud as some other blog editors do.    

One of the most compelling features for me is its image handling.   Writer will automatically upload local images when I publish my post.  Even better, it will create nice looking thumbnails thumbnails of whatever size I wish.  Combining this with Snag-it, it becomes trivial to include screenshots in blog posts.

Writer understands the styles of your blog and has an editing mode (”Web Layout”) that reflects those styles.  

It also lets you edit both local and server side drafts. 

Lastly, there’s a plugin model based on .Net that makes it relevatively simple to offer plugins for third-party image services like Flickr. 

A “gee whiz” feature is the ability to insert Windows Live Maps into your posts.  I’m not sure if this is useful or not, but it was fun to try.

Curses, tinfoiled again!

Ariel Stallings is feeling “very safe from aliens, satellites, and food spoilage.”

Ariel was on vacation, so naturally her coworkers had no choice but to cover her entire desk and everything on it in foil.  I particularly like the keyboard– each key is individually wrapped and fully functional.

Contrary Brin: How liberals hand victory to the neocons

David Brin has another one his amusingly (or sadly, I’m not sure which) accurate post posts on The Worst Habit of Liberalism… Handing Karl Rove Every Advantage, and how to reverse these lemming-like instincts that hand victory to the neocons.

— begin quote ———

“For 14 years and more, Rove & allies have bent all efforts toward maintaining a Big Tent coalition, uniting a melange of contradictory groups. With the sole aim of achieving and holding actual political power, they managed to wed together:

  • Xenophobic-isolationists… and interventionist-adventurers.
  • Free-marketers… and big government contract-parasites. 
  • Lifestyle libertarians… with bedroom-voyeur fundamentalists.
  • Deficit hawks… and spendthrift pork barrel hogs.
  • Snooty Straussian neocon eggheads…and proudly anti-intellectual know-nothings.
  •  Small business owners… with megacorp monopolists.
  •  Nativist border worriers… and exploiters of cheap, undocumented labor…

… and so on.

A great… nay incredible… morass of contradictions! How on Earth did they manage that? There is one simple answer. By getting every last one of these forces to call themselves “conservative.”

 This Big Tent is THE SALIENT FACT about the neocon success story. Because they could never have achieved any power at all, without it…

Above all, the Rovean Big Tent policy has held to one utterly pragmatic principle, implicit in every word spouted from Hannity and O’Reilly and the entire machine.

“If you hold EVEN ONE “conservative” opinion, that makes you a conservative.”

In contrast, the reflex among liberals has been quite the opposite.

“If you fail to support EVEN ONE standard “liberal” opinion, that makes you a conservative.”

Yes, yes. I can well imagine bile igniting behind the eyes of some who just read that. If you are a “standard liberal” you may deem what I said (above) to be insulting. Indeed, did my saying it cause me to be instantly dismissed as… well… a conservative?

Won’t you try this little mental experiment yourself? Start by listing a dozen or so “standard liberal positions.” For example you expect a liberal to:

- oppose the Iraq War
- welcome immigrants
- support the undiluted right to abortion
- oppose Arctic or offshore drilling
- oppose nuclear power
- oppose tax cuts
- support gay marriage

… and so on.

If you don’t like my list, write one of your own! Make your own list of positions you deem important. I’ll wait.

Now try this. Imagine a person who holds all of the correct views except one. Suppose - on just that one issue - a person strongly takes the opposite view. Not quietly, but openly, and vigorously.

Now picture how that person would be received in most liberal gatherings. What name would they be called? If you are honest, you can immediately see my point.”

— end quote —–

Orcas Island Recommendations

We had another wonderful, revitalizing weekend on Orcas Island, the kind you’re almost afraid to talk about, for fear of ruining the place with popularity.  Fortunately, the readership of this blog is sufficiently small that I can comfortably share our favorites.

We stayed at the Beach House on Orcas.  If you could pick the perfect stretch of shoreline, and build your dream house by hand, it would come out looking very much like the Beach House, which gets rave reviews on Trip Advisor.   (The owners, Paula and Mal, really did do most of the work on the house themselves.  They’re extremely helpful and knowledgeable about the Island.)

 IMG_1374.JPG
View from the Beach House on Orcas

We had breakfast at Rose’s Cafe (382 Prune Alley, 360- 376-4292). Fantastic!  Poached eggs, handmade bread and pastries, great coffee with organic whole milk, etc.


Pastries and Quicke at Rose’s

The Saturday Farmer’s market has both crafts and locally grown food.  We got a bunch of strawberries (amazingly still in season and picked that morning) that reminded how good fresh, locally grown food can be.  (NPR recently reported that the average vegetable travels 1600 miles before being eaten; no wonder typical supermarket fruit has been crossbred with a baseball.)


Fresh Strawberry from the Saturday Farmer’s Market


Pottery making at the Saturday Farmer’s Market

Moran State Park has not only Mount Constitution but also a freshwater lake that’s great for swimming and trails with waterfalls.

Waterfall at Moran State Park

The Orcas Island Funhouse is “is a not-for-profit communitycenter that fosters fun and learning with dozens of hands-on kid-friendly science exhibits.”  The kids had a great time there.

 

 

ProductWiki: "Don’t Settle For AdSense"

The ProductWiki blog has published the results of an A-B test in which they find that Shopping.com Merchant Listings outperforms Google AdSense by a factor of 4.6, in terms of revenue returned to publishers.

The primary reason given by ProductWiki for this difference is relevance. Google attempts to determine the most relevant ads with no help from the publisher. Shopping.com allows publishers to provide hints about the products being discussed in the content so that Shopping.com can serve up ads and images for those products.

Shopping.com AdSense
Clickthrough rate (%) 29% 6.5%
Revenue per click ($/click) $0.21 $0.19
eCPM ($/1000 impressions) $59 $13

You would expect to see very relevant results [on Adsense] since the theme of our site is consumer products, but it’s often not the case. In the above example [for the Creative Zen Vision MP3 player], we see an ad for “creative products” and for a Zen Vision case, not exactly what we were going for…

Google does have something that Shopping.com does not – breadth. Their database of ads is much more extensive than anything Shopping.com has to offer beyond products; they have ads for blogs, publishers, services, etc. So how do you get the best of both worlds: the relevancy and style of Shopping.com ads coupled with the breadth of Google AdSense? Simple. Google needs to allow publishers to control what ads are displayed and how they are styled. Another possible improvement is to allow advertisers to classify their ads across broad categories (product, service, blog, etc.) and then publishers could exclusively select ads from those categories.

Google’s bias has always been to assume that they are smarter than the publisher at selecting ads, and to rely upon textual and link analysis rather than trusting in metadata. This approach will only carry you so far, as seen in the relevance challenges described here.

Eric Giguere has followed up with some good suggestions on how to improve the effectiveness of the ProductWiki campaign, such as using section targeting to help Adsense identify the relevant sections of the page.

With Google AdSense is taking hints about most relevant sections of a page, it seems a small additional step for it to take hints about the most relevant kinds of ads to display.

While not all content publishers will be able to provide accurate hints, the Shopping.com results show the considerable benefits that result when ad hints are applied effectively, as suggested by the ProductWiki blog.

Either Google AdWords and AdSense will grow as a platform that allows publishers and third parties to contribute domain specific intelligence to matching the right ads to the right content, or alternative contextual networks will establish strong beachheads in different verticals.

Google Maps Integration and JSR-211

Probably the number one feature request I get for Berry411 is integration with Google Maps. In fact, many applications could benefit from such integration; imagine being able to map addresses in your Blackberry address book, for example.

There currently exist Blackberry specific APIs which could allow this sort of integration to happen today, specifically
BrowserContentProvider
.

I’ve traded emails with someone from Google regarding this possibility. Google will probably allow integration but only via the official Java specification, the JSR-211: Content Handler API now in Final Release. Implementations of JSR-211 will no doubt be widely available Real Soon Now.

Google could allow the five million Blackberry users to enjoy Google Maps integration today via a relatively simple mapping layer to the RIM API. Google’s limited budget seems not to permit phone specific development, however.

In the meanwhile, there is an alternate, easier to integrate mapping implementation I’m looking into.

Real-time Traffic information in Google Maps Mobile

Google Maps Mobile now displays real time traffic information in more than 30 cities, including Seattle.

Given that the mobile web usually lags PC web sites in functionality, it’s ironic that this functionality is available only on Google Maps mobile, not on the PC.

The quality and interactivity is also quite a bit better than that available on the WSDOT Traffic Site for Seattle, which only displays static images.

Crunchboard and the blogosphere

The numerous responses to the announcement of the Crunchboard Job Site show that the blogosphere, not surprisingly, recognizes the value of what some are calling Jobsearch 2.0: highly targeted, community focused job boards.

Rafe Needleman at the CNET blog writes on the value for professionals in the Techcrunch community:

the value of this job board is not the number of its posted jobs nor its features (there’s no search or even geographic filteringý yet). Rather, it’s the fact that what you’re likely to find on this site is nothing but cutting-edge tech jobs. You won’t find those boring, stable, reliable-paycheck enterprise IT gigs here.

Nik Cubrilovic sees a great opportunity for startups to advertise their openings:

Crunchboard is a great opportunity for startups (like Omnidrive) to post their job listings, we spend almost $1000 on advertising for each position we fill, so at $200 having your job listed to the Techcrunch audience is a steal.

Finally, Aneil Weber at PostBubble writes:

I really like these niche job boards that are starting to pop up, it really gives employers a new way to find quality talent. I for one would rather hire a TechCrunch or 37signals reader then take my chances with Monster or Craigslist. At least you know the person you’re hiring is up to date on the latest and greatest.

Postbubble adds:

The site needs a few more social features and needs to provide more utility for job seekers and companies alike. It would also be nice if job seekers could either pay to put up their resume up or do it for free. If I was looking for a job I would not have a hard time spending a little money to get in front of that crowd. I might be looking for too much out of a job board, but I think it is time for something to be created that actually makes it easier for employers to find employees and vice versa.

The bigger question is whether jobsearch 2.0, as demonstrated by the Crunchboard, is something that is only of interest to tech startups and tech geeks, or whether with the right enabling technology it is concept that a wide variety of companies, professionals, and community oriented sites could take advantage of.