Review: Going all wireless in the car with the Nokia CR-200 Wireless Charging Car Holder & Kinivo BTC450 Bluetooth car kit

It’s official: I love wireless. Ever since I got my Nokia Lumia 920 and the accompanying wireless charge plate I can’t imagine going back to a world where I have to plug my phone in to charge it. The convenience of being able to simply place my phone on the bench or stand it in a stand and have it instantly start charging is a joy.

This had worked great when I was at home or at work where I have the Nokia Wireless Charging Plate and Nokia Wireless Charging Stand respectively, but not much help for the >1 hour I spend in the car each day commuting to and from work. (Truth is David Fowler has the wireless charging stand at work, but we share an office, so I get the benefit of his late arrival hours each day ;)

Car + cables = sadness

Until recently I had being using a USB cable and 3.5mm audio cable (below) to manually hook up the phone to my car for charging (via USB) and audio so I could listen to podcasts, music and what not. My car has integrated Bluetooth for call/answering. But wires are a drag (fiddly to connect/disconnect), and the phone had to sit in landscape orientation in the open ashtray which was a little awkward. It would occasionally slide out of its home and on more than one occasion, a passenger would get themselves caught on the cabling and hilarity would ensue.

The USB & audio cable rig I used to use to connect the phone to the car.

An idea is planted

It was while listening to a podcast that I discovered the Nokia CR-200 Wireless Charging Car Holder. Andrew Coates had remarked he’d recently picked one of these up and was loving the convenience it offered in the car. I took a mental note and later attempted to look up details of this kit online, but to my dismay I couldn’t find any details about its availability in the USA (Andrew is in Australia). Turns out, it isn’t officially available in the USA. That link above is to Nokia’s global accessories page, but you won’t find the CR-200 available in retail stores in the USA or on Nokia’s US site. I asked @NokiaUS why and they pointed me to Amazon.

@NokiaUS guiding me to Amazon

I still have no idea why the CR-200 isn’t marketed in the USA, but hey, at least we can get it on Amazon. Note, there are actually two items listed on Amazon, one is cheaper and eligible for Amazon Prime, but it lists delivery time as 3-5 weeks. So I ended up going with this listing instead. In the end it took a few weeks to arrive anyway, as it’s shipped out of the UK, so I probably would’ve been better off with the Prime eligible listing in the first place. Live and learn.

That was set to take care of mounting the phone and getting wireless charging but I still needed to solve the wireless audio problem (remember my car already has Bluetooth phone pairing for calls and I want to keep using it for that purpose as the integration into the car system is great). I trawled through the Amazon listings and reviews for the various Bluetooth car audio adapters and landed on the Kinivo BTC450.

The installation

The CR-200, all the way from the UK

Both kits come with everything you need to install them in your car. Finding a suitable position for them of course is a little tricky depending on the layout of your car. Both kits require a 12-volt car outlet each for power. In my case the positions for each unit were fairly natural: above and to the right of the transmission selector for the CR-200, and next to the iDrive controller for the BTC450. I have a power outlet in the ashtray above the transmission selector and in the center console bin behind the iDrive controller, which also happens to be where the 3.5mm aux in audio connector is. Perfect.

Both kits also come with sticky pads to mount them to the car interior. The 3M sticky pads that came with the BTC450 are excellent, very sticky indeed. The CR-200 however comes with a separate mounting plate which is backed with a thick, soft sticky substance. Once this is attached to the car, the holder itself has a very tacky suction cup (with an actual suction lever to ensure a tight fit to the mounting plate). This is where I started to have trouble.

The sticky goo on the back of the CR-200 mounting plate just wasn’t sticky enough to get a good attachment to the thin strip of coated timber laminate in my desired mount location. As such, I’d get back into the car after being in work all day and find the whole unit in the passenger foot well. Urgh. This is not what I wanted at all. I contemplated a few mods to the kit to stable up the install until I remembered the BTC450 came with *two* of those super sticky 3M double-sided pads. Perfect, as only one was needed for the BTC450 itself. I gently pried the sticky gel off the bottom of the CR-200 mounting plate, and successfully used the spare 3M sticky pad to mount it in the desired location. It hasn’t moved since.

