Tuesday, November 01, 2011

Adobe Edge - My First JQuery/HTML5 Application

So I downloaded Adobe Edge a few days ago and installed it yesterday.  Within ten minutes I was able to create a simple animation with almost no coding.  Adobe Edge Preview 3 literally blew us away in the first few minutes by allowing the creation of JQuery and HTML/CSS animations using a WYSIWYG editor environment.

To see this again, just hit "reload".  Note that the JavaScript files are located on a remote server.  This could result in a slower loading.  The total size of all files to build the animation above is only 191 KB.  The source code for this is clean, elegant and nicely formatted.

The Edge Preview release APIs are also documented online at http://labs.adobe.com/technologies/edge/resources/jsapi.html.  I feel like I need a good project now to fully test Edge in a production environment.  Any ideas?

Monday, October 31, 2011

App Store SEO

I've been toying around with mobile application SEO for some time now and doing some structured research.  The field is focused on the study of how applications are sorted and ranked when a generic search term is utilized within a mobile application marketplace.  I believe the field of app store SEO will be a large area of focus for developers in the years to come.  The practice of optimizing mobile application listings within the dominant application stores in addition to the search engines will be an essential survival skill.   Basically, if your application is not found, it will not be installed and used.

Here is a use case.  I built an application called Magic Screen Pro.  It is a drawing application yet when I search on "drawing", my application does not show up in the first 100 search results.

There are currently only a handful of dominant mobile application stores such as Apple's App Store, the Google Android Market and BlackBerry's App World.   Additionally, to add to the complexity of SEO for Mobile applications, many app stores exist with variants of the major app stores and are  filtered by criteria such as ratings, downloads, languages, countries, and paid vs. free apps.  In a coming series of articles, I will build off previous SEO articles and write about some of my preliminary findings.

One of the first things to note is that the models used by Apple, Google, and RIM all seem to have both similarities and major differences.  Unlike web searches, app store results are presented as a combination of filter query and rankings algorithms.  The filters have several normalized components such as "most popular" and "price".  The problem seems to arise when a generic mobile application is sought via the search tool in an app store.  For example, searching on Google's Android Market for "Stock Market" results in over 1,000 results on the first set of results (over 21,000 in total as of the date of this post -  https://market.android.com/search?q=stock+market&so=1&c=apps).  The results are ordered the same whether you search from the Google Market application itself vs. a web search.

This similarity also appears within the Apple App Store.

So how do the results get ranked?  Let's look at Google first.  The Android Market uses three specific filters - price, safe search (presumably to ward off adult content), and a "sort by" filter.  The latter has "relevance" selected as default.  They are shown below.

The "Sort by Relevance" is the key filter to understand.  The exact mechanism by which it works is private, similar to Apple's App Store.  So how does Google determine "relevance"? At first I had assumed it was the size of the install base however this turned out to be a dead end.  In fact, at a meta level, the first five results are not correct.  Fox Financial News has the first application.  I find it hard to believe it is the most relevant for the term "Stock Market".  The second highest ranked app is actually a link to the "App Brain Market".  When a user clicks through to https://market.android.com/details?id=com.appspot.swisscodemonkeys.apps&feature=search_result and looks, there is no mention either in visible text or source code of the search term "stock market".  The third result is by Snapworks Technologies and has an install base of between 100,000 to 500,000.

By Google's own admission, the following criteria is available to search for apps:

Featured: great apps hand-picked by the Android Market team
Top Free: popular free apps of all time
Top New Free: popular free apps less than 30 days old
Top Paid: popular paid apps of all time
Top New Paid: popular paid apps less than 30 days old
Top Grossing: applications and games generating the most revenue, including app purchases and in-app payments
Trending Apps: apps showing a hockey stick growth in installs in the last 24 hours
Editors' Choice Apps: Some of the very best apps available for Android, chosen by the Android Market team
Top Developer: Some of the very best developers on Android Market, chosen by the Android Market team

On top of this, some variants of Android markets allow users to filter results based on the version of Android.  There are some additional criteria for allowing applications to be found.

Priced applications availability: Priced apps are only available to buyers in these countries. If you are not in a buyer-supported country, you will be unable to view priced applications.

Location: You may only view the version of Market for your country. For example, UK users may only view the UK version of Android Market from their devices. If a developer has not targeted his app to your home country, you may be unable to view it.

Mobile service provider: In addition to targeting for location, a developer may also target their application to specific mobile service providers. If a developer is not targeting your mobile service provider, you will not be able to view the application.

Note that Google declares that no application may appear in a top spot as a result of paying to be featured.  Could it be that they intend to let the market dynamically choose the top results as is done with normal search engine results?  I believe that this is in fact the case.  The pattern is very simple - the first search result page contains code that tracks which applications users select.  The system itself is not perfect and will need to be augmented with ontological classifications, however it is the only logical path to take.

So what works?  For starters, the title of the application seems to be worth its weight in gold.  Recall the earlier example of my Magic Screen Pro application not showing up for the term "drawing".  When I search for "Magic Screen", it appears in the #7 position out of 805 applications.

Google also seems to track the clicks on a search result, hence the more people that click through on each app counts as votes towards raising the ranking in the overall application store.

What seems to not affect mobile application SEO?  I have found that the choice of technologies used to build an applications seem to be irrelevant.  Even in the App Store where one could suspect that Apple might be prejudiced against applications built using Adobe Flash Builder tooling, it seems to make no difference.

What needs to be researched more?  I plan on conducting further research into the exact mechanisms used including external links, links from other mobile applications, keyword usage in app descriptions, and more.  This aspect of technology is relatively new and requires proper research to help developers understand the basics.  Stay tuned for more as information becomes available.

Sunday, October 30, 2011

Adobe Edge Explained

Adobe's push into HTML5 has been around for a long time.  On top of participating in the actual standards development effort to move the web forward, Adobe has been building some of the first major implementations of HTML5 authoring tools.  Given the adoption of any technology is inversely related to the complexity to use it, Adobe Edge represents a great potential for people to author complex HTML5/JQuery/CSS and AJAX applications.

This blog explains the recent changes of the newer release and some great tips on how to use it.  As a former standards guy, I love this direction!

Don't take my word for it.  Try it for free by downloading it here: