Vote for new Google mobile product features

Have you ever left a comment on the Google mobile blog about a new feature or platform that you really wanted supported? Have you ever wanted to cast a vote for another reader's comment to make your opinion heard? Well now you can.

While we do read your comments on the mobile blog and help forum, we're happy to announce our new Product Ideas page that will give you a more collaborative way to get your product ideas heard not only by us, but by others as well. The new page, built on Google Moderator, allows you to submit ideas that others can view and rate so you can see what other Google mobile users think about it, too. This way some ideas will be voted up and others will be voted down.

From this we'll be able to see more clearly what's important to you and we'll take it into consideration as we move forward with developing our products. The Product Ideas team will pop in from time to time to see what you have to say, and we'll be offering periodic updates on what we see and what ideas make it into your favorite products in our Product Ideas blog.

To get started, visit the Product Ideas for Google mobile page and sign in, then let your voice heard!

Our 100th post -- What about MY phone?

We don't always say this, but thank you for reading the Google mobile blog.

When we launched last year, we realized that we needed to better communicate what the Google mobile team was up to. Since then, we've been working hard to provide you with timely and useful information. We've also sought to keep our posts personal and engaging by introducing you to the Googlers behind our products, incorporating video, and enabling comments.

While we're thrilled that our readership has continued to grow, we want to make the mobile blog even more useful and interesting to you in 2009. We invite you to tell us how we can improve. What else do you want to see on the mobile blog? Are our posts too long or too short? What phones do you most want to read about? Please fill out this quick survey to let us know what you think.

In celebration of our 100th post, we're going to attempt to address one of the blog's most frequent comments: "What about MY phone?" This comment always seems to be tinged with such angst and passion. Trust us, as users we know your pain. But we also know the difficulty of developing software for disparate phones.

We've put together a video that gives you a behind-the-scenes glimpse of our "Sky Lab" that contains over 800 phones for developing, demonstrating, and testing purposes. Although we have so many phones, we currently can't make all of our products work on all of these phones -- we face the same challenges that every developer faces in the mobile industry: we have to choose. So this video also reveals two very different approaches for choosing devices in this industry... If you have any better ideas, let us know!



Of course, if you've been following our blog you may have noticed some patterns. We do like phones with good browsers and flat-rate data plans. Stay tuned to the Google mobile blog for more on this in the new year.

Track Santa with Google Maps for mobile!

Santa's making his list, the Elves are working around the clock, the sleigh is being prepped - Christmas is almost here! As they have since 1955, NORAD (North American Aerospace Defense Command) will be tracking Santa's journey this Christmas, and Google will again enable you to follow his trip in Google Maps, Google Earth, on YouTube, and with the NORAD Tracks Santa iGoogle Gadget. This year, we're happy to announce that you can keep tabs on Santa with Google Maps for mobile. Now, no matter where you are, you can track Santa and his Reindeer, directly from your mobile device.

Getting started is easy, just open Google Maps for mobile, and search maps for 'norad santa'. Once the tracking begins, you will be flown to Santa's most current location, according to NORAD radar. Try it out on your T-Mobile G1, iPhone, BlackBerry, Nokia S60, or Windows Mobile smartphone. Note that you'll have to re-issue your query to see Santa's updated location.

For the moment, Santa is in his home at the North Pole, but after he takes off, his whereabouts will be updated every few minutes as he zips around, delivering his gifts. By the way, if you need an excuse to end a conversation with that relative that is trying to make up for not calling you in 15 years, this may come in handy - "Sorry, I'm going to have to let you go - I need to find out where Santa is!"

Santa doesn't take off until 12/24 at 3:00am PT, but there is plenty to learn about NORAD Tracks Santa between now and then at www.noradsanta.org. The video below has a few highlights from last year's trip - enjoy and happy holidays from the mobile team!


Posted by Bruno Bowden, Software Engineer

Happy Holidays from the Google Mobile Team!

