Apple vs. Adobe

A stand for standards, maybe, maybe not. I would be willing to bet that Apple has alternative motives in taking this stand, but I am happy Apple is supporting HTML5.

I just wish they would go all the way and remove Flash from Safari on the Mac.

Disabling Flash on the iPhone, iPod Touch and the iPad is a big deal, but Apple has no competition on these platforms. Removing Flash from Safari on the Mac, where Firefox and Chrome have signficant market share, now that would be making a stand.

Steve, thanks for the effort, but its kind of like being half pregnant, until you remove Flash on the Mac its not really about HTML5.

Bait and Switch anyone.

Hacking Add-on-Con

I am organizing Add-on-Con for the second time. During last years event, one of the best parts was putting faces with names. This year during the planing stage I had an idea, to try a game, to accomplish the same effect. I logged on to the web,  typed, popped open Adobe Illustrator and started to draw. The end result can now be seen at

The game is proving to be great fun and a good way to virally let people know about the conference. I believe it is also achieving the goal of helping people put faces with names.


I originally had the game announce each players score over twitter, but that seemed to be viewed as spam. Not sure I agree, but I asked the developer to change the code. Now it announces each time a player takes over 1 of the top 5 slots and enables each player to announce the score from their own twitter account via a retweet button.

One of the really fun side affects that emerged is the competitive nature of the players. A large subset of the group are software developers, so hacking the game quickly became a popular way to post more impressive scores. Leading one of the player’s who claimed the top spot to claim “yes, this was legit”.

Another developer was kind enough to send me his hack:

<start script>

