Glenn Barnett

Principal Consultant, Engineering

Posts written by Glenn Barnett

September 23

How to Score Higher in iPhone App Store Searches

App Store search placement is a huge driver of iPhone app downloads and sales, especially if you don’t have a big media buy to support the app. If a consumer finds your offering in the App Store, it’s safe to assume they’re a qualified lead, and they’re literally one click away from converting. 

But what affects how “findable” an app is in the App Store? If one can’t count on getting in Apple’s “Top 25″ or “What’s Hot” lists, what other options does a fledgling app have to gain consumer visibility?

The answer is keyword search optimization, which is like web SEO, but focused on the nuances of the iTunes App Store search algorithm. The following article provides tips for improving the searchability and findability of your iPhone applications and, ultimately, increasing downloads and sales.

1. Downloads are huge.
 The number of downloads is the number one factor in search ranking placement, by a large margin. For this reason, brands should consider launching apps at a low initial price point to help boost the download count as quickly as possible.

2. Ratings don’t matter (for search).
Positive (or negative) consumer ratings and reviews are not included in the calculations for ranking placement (or if they are, it’s a very slight effect). Of course, ratings are still important for conversions, but if your primary objective is search placement, you’ll want to focus your efforts elsewhere.

3. Descriptions don’t matter either.
 Due to the emergence of “spammy” app descriptions that go on and on for pages and mention every keyword imaginable, Apple is changing the way keyword search works.  Instead of matching against both title and description, the company has added a new “keywords” field and will be phasing out descriptions from consideration in the search algorithm. 

According to Apple, “It is important to enter keywords for all applications as soon as possible so your application can continue to be successfully located on the App Store.” Due to these changes, be sure to focus your app descriptions on telling the features-and-benefits story, and not on search placement.

4. Make every keyword count.
 The new keywords field can contain a maximum of 100 characters (comma-delimited). So instead of a thousand-word description, you’re down to around 12 keywords. These keywords can only be entered when you upload a new version of your app; at that point, they’re set in stone until the next version. 

These 12 keywords are the most important decisions you can make for search placement, so it’s critical to develop a strategy. Come up with a prioritized list, and try searching for various combinations to see what comes up in the store. Some strategies may involve picking keywords where there’s no competition; others may involve piggybacking on the competition. 

5. Get creative with the title.
 One workaround for the new keyword limitation is to put a short description after the App Store title. For example, I recently changed the title of one of my apps from “On the Clock” to “On the Clock – time tracking for clients, projects and tasks.” However, like keywords, titles are “set in stone” and can’t be changed until you release a new version. Treat them as an extension of your keywords, and if you touch on a target word in your title, don’t waste a keyword on it.

6. Review text is ignored.
 Textual consumer reviews are not considered at all in keyword search matching. For example, if a review boasts that “This bird watching app sure beats fishing!” that app will not appear in searches for “fishing.” In other words, worry about what reviews will do for your conversion, not what they’ll do for your search placement.

There are over 65,000 applications available on the App Store today. The vast majority of apps enjoy a brief spike of downloads upon release and then quickly fall off as other newly-released apps fill in behind them. 

Optimizing your iPhone applications for search using the guidelines above can help to build and sustain demand for your applications. While these guidelines work for the App Store today, the rules have changed since launch, and they’ll no doubt change again as Apple continues to evolve the App Store. Until that happens, choose your keywords carefully, get creative with the title, and beg, borrow and steal to increase your download count.

March 30

The case for showing out-of-stock products

One challenge we’ve faced on a current e-commerce project is the client’s desire to hide product data that is in the system but unavailable for purchase (out of stock, unavailable in a given region, etc). The driver for this behavior is a concern regarding the negative brand impact of showing products that aren’t available for purchase.

I believe that the implicit contract of trust and forthright communication with your customers is more important than maintaining an illusion of infinite supply. There aren’t many examples of this idea being proven in the wild, but I did find something interesting on Businessweek’s site today.

http://www.businessweek.com/bwdaily/dnflash/content/mar2008/db20080328_633728.htm?campaign_id=rss_daily

The Oprah Incident