We hope you have a safe and happy (and mobile!) holiday season. To wrap things up, here are some final holiday Mobile Tricks

Ted Smolsen shows how he does last-minute shopping using Google Docs and Google Maps for mobile...

George shows how he keeps in touch with far-off relatives with a cameraphone, Picasa Webalbums, and a WiFi-enabled picture frame

and after your holiday meal, try ChangChangYall's Full-O-lator to understand what your relatives are saying.


From the Google Mobile team, search for recipes on your phone, use mobile YouTube to keep antsy kids at the dinner table, and remember to search for local times to wish your far-off friends a happy new year. 

Optimized search results pages for Android and iPhone

Whether you're using Google search through the search widget on the Android home screen, the built-in search box of the iPhone's Safari browser, or google.com on either device, you'll now end up with search results optimized for your phone. In some situations, you've already been seeing the new search results pages. Now, all Google search options for Android and iPhone lead to results that load faster and are formatted to fit the screen so you don't have to zoom or scroll side-to-side. We've also added touchscreen-friendly buttons and expandable maps for local business results.


The optimized search results pages are currently available in U.S. English for Android and for iPhone and iPod touch devices with firmware 2.x. If you prefer, you can always view desktop search result pages by selecting the "Classic" link at the bottom of any page.

The gift of Mobile Tricks

'Tis the season of giving... and we've got Mobile Tricks to help you navigate your way through it.

Terrence Diggle checks out new watch styles....

momola90404 shows off a whole new twist on a mobile headset...

and pizzazzery finds a friend in the mall.

And from the Google Mobile team, check out tips on seeing stores before you get there, and checking store stock. Remember to send us your video tips and tricks through the Mobile Tricks YouTube channel! We'll continue posting our favorites to this blog.


Your Maps in Your Hands for the Holidays

Just in time for the holidays I'm proud to present to you My Maps Editor by Google, now available for download in Android Market! In just four months of my 20% time and with a little help from the 20% time of my coworkers this application has gone from an idea in my head to a full application ready for you, really demonstrating the ease and power of developing on Android.

With this application you can create, edit, share, and view personalized maps on your Android powered phone synchronized with the My Maps tab on Google Maps. Create a map on your desktop computer using Google Maps and then take it with you on the go and update it on location. My Maps Editor by Google supports full editing functionality for markers, lines, and shapes on maps, plus the ability to mark your location using GPS or attach a photo directly from your phone. Your maps are automatically synchronized with your My Maps on the web. Check out this tour of Google Mountain View that I just created on my phone:



There are plenty of ways to put this to good use during the holiday season:
  • Plan out your holiday shopping. Create a map on your computer with markers for all of the stores you need to visit. Color code the markers according to importance, category, or sales. Then as you visit each store, change the icon to indicate that you've been there and list what items you were able to get in the description. If you find a store you didn't think of, you can quickly add a marker for it to help future planning.
  • Make a map of holiday decorations and displays that you see. Every time you see an interesting holiday display, use the Mark My Location feature to create a marker, then edit the details and add a photo of the display right from the phone's camera. Share your map with your friends and family to show them the best holiday displays in your area. Just go to the maps list, tap and hold on your map, and select Share Map to share it right from your phone.
  • Keep track of your travels. You can map out your travel plans and take them with you wherever you go. Add markers while you travel to mark interesting places, and take lots of pictures and attach them to the markers. Then when you get back, you can share the map with your friends and show everyone what your did on your vacation with a map and pictures to help them really visualize the trip.
The fun doesn't stop once the holidays are over. The possibilities are endless when your maps are in the palm of your hand (try making a map of running routes to keep yourself to your New Years resolution!). Don't take my word for it, go download My Maps Editor by Google from Android Market (currently available on the T-Mobile G1) and see for yourself!

Street View on Nokia S60 and Windows Mobile? Check.

(cross posted with the Google LatLong Blog)