function myScript() {
setTimeout(‘timer.clicks=18;var mycards = new Array();mycards[0]=card_1;mycards[1]=card_2;mycards[2]=card_3;mycards[3]=card_4;mycards[4]=card_5;
mycards[5]=card_6;mycards[6]=card_7;mycards[7]=card_8;mycards[8]=card_9;mycards[9]=card_10;mycards[10]=card_11;mycards[11]=card_12;mycards[12]=card_13;mycards[13]=card_14;mycards[14]=card_15;mycards[15]=card_16;mycards[16]=card_17;mycards[17]=card_18;mycards[18]=card_19;mycards[19]=card_20;mycards[20]=card_21;mycards[21]=card_22;mycards[22]=card_23;mycards[23]=card_24;for(i in mycards){var cardText = mycards[i].cardText;if (mycards[i].isFound != true){mycards[i].flipCard(\’card_\’+(++i));for(j in mycards){if (i != j && mycards[j].isFaceUp != true && mycards[j].cardText == cardText){mycards[j].flipCard(\’card_\’+(++j));}}}}’,15000);

var script = document.createElement(“script”);
script.type = “application/javascript”;
script.textContent = “(” + myScript + “)();”;

<end script>

Thanks kevin, have fun and see you at Add-on-Con on December 11.

Why type when you can talk

Google released a voice detection application for the IPhone a few weeks ago, I have been playing with it and did something I never do, moved it to my first screen. I now use it instead of typing URL’s.

Items it perfectly detected over the past few days include:

  1. Kiehls
  2. Wal-Mart
  3. music store boulder
  4. bathroom door
  5. Dollar rent a car
  6. Land Rover Superior

My only issue is the time it takes to launch, but this is really an IPhone issue.

Composite Application or Web Browser

When you look at modern web browsers they come in different visual footprints, but they all provide a common set of architectural underpinnings.

What I find interesting is the way the modern web browser has morphed into a true composite application. This is happening under the covers and the mainstream user is getting enormous benefit without the need to understand the complexities. While, the developers/designers are able to leverage these common foundations to create an infinite amount of new applications.

The modern day Web browser has Plug-in, Add-on, CSS, and JavaScript architectures designed to support a greater number of UI paradigms. Plus, The almost ubiquitous access of TCP, HTTP and cellular has enabled connectivity from almost any point on earth.  Add the latest advances from Webkit, the decreasing cost of LCD screens, the broad usage of 802.11 and we are on the verge of seeing composite applications on any device.

Times are a changing.

If you are interested in the future of the browser you should check out the closing keynote of Add-on-Con.

How to Become the Next Google or Microsoft

Search is almost never the task, it is always a step in the process.  The task maybe trying to fix an old DVD player or trying to get directions to where you should vote.

One large problem with today’s web search engines is context switching. When a user needs to perform a search on the web, they are required to stop what they are doing, and transfer some portion of their current mental model to the web search engine. This is like the game of telephone, but each application has a different interface and requires a different piece of information. And just like the game of telephone you never really know what is going to come out at the other end.

We are training people to think in fragmented terms in order to support antiquated input requirements. This must evolve and web search engines must figure out how they can plug into the user flow and leverage context. The first company to figure this out will change history and become the next Google or Microsoft.

A simple example where applications work together and automate the flow are on the mobile phone. If I am looking at an email showing voting locations in my district, the phone number’s and addresses are represented as links.  Clicking on either of them launches the appropriate application and set’s its context. For example, if I selected the map link on my iPhone it would launch Google Map’s, highlight the voting location on a map, and provide a method to get directions from my current location. This is a seamless context switch integrating search into the process.

As we begin thinking about tasks instead of applications, we will change how we develop software. I personally think this change will be as fundamental to the future of software development as writing multithreaded applications.

Processor speeds are peaking and the current trend of multi-core is here to stay. We need new ways of thinking about writing computer programs if we want to change the world. Integrating search into the user flow is a logical step. Who wants in?

Google Good Cop or Bad Cop

Disclaimer: This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.

Browsers use a technology called a Rendering Engine to determine how to layout a web page. Rendering Engines use a technology called a Parser to determine the structure of the content. The Rendering Engine is at the heart of a web browser and it is one of the reasons when viewing web pages in different browsers that they look different.

Well guess what, a Web Search Engine uses a similar technology. Web Search Engines use something called a Crawler or a Spider to walk the Internet and retrieve web pages. Prior to inserting the data into the index, the software deconstructs the web page using a similar technology to a browsers Rendering Engine. This can be  beneficial to a web page owner. For example a web page that has lots of inbound links can help convince a web search engine to send thousands if not millions of people to visit its web site. This is one of the reasons Wikipedia is always returned in the top 10 for so many searches.

Google – Bad Cop

Numeric examples of PageRanks in a small system.Image via WikipediaThe same technology can also be used to hurt a website. If two websites have similar content and one has a high PageRank and the other has a low PageRank the one with the higher PageRank will get 100% of the search referral traffic from Google.

Google Juice as it is called leverages PageRank as well as many other techniques to evaluate a web site. Some of the techniques are common sense, others are known by a small handful of SEO experts and others are only known by those working at Google.  Now this wouldn’t be such a big deal if Google did not own 70% of search referral traffic and if the other top search engines did not use a similar technique to Google’s PageRank in order to rank results.

To illustrate the Bad Cop techniques, lets review a recent issue that was aired publicly between Twitter and Google. As the story goes Google asked Twitter to change the Bio links on its user profile pages to nofollow. Doing this meant each user who worked hard to build up followers on Twitter could not leverage those links to promote their own blog, or companies website. Twitter ultimately did what Google wanted and changed the link to nofollow.

What I find interesting about this issue is how Google’s almost monopoly on Search is acting like an oligopoly. Google’s Bad Cop techniques are actually benefiting all of the search engines that leverage PageRank style indexes.

The consumer is the one losing out in today’s search market, yes search is better than it was 5 years ago, but that does not mean it cannot be significantly better. The Consumer needs a voice and they need to understand why certain pages are ranked higher than others.

How do we change this oligopoly? Do we have options?

The consumer does have a choice. Up and coming search engines like the one I founded Me.dium enables the end user to influence the search results. If you do not like what you see after typing a term or phrase into the Me.dium web search engine, download the toolbar and surf to the web pages that you think are better.

Similar to Wikipedia, where the people get to create, update and police the information. Me.dium users validate the web pages prior to being returned in search results. Power to the People.

Why are gestures starting to appear in web browsers?

A gesture is a form of non-verbal communication made with a part of the body, according to Wikipedia. A simple example would be waving hello or goodbye. When gestures are applied to a computer program they provide a method to execute common commands. You can think of a gesture as a quick way to invoke application functionality. 

Why are gestures starting to appear in browsers?

The browser has been morphing over the past 10 years from a rendering engine into a composite application framework. Robust API’s, universal install base and developer friendly content controls provide an obvious choice for most large and small software projects. 

As the browser continues to grow in popularity, it also grows in functionality. Making this functionality available without complicating the user experience is challenging. Gestures are one method to accomplish this goal.  

One of the new features introduced with IE8 is called Activities. Activities move entire website’s into the user’s right mouse, removing multiple steps from the user’s process. This has the opportunity to change how people interact with the web; things like searching, looking up word definitions and exploring addresses can now be accomplished in context with a single gesture inside of IE8. 

At Me.dium we rolled out an activity as part of the IE8 beta 1 launch. Try it, and let us know what you think.

Where is this going next

When I think of Apple’s IPhone or Microsoft’s surface technology multi-touch takes the concept of gesturing to a whole new level. A pinch or stretch in these UI paradigms visually changes the experience. The next wave in UI design might be completely gesture based, what do you think?


Get every new post delivered to your Inbox.

Join 2,208 other followers