ClickAider
You are currently browsing the Mobile category.
RSS feed

Urbanspoon integrated with Berry411 yellow page results

Urbanspoon is a new vertical search engine for restaurant info and reviews, which, thanks to an external API, has now been integrated with Berry411 search results. 

I’m a big fan of Urbanspoon, and not just because it was started by my friends and former coworkers Adam Doppelt and Ethan Lowry. Urbanspoon collects the key information and links to all of the reviews for a restaurant in a single page, and allows users to easily vote on and share their favorites.  (It’s currently Seattle only, but additional cities are planned.)

Adam and Ethan really get the importance of mobile access to entertainment info and have already built mobile versions of Urbanspoon pages. The site’s REST api allows Urbanspoon content and links to be integrated with Berry411 yellow page search results.  If you’re in the Seattle area and use Berry411, try searching for your favorite restaurants– thousands of restaurants are in their database already and automatically integrated.

Below are a few screenshots to give you a flavor of how it works; I’m excited about the potential of this sort of integration. 

 

 

I’ve designed the backend to also allow other kinds of external info to be mixed in with yellow pages, so if you have any good idea of sources of content please share them with me.

Announcing Berry411 v3.50

Berry411 version 3.50 is now available for free download and over-the-air install. The major new feature in this release is improved handling for addresses, as frequently requested by users. 

  • The “Pick from recent addresses” feature allows you to easily manage more than three addresses. 
  • The City/State field now accepts zip codes as well.
  • The phone numbers of items you click on are now automatically added to search history.
  • There have been a few of subtle usability improvements to address editing.

111 mobile search plugins

There are now 111 Berry411 mobile search plugins

Some of plugins are for everybody. For example:

  • yelp: sushi find reviews of nearby sushi joints via Yelp mobile.
  • kayak: lets you find the best prices for flights and hotels.
  • movieratings: star wars displays movie ratings of Star Wars from Rotten Tomatoes.
  • digg: displays recent digg headlines.

Other plugins make it easy to search for specialized information:

  • epocrates: tylenol will look up dosing and drug interaction information for tylenol.
  • law: hearsay defines legal terms. Uninteresting to most of us, but fascinating to a few.
  • urbandict: crunk looks up crunk in the urban dictionary (crunk=crazy+drunk)
  • taf:KDEN will display the travel aviation forecast for the KDEN airport.

Check them out and create your own.

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. 

 

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.

Improved Berry Bloglines performance with Rails

Users of Berry Bloglines should notice snappier performance after a port to Ruby on Rails from the older CGI scripts, whose overhead had grown too high under increased load.

Tech notes:
The new implementation uses ruby-bloglines. Compared with the Universal Feed Parser, Ruby Bloglines currently has some limitations. It doesn’t handle ill-formed XML and rather than meaningful objects it returns nested hashes with some inconsistent structures.

Unfortunately, Bloglines is an example of a site that doesn’t generate valid XML! For instance, ampersands in feed titles or descriptions are not escaped as & causing a non-lenient XML parser to blow up. Although I won’t complain as harshly as Tim Bray does about invalid XML, I do hope the Bloglines team can clean this up as it makes life difficult.

A better RSS parsing option might be Ruby FeedTools or perhaps something built on top of RubyfulSoup, but the bloglines web services interface would need to be modified to use it.

Berry411 now remembers your favorite numbers and directions

Version 3.30 of the Berry411 mobile search tool is now available from the Berry411 download page.

The new version remembers the name and phone number of any business you call or add to your phone book using Berry411. The next time you search for the business, you can call the business directly from the search history without having to hit the web at all, or go directly to the driving directions and details page for that business without having to scroll through other results.

This means that getting information for your favorite businesses is even faster.

[You can see that the end game is that the local address book, local search, and search history blend into one seamless experience, though we still have a way to go before getting there. From a technical standpoint, the interesting feature in this release is the ability to update the Berry411 client search history from the B411 web site (but not any other web site, for security reasons.) I am toying with the idea of creating address packs that would populate your address book and/or search history with useful sets of businesses, such as the 800 numbers of all the US airline carriers for instance. Going with a flexible browser + scripting language approach for the results makes this sort of thing trivial to add.]

Extending the Blackberry Browser with Plugins and XML Scripting

The Blackberry API is powerful but also incompletely documented; I’ve had to uncover many parts of it by searching multiple sources and through trial and error.

The sample code in this post illustrates several features of the Blackberry API used in the Berry411 application. The BrowserContentProvider interface allows an application like Berry411 to register itself as a handler for a custom mime-type “text/xml-berry411″. Berry411 uses the SAX parser interface to parse and interpret scripting commands in the document returned from the server– in effect this allows Berry411 to define its own custom scripting language allowing web pages to interact with the address book and other features of the Blackberry.

The BrowserContentProvider also allows an application to define its own rendering for pages that take advantage of all of the Blackberry UI widgets, rather than relying upon the browser for rendering.

Finally, the sample code illustrates a “launchOrRaiseApp” method which will ensure that the application with the given module name (e.g. “berry411″) is running and in the foreground. If the application is already running, it will be foregrounded, otherwise it will be launched.

See the sample code

Announcing Berry411 v3.20

Berry411 v3.20 is now available from the Berry411 download page

The major new features are the ability to add a business to your address book or to set your current location directly from a search result page. The latter feature is especially handy if you’re at a business and want to find other nearby businesses.

(From a technical standpoint, there is some very interesting magic going on behind the scenes to enable these features– a new XML based scripting language registered by Berry411 that allows a web page to interact with the address book and other features of the phone. I describe how this works in more detail in a subsequent post.)

Below is a tour of some of the new features. These new features are seen are the details page you get when you click on a business search result.

1. The “Add Address” menu item on the search details page.

2. After adding an address, you can now go directly to the address book or back to the main search screen.

3. The newly added address.

4. Setting your current location