Thursday, March 27, 2014

Blogged Moved

Blog moved to

Friday, September 10, 2010

Google Instant: because they can

Google Instant has caused a wave of news this week, from people raving about the impact, to those that are worried it will change online marketing forever (for the worse) by further increasing the demand to be the top search result.

One aspect that struck me as very interesting is that this move significantly increases the number of search results Google will have to handle.   Is this truely a feature to save people time, or is it also a push to leverage their size to create distance from the competition by doing something that isn’t feasible unless you have the engineering and server resources of Google? covers some of the work that went into the effort – handling about 7 times more search queries without having to have 7 times more infrastructure.

Competitors take heed: Google feels the pressure building and isn’t ready to give up any search share anytime soon.  Competitors will need to let Google take the lead on this one and see if it will move the needle on search share before trying to follow suit as this will take a large investment and the value to users seems to be questionable.

For me Google Instant Search is irrelevant as 99% of the time I search from the Omnibar in Chrome or the search box in Firefox or IE, and until the feature comes to those search boxes I won’t see it unless I go looking for it.

Tuesday, September 07, 2010

Updated: Embeding Flash in Facebook Dialog box

Previously I wrote about embedding flash in a facebook dialog box. However the technique used doesn't work anymore - the fb:js-string tags aren't working reliably, and when they do their is some new "features" to the dialog box that is preventing my previous code from working in all browsers.

I've whipped up a new approach, and tested it in IE8, IE8 in Compatibility View, Chrome 6, and Firefox 3.6.6. This should work in other browsers as well, though its important to note that Facebook has announced that FBML is going away; at the end of this year no new FBML apps can be created.

This version starts with going back to the fb:dialog tag in FBML instead of using the FBJS new Dialog(). The most important part of using this is creating an id in the body of the dialog we can find via javascript once the dialog is open.

This is triggered by the typical clicktoshowdialog="mydialog" attribute on a link, however at the same time we also put a onclick event on the same link. This fires and we leverage javascript to find the placeholder in the dialog, create a swf object and inject it into the dialog, then back track and change the dialog title. Only one fb:dialog is used for however many dialogs you actually want.

Here's the code:

Sunday, May 09, 2010

Embeding an iFrame in a Facebook Tab

The following example embeds an iframe in a facebook tab.  This example will work in a StaticFBML tab, or in a custom application tab.

#myFrame {
width: 760px; 
height: 680px;
border: none;
img { border: none; }

<div id="contentzone" >
<a href="#" onclick="loadContent(); return false;">
<img src="http://url_of_item_to_click_on" alt="Click here to see the iframe">


<script language=" javascript">
var myiframevar = "<iframe id='myFrame' src=''></iframe>";