The final installation

Close up of the CR-200 mounted on the center console

Close up of the BTC450 mounted on the center console

Once everything was plugged in the pairing process was trivial. The BTC450 automatically enters pairing mode when it receives power the first time, and from there it’s simply a case of using the phone’s Bluetooth settings page to discover and pair with the device.

NFC isn’t just about sharing & pairing

The CR-200 doesn’t require explicit pairing to get wireless charging but it does come with a pretty cool added bonus: a custom launch app. You install the app by using NFC (Tap & Send on your phone) to receive the content (see in the video below). From that point on you can launch the app by tapping the phone (from the phone screen) against the base of the CR-200 (or another app if you choose). Or you can simply pin the app to the home screen and launch it that way (although it actually takes two taps of the screen to launch this way). The app gives you a driving-oriented launch screen. The top pane displays the date/time, local weather, or charging status in a carousel that you can swipe through. The three large buttons underneath that are configurable quick launches into your favorite apps for driving. This includes a bonus Quick call app that you can further configure specific contacts’ numbers to show up under.

The CR-200 custom app settings pageThe CR-200 custom appThe CR-200 custom app

The experience

Below is a video of the overall experience using the new setup. In short, it’s awesome. I love it.

Overview of using the CR-200 & BTC450 with the Lumia 920

Next is a video showing the CR-200 custom launch app.

What it’s like to use the CR-200 custom launch app

Next is a video showing how to mount and dismount the phone in the CR-200.

Mounting & dismounting the phone in the CR-200

Next is a video showing the music control features of the BTC450 including pause/resume and next/previous track skipping.

Controlling music discretely & safely with the BTC450 control buttons

The quirks

I’m really happy with the setup I have now, but like all things tech it has its quirks:

  • 95% of the time the phone pairs with the two Bluetooth devices (the car and BTC450) in the desired manner: car for phone calls, BTC450 for audio. But a few times it’s paired with the BTC450 for music *and* calls, which is annoying. The fix I’ve found is to turn the car off, flip the phone’s Bluetooth off and on again, and then start over as usual (turn on the car, place the phone in the CR-200 and wait). I wish I could configure the relationship between the phone and the BTC450 so that it never attempted to use it for calls but it doesn’t seem to be possible. At any rate, it’s rare that it happens and easy to fix.
  • The CR-200 custom app doesn’t let you select the standard Xbox Music app as one of the three quick launch buttons. This is most unfortunate as while the Nokia Music app does give you access to the music you have on the phone itself, it doesn’t give you access to the Xbox Music marketplace for streaming/download (of course), and more importantly it doesn’t give you access to your podcasts. That’s a deal breaker for me so I don’t generally use the CR-200 app.
  • You can’t configure Windows Phone to stay unlocked while it has power, meaning after a few minutes of driving if you want to interact with your phone (after stopping of course) you have to find and hit the power button, swipe up, enter your passcode and then you’re off to the races. The CR-200 app *does* keep the phone unlocked while it’s running (which is great) so even though it has the music launch issue I discuss above, I sometimes switch back to it. However now that I have the WP8 GDR2 and the Nokia Amber updates on the phone, I get the time showing on the screen constantly thanks to the new Glance feature, and I can configure it to wake with a simple double tap of the screen, removing the need to hunt for the power button.

In conclusion

I’m incredibly satisfied with my in-car phone setup now. The installation looks professional (thanks in part to the fact both the CR-200 and BTC450’s color matches my car’s interior almost perfectly) and the experience of using my phone in the car is now much more convenient and safe. In the end it cost me about $150 for which I get to enjoy the result for ~10 hours each week on my way to and from work.

