Garmin’s multi-sensor controller concept for infotainment systems helps reduce driver distraction

 

Garmin Multi-Sensor Controller Concept_Close-up

With the increasing use of technology and smartphones behind the wheel, driver distraction has become a concern. But technology in general is not the problem. The most important question is how it is being used and integrated into the car so that it doesn’t distract drivers. Garmin’s new multi-controller concept provides a new and unique way of controlling essential functions of an in-car infotainment system, such as audio, apps, communications and navigation. It is a concept development from Garmin’s automotive OEM group, providing further research for enhanced reduction in driver distraction.

Garmin Infotainment Multi-Controller Concept Audio Low Res

Garmin’s concept positions the screen higher up on the dash inthe driver’s eyesight and combines it
with a rotary infrared controller in convenient reach, a touch pad, and menu mode buttons. The infrared sensors of the rotary controller automatically detect an approaching hand and the system reacts by displaying menu options even before it is touched. Because the system “knows” when a user is reaching for the controller, menu buttons on the screen are hidden when not needed. At all times important information, such as driving directions and the name of a song or radio station is kept at the top of the screen so the driver always has a single reference point. Four buttons with infrared sensors on the rotary controller allow switching between different menus, such as audio, apps, communications and navigation.

In addition to the rotary controller, radio preset buttons with infrared sensors are positioned below the screen to allow a driver to feel for the right button without having to press it – when their finger is close to a preset button, a highlighted preset image appears on the display, allowing the driver to select a station.

Tied into this system can be HVAC controls, vehicle bus information, connected services and apps from a smartphone. Existing technology like text-to-speech, voice command, Bluetooth hands-free calling and traffic services also helps alleviate driver distraction to avoid potentially dangerous situations.

Garmin’s automotive OEM group utilizes the company’s long-standing experience in interface and hardware design from its automotive, avionics and marine segments to develop innovative in-car navigation, telematics and infotainment systems. Garmin already provides integrated cockpits to the aviation industry and is dedicated to bring a similar level of technology, integration, safety, reliability, and efficiency to the automotive market. Garmin recently announced its first fully integrated infotainment system for most 2013 Suzuki vehicles.

 

 

Introducing the SketchUp Showcase

 

It’s our sincere pleasure to unveil The SketchUp Showcase, a home for the most impressive, interesting, and inspiring project stories that have been shared with us.

Why a new showcase? Often, when you find an amazing model in the 3D Warehouse, it doesn’t tell the full story behind a project. You can download it and see how it was built. But you probably wouldn’t get a sense of why it was built. Where did the inspiration come from? What were the design challenges the modeler faced? What happened after the model was finished? The story just isn’t complete.

The Showcase is a space where the stories, images, renders, animations, and 3D models of passionate SketchUppers can shine a bit brighter.

 

 

What was the inspiration behind this 3D model? | Image courtesy of Roberto Bergamo 

 

But that’s not all – the Showcase is also a first look at a new element of SketchUp technology: an online 3D model viewer. This 3D viewer lets you orbit, zoom, and pan 3D models right in your browser! To see it in action, find a project marked with a red flag or simply click here. Please note: you’ll need to use the latest version of Google Chrome to take advantage of the WebGL goodness that makes this viewer possible.

Go ahead and start exploring now; content is organized by category filters, so you can easily find projects based on your interests.

A project page featuring the new online 3D viewer | The Catalyst Playground in VietnamFinally, our team would like to dedicate the SketchUp Showcase to all the passionate SketchUppers who’ve supported us for over a decade. As we enter a new chapter with Trimble, we hope the Showcase and the online viewer are proof that SketchUp is only getting better. It’s clichéd to say we wouldn’t be much of anywhere without you, but that doesn’t make it any less true. Thank you for all of the love (sometimes tough) you’ve sent our way. Your passion for SketchUp is still what gets us out of bed in the morning.

Android Apps Over the 50MB Barrier

 

Android applications have historically been limited to a maximum size of 50MB. This works for most apps, and smaller is usually better — every megabyte you add makes it harder for your users to download and get started. However, some types of apps, like high-quality 3D interactive games, require more local resources.

So today, we’re expanding the Android app size limit to 4GB.

The size of your APK file will still be limited to 50MB to ensure secure on-device storage, but you can now attach expansion files to your APK.

  • Each app can have two expansion files, each one up to 2GB, in whatever format you choose.
  • Android Market will host the files to save you the hassle and cost of file serving.
  • Users will see the total size of your app and all of the downloads before they install/purchase.

On most newer devices, when users download your app from Android Market, the expansion files will be downloaded automatically, and the refund period won’t start until the expansion files are downloaded. On older devices, your app will download the expansion files the first time it runs, via a downloader library which we’ve provided below.

While you can use the two expansion files any way you wish, we recommend that one serve as the initial download and be rarely if ever updated; the second can be smaller and serve as a “patch carrier,” getting versioned with each major release.

Helpful Resources

In order to make expansion file downloading as easy as possible for developers, we’re providing sample code and libraries in the Android SDK Manager.

  • In the Google Market Licensing package, an updated License Verification Library (LVL). This minor update mostly adds the ability to obtain expansion file details from the licensing server.
  • From the Google Market APK Expansion package, the downloader service example. The library makes it relatively simple to implement a downloader service in your application that follows many of our best practices, including resuming downloads and displaying a progress notification.

Because many developers may not be used to working with one or two large files for all of their secondary content, the example code also includes support for using a Zip file as the secondary file. The Zip example implements a reasonable patching strategy that allows for the main expansion file to “patch” the APK and the patch file to “patch” both the APK and the main expansion file by searching for asset files in all three places, in the order patch->main->APK.

Expansion File Basics

Expansion files have a specific naming convention and are located in a specific place for each app. As expansion files are uploaded to the publisher site, they are assigned a version code based upon the version of the APK that they are associated with. The naming convention and location are as follows:

Location: /Android/obb//
Filename: [main|patch]...obb
Example: /sdcard/Android/obb/com.example.myapp/main.5.com.example.myapp.obb

Expansion files are stored in shared storage. Unlike APK files, they can be read by any application.

Downloading and Using the Expansion Files

When the primary activity for the app is created, it should check to make sure the expansion files are available. The downloader library provides helper functions (for example the “Helpers” class in the code below) to make this easy.

boolean expansionFilesDelivered() {
    // get filename where main == true and version == 3
    String fileName = Helpers.getExpansionAPKFileName(this, true, 3);
    // does the file exist with FILE_SIZE?
    if (!Helpers.doesFileExist(this, fileName, FILE_SIZE, false)) {
        return false;
    }
    return true;
}

If the file does not exist, fire up the downloader service with DownloaderClientMarshaller.startDownloadServiceIfRequired(). The downloader will perform an LVL check against the server. This check will deliver the names of the files, file sizes, and the file URLs.

Once that check has been completed, it will begin downloading the files. You don’t have to use our download solution, but you might want to because we:

  • Include a notification UI that provides progress and estimated completion time in layouts customized for ICS and pre-ICS devices
  • Resume large files safely
  • Handle redirection with appropriate limits
  • Run in the background as a service
  • Pause and resume downloads when WiFi is not available

Enjoy! We can’t wait to see what kinds of things developers do with this! For more information about how to use expansion files with your app, read the APK Expansion Files developer guide.