The economic woes [of J.C. Penney] coincided with an odd snafu that demonstrates the challenges Penney faces in climbing out of its hole. It might seem a minor point, but on Feb. 20 several items of Penney clothing were featured on one of the highly desired product lists on the Oprah TV show. One striking red trench coat, listed for $130, made the list of “10 basics for every woman” and was also included on the “Instant Style” page of InStyle magazine’s March issue. Both the show and the magazine directed their audiences to the company’s Web site. The only problem was that any of the 7.5 million Oprah viewers who went to www.jcp.com to buy the red trench on Feb. 20, or afterward, couldn’t find it. As a viewer identified as Jamie posted on Oprah’s message board: “Several items I searched for couldn’t be found.…So much for being easily accessible.”

Imagine if J.C. Penney had allowed users to find this product, displayed clearly that it is out of stock (“Wow, JC Penney sure has in-demand products!”), and had an intelligently selected cross-sell in a highly visible area. This priceless lead could have been further capitalized upon with user-generated activity (“I sure do love my red trench coat, hope it comes back next season!”).

This is yet another example of how the bi-directionality of the digital channel can turn yesterday’s business problems into tomorrow’s opportunities.

March 7

Troubleshooting Web Services with Wireshark

My current project features a mammoth Flash component that makes a lot of SOAP web service calls. We’ve happily used SoapUI for standalone testing of our services, but when it comes to figuring out what’s going on between Flash and the SOAP services, additional tools are required.

Firebug is almost ideal for this situation – unfortunately, the current version will show neither the request (the posted XML request) or the response – both tabs are blank, giving you HTTP headers only.

Packet Sniffers are ideally suited for this type of troubleshooting – there is an inherent truthfulness to be found by looking at the packets going over the wire. After poking around with a few packet sniffers, I ended up with Wireshark.

Wireshark (formerly known as Ethereal) is a free “network protocol analyzer”, available for many platforms, that seems pretty solid and has a lot of compelling features that make it useful for me. It’s not perfect, and there are a few things it could do better, but for a free tool, it’s pretty amazing.

Let’s see how it works – the first big feature we’ll talk about is the “capture filter”. This is a filter expression you can apply at the NIC level to restrict the amount of traffic that gets analyzed (i.e. “host 192.168.1.44″).

wireshark_1_capture_options.png

This is a huge boon, as it allows you to limit the amount of CPU and memory consumed by the sniffing, thus allowing you to be more casual about leaving the sniffer on for long periods of time.

Once the capture is started, we’ll start to see packets showing up in the table as green rows. To limit our view to just that of the SOAP requests going across the wire, we can enter a protocol name (in our case, “http/xml” “xml”) into the Display Filter. (The display filter also has its own expression syntax, allowing more complicated boolean queries etc.)

wireshark_2_display_filter.png

(Update 2008-03-21: I’ve been notified that “http/xml” doesn’t work with some versions / installations.  Use “xml” instead). 

With the Capture and Display Filters in place, WireShark removes the biggest pain point in network traffic analysis – sifting through all the garbage. Below is a screenshot (with IPs censored to protect the innocent) that shows a series of xml requests that have been sent by our Flash application:

wireshark_3_packets.png

The question now becomes: how do we look at what’s going on in these packets?

In the case of http/xml, Wireshark makes it very, very easy to see the Request that was made to the server – it appears in the Packet Details pane, and even has nice little collapso/expando controls for the various sections. I prefer to expand all (control-right arrow), and then collapse everything except the data I care about. My only complaint here is that Wireshark inexplicably allows you to copy/paste only one line at a time. Fortunately, there’s a workaround that we’ll get to.

The obvious question is – where’s the SOAP response? The answer is that it’s in the “packet bytes”, and not in just one packet, but spread across many. This makes the “Packet Bytes” display (by default, the third pane) pretty useless for our purposes – in fact, I turn off this panel altogether (Edit > Preferences > User Interface > Layout) .

Instead, the trick is to right click the packet you’re interested, and select “Follow TCP Stream”. This will produce a window similar to the following:

wireshark_4_tcp_stream.png

The red text was sent by one party (in our case, the Flash application), and the blue text was sent by the other party in response (in our case, the SOAP server).

Sometimes you’ll have to sift through a bit of the output, as the stream tends to include more than you’d expect, but overall, you should be able to find what you’re looking for.

One side note is that following the TCP conversation changes your display filter behind the scenes – you’ll need to change it back if you want to revert to the previous mode of viewing just the http/xml requests.

All-in-all, I’ve been quite satisfied with the tool – again, it has some small flaws, but I think it’s a very beneficial tool, and hope that others can find it as useful as I have.

Technorati Profile

Browse posts by month

Browse by author

We're always looking for rockstars

Come take a look at careers with Molecular