In case you hadn't noticed, the Google Street View team has been busy photographing France, Italy, Spain, and Australia. Given the international focus of recent Street View launches, it's time we make Street View accessible on phones that are especially popular in those countries. We're excited to announce the availability of Google Maps for mobile version 2.3 with Street View on Nokia S60 and Windows Mobile. Street View was previously released on Google Maps for Android, BlackBerry, and iPhone.

Street View lets you access street level imagery to help orient yourself when looking for places, businesses, or getting directions. Say you're going to meet with friends at an unfamiliar restaurant. Now you can search for it in Google Maps for mobile, click on "Street View", and see what the place and surrounding area look like. Similarly, say you need to get to a shop in a part of town you don't know. Find it using your phone, get directions to it, and see how to get there with full-screen panorama images of every step along the way.

While Street View is not yet available everywhere, we'll continue rolling out support across other geographies in the coming months.

Check out this demo of Street View (albeit on a BlackBerry) to get an idea of how things work:


Besides Street View, the new version of Google Maps for mobile also has a bunch of other new features: request walking directions (in addition to driving and public transit) to get anywhere on foot, receive transit alerts from participating public transportation authorities, and see what other people think of a place by reading reviews directly on your phone. We've also overhauled the entire user interface to make the app more responsive and easier to use.

So if you have a Nokia S60 or Windows Mobile smartphone, go ahead and download the new version of Google Maps by visiting google.com/gmm on your phone. Enjoy the (street) view!

by Flavio Lerda, Software Engineer

Mobile Tricks... Holiday Edition!

You've seen our useful Mobile Tips for the holiday season... now how about some fun Tricks? Mobile Tricks, our YouTube channel celebrating all things cellular, has dressed up for the holidays with some new themed videos. How do you use your phone to get through the season? Show us in a video, and submit it on our channel. We'll post some of our favorites in this blog each week. Here are a few videos to start spreading the holiday cheer. It appears Santa is pretty handy with his phone!







And as before, we got together to give some tricks of our own, from looking up store hours without needing to type, to tracking packages. We're sure you do even more interesting, fun things though, so show us!

New AdWords options for iPhone and G1

Today, the Google mobile ads team is announcing a new campaign-level option that allows those of you who are AdWords advertisers to show your desktop text and image ads on the iPhone, the T-Mobile G1, and other mobile devices with full (HTML) Internet browsers. The ads can point to desktop landing pages so you don't need to create mobile landing pages or ads in mobile formats. The ads will have many of the same benefits as our standard mobile ads, such as the delivery of mobile-specific calls-to-action and reaching mobile users that are searching with their phones more than ever -- especially during the holiday season.

You may have seen ads running on the iPhone and G1 already. That's because Google Search on these devices used to show desktop results pages modified for these phones. Recently, the Google mobile team launched new results pages formatted specifically for the iPhone. Now, advertisers will be able to display ads exclusively on these mobile devices, create campaigns for them, and get separate performance reporting. If you prefer not to show your desktop ads on these phones, you can opt out and show ads only on desktop and laptop computers.

To target ads for G1 and iPhone, go to your campaign settings tab in your AdWords account. Then for the "Device Platform" option under "Networks and Bidding," select "iPhones and other mobile devices with full internet browsers." As additional devices that use full browsers enter the market, your ads will show on those phones, too. You can visit the AdWords Help Center for more detailed instructions and watch my video below for a quick demo. If you currently have an AdWords campaign running, by default your campaign will show ads on desktop and laptop computers, as well as iPhone and G1.

Note that if you're currently running our mobile ads, this new option for desktop ads does not affect your campaign. You can still create mobile ads that show up on other mobile devices like before. For a refresher on our mobile ad formats, check out my past posts on the Google mobile blog and past videos on the mobile blog YouTube channel.



New Resources for Developers

We're back in action after a Thanksgiving break filled with turkey, stuffing, and pumpkin pie. Now it's the holiday season (at least, here in the U.S.) and we're filled with good will toward developers. Today I wanted to talk about a couple things we just finished polishing up.

