Garmin Launch New Rino to Communicate, Locate and Explore

Rugged communication at its best – the redesigned and upgraded Rino®610, 650 and 655t handheld two-way radios integrated with GPS. Boasting up to a 20-mile communication range the Rino 650 and 655t 5-watt FRS/GMRS radios have evolved to include a 2.6” glove-friendly touchscreen and are packed full of powerful features like a barometric altimeter, 3-axis tilt compensated compass and NOAA weather radio.  The Rino was announced in preparation for the Teva Mountain Games in Vail, CO, where it will be prominently displayed at the Garmin booth June 3-5.

“Whether you’re a hunter looking for peace of mind in the woods, a ski patroller monitoring conditions in the Rockies or simply want to enjoy the outdoors with the benefit of radio communication and GPS, the new Rino has what you need,” said Dan Bartel, Garmin’s vice president of worldwide sales. “Having the ability to know where someone is in your hunting group at all times and to communicate freely with them provides a new level of safety only found from Rino.”

Find Your Friends: Rino’s unique position reporting capability lets you send your exact location to other Rino users so they can see it on their map page. And after pairing for the first time you will be able to see your friends even in situations where they cannot call for help or tell you their position. You can also send unit-to-unit text messages to other Rino users in your area – it’s ideal for loud or windy conditions, or just when you don’t want to disturb the wildlife. Gone are the days of missing a note as Rino timestamps and records the notes you receive from contacts for later review or forwarding. Plus, improved audio performance means it’s easy to communicate with any other conventional FRS/GMRS radio in the area. The device can be useful in an emergency, or just a handy way to keep tabs on your hunting party, hiking partner, family or friends.Weather Alerts, Wherever you Go: For added safety, Rino 650 and 655t feature a built-in NOAA weather radio that can help you avoid hazardous weather. The radio supports Specific Area Message Encoding, which allows you to see National Weather Service warnings and watches displayed county-by-county on the map screen so you can stay informed at a glance when you need to be in the know. The 650 and 655t are powered by a removable and rechargeable lithium-ion battery pack lasting up to 14 hours or up to 18 hours with the optional AA battery pack.

Turn On and Go: Each device in the Rino series has a high-sensitivity GPS receiver with HotFix®, which automatically calculates and stores critical satellite information and can use that information to quickly calculate a position so you can spend more time active and less time waiting. And with multiple profiles like Marine, Recreational and Automotive to name a few, Rino can be customized to match whatever activity you might be performing. To see Rino in action visit, www.garmin.com/rino

Value Minded: Garmin’s Rino 610 is an entry level 1-watt FRS/GMRS radio handheld GPS radio is powered by four AA batteries, lasts up to 18 hours and comes pre-loaded with a worldwide basemap. With its spacious 1.7GB of internal memory Rino makes it easy to add maps with its wide array of detailed topographic, marine and road maps. Rino 610 lets you load TOPO U.S. 24K maps and hit the trail or BirdsEye Satellite Imagery (subscription required), which lets you download satellite images to your device and integrate them with your maps. In addition, Rino 610 is compatible with Custom Maps, free software that transforms paper and electronic maps into downloadable maps for your device.

Share Wirelessly: With Rino 650 and 655t, you can share your waypoints, tracks, routes and geocaches wirelessly with other compatible Garmin GPS devices. Once your Rino is connected via USB, download BaseCamp™ software (www.garmin.com/basecamp) to easily store and share your photos. BaseCamp also helps you view, plan and organize your maps (in 2D or 3D), waypoints, routes and tracks – including elevation profiles – and send them to your Garmin handheld.

Document Your Journey: Never miss a memory with Rino 655t’s built-in 5-megapixel autofocus camera; you’ll be able to capture the highlights of your outings. Each photo is automatically geotagged with the location of where it was taken, allowing you – or those you share your photos with – to easily navigate back to that spot in the future. Along with its camera, Rino 655t comes pre-loaded with TOPO 100k maps.

The new Rino devices are expected to be available in the third quarter of 2011. The Rino 610 and 650 have a suggested retail price of $349 and $499.99, respectively. The Rino 655t has a suggested retail price of $599.99. Additional information about the Rino series is available at www.garmin.com or www.garmin.blogs.com. Garmin has spent more than 20 years developing technologies and innovations to enhance users’ lives, making it a household name in the automotive, aviation, marine, wireless, outdoor and fitness industries.

Google Latitude Adds Checkin Offers Nationwide

Yesterday was a busy day for Google local. Google management changes in Local & the Hotpot rebranding made front page news around the web. An announcement that snuck through the cracks was the limited nationwide rollout of  check-in offers at “thousands of places across the U.S. using Latitude on the iPhone and Android”.

Offers (aka Coupons) and Latitude have both been step children in the pantheon of Google local products….huge but unrealized potential month in and month out over a fairly long time horizon. But they both seem to have found each of late and are the better for it.

Coupons, now called Offers, a nearly hidden feature in Places for what seems like eons, have often languished. They got their start in July of 2006 and received some push into 2007. For a while there was appreciable annual growth in the numbers of coupons in the system. But doubts about Google’s willingness to promote coupons surfaced early. By early 2009, amidst no promotion from Google and their failure to showcase coupons in any significant way, Google’s coupon inventory showed significant year over year declines. None but the most intrepid consumers could find them and even SMBs that availed themselves of the feature had trouble locating their own coupons.

After hitting their low point in early 2009, Google Coupons slowly started receiving limited attention from Google, at first cleaning out old and stale inventory and then  very sloooowly adding features and slightly increased visibilty. In November 2009  mobile compatibility and in June 2010 SMBs were given the ability to highlight them on their listing via Tags, potentially giving them front page exposure.

Shortly before loosing out in their effort to acquire Groupon in November of last year, Google rebranded Coupons as Offers. A superficial change but one that indicated that coupons were no longer on life support.

Google’s intended direction for the coupon aspect of Offers became clearer with a very public test in Austin concurrently with the South by Southwest Conference, integrating coupons with Latitude’s Check in process at 60 locations.  This newest expansion (details visible here) of offer checkins leverages some high value coupons at nationwide retailers and eateries:

  • American Eagle Outfitters: Up to 20% off your total purchase
  • Quiznos: Free sub when you buy a sub of equal or greater value
  • Arby’s: Free regular roast beef sandwich with purchase of a 22 oz. drink
  • RadioShack: Up to 20% off qualifying, in-store purchases
  • Finish Line: Save $10 on purchases over $50

In January of this year a spot check showed that the coupon volume hadn’t changed since 2009 with as few as 500 coupon offers in a city like NY. However, a check today shows that NYC now has 770 offers. Still anemic, still not visible to the general public but no longer on life support and growing once again.

Check in coupons are a natural fit with a check in product and offer obvious synergies that could move both Offers and Latitude forward in adoption and visibility.

When and how these Offers will be made available to other merchants is unclear. Is it a paid or free test? What is the tests duration and when will it be made available more widely? Will it be available and affordable to retailers large and small? All unknown at this point. (Although I did send those questions off to Google).

Google, not always able to capture the value in their technology due to execution and priorities, is nothing if not persistent. That should be obvious by their recent surge to a dominant player in reviews after many years in the shadows. Coupons via Offers and Latitude appears to be on a similar path.

Will the marriage of Latitude and Offers be successful? Would you use it in your or your client’s business if it were available?

Contact Sharing using Google Apps Script

You just created your own contact group in Google Apps Contact Manager and now you want to share this contact group with a few other coworkers (not the entire company). Over the last couple of years, our team at Dito often got this request from our customers. We decided to leverage Google Spreadsheets & Google Apps Script to allow sharing of user’s “personal contact group” with only a select group of coworkers.

How does it work?

The Apps Script implements a three step wizard. Upon completion of the wizard, the script sends the sharing recipients a link to open the spreadsheet to import the user’s recently shared contact group. The three steps in the wizard are.

  • Step 1 lists all the current contact groups in user’s account. The user can select the group he/she wants to share.
  • Step 2 allows user to select the colleagues with whom the user wants to share his/her personal contact group with.
  • Step 3 lets the user submit the sharing request.

    Designing using Apps Script Services

    Apps Script has various services which can be used to build the user interface, access the user’s contact list and send emails without the need to compile and deploy any code.

    1. Security (guide)

    Before a script can modify a user’s contacts, it needs to be authorized by that user. The authorization process takes place when a user executes the script for the first time. When a user makes a request to share his/her contacts, our script sends a link to the intended recipients by email. Upon clicking this link and the “Run Shared Contact Groups” button in the spreadsheet, the recipient will first need to grant authorization to execute the script. By clicking the “Run Shared Contacts Groups” button again, the script will proceed with creating the shared contact group.

    2. Spreadsheet Service

    In developing this script, there was a fair amount of data that needed to be exchanged between different users. We used Apps Script’s Spreadsheet Service for temporarily storing this data.

    // grab the group titled “Sales Department”
    var group = ContactsApp.getContactGroup(“Sales Department”);
    // from that group, get all of the contacts
    var contacts = group.getContacts();
    // get the sheet that we want to write to
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName(“Contact Data”);
    // iterate through contacts
    for (var i in contacts) {
    //save each of the values into their own columns
    sheet.getRange(i, 1, 1, 1).setValue(contacts[i].getGivenName());
    sheet.getRange(i, 2, 1, 1).setValue(contacts[i].getFamilyName());

    sheet.getRange(i, 13, 1, 1).setValue(contacts[i].getWorkFax());
    sheet.getRange(i, 14, 1, 1).setValue(contacts[i].getPager());
    sheet.getRange(i, 15, 1, 1).setValue(contacts[i].getNotes());
    }

    3. Ui Service

    Ui Services in Google Apps Scripts have an underlying Google Web Toolkit implementation. Using Ui Services in Apps Script, we easily built the user interface consisting of a 3 step wizard. In designing Ui using Ui Services, we used two main types of Ui elements – Layout Panels and Ui widgets. The layout panels, like FlowPanel, DockPanel, VerticalPanel, etc., allow you to organize the Ui widgets. The Ui widgets (TextBoxes, RadioButtons, etc.) are added to layout panels. Ui Services make it very easy to assemble and display a Ui interface very quickly.

    We built each of the components on their own, and then nested them by using the “add” method on the desired container. The UI widgets in the screenshot above were constructed by the code below:

    // create app container, chaining methods to set properties inline.
    var app = UiApp.createApplication().setWidth(600).setTitle(‘Share The Group’);
    // create all of the structural containers
    var tabPanel   = app.createTabPanel();
    var overviewContent = app.createFlowPanel();
    var step1Content = app.createFlowPanel();
    var step2Content = app.createFlowPanel();
    var step3Content = app.createFlowPanel();
    // create u/i widgets
    var selectLabel = app.createLabel(“Select one of your Contact Groups you want to share with others.”);
    var contactGroupDropdown = app.createListBox().setName(‘groupChooser’);
    // add all children to their parents
    overviewContent.add(selectLabel);
    overviewContent.add(contactGroupDropdown);
    tabPanel.add(overviewContent,”Overview”);
    tabPanel.add(step1Content,”Step 1″);
    tabPanel.add(step2Content,”Step 2″);
    tabPanel.add(step3Content,”Step 3″);
    app.add(tabPanel);
    // tell the spreadsheet to display the app we’ve created.
    SpreadsheetApp.getActiveSpreadsheet().show(app);

    Continuing with this pattern, we created a pretty complex design using the UI Services. The next step in building a useful user interface is actually building in event handlers for the UI Widgets. Event Handlers let Apps Script know which function you want to run when your script needs to respond to a given user interaction. The code below is an example of a DropDownHandler that we used in our script in Step 1 of the wizard.

    // create a function to execute when the event occurs. the
    // callback element is passed in with the event.
    function changeEventForDrowdown(el) {
    Browser.msgBox(“The dropdown has changed!”);
    }
    // create event handler object, indicating the name of the function to run
    var dropdownHandler = app.createServerChangeHandler(‘changeEventForDrowdown’);
    // set the callback element for the handler object.
    dropdownHandler.addCallbackElement(tabPanel);
    // add the handler to the “on change” event of the dropdown box
    contactGroupDropdown.addChangeHandler(dropdownHandler);

    4. Contacts Service

    When a user of the script chooses to share a specific group, the script saves that group contact data into a spreadsheet. When a sharing recipient clicks on the run button to accept the contacts share request, the script fetches the contact group data from the spreadsheet and uses theContacts Service to create contacts for the share recipients.

    var group = ContactsApp.createContactGroup(myGroupName);
    for (var i = 0; i < sheet.getLastRow(); i++) {
    var firstName = sheet.getRange(i, 1, 1, 1).getValue();
    var lastName = sheet.getRange(i, 2, 1, 1).getValue();
    var email = sheet.getRange(i, 3, 1, 1).getValue();
    var myContact = ContactsApp.createContact(firstName, lastName, email);
    // …
    // set other contact details
    // …
    myContact.addToGroup(group);
    }

    As this application shows, Apps Script is very powerful. Apps Script has the ability to create applications which allow you to integrate various Google and non-Google services while building complex user interfaces.

    You can find Dito’s Personal Contact Group Sharing Script hereClick here to view the video demonstration of this application. You can also find Dito Directory on the Google Apps Marketplace.