I have no relationship with Nokia or Kinivo. I bought both units myself because they looked like what I wanted. The links here are Amazon affiliate links. If you use them I might be able to replicate the setup in my wife’s car too! ;)

UPDATE: I forgot to mention that this setup works great with other phones that feature wireless charging too, including Android devices like the Google Nexus 4.


SignalR 0.4 Released!

I’m happy to announce that the long awaited 0.4 release of SignalR is now available on NuGet! The sample package has also been updated to account for some of the API changes.

This release brings a huge amount of changes including new features, massive performance improvements and some API breaking changes (for the better of course).

Here’s an overview of the changes in this release:

  • Increased throughput by almost 100% from 0.3.5
  • Substantially reduced memory use
  • Decoupled from ASP.NET, can now host on other servers, e.g. OWIN, HttpListener, etc.
  • Standardized on JSON.NET for JSON serialization and deserialization
  • Removal of non-async APIs
  • Removal of statics to allow for better isolation (like testing, multi-host, etc.)
  • Support for four transports:
    • WebSockets on ASP.NET with Windows 8
    • Server Sent Events (EventSource)
    • Forever Frame
    • Ajax Long Polling
  • Improved transport negotiation
  • Support for custom querystring values in connection URLs
  • Support for dynamic parameters to hub methods
  • Improved disconnect logic and notification
  • Client support for .NET, Silverlight and Windows Phone 7
  • Improved tracing
  • Tools and configuration for load testing
  • Loads and loads of bug fixes

Plans for future releases

Our upcoming releases will focus on supporting scale out for web farms and cloud hosting scenarios, along with further features and improvements. While the list is still being decided, the following features are being considered:

  • Scale out providers for SQL Server and Service Bus
  • Cross domain connections
  • Hub JS proxy file generation at design/build time for improved JS IntelliSense & bundling support
  • .NET client side proxy generation
  • Much improved tracing
  • Web Forms control for server originated post-back (for use in UpdatePanels)

Giving Feedback & Getting Assistance

Please jump into the SignalR room on JabbR if you want to discuss any feature or issue or just chat with the SignalR team and other SignalR users. If you find a bug or have a feature suggestion, please log an issue on github.

Show Your Support

We love hearing of people having fun with SignalR. To show your support and keep us in the loop of your successes or otherwise, you can follow SignalR on twitter, and watch the SignalR repository on github.


BUILD talk on working with data in ASP.NET Web Forms 4.5 Developer Preview

Create rich, data-driven Web apps with ASP.NET 4.5 Web FormsThanks to those who attended my BUILD talk on the new features for working with data in ASP.NET Web Forms 4.5 Developer Preview (great name :-| ).

If you didn’t catch it, you can watch it on Channel 9.

The demo project I used can be downloaded from http://files.damianedwards.com/BUILD2011-WebForms.zip

We’d love to hear feedback on these new features so please download the Visual Studio 11 Developer Preview, read the series on new ASP.NET features from ScottGu, read the What’s New in ASP.NET 4.5 and Visual Web Developer whitepaper, and try out the new features with *your* projects, by opening them in VS11 and updating them to use things like Model Binding and Unobtrusive Validation.

There’s no better testing than with real world apps!


The jQuery Globalization plugin becomes “Globalize”

The jQuery Globalization plugin originally developed by the ASP.NET team and donated to the jQuery project, has found new life as the “Globalize” JS library.

This new library is maintained by the jQuery UI team but no longer has a dependency on jQuery. It is completely standalone, meaning you can use it with any JS library or environment you like. That’s very cool.

Moving forward, the jQuery UI library will utilize Globalize for providing globalization of the its widgets, and expose an API interface that can be met by Globalize while encouraging widget authors to utilize this API to ensure any widget can be globalized in the same way, with or without globalize.js as a depedency. That’s cool too.