First, the Android 1.0 SDK, release 2 is now available. Like the previous 1.0_r1 release, this new 1.0_r2 build creates applications that are compatible with Android 1.0 devices, such as the T-Mobile G1. This new release fixes a few bugs. In 1.0_r1, it was possible for developers to write technically-illegal code by using the Java Reflection APIs to access private or protected fields and methods. 1.0_r2 fixes that problem by enforcing private/protected visibility of items accessed via Reflection. Meanwhile, the class android.R.styleable was included in 1.0_r1 primarily for documentation purposes as a way for developers to look up the style attributes available to them to use. However, actually referring to that class via source code would result in applications that might break when run on future versions of the Android platform, so 1.0_r2 corrects the oversight and removes access to the class from the android.jar file. (The class remains in the documentation for reference purposes, though.)

Both of these problems are obscure "future-proofing" issues, and I'd be quite surprised if they actually caused problems for anyone, but now they're fixed. 1.0_r2 also includes a few other smaller changes; check out the release notes for all the details.

Second, many of you have asked if developer devices will be available. We've worked with our partners to create a program for developers to purchase devices that enable them to test and debug applications more easily.

I think these new tools will be quite helpful to developers, and I'm looking forward to seeing what people do with Android, next.

Count down to 2009 with Google Mobile Tips

Whether you're shopping or traveling, entertaining or keeping in touch, let Google mobile make your life a little easier this holiday season with Google Mobile Tips.

From now through January 1, 2009, we'll post one new tip each day on our Google Mobile Tips microsite. You can also view the tips on your phone by simply entering your phone number on the microsite and clicking "Send". You'll receive an SMS text message with a link that leads to a tip on a mobile web page.

Today's tip is on voice search. Many of you may know that we recently launched Google Mobile App for the iPhone with voice search. However, did you know that you can tap the green highlighted text in the search bar to see alternative predictions of what you've spoken? If the voice recognition for a query is close but not perfect, try tapping this text to see if your desired query is in the list. If it is, then just tap the list item to see your search results. Voice search can come in handy when you're looking for that perfect gift -- whatever that may be.

Make life even easier by taking a look at this countdown to 2009 for tips about other Google products like Product Search, Checkout, Maps, and more. There's even a gadget that you can add to your iGoogle page -- read more on the Official Google Blog.

Touch Mode

Designing and developing user interfaces for Android is very different from doing so in a regular desktop environment. Because Android runs applications on mobile devices, application designers and developers must deal with numerous constraints that are not always obvious. To help you design and develop better applications, we are publishing a new series of posts focusing on Android user interfaces. In this series, we will give you design guides and tools, development tips, and explain the fundamental principles of the Android UI toolkit. The goal here is simple: we want to help you design and develop a great user experience. To start off this series, I'd like to introduce touch mode, one of the most important principles of the UI toolkit.

The touch mode is a state of the view hierarchy that depends solely on the user interaction with the phone. By itself, the touch mode is something very easy to understand as it simply indicates whether the last user interaction was performed with the touch screen. For example, if you are using a G1 phone, selecting a widget with the trackball will take you out of touch mode; however, if you touch a button on the screen with your finger, you will enter touch mode. When the user is not in touch mode, we talk about the trackball mode, navigation mode or keyboard navigation, so do not be surprised if you encounter these terms. Finally, there is only one API directly related to touch mode, View.isInTouchMode().

Sounds easy enough right? Oddly enough, touch mode is deceivingly simple and the consequences of entering touch mode are far greater than you might think. Let's look at some of the reasons why.

Touch Mode, Selection, and Focus

Designing a UI toolkit for mobile devices is difficult because of the various interaction mechanisms they provide. Some devices offer only 12 keys, some have a touch screen, some require a stylus, some have both a touch screen and a keyboard. In that regard, it is a great benefit for the Android development community that the first commercially available device, the G1, offers multiple forms of input using a touch screen, a trackball, and a keyboard. Because the user can interact with applications using three different mechanisms, we had to think very hard about all the possible issues that could arise. One issue led us to create the touch mode.