function loadContent() {
document.getElementById('contentzone'). setInnerXHTML(myiframevar);

A few things here that are not obvious:

  • iframe width and height must be set via CSS, attributes on the iframe tag do not work
  • formerly fb:js-string could be used (with some side effects) but it appears to no longer work (see this bug)
  • getElementById does work, despite FB prefixing the id’s with the app identifier.

Tuesday, April 20, 2010

Facebook News - the follow up post

So much news yesterday on the social front, particularly on Facebook (though I didn't miss the Xauth pieces).

I posted a collection of links to a number of pieces that seemed worth reading yesterday. Here's is my analysis.

Facebook v. Twitter

Facebook Borrows Another Feature From Twitter: The Hovercard

Feature wise there is a lot of "borrowing" going on. But the primary reason for this is actual UI Richness and dealing with information density. Users are gaining sophistication and ease of use is critical for keeping users engaged. But how to accommodate lots of data without going for clutter? One answer is layering information via on screen pop ups and overlays, which apparently Facebook is going to be doing a lot more of.

Facebook to Twitter: Back Off, We Own People’s Interest

Facebook and Twitter are both trying to understand what their users are interested in and capitalizing on that information in the form of targeted advertising. Facebook is expanding capabilities and data richness around interests that people explicitly declare, taking advantage of existing profile data. Twitter is doing so via analysis of tweet and retweet activity. Twitter is a more technically advanced, algorithmic approach, while Facebook capitalizes on their size with more of a brute force method. In the end, advertisers win, more choices to advertise to highly specific audiences.

Community Pages:

In Big New Product Push, Facebook Set to Launch 6.5 Million New Community Pages

Facebook Launches Community Pages and Basis of Open Graph API

Facebook to Link Profiles and Pages

Community Pages lead to making facebook profiles more dynamic, and in someways is more Wikipedia like than anything else. Community pages pull in info from Wikipedia even! The additionally pull in status updates algorithmically matched to the page but don't feed into the news feed. This enriches experiences for users and gives Facebook great data, but opens up a lot more security considerations.


If You Link Your Facebook Profile Data to Pages, the You Make that Information Public by Default

Facebook Launches New Privacy Section That May Make Your Head Hurt

Privacy just got even harder. "Liking" and therefore contributing to community pages is public by default.


Facebook’s New Like Button Will Power A Behavioral Ad Network

Facebook’s “Become A Fan” Officially Switches to “Like”

Facebook’s New “Like” Button and The Anonymized “Like” Stream

A transition marketers are going to have to help manage: users now will "Like" brands instead of "Become a Fan". "Like" is not like the share functionality of "Like" on someone's status update. (Confusing)

The assumption is clearly that the new behavioral data being collected is going to lead new advertizing capabilities, but that isn't being announced at this time.


AdParlor Introduces Facebook Ads API Service for CPI Advertisers

New product offering from existing facebook advertising service provider. Using Facebook Ads API, AdParolor's product is an optimization engine that adjusts bids across ads to bring in higher quality results at lower rates that other options. Not a self serve product.

Thursday, April 15, 2010

Managing failure as a manager

You work on it. Every meeting, every day. You push hard for the company, but you stand up for your team. You ensure they are working hard and you fight tooth and nail not to get put in a hopeless or unfair situation.

Managing it is part political, part customer service. Looking ahead to predict the needs and laying groundwork to optimize how it comes to your team. Working with the client to meet their needs while keeping it feasible.

The goal: drive the business without burning out your team. And every now and then you fail.

It happens quick, but you better not be surprised. If you didn't see it coming you need to work on your skills. It usually happens inch by inch, day by day.

You see, smell and feel the stress building. You make hundreds of small adjustments to alleviate the pressure. You try to find the leaver in your arsenal that will stop the pressure from building.

But then it happens. The pressure takes its toll. Hopefully it manifests itself in a small way - a inappropriate blow up, and shouting match, something minor and internal. At least you can do damage control. But it happened, and its your fault, you failed.

Other times it’s a bigger issue - a staff member resigns or a major client deliverable is blown. Its your fault, you failed.

Either situation is devastating as it adds fuel to the flame - situations that extend the pressure further into your team increasing the pressure and will lead to more.

As much as the failure is your fault, and you failed, and it is your job to prevent it, the truth is also that failure IS the default state. Achievements are work to accomplish, an outright war against failing. Delivering for your clients is hard work. Failure is the default state.

So you failed, you let the default state occur - how do you cope? You can't ride this one out, you need to act fast.

You have to push hard to get it back on track, and that’s going to cost you.

You saw this coming and were managing the message upwards in your organization, right?

Roll up you sleeves and burn some hours, you need to get deep in the details fast. Keep an eye on your other duties but its time to prioritize and let the less important things go unresolved for a week or three. Let everything else slide to the point people are about to escalate, you have to push the line to make some room to get the failure under control.

Dig in the details, specifically the things that are numerous or specifically hard. Then play the politician to try to remove the complexity or quantity, work on the client side to negotiate some breathing room.

Beg, borrow, or higher more resources. Adding more resources to a late project makes it later - don't forget it. But adding resources of very specific types to a high pressure situation will alleviate issues, it may not fix timelines but it will calm people down. It’s a clear message that you care about the team and the deliverable and doing everything in your power to deliver. If the new resources can deliver on specific tasks without full understanding of the system it will help - and since you dug into the details you know exactly where to apply them.

So you failed, but how you deal with it is a clear measure of your worth as a manager. How did you do?