The library includes culture information for ~350 cultures. That’s quite a lot. And an interesting fact: these culture files are generated from the culture info in the .NET framework. That’s especially cool.

You can grab globalize.js and the desired culture files from its home on the jQuery github account. It’s currently in “in development” status at version 0.1.0a1. You can read more about plans for its development and further releases on its jQuery UI wiki page.


Getting IntelliSense in Visual Studio for NuGet .nuspec files

It couldn’t be easier. First, grab the nuspec.xsd schema file from the NuGet source and copy it into your Visual Studio XML schemas folder at C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas. Be sure to change the install location to match your machine (32-bit, 64-bit, drive letter, etc.)

Now, associate nuspec files with Visual Studio. Easiest way is to just double-click it in Windows Explorer and follow the prompts to open it with Visual Studio.

Then, you need to ensure you nuspec files have only a single XML namespace declaration, and it should be on the root <package> element. There is a bug in the currently released version of NuGet that causes this xmlns declaration to get added to the wrong element during serialization, while also adding some extra, unneeded declarations to the root element. This issue only affects IntelliSense in Visual Studio however, and is now fixed.

For example:

<br>&lt;?xml version="1.0"?&gt;<br>&lt;package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"&gt;<br>&lt;metadata&gt;<br>&lt;id&gt;jQuery.vsdoc&lt;/id&gt;<br>&lt;title&gt;jQuery Visual Studio 2010 IntelliSense&lt;/title&gt;<br>&lt;version&gt;1.5&lt;/version&gt;<br>&lt;authors&gt;Microsoft&lt;/authors&gt;<br>&lt;description&gt;Includes vsdoc files for jQuery that provide IntelliSense in Visual Studio 2010.&lt;/description&gt;<br>&lt;summary&gt;Includes vsdoc files for jQuery that provide IntelliSense in Visual Studio 2010.&lt;/summary&gt;<br>&lt;language&gt;en-US&lt;/language&gt;<br>&lt;dependencies&gt;<br>&lt;dependency id="jQuery" version="1.5" /&gt;<br>&lt;/dependencies&gt;<br>&lt;tags&gt;jQuery VS IntelliSense&lt;/tags&gt;<br>&lt;/metadata&gt;<br>&lt;/package&gt;<br>

Once you’ve done that, you’ll get IntelliSense in VS.

IntelliSense for NuGet nuspec files in Visual Studio 2010


jQuery vsdoc File Generator

I’m now hosting my jQuery vsdoc File Generator for all to use. We use this tool to generate the vsdoc files for jQuery that are hosted on the Microsoft Ajax CDN. It downloads the official documentation XML source from http://api.jquery.com/api and merges it with the actual jQuery object in JavaScript to ensure you get the best documentation possible in Visual Studio IntelliSense.

It also supports generating the vsdoc file contents with <para> tags, for use with the JScript Editor Extensions, to further enhance your jQuery IntelliSense experience in Visual Studio 2010.

For those interested, the source can be found on the ASP.NET CodePlex site.


WebAssert HTML & CSS validation testing library v0.1 released

A while back I posted about automating the checking of HTML validity of your ASP.NET site using unit tests that leverage the W3C Markup Validation Service. I’ve showed the technique in a number of presentations since then and used it on a number of projects to good effect.

In an effort to make it easier to consume in your own project and allow for future expansion with new features, I’ve refactored it and rolled it into a new open-source library called WebAssert, up on CodePlex.

Thanks to some scripting help from the ever talented Tatham Oddie, I’m happy to announce the release of WebAssert v0.1 (beta).

This initial release supports checking for markup and CSS validity of URLs using the W3C hosted validators, or your own hosted instances. This release supports the MSTest framework in Visual Studio but there is already a fork containing a wrapper for NUnit which I plan to integrate soon. You can also test sites hosted using the AspNetDevelopmentServer attribute under MSTest.

Any feedback please let me know.


Follow

Get every new post delivered to your Inbox.

Join 35 other followers