Imagine a simple application, ApiDemos for example, that shows a list of text items. The user can freely navigate through the list using the trackball and they can also scroll and fling the list using their finger. The issue in this scenario is the selection. If I select an item at the top of the list and then fling the list towards the bottom, what should happen to the selection? Should it remain on the item and scroll off the screen? In this case, what would happen if I then decide to move the selection with the trackball? Or worse, if I press the trackball to act upon the currently selected item, which is not shown on screen anymore. After careful considerations, we decided to remove the selection altogether.

In touch mode, there is no focus and no selection. Any selected item in a list of in a grid becomes unselected as soon as the user enters touch mode. Similarly, any focused widgets become unfocused when the user enters touch mode. The image below illustrates what happens when the user touches a list after selecting an item with the trackball.

To make things more natural for the user, the framework knows how to resurrect the selection/focus whenever the user leaves touch mode. For instance, in the example above, if the user were to use the trackball again, the selection would reappear on the previously-selected item. This is why some developers are confused when they create a custom view and start receiving key events only after moving the trackball once: their application is in touch mode, and they need to use the trackball to exit touch mode and resurrect the focus.

The relationship between touch mode, selection, and focus means you must not rely on selection and/or focus to exist in your application. A very common problem with new Android developers is to rely on ListView.getSelectedItemPosition(). In touch mode, this method will return INVALID_POSITION. You should instead use click listeners or the choice mode.

Focusable in Touch Mode

Now that you know focus doesn't exist in touch mode, I must explain that it's not entirely true. Focus can exist in touch mode but in a very special way we call focusable in touch mode. This special mode was created for widgets that receive text input, like EditText or, when filtering is enabled, ListView. This is why the user can type text inside a text field without first selecting it with the trackball or their finger. When a user touches the screen, the application will enter touch mode if it wasn't in touch mode already.  What happens during the transition to touch mode depends on what the user touched, and what currently has focus.  If the user touches a widget that is focusable in touch mode, that widget will receive focus.  Otherwise, any currently focused widget will not retain focus unless it is focusable in touch mode. For instance, in the picture below, when the user touches the screen, the input text field receives the focus.

Focusable in touch mode is a property that you can set yourself either from code or XML. However, it should be used sparingly and only in very specific situations as it breaks consistency with Android normal behavior. A game is a good example of an application that can make good use of the focusable in touch mode property. MapView, if used in fullscreen as in Google Maps, is another good example of where you can use focusable in touch mode correctly.

Below is another example of a focusable in touch mode widget. When the user taps an AutoCompleteTextView's suggestion with his finger, the focus remains on the input text field:

New Android developers often think that focusable in touch mode is the solution they need to "fix" the problem of disappearing selection/focus. We really encourage you to think very hard before using it. If used incorrectly, it can make your application behave differently from the rest of the system and simply throw off the user's habits. The Android framework contains all the tools you need to handle user interactions without using "focusable in touch mode". For example, instead of trying to make ListView always keep its selection, simply use the appropriate choice mode. And if you feel that the framework does not suit all your need, feel free to let us know or contribute a patch.

Touch Mode Cheat Sheet

Do:

  • Remain consistent with the core applications
  • Use the appropriate feature if you need persistent selection (radio button, check box, ListView's choice mode, etc.)
  • Use focusable in touch mode if you write a game

Don't:

  • Do not try to keep the focus or selection in touch mode

Behind the apps: Amazed

This week's developer video features Jason Tomlinson of Hands-On Mobile. He wrote Amazed, an application open sourced in the apps-for-android project. Things Jason mentions in the videos include:

  • Amazed was built primarily to get familiar with the accelerometer. This helped him in his work on Guitar Hero® World Tour Mobile for Android.
  • Using traceview to track down which methods take the most CPU cycles.

This and other Android developer videos can be found here.