Computers

Asus Wifi Router AiMesh Odyssey

Send to Kindle

This post was rattling around in my head before the current stay-at-home situation arose. Somehow, it never found its way to my fingers, until now.

This will be a typical techie post by me, in that it will be long, rambling/meandering, and likely bore the people who used to mostly read my music blogs.

tl;dr

Most newer (even years old) Asus routers now support AiMesh, a method of turning normal routers into a mesh system. When configured correctly, it works remarkably well and has some serious advantages over pre-built mesh systems (like Google WiFi, Eero, etc.).

My start with Asus Routers

For years, I purchased cheap (often refurbished) routers. I typically flashed them with dd-wrt firmware to make them better than new.

On December 13th, 2013 I broke the mold. I purchased my first high-end router, the Asus RT-AC66U. It was my first “AC” router (now called WiFi 5) and the first time I ever spent that much money on a router of any kind ($179.99 before tax!).

It has a (theoretical and nonsensical) top speed rating of 1750 megabits per second (mbps). That’s still pretty good even by today’s standards.

Back then, this router was glorious. I was very happy with my purchase and it was my main router for many years. It only got replaced when I switched to Verizon FiOS which at the time came with their own branded router.

This router still gets firmware updates (what a credit to Asus!). More on that later in this (happy ending) saga.

The big move

In 2015 we moved from NY to VA. Our house in VA is large, but not that large. The layout puts our master bedroom far away from every other room (no centrally placed router would reach that room).

Mesh routers hadn’t exploded in popularity yet, so I never considered one at the time. Given that I was installing FiOS there (the previous owner had FiOS as well), I knew that my main router would be a Verizon branded one.

I had an electrician put in a hard-wired Ethernet port in three rooms, in addition to the closet where the FiOS router lives. There is an Ethernet port in the wall in our office, the master bedroom, and the basement (where the TV is). Each of the three rooms is a home-run back to the closet, so each of the rooms connects into one of the four LAN ports on the back of the FiOS router.

The office is very close to the closet with the main router in it, so to begin with, I didn’t put another router in there.

The master bedroom and basement each got routers. Those routers were put in AP mode (Access Point, or Bridged). That meant that the main FiOS router still handed out all IP addresses (no matter the room or which WiFi router our devices were connected to).

For simplicity, each of the AP routers got a separate SSID (the WiFi Network Name). Devices that were fixed in a particular room always connected to their local SSID/Router (e.g., the TV, or a Fire Stick/Roku, etc.). Our cellphones had to switch to a new SSID when we moved from one room to another.

Since the main router signal really doesn’t reach the master bedroom at all, the phones would switch pretty quickly (without any manual intervention), simply because they would lose the signal completely and immediately begin searching for a new signal.

It wasn’t instantaneous, so you would have to think about starting something before you walked out of a room, because the connection would definitely drop for a few seconds.

After a few months, the FiOS router started getting flaky on the AC channel (this eventually straightened out years later after some arbitrary firmware update). This led me to pull out my old Asus RT-AC66U router (which was in a drawer for a while by then) and install it in the office.

Even though the office was close to the main router, I could no longer trust the WiFi on the main router, so I used the wired connection in the office to hook up the Asus as an AP and all was well again.

Growing the Asus family

The above setup continued for a while and worked fine. In the master bedroom I had an old TP-Link router (another brand that I really like). It worked fine, but wasn’t the fastest thing and would rarely cause me tiny frustrations.

Six weeks before buying my first Asus router, I bought a Nexus 5 phone from Google. That marked my switch from Verizon (where I was using the Galaxy Nexus) to T-Mobile. I’ve been a happy T-Mobile customer ever since.

My house had effectively zero coverage on T-Mobile when we moved in (it’s marginally better now, though I rarely ever have to use it in the house). After a few months in the house, I saw an ad for a T-Mobile Cellspot. It’s a rebranded Asus RT-AC68U router (one step up from the 66U that I owned).

T-Mobile was selling them very cheaply (much cheaper than the Asus branded 68U). I bought it not only because the price was excellent (if memory serves me well, I think I paid $75 for a new one, when the 68U was going for $199 new), but also because it was (supposedly) optimized for T-Mobile WiFi calling (which given my cell signal at home sounded like a great addition).

I replaced my (rarely) flaky TP-Link router with a T-Mobile Cellspot one in the master bedroom.

The dreaded, complicated upgrade

The new router ran great for months, but I never used the WiFi calling feature (that’s a long story for another post that I will likely never write).

At some point I stumbled on a post about “Turning a T-Mobile Cellspot into a Full Blown Asus RT-AC68U“. If you skim that article, and more importantly the tons of comments with a lot detail in them, you’ll see that this is not for the feint of heart.

Fortunately or otherwise, this is exactly the type of thing I enjoy (hey, you get your kicks your way, I’ll get mine my way…).

With some twists and turns, and needing to read a bunch of comments when I got stuck, I eventually turned the Cellspot into a full blown Asus router.

Why bother?

That’s a fair question. The Cellspot worked perfectly (for some definition of perfect). There are a few good reasons to consider the upgrade. By far the most important one is that the Cellspot firmware was way behind, and while occasionally upgraded, pretty rarely.

That meant that when the various kracks that have been discovered in recent years against WiFi routers are revealed, a real Asus router will be patched months (or years!) before the Cellspot will. That’s reason enough to bother if you don’t require any special handling of the WiFi calling feature for T-Mobile specifically.

Another reason to upgrade is to flash different firmware, e.g., dd-wrt (mentioned above). That’s not possible from the base Cellspot firmware, but is from the Asus firmware.

Finally, if you want to run the AiMesh software, you need to be on the real Asus firmware.

A quick look ahead

I’ll deal with this later on, but there are newer (shorter, better) ways of upgrading a Cellspot, and very important warnings and caveats which didn’t exist at the time I upgraded my first one.

The point of this interlude is to tell you to read on rather than follow the instructions in the article linked above.

Another Asus added to the family…

A year later, my better TP-Link router running in the basement started to have some issues (again, I think it was a firmware issue that I later resolved). I decided to replace it with another upgraded Cellspot.

I bought one refurbished on Amazon for $48. I followed the same upgrade instructions linked above, and had another working Asus RT-AC68U router installed in the basement the same day it arrived.

I now had four routers in the house. The main FiOS one which was mostly acting as a wired router to the Internet (a few legacy devices, security cameras, etc., were connected directly to the 2.4Ghz channel on that router), plus the original RT-AC66U in the office, and the two upgraded Cellspots, in the master bedroom and basement.

What? Asus doesn’t make infinitely perfect hardware?

About six months ago, I walked into the office and the old 66U router was dead. No lights, no Internet (obviously).

I disconnected the cables and pulled out the TP-Link Archer C9 that had previously been running in the basement. That’s the one that I asserted was flaky only because of a specific firmware.

I reconfigured it to take the place of the old 66U, made sure it was current on firmware, and turned it on. Problem solved, we were back in business.

I decided to try and diagnose what went wrong with the old 66U (just out of curiosity, as it was 6 years old at the time and didn’t need to provide any additional service to make it one of the more outstanding tech purchases).

I connected it directly to my laptop using the wired port and fired it up. The lights blinked for a second and then went dead. It only took me one more try to realize what was wrong. The power button was broken. It simply wouldn’t click and stay on.

In typical MacGyver mode, I found a round hard piece of plastic, scotch taped it on to the power button, then put a rubber band around that to ease the pressure on the scotch tape.

Voila! A working 66U router, once again…

I swapped it back for the TP-Link, which was now perfectly configured to be an instant backup router should my MacGyver skills prove unworthy.

Wasn’t this supposed to be about AiMesh???

Oh yeah, though I did specifically mention that this would meander and ramble and I didn’t want to disappoint on that front either…

Unfortunately, a bit more meandering is necessary, just for historical accuracy, not to discuss the merits of AiMesh.

Getting into trouble

Before getting the second Cellspot router, I upgraded the first one using the built-in Asus firmware upgrade tool once, and it worked great.

When I got the second one, I (of course) upgraded it to the same version of firmware as the first one was on, with no issues.

Toward the end of last year, another krack was discovered, and I checked whether Asus had an updated firmware to mitigate it. They did.

I updated the old 66U first, and it upgraded perfectly.

I updated the first 68U and it reverted back to the original Cellspot firmware (which had even more issues than I was currently trying to fix!).

Whoah, what just happened?

A bit of Googling and I found that Asus decided that if they noticed that a Cellspot router was being flashed with Asus firmware (rather than a T-Mobile branded firmware), they would roll it back to the original.

Darn!

Silver Lining?

This caused me to find newer methods of turning it back into an Asus router, including ways to thwart Asus from rolling it back. The old method (linked above) still works, and has the appropriate warnings and methods to avoid the rollback, but it’s still more complicated than the new ones.

This is a link to the instructions that I used the second time around. It looks long and complicated, but that’s because there are three different (analogous) methods for accomplishing the upgrade. The key point is that this avoids the full downgrade which the original method requires.

When I did this and got my first router back to the new firmware, and made sure that it wouldn’t downgrade again, I flashed the second one as well, apparently successfully.

Apparently???

Wait, what? Either it worked or it didn’t. Well, yes (and no).

I was so smart (being a seasoned techie) that I was incredibly stupid (being a seasoned know-it-all).

The first time that I upgraded each router, I meticulously followed the dozens of steps in the original article linked above. Amazingly, following detailed instructions worked (can you believe it?).

This second time around, using the simplified instructions (which are 100% accurate and would work if you followed them exactly!), I skipped one crucial section (a few commands) because I assumed that they were unnecessary the second time around (meaning, I thought I had the correct files from the first time around just sitting in my folder waiting to be reused).

Again, why apparently then? Because I don’t end up using the router in the basement all that often, and it took trying to get AiMesh to work (still coming, I promise) to finally see what I had done so wrong…

AiMesh, finally!

Well, actually, getting closer, not there quite yet…

Now that everything was running fine (or so I thought), I decided to finally experiment with turning on AiMesh in all three Asus routers.

I really didn’t need it, my setup was working well enough, but I was curious and now that I was running the latest version of Asus firmware on all three routers, I was in a position to find out. I could always roll back to non-AiMesh mode if it wasn’t to my liking.

Unfortunately, I hit a snag immediately. It turns out that the old 66U is not capable of running AiMesh software. There is a newer revision (RT-AC66U rev B) that can run full AiMesh, but mine is too old and can’t do it.

So, I popped on to Amazon and ordered another Cellspot for $48 (this time, it was labeled renewed rather then refurbished).

Unfortunately, I compounded my error by skipping the exact same block of steps on this newest router as I had on my others, because I hadn’t yet noticed the problem that I had introduced into my network…

Turning on AiMesh, finally, really, this time

I flashed the real Asus firmware onto the newest Cellspot and retired the old 66U once again. I was now ready to flip the switch and turn the three routers into an AiMesh mesh network.

All attempts to get them talking to each other failed! After some searching, it seemed that some people had more success using the Asus Router App on their phones, than using the web browser interface.

I broke down and installed the app on my phone. I did seem to get a bit further, but if I got something going on one router, another would disappear, and then that would be flipped. It was maddening.

Discovering the problem

Well, the problem was entirely created by me, so I was the problem. The crucial steps involved the following:

Upload original_cfe.bin to https://cfeditor.pipeline.sh/
Select 1.0.2.0 US 1.0.2.5 US for AC68P or 1.0.2.0 US AiMesh for AC68U with AiMesh as Source CFE
Download the new .bin
rename it to new_cfe.bin

I assumed that having done that once on the original router, I had the correctly modified CFE (now called new_cfe.bin). Meaning, I thought that all Asus routers (at least of the same model number, which mine were), shared the same identical new cfe.bin file.

You’ve all heard what the definition of the word assume is, right? I’ll spare the gentler ears/eyes from seeing it here again…

It turns out that the file is unique to each and every router. Why? Because among other things, it contains the MAC Address of the routers ports (both Ethernet and WiFi) embedded in it. So, by reusing the same cfe.bin file on all three routers, they were all running with the same exact MAC Address.

To be clear, they each had different IP addresses assigned, but that doesn’t make the problem better. The way local networking works, there is an ARP table maintained that tells the network how to reach the physical machine associated with an IP address, by translating it into the MAC Address.

So, when I tried to reach any of the three routers via their IP address, all of them returned (at a very low level) the same MAC Address, and therefore it was entirely random (perhaps based on distance in the house) as to which router would see my request!

Ugh.

The solution

Once I understood the problem, the solution was obvious and straightforward, but by no means simple. I needed to fix the individual cfe.bin files, but I could no longer follow the original instructions (uploading them to a website which would edit them) because I didn’t have the original files to upload!

Worse, I needed to figure out which MAC Address was correct for which router, which meant going to each of them and finding the stickers with the serial numbers and MAC Address printed on them.

Once I did that, I had to use a HEX Editor to load up each file, find the wrong MAC Addresses (yes, plural, since there are multiple interfaces in each router) and type over them (very carefully).

Then I needed to copy them over to the correct router, flash them, reboot the router, and pray.

Yes, that worked!

Are we there yet?

So, was I really done? Unfortunately, not quite.

I was able to get AiMesh going, but the speed in the bedroom was pathetic (reliable, but pathetic). The speed in the basement was great!

This one didn’t take long to diagnose, but it did take a while to fix…

By default, AiMesh sets the backhaul (how the mesh routers communicate with each other, rather than with the client devices or the Internet) to auto.

In the case of the basement router, that ended up using the wired connection over the Ethernet cable (which is exactly what I expected the default to be).

In the master bedroom, even though the router is fully wired like the basement one is, auto defaulted to wireless backhaul.

If you recall from a few days ago, when you started reading this post, the master bedroom is too far away to get a reliable signal, so the backhaul was awful (amazing that it worked at all!).

The solution is simple, force the backhaul to be wired. Yes, simple, in theory, but I couldn’t find any way to do that!

More searching on the Internet and I finally found a single forum post where someone linked to the official guide with highlighted screenshots.

Bless that individual, and Google, for surfacing the correct post (after much tribulation).

Here is a link to the guide, with step 6 being the secret sauce to finally see where the default backhaul could be changed/

Conclusion

So, was it all worth it? Yes, of course.

First, I love technology puzzles, even ones created by me. Once I screwed up the settings really badly, I just had to figure out how to get myself out of it. It wasn’t fun (on any level), but it was instructive, informative, and satisfying (in the end).

Much more importantly, I am now running a full mesh network and I like it. Our phones don’t drop when walking from our office to our bedroom. All three routers are effectively managed from the one main AiMesh one.

Why AiMesh is really cool

Most importantly, it’s a mix and match network. You don’t have to buy kits. You don’t have to have identical routers at each node. As long as a router supports the AiMesh firmware (which many Asus routers do!), it can be a node (or the master) of your AiMesh network.

This is crucial. Today, I don’t own a single WiFi 6 (AX) device. So, it would be overkill for me to buy a WiFi 6 router, let alone a WiFi 6 Mesh Kit.

However, if/when I get a new laptop (I’m typing this on a 6-year-old one) that has WiFi 6 in it, or a new phone (mine is 2.5 years old), I’ll be able to get an Asus WiFi 6 router (any of them!) and use it as my main AiMesh node (and place it wherever I use the laptop most frequently, which now, is in the office).

I won’t have to change the other routers, or change any settings on the other routers either. They will all just work. My laptop (and phone) will work with WiFi 6 when they’re connected to the new router, and automatically and gracefully downgrade to WiFi 5 when they roam to another AiMesh node that’s still on WiFi 5.

Further, I can even do the WiFi 6 upgrade piecemeal. For example, I could get a lower-end WiFi 6 AiMesh router first, and make that the master. Then, as I have more devices that can take advantage, I can get a higher-end WiFi 6 router, make that the main one, and move the older WiFi 6 router into the bedroom.

The ultimate beauty is that each of the routers can always be instantly returned to be non-AiMesh routers. So, I can pass them on to friends when I replace them with a WiFi 6 one and those people can use them as standalone routers, AP bridges, or create or augment an AiMesh of their own.

That’s what makes these more flexible than full-time mesh systems.

Also, it doesn’t hurt that the models I’m running can be picked up for $48, if you’re willing to be super careful and avoid the stupid mistake that I made.

With Friends Like This…

Send to Kindle

With friends like this, who needs family?

Yesterday, I entered a weekly contest that Amazon.com runs. This week’s prize is a Kindle 3G. It’s only the second time I’ve entered an Amazon contest.

After entering, I was offered the opportunity to update my Facebook status. It was optional. Even though spreading the word about the contest feels counterintuitive, because it encourages more people to enter, I decided that what Amazon is doing is nice and I wanted to help spread the Amazon love.

So, I posted the following:

I am so on the fence for buying a Kindle. Winning one would solve my problem. 🙂

Below that was the full link and description to the contest.

Within minutes, a buddy of mine IM’ed me to tell me that he believed my Facebook account was hacked! I got a huge laugh out of that, because I correctly pointed out that his had been hacked a couple of months back!

I assured him that it was me that essentially created an ad for Amazon.

Today, I got a package from Amazon. Here’s a photo, including a gift card (click for a larger version):

KindleGiftWrappingAndCard

A different friend of mine (you know who you are!) saw my update and decided to create a contest of one and he immediately declared me the winner! Wow, unbelievable. I don’t know what to say, except:

Thanks, you are beyond awesome!

I have no doubt that I am going to love this. It turns out that my top five favorite gadgets of all time were things I never thought I wanted, let alone needed. Someone else knew better and bought it for me. Within a day, each became so indispensable to me that I couldn’t imagine how I lived without it the day before (e.g., my first email-only Blackberry, my first GPS, my first Treo, my current Droid, my Garmin Forerunner).

Let’s safely add the Kindle to that list.

Thanks PSC! Smile

Proposal to Allow Rooting Android

Send to Kindle

Rooting is the process of gaining low-level control of your cell phone’s operating system (I’m only going to discuss Android in this post). It voids your warranty (presumably both from your carrier and the phone manufacturer). That’s fine, perhaps it even should.

Still, carriers and phone companies try to actively stop you from rooting. There are a few obviously legitimate reasons/concerns on their part:

  1. Supporting a rooted phone can cost the companies in a number of ways
  2. Rooted phones can be used to access services that the carriers want to charge a premium for (e.g., Tethering)
  3. Problems with a rooted phone are often misunderstood by the consumer, reflecting incorrectly (and poorly) on the carrier or phone manufacturer

There are also a few shakier arguments against rooting. Rather than give them credence, or get distracted in arguing their merits, let’s skip them.

There are many legitimate reasons to root, covered in many articles. Let’s leave that topic for a more technical post, this isn’t that.

A small percentage of consumers actually root, but given the explosive growth of Android phones worldwide, the absolute number of rooters is large. They are also the most vocal users, trying to convince others to do it too.

When a rooted phone goes bad, the consumer tries to unroot and return to stock (removing all traces of their previous rooting and customization), in the hopes that the carrier will then fix the phone or replace it under warranty. Of course, the carrier might not be able to detect that the phone was previously rooted and perhaps even ruined by virtue of the rooting (overclocking the CPU for example). In that case, the carrier may indeed incur a cost that they shouldn’t bear.

My proposal:

Make it brain dead easy to root. When rooting (using an app provided by the carrier/manufacturer), ensure that the consumer is warned of the dangers and that the warranty is being voided. Also ensure that they know their account is flagged that they have opted out of the warranty.

This removes any extra support costs. In fact, returning the phone to stock will make no difference, as the user has forever agreed that this specific phone has knowingly and willingly revoked it’s right to be serviced, for any reason whatsoever.

I would go further and suggest that the carriers/manufacturers will make more money in this scenario, because if the user just drops their phone and breaks it, it is not covered, period. That will cause some percentage of rooters to have to purchase a new phone should anything go wrong with their phone, even if it isn’t related to the rooting.

Of course, that might cause many people not to root. That shouldn’t bother the carriers, since that’s the position they would like to see today.

Next, concern #2 above. While there might be a number of concerns, mostly, it boils down to Tethering, the ability to use your phone as a WiFi or USB modem for your laptop. The concern is that you can utilize significantly more data/bandwidth in this manner (e.g., streaming movies to your laptop) than you would ever practically use on your phone itself (assuming you had an unlimited data plan on your phone to begin with).

The carriers are concerned about monetary loss (they charge a hefty price for devices that Tether, or for tethering plans on the phones) as well as network quality if too many people clog the airwaves (with or without paying them) and slow down the network for all users.

My proposed solution for #2 is to charge no premium for tethering (with or without rooting!), but simply meter the data (no more unlimited plans, or price unlimited plans knowing that people will tether). AT&T is doing this already, but they charge $20/month for the right to tether, which is outrageous, since they charge for every byte of data transferred. Who cares how/why I used the data, you charge me for it.

That’s it. Let’s summarize:

  1. Make the voided warranty an overt opt-in so that support costs go to zero for any rooted phone.
  2. Charge for all data coming through the phone (tiers are fine, including unlimited), so that the carriers benefit if people tether.

Breaking Social Networking Interconnections

Send to Kindle

Many (most?) people post updates to multiple Social Networks. Rather than hand-picking which networks get which updates, most of the multi-network types (nearly all?) post the identical update to all networks, simultaneously, automatically.

There are many ways to do that, including services specifically meant to accomplish that (Ping.fm, FriendFeed, etc.), or multi-protocol clients (Seesmic, TweetDeck, Digsby, HootSuite, PeopleBrowsr, etc.). In addition, networks like Facebook and Google Buzz can also pull data from various feeds (including blogs, not just other social networks).

It’s totally understandable why people do it. Who wants their incredible update to be missed by a single person. Why not create it once and have it beamed all over the planet with one click?

If your livelihood depends on getting the word out (I follow many musicians for example), then by all means, when you announce something (e.g., a new show), you want to hit every conceivable network so that you don’t miss a soul on the planet.

If you’re telling your friends what you had for lunch, making sure that Facebook, MySpace, Twitter, Identi.ca, Buzz, FriendFeed, Friendster, Orkut, LinkedIn, Beebo, Foursquare, Gowalla, etc., all get that update feels a drop like overkill. 😉

Until a few minutes ago, I was guilty of this behavior as well. I have a FriendFeed account which was connected to many of my other accounts. I then connected that FriendFeed account to Facebook. Independently, I had a Blog application connected to my Facebook account which injected an update whenever I published a new post.

That meant that I when I wrote a new post, if I tweeted the link (I know, it’s no longer politically correct to use that word, I don’t care, twittered sounds worse to me), my blog link would show up as three separate Facebook updates: 1) Blog app, 2) FriendFeed injection from my RSS feed, 3) FriendFeed injection from my tweet. Yikes! I certainly didn’t mean to hit my friends over the head with my announcement of a new post.

Ultimately that’s not why I cut the cord. I found that I was responding less and less on Twitter than I wanted to, because I was all too aware that it would end up in my Facebook feed, completely out of context to my friends while simultaneously cluttering my stream there.

I haven’t yet actively participated in Google Buzz, but I did connect it to my Twitter account, so every tweet was also buzzed. That’s no longer the case either. If I use Buzz, I want it to be a choice, not a side-effect.

So, I deleted FriendFeed from my Facebook account. I disconnected Buzz from Twitter. I left the Blog app in Facebook, so when I tweet a post I won’t also send that update to Facebook. That’s the only automatic connection I left.

From now on, I will be more active in Twitter (at least I think/hope I will) and I might give Buzz a real go as well. From my multi-protocol client I will choose which networks to update. Some messages might indeed go to many networks (I actively use Twitter, Facebook, LinkedIn and Foursquare at the moment). But, my silly Twitter interactions will most definitely stay exclusively on Twitter.

Feel free to unfollow me on Twitter if the noise level rises too much. Conversely, feel free to pay a bit more attention on Facebook if you previously felt that I was just spewing nonsense. 🙂

NginX and WordPress OpenID Plugin

Send to Kindle

I normally have super powers when it comes to persevering through annoying technical problems. On rare occasions, Kryptonite appears out of nowhere and strips me of those powers.

This blog is powered by WordPress.org software. I use a variety of plugins to make my life a bit easier. One of my favorites is the OpenID WordPress Plugin. I’ve been using it since it first came out and I’m very happy with it.

Because I was using it from the beginning, I lived through a few rough upgrades (not complaining, just explaining). The problems always got sorted out quickly.

Back in June 2008 (yes, a long time ago), I switched from Apache to NginX and have never looked back. The trickiest part of switching a WordPress site (especially WordPress MU, even more so with BuddyPress installed!) is converting the Rewrite Rules that are typically stored in a .htaccess file into nginx syntax.

While I got my initial attempt to work, I’ve grown way more comfortable and familiar with nginx over the past year, and I’ve tweaked my rewrite rules quite a bit.

Along the way, there were numerous updates of the OpenID Plugin as well. Most times things just kept working. Once, OpenID stopped working, and I tried to track it down. I gave up pretty quickly because I had seen that behavior before with an individual update of the plugin. Sure enough, the next update got me working again.

Then at some point, it stopped again. At this point I had conditioned myself to ignore it, and I went back to logging in with a password (something I really prefer not to do). This lasted for months. At some point, the plugin got updated at least twice, and things still didn’t work for me. Now I was getting annoyed.

I stopped trying to use OpenID. Two days ago I tried again, I can’t explain why. I got a strange Google Toolbar redirect error message. I did a search, and someone was complaining about something that looked similar, but had nothing to do with WordPress. A Google employee responded to him that he should temporarily disable the Toolbar (in Firefox) and see if the problem went away.

I decided to try that and instead of a strange Google error, I simply got a 404. What? A simple 404 couldn’t be the plugin’s fault. Time to dig in (finally).

I turned on nginx debugging and tried to log in. I was shocked when I saw that the error had nothing to do with the plugin. Instead, my nginx rules weren’t even calling in to PHP to let the plugin do its work.

Without a doubt, I had an error in one of my rewrite rules in nginx. There’s a possibility that at some point, the plugin changed the way it redirects, so that it was a combination of a new URL coming back to me (that I wasn’t catching correctly) or simply one of my changes in nginx, without the plugin doing anything different.

I added a new rule and was able to log in (for the first time in over six months!) via OpenID.

In this case, I let my own normal persistence fade, because I incorrectly assumed that the problem was contained in the plugin. Shame on me!

Droid Rocks

Send to Kindle

For those who don’t like to read, I’ll start with my bottom line, then give lots of details:

I love the Droid, it’s one of the best devices I’ve ever owned, and I’m a gadget freak!

A little background before I begin what will inevitably be a very long post. I’m a geek, but I’m often late in jumping on new trends. In fact, many times I get on board because a friend decides to buy me a gift and I become an instant fan.

Back in 2000, I received a Blackberry (BB) email device as a gift. That was before there were any BB cell phones. It was purely for email, and I thought I died and went to heaven (not that I would have bought it for myself).

A couple of years later another friend bought me a Treo 600p (a Palm-based smart phone). While it wasn’t as good an email device as the BB, it was an all-in-one mobile powerhouse, and I quickly got used to the convenience. Since then I’ve upgraded to a Treo 650p, 700p and then a 755p, which I was still using (reasonably happily) until I got a Droid as a gift on November 17th.

I was also reasonably happy with Sprint, so I seriously considered a Palm Pre before deciding it just wasn’t the right device for me (I’m very impressed with it, just not enough to have locked myself in at this time).

Finally, this is not an iPhone bash, or an iPhone vs Droid post. I’ve never been interested in an iPhone, and I’ve never regretted avoiding one. That said, the overwhelming majority of my friends carry iPhones and they love them. The only consistent complaints are about AT&T, not the iPhone.

The person who gave me the Droid is a major iPhone lover. In fact, he’s all things Apple, all the time. He knows how I feel, and I believe was tired of me yapping his ear off about whether the Droid was right for me, or the Pre, etc. I think he decided to shut me up by getting me the Droid.

He told me that I had 30 days to return it, no questions asked, but at least I’d know. Within two days I knew I wasn’t returning the phone. It still took me 11 days to decide to port my old number, but I’ve done that too, which means my old Treo 755p is now a paper weight.

This won’t be anything like a generic review. There are a ton of them out there, and all of them have done a better job than I could ever do. So, this will be a randomly ordered collection of my personal observations and usage patterns, collectively accounting for the reasons that I love this device.

Let’s start with one of the very few complaints I had about the Treo and build from there. While the Treo was very early in having a very usable browser, the web has moved on since it came out, and the Treo browser, while functional, is hardly a pleasure to use. There are many pages it can’t render (correctly or at all), and large pages render so slowly as to be practically useless even if they render correctly.

That meant that I only used the browser for necessary information, never for pleasure or to get things done while out and about. One of the most incredible features of the Droid is the browser. I’m sure that all Android phones share that great browser under the covers, but at the moment, the covers on the Droid are tops, with it’s large screen and super-hi resolution (480×854).

The browser can pretty much render any page I throw at it accurately, and pretty quickly, especially when using Wi-Fi (though Verizon’s 3G network has impressed me so far). One of my test pages is PeopleBrowsr, which is a browser-based Twitter client (and much more). It’s the most sophisticated JavaScript based website I’ve come across.

A friend tried real hard one night to convince me to get a Pre. He brought his over to spend the evening wowing me. Another friend came over with his iPhone the same evening. The Pre choked trying to bring up the PeopleBrowsr page (WebOS has been updated since, so it might work now). The iPhone did better, rendering most of the page, but it too choked eventually.

The page comes up on the Droid. When I log in to PeopleBrowsr, things get a little less usable, but the mere fact that I can log in was dramatically better than the other two phones (that’s the last phone-to-phone comparison!).

Why is having a first-class browsing experience so critical? The web has something for everyone, and more sites are becoming sophisticated end-points (full blown applications) every day, rather than just content repositories. It’s true that smart phones are often defined by their App ecosystem (and I’ll cover the ones I use on the Droid shortly), but, when your browser can utilize pretty much any web-based app correctly, having a local app available becomes less important.

Droid comes pre-loaded with a Facebook App. It’s looks nice, and works as expected. If you want to update your status, and see recent status updates from your friends, great. On the other hand, if you’re a Facebook power user, and like to see the real-time activity stream, you’re out of luck.

In fact, even if you visit the Facebook website with your mobile browser, you will be redirected (by default) to their mobile site. It seems that the Facebook App simply implements the limited functionality of the mobile site.

On the Droid, that’s not a problem. I fire up the browser and visit the Facebook Home Page URL directly. Currently, that bypasses their sniffing of the User Agent for the browser, and delivers the full Facebook experience to the Droid browser. I can tap on News Feed, or Live Feed, and see everything. It’s quite snappy. I never visit the app.

I am not saying that local apps aren’t useful or necessary, just that the web will grow and innovate more rapidly than apps will, and no approval process is necessary, and if the browser can deliver a first-rate experience, it becomes the most important app on your phone (IMHO).

Multi-tasking is much talked about on smart phones as well. It’s definitely cool to be able to listen to music or a podcast while doing something else. Some might shrug that off as just entertainment. There are other, more important benefits to multi-tasking.

One example is IM. If you want to be reachable to others initiating an IM with you (over various IM networks), you don’t want to stare at the IM screen for hours waiting for that message to come in. You want to fire up your IM client and move on to other things. People can and will send you messages whenever they want, just like they do when you are using your desktop IM client.

Add to that location-based (or location-aware) applications, that notice that you’re on the move in the background, and alert you to things you might be interested in right now. They need to be running in the background as well, while you continue to talk on the phone, check your email, keep the IM conversations alive, listen to music, etc.

It all just works, and it’s pretty slick.

Just in case you don’t believe the Verizon commercials, let me assure you that call quality and coverage is exceptional. In addition to the network, I’m really impressed with the Droid hardware as well. The speakerphone can be as loud as you’d like.

Then there’s Google Voice. Many people have written about the amazing things that Google Voice (GV) can do, so I won’t bother. I have been signed up for service since it was a startup company called Grand Central Communications. Google bought them, and enhanced the service dramatically.

Even though I’ve had a GV number for years, I never gave it out to anyone. I rarely used it for anything. The biggest reason is that even if you only gave out that number, if you returned a call on your cell phone (without jumping through hoops), whoever you call back now also has your cell phone number.

With the GV App, that all changes. I now make 100% of my calls through GV, so anyone I call will only ever see my GV number (even if they called my cell directly and I was returning that call). If you already know my cell number (remember, I ported my old one), then fine, call me. Otherwise, I’ll be giving out my GV number in the future.

The point is that I get more control. If I don’t want my cell to ring after 10pm? No problem (except for those pesky people I trusted with my real cell number…). Battery run out on the cell phone? Tell GV to ring your wife’s cell phone instead. 🙂

Also, GV rings my house and my cell at the same time. So, if I call you from my cell (you only see the GV number, remember?), and you return the call later, when I am home, I can pick up the call on my home phone. You don’t need to know or think about which device I prefer to be called on. That’s my problem, now solved by GV.

Speaking of porting. This has nothing to do with the Droid, but rather with Verizon, but I’ll get it out of the way now and move on to the apps. Since the phone was gifted to me, my friend was smart enough not to have them port it when he was in the store (what if I didn’t like the Droid, or Verizon?).

After waiting 11 days, I called customer service to port my Sprint number. I talked to a porting specialist who took down all my information. He told me that it rarely takes 24 hours, but that since it was Saturday, it’s remotely possible that it wouldn’t be done until Monday. Still, he thought it would happen that day.

On Tuesday morning, when the number still hadn’t ported, I called again and asked what the status was. I was told that everything was set up, but that I hadn’t confirmed to the automated system that I wanted this done. Huh? Speaking to a porting specialist isn’t confirmation? Oh well.

The representative transferred me to the automated system and stayed on the line as well while I pressed a number to confirm. Within an hour, my number was ported.

At the end of that week, Verizon was offering a BOGO (Buy One Get One free) offer for any Droid or Droid Eris, even on one that was purchased less than 30 days earlier. Another friend of mine who loves her iPhone, but hates AT&T (can’t get coverage at her house) went into the same store that my Droid was purchased from, and got her Droid free (using mine as the first of the BOGO). She ported her number at the store, and it was working three minutes later!

On to the apps. First, I haven’t bought any yet, so any app I mention here is free, or has a lite version that’s free. My friend who bought me this phone says that this is bad sign for the app ecosystem that I haven’t parted with any money yet. He’s sort-of right.

In the beginning, I wasn’t willing to buy any apps because I wasn’t sure I’d keep the phone. Then, it became more of a commitment thing than a money thing. I can afford the $2 average price for an app (trust me on that), but I’m more likely going to lock myself in psychologically (stupid, I know), and I’m still in the discovery phase. Luckily, there are some pretty awesome free apps, so I have much to explore before I decide to lock myself in.

I’ll cover apps in the order of most used to least used, not most important or best. Let’s start with email. As much as I’m crazy about the browser on the Droid, I wouldn’t keep any phone that didn’t at least have a reasonable email app. First and foremost, I require the device to handle emails well. Even more so than being a good phone!

Because Android is a Google product, there are two separate email programs in Android 2.0. One is for GMail only and the other is for any other mail server (IMAP and POP). I’ll finish this post later on with thoughts on Google and their apps, specifically.

The GMail app is excellent (as many others have noted), and if you’re primary email is GMail, this phone will make you feel right at home. I rarely use GMail (though I have an account, and I do get 10 emails a week there), so it hasn’t been critical to me, though I appreciate how well integrated it is and how well it works. In fact, seconds after an email hits my GMail account, my phone is alerting me to that fact.

The generic email client is OK, but barely. I find it reasonably attractive (font and layout) and reasonably reliable. That said, it’s so bare bones that if there were no alternatives, I might get tired of it quickly. Interestingly, I could consider using the browser for webmail access, since the browser is that good!

Two of the deficiencies are:

  • no identities (I send email from a work persona, home, etc.)
  • no auto-signature (at least not that I could easily find)

The good news is that there is an open source alternative called K-9 (available in the Android Market) that is much more configurable, including the two deficiencies noted above. The bad news is that it’s significantly less attractive (font/layout). I can live with less attractive (for now) but more functional.

Google Voice Search (has nothing to do with the GV service). This isn’t unique to Android, as you can do this on an iPhone as well. The slight difference is that there is a dedicated button available on the Droid (the magnifying glass on the bottom right hand corner), that when held for 2 seconds, launches Voice Search.

I use this all the time. It’s fun, but it’s incredibly accurate as well. In a quiet room, I’d say it approaches 99% accuracy for non-funky words. Even with the TV on, or other people having conversations in the room, the accuracy is over 80%.

Hold the button, say something, see a browser loaded with search results for your query. Click a link, off you go. It saves a lot of typing, and like I said, it’s plain old fun! You can use it to dial the phone number of someone in your contact list as well, get driving directions, or find some other stuff on your local phone, but for the most part, it’s about searching the web without having to type.

I’ve chosen IM+ Lite for IM. It’s multi-protocol. Actually, I don’t care. I do all my IM via Jabber to my own server, and I run transports on that server for AIM and ICQ. So, if I can connect to an arbitrary Jabber server with even a single-protocol client, I can chat with all my friends/colleagues, easily. IM+ Lite shows scrolling ads at the top of the screen, which I can live with. It works really well.

Android also comes with built-in GTalk for IM (I don’t think it supports the GTalk Voice part). I’ve tested it, and it works well (since it’s part of the Google suite, it doesn’t need to be launched automatically). Unfortunately, not one single friend of mine uses GTalk as their default chat service, so I’m not likely to get much use out of it either.

At home and the office I run an Asterisk PBX. That makes VoIP services a nice to have (definitely not necessary). I greatly prefer IAX2 for the VoIP protocol, but there are no IAX2 clients available for Android. Oh well. There isn’t a good selection of SIP clients either (a little more surprising), but I’ve found one that’s somewhat workable, SIPDroid.

It’s quirky and picky about which services it will connect to, partially due to the fact that it seems meant to promote a public PBX service called PBXes. Still, I can (somewhat reliably) connect to just one of my Asterisk servers, and from there, make/receive calls as if I was sitting at my desk. Cool, but it could be a bit less rough around the edges.

Fring is a more general VoIP and IM client, and I believe that it will be a winner. It seems to have a lot of buzz and momentum. I don’t use it for IM, and I haven’t had success with the SIP part either (I get one-way audio, so connection isn’t the problem).

What do I use Fring for then? I have had perfect success with them as a Skype gateway. I can make/receive calls to/from any of my Skype contacts, and the call quality is excellent (over Wi-Fi or 3G). Amazingly, at least for now, the Skype Lite app (provided by Skype!), can’t do Skype-to-Skype calls!

I don’t typically launch Fring, just as I don’t typically launch Skype on my desktop. If someone emails me, or IMs me that they would like to speak, I’m happy to launch Skype/Fring.

I was sitting in Birmingham, AL over the Thanksgiving weekend, and I received a notification on the Droid that there was an update available for Fring. I downloaded and installed it, and launched the app to test out the update. Within 30 seconds of launching it, I was getting a Skype call.

The caller is a life-long friend of mine who lives in Thailand! The first thing I said to him is “You probably won’t believe this, but you’re reaching me on my cell phone!”. His response? “I know that. My contact list shows you as Hadar on mobile Skype via Fring!” Wow, very cool. Like I said earlier, the quality was superb.

Google Maps. Like me, you probably use Google Maps on your desktop browser. I am surprised by how often I use it on the Droid. Not really to get directions (in the car, I’m still a fan of my Garmin Nuvi, more on that later). One of the reasons I tap on the Maps icon a lot is because of Latitude.

Google Latitude is an opt-in service which will show your position on a map, and broadcast that position to anyone who you’ve friended and permitted to see it. Of course, you see where your friends are on a map as well, if they’ve reciprocated. This is not Android only, it works on an iPhone too. But, since the iPhone doesn’t multi-task, unless your friend brings up Maps, their position doesn’t update (sorry, I guess that counts as another comparison…).

It only takes a second to see where people are, and I pull it up way more than I thought I would. It’s ideal for when you’re meeting one of those friends somewhere, and there’s no wondering how close they are, and whether they are making progress toward the meeting place or not. 🙂

ConnectBot is an excellent SSH client. I use it to connect to and control my server whenever necessary. It supports public/private keys. Because the Droid has a hardware keyboard, there is no screen space obscuring the TTY output from the server. A lifesaver on those occasions when you’re out, but the server requires some attention.

Update: Evernote just released their Android app today (or I became aware of it today, 12/16/2009). I tested it briefly, and I like what I see so far. I’m guessing that it will become a frequently used app on my Droid.

Barcode Scanner is an amazing app. It’s used as the base for other cool apps which rely on it to provide the barcode recognition. For one, if I weren’t lazy (and I am tiring myself out with all this typing, so I am being lazy in other respects), I could provide a QR code (a 2-dimensional barcode) for each app that I’m mentioning here. You point Barcode Scanner at the QR code, click the Open in Browser button, and that app would be available instantly for download from the Market.

On top of Barcode Scanner, I have ShopSavvy, Amazon, Key Ring and Handy Cards. Using ShopSavvy, you scan a barcode, and it searches online stores to find the best price for that product. Amazon works the same way, searching only their site. More on the Amazon app in a second.

Key Ring and Handy Cards are competing apps (I have both installed). You scan in your loyalty cards (CVS, Borders, super market, etc.), and instead of carrying them all around, you fire up the Droid and let the clerk scan from the high-res picture on your phone instead. Cool!

Amazon is my favorite online store. I shop from and trust a number of different online sites, but unless there is a big price difference, I choose Amazon first. their customer service is unparalleled, and the entire shopping experience is pleasant and optimized (especially for repeat customers who ship to many places).

The Amazon app on the Droid replicates that full experience, without needing to fire up the browser (not that I mind firing up the browser!). 🙂

Twitter. The most written about Android Twitter client hasn’t made it onto my phone yet, TwitDroid. There is a free version and paid one. When I read about the differences, on day one of having the Droid in my hands (when I was committed not to pay for any app yet), I wasn’t impressed by what I read about the free version.

At the moment, I have three Twitter apps installed on my phone. All three are reasonably good, and capable. The first one I installed was renamed later to Twigee. I no longer use it (not that it was bad or gave me any troubles), but I should revisit it since they’ve updated it to be multi-account.

I have two Twitter accounts, one that I lock for purely private tweets to my friends. I use that mostly as an offline status message of where I am, and the other for public tweets (the public one is @hadarvc). Neither of the Twitter clients that I use is multi-account at the moment, so I use one for my public account, and the other for my private one.

For the public app, I am using Seesmic at the moment. I occasionally use Seesmic Desktop on my laptop, and in general I’m very impressed with the company. The Android app is brand new and works reasonably well. I am sure it will improve dramatically, quickly, if their pace of innovation on the web and the desktop is any indication.

For my private account, I use Swift. It’s very attractive, works well, and if I had to lock in a single app for a single Twitter account now, I might actually select that over Seesmic. Thankfully, I don’t have to lock in that choice now, or likely ever. 🙂

I really thought that Twitter would be one of the more heavily used apps on my phone (something I never did on the Treo), but I actually rarely bother. On occasion I’ll update my status (which on the Treo I did via SMS), but reading the timeline is something I more typically wait to catch up on when I’m back on the laptop. YMMV, and the apps are more than capable of doing it exclusively on the phone.

KeePassDroid. This is an app that keeps my passwords for web sites handy. It copies username/password for easy pasting into the browser. I was using a different password database on the PC, but when I saw that this app existed for Android, I switched to KeePass on the PC as well. Keeping the two in sync is quite easy.

I thought I would use DropBox for syncing files (including the KeePass DB). They haven’t yet come out with a native Android app, though they claim that their mobile site works perfectly on Android. I didn’t check that claim out.

Instead, I signed up for a free account with SugarSync, which has a native Android app. It works perfectly and instantly. If I add a password to my KeePass DB on the PC, I tap SugarSync on the Droid, copy the file to a different folder, and voila, my updated DB is available on the Droid as well. So far, while there are a few manual steps involved, I’m happy with having full control and no surprises in the syncing process.

I have also used SugarSync in the other direction, to get photos taken on my phone over to the PC without hooking up the USB cable.

Google Finance is extremely cool if you follow any stocks. I’m shocked that it displays most stocks in real-time. Having worked on Wall Street long ago, for many years, I know what hurdles data vendors have to go through to provide such a service. You can maintain a portfolio on Google’s finance site and it will automatically sync with the phone.

Foursquare. I have read about Foursquare for a long time now, because I subscribe to Fred Wilson’s blog, and he is one of the VC’s that funded Foursquare. Even though I saw the Twitter buzz about it, I wasn’t ever tempted to check it out. When I saw that they released an Android app, I decided to check it out just for yucks.

What do you know, I like it. It’s fun. If I had more friends on it, I can even see it having tons of utility, just like Google Latitude, but different enough. Currently, all of my Foursquare friends live very far away from me, so I am aware of what they’re up to, but can’t readily join in the fun.

I use AndroZip as my file manager and I’m quite pleased with it. I use Advanced Task Killer as my Task Manager, and I’m quite pleased with it as well.

I’ve installed a number of Note taking apps but I haven’t had the occasion to use them frequently because I haven’t found a good way to sync my Outlook Notes with any.

I never intended to use my cell phone (any, not just the Droid) as a primary music/podcast device. I am quite happy with my iPod Nano when I’m running around, and the iPod Classic is the main device that Lois DJs from when we’re in the car.

Even after owning the Droid for a few weeks, I hadn’t budged on that decision (though music sounds exceptionally good on it, can be run in the background, and the MicoSD card has plenty of storage space). There’s the slightest chance that I might be rethinking that in the coming months.

For one, streaming music on the device is a fantastic experience. While I haven’t chosen to do so much yet, I have Pandora, Imeem (don’t know if it still works now that MySpace took them over!) and Last.fm all installed (there are more available!). Since you can stream in the background, you can get fresh music all day long. Of course, you can play your own MP3’s as well. I use DoubleTwist (on the PC side) to sync over music (at least I did for the music I was testing).

I installed Google Listen for finding and subscribing to podcasts. This morning, while waiting for my car to be inspected, I used it for the first time. I streamed a podcast live over 3G. It worked flawlessly. Another reason why I am at least thawing to the idea of listening a bit more on this phone.

The built-in YouTube app works flawlessly. It can also deliver HD quality videos when those are available on YouTube. Given the screen res, the quality of the speakerphone (if you’re sharing the experience with friends), the Droid is a great device in this regard. When Flash comes to this phone (likely in the next few months), that will open up even more great video services that I’m likely to take advantage of.

I have a few location-based apps installed. The one I use most frequently is Google Places Directory. Occasionally I launch Where and Yelp. I have tested Aloqua as well, but rarely launch it.

I like Movies by Flixter, Inc. I have used it a number of times. The other day, even though I was on the laptop, when Lois asked me what time a movie was starting, I reached for the Droid instead of doing a web search on the laptop.

Apps I launch occasionally, and like: SportsTap (for sports scores, duh), USA Today (to kill a few minutes and be up-to-date), Radar Now (shows local radar weather map), Open Table, Shazam (to wow people that might not have seen it on an iPhone before), NYC Subway and Bus Maps (because it’s cool to have the entire system in the palm of your hand), Aldiko Book eReader (just installed and tested, no books read just yet).

Another wonderful feature of Android (largely enabled because of multi-tasking) are Widgets. These are apps that display something useful directly on a home screen. I use the built-in Power Widget to turn on/off Wi-Fi, Bluetooth, GPS, Sync and Screen Brightness.

One of the more useful third-party widgets that I just discovered a week ago is Silent Mode Jammer. One ill-thought-out feature on Android was silent mode. If you hold the power button down for a second, you get a menu where you can select Silent Mode, Airplane Mode and Power Off. Airplane mode shuts off all radios making the device a local one only. I use it when I go to sleep to avoid alerts coming in.

Silent Mode simply silences alerts. Unfortunately, it also turns off all vibrations. Not so smart. If I’m in a restaurant, I don’t want the phone to ring, but I want to feel it vibrate. If I’m not expecting anything urgent, I can pretend it never vibrated. Otherwise, I can check at my convenience.

Silent Mode Jammer overrides this behavior with a toggle that keeps vibrate on when in silent mode, or turns it off (back to the default Android behavior). Wonderful!

ScreenModeWidget performs an analogous function with the screen timeout. By default, the screen dims after 30 seconds of inactivity, and shuts off after 60 seconds. That’s adjustable in preferences. ScreenModeWidget let’s you perform adjustments from the home screen. You can tell the screen to turn off but not lock, or never turn off, or go back to the default. Wonderful!

I have a few other apps installed that I haven’t really played with yet, including Voice Recorder and the brand new Google Goggles.

The phone is quite thin, especially for one that has a full qwerty keyboard that slides in/out. I bought a hard plastic case from Verizon that has a separate belt clip that the case slides into. It’s a terrific package ($29.99). There is only one thing I don’t understand about the case. The speaker grill on the back of the phone spans nearly the entire width, which is likely one of the reasons it’s so good.

The case has an opening that exposes only half of the speaker. Perhaps the rest of the speaker grill is only for show, and the entire working part is exposed, but I don’t think so. So, with the case on, I think you don’t get the full effect of how loud this phone can be. It hasn’t been a problem for me yet, but I’m surprised they didn’t make a bigger cutout on the case.

I also purchased the in-car mount for the eventual convenience of the hot Google Navigation app. Unfortunately, the phone only fits into the car mount when it is removed from the nice case I keep it in at all other times. Bummer, because I don’t want to remove it from the case, and I suspect that if the case were popped on and off many times, it eventually wouldn’t fit so well.

Thankfully, I’m still thrilled with my Garmin Nuvi 265WT, so in the short run, I don’t intend to take my phone out of the case to use in the car. That might change in the future, in which case I’ll have to consider another type of case for non-car use.

If you’ve made it this far, I’m surprised and impressed! 😉

Switching gears to a more philosophical discussion of Google and Android.

I totally understand the concerns that privacy advocates have about Google, and respect their position. For a number of reasons, I don’t personally guard myself as well as they would recommend. While I have had a Google account for a long time, and use a number of their services (notably, Analytics, Feedburner and Webmaster Tools), I don’t tie myself entirely to Google (not because of privacy concerns).

I had a GMail account, but rarely used it. I had a GTalk account, but rarely used it. I had a Calendar account but rarely used it. I didn’t populate my GMail Contacts. I had a GV account that I never used, etc.

Google might prefer to be associated with Android from the perspective of making mobile search a more pleasant experience, but their vision is much deeper than that (at least that’s what I suspect, strongly). If you buy into an Android phone, and you don’t give over your life to Google, you will be one of the rarest Android users on the planet.

Why? Because when you marry an Android phone with an online Google service, everything just works, seamlessly, typically nearly instantaneously as well. That’s a very sexy siren song, difficult not to succumb to. I have succumbed to all but GMail at the moment, and I admit to at least giving that some thought as well.

I have installed Google Calendar Sync into Outlook. I still use Outlook as my primary calendar, but that’s not necessarily going to remain true for long. When I put something in Outlook, it shows up in Google Calendar on the schedule I set, and then instantly appears on the phone. If I update the phone calendar, the next time I check Outlook, there it is!

I duplicated all of my contacts in both Outlook and Thunderbird (keeping them in sync by hand after the initial dump/load). That’s because my Treo sync’ed with Outlook, not Thunderbird, which is my main email client. There is no good free solution for syncing Outlook Contacts with GMail contacts. But, there is a very good (and free) Thunderbird extension called gContactSync that does a nice job of syncing GMail contacts with Thunderbird, bi-directionally. I now use that, and again, there it is on my phone.

Contacts are still a little rougher around the edges. Some edits don’t show up on the phone. When I notice that, I can always manage to edit some other field in GMail on the web directly, causing it to update on the phone. I don’t know if that’s a Thunderbird problem, a gContactSync problem, or a GMail one. So far, it’s not a big deal, but I’ll have to keep an eye on it.

Google Tasks isn’t even anemic, it’s essentially non-existent. I use Outlook Tasks quite a bit, and haven’t found a good solution to sync them all the way through. I like ToodleDo online enough, and there is a good syncing extension for Outlook. Unfortunately, the one ToodleDo Android client I have is horrible (no need to name it). So I never launch it, and still haven’t settled on a good todo manager locally.

Astrid looks to be a good free one, and it can sync with Remember The Milk (RTM) online, but RTM can’t sync with Outlook (absolutely incredible!), so for the moment, I’m avoiding it as well.

I don’t yet sync Outlook Notes (as mentioned above), and I’m seriously considering just putting them in my KeePass DB and maintaining them there only, stopping to use Outlook for that at all. If that happens, I’ll be down to only using Outlook for tasks (as my primary client, since I could easily give up the Calendar if I wanted to). We’ll see…

The point is that Google isn’t forcing me to use more of their services (yeah, right), they are enticing me to do it (hence my reference to sirens!). They’re smart. They are making my life easier, and in the process capturing everything there is to know about me, so they can sell their knowledge of me at higher prices to the world’s advertisers… I understand the bargain, and for the moment, and happily and willingly making it.

No GLEE Here

Send to Kindle

Now that the regular TV season is over, I’m a little more attuned to potential new shows to watch, particularly during the summer.

I really like Jane Lynch a lot, in particular her turns on Two and Half Men (one of my favorite comedies). So, when I saw a commercial for a new show called Glee, and saw that Jane had a prominent role in it, I figured I’d give it a try.

Somehow, I missed the pilot episode. I have bought a TV episode from Amazon Unbox in the past, so I get their weekly newsletters. This past week, they were offering a download of the Pilot episode of Glee, for free. Cool, the universe seemed to be looking out for me.

I downloaded the 847MB file (wow, that has to be some pretty good definition, right?). A few days later, after a little bit of arm-twisting Lois into checking it out, I popped in my HDMI cable to the back of my laptop, fired up the TV, and was set to enjoy this new show.

Even though I could hear the sound, the picture was blank. Sparing you the details, Amazon Unbox was clearly applying some DRM and HDMI cables respect DRM, so I was able to see the picture on my laptop, but not through the HDMI cable on the TV itself. I could have switched to component cables, but I was just annoyed, and I put something else on the TV.

The very next day I saw someone mention that they just installed the new Hulu Desktop application. I don’t watch Hulu all that often, but when I do, it’s quite a pleasant experience, so I decided to download the app, just to check it out.

Imagine my surprise when it started playing Glee by default! I stopped it pretty quickly. Later that night I told Lois we would give it another try, using Hulu instead of Amazon Unbox. Hulu didn’t have any of the DRM problems (which were strange to begin with on a free download). So, the show fired right up, with excellent resolution as well.

Sounds like a happy ending, no? No!

After torturing ourselves for roughly 15 minutes (with no commercials), we simply couldn’t watch another second of this show. It’s possible that they redeem themselves later on. People magazine had a very positive review of the show. We’ll likely never find out. Both of us felt immensely relieved when I killed it.

Since I had Hulu Desktop up, and had the HDMI cable plugged in, I ended up watching the very first episode of It Takes a Thief (from 1968), which was one of my favorite childhood shows. Lois was bored out of her mind, but at least it was pleasant boredom, as opposed to Glee, which was actively painful. I loved the show, if for the nostalgia alone. I’ll be watching more episodes, I’m sure, likely without Lois. 😉

Glee was an experiment. The Pilot debuted now, but the rest of the series will be shown in the Fall. This was a way to build some excitement in advance. Oops…

PeopleBrowsr Boggles the Mind

Send to Kindle

Twitter is a phenomenon. It’s one of the hottest topics in the media now, not just the tech media. Most non-Twitterers roll their eyes when someone tries to explain what they’re missing. Many first-time users abandon it pretty quickly too.

I’ve been using Twitter consistently for over two years. In my opinion, there are quite a number of ways to effectively use Twitter, but I would guess that most people fall into one particular pattern. Up until recently, for me, that was as a personal, extended away message service. In other words, I used it to let friends know what I was up to.

Because of that, I protected my tweets (meaning, I had to approve who was permitted to follow me), since the world didn’t need to know that I was off to a concert or having dinner with friends. To accomplish this low volume use of Twitter, pretty much any of the hundreds of Twitter clients more than suffice. After trying many of them, I settled on the all-in-one Instant Messaging (IM) client Digsby. It’s not a great Twitter client, but it’s a great IM client, and having Twitter integrated was a bonus (one less app to deal with).

One of the clever things that Twitter clients do (which is a clever part of the Twitter API) is to announce themselves with each tweet. I was noticing that most of the people that I was following were using TweetDeck (this was a few months ago). I looked at it, understood what people liked about it, but it didn’t fit my usage pattern, nor attract me to changing my usage. One of the reasons is that it didn’t support multiple Twitter accounts, and I had no interest in changing the way I used the one account I had (@hadar).

As any regular web surfer knows, JavaScript (JS) is taking over the web. It’s really hard to find an interesting site that doesn’t either require JS, or use JS to make the site dramatically more interesting/usable.

One day I saw a mention that one of the more sophisticated JS-driven websites was called PeopleBrowsr. Note that there is no E at the end of “browsr”. Even if I realized that it was a Twitter client, I had no interest in a web-based Twitter client. I was merely curious to see just how sophisticated a JS application could be on the web.

Folks, I was totally blown away. Aside from being wildly impressed by what one could do with JS, I quickly switched gears into discovering just how much of the Twittersphere I was ignoring (even though some of the people that I had been following for years are Twitter Rock Stars). Even more impressive is the fact that you can click on skip login, and get a complete sense of how PeopleBrowsr works, without entering your Twitter credentials.

In fact, in their default non-login mode, you already see many cool features, and can start to explore the application.

PeopleBrowsr is so awesome that many people have covered it extensively, and have done so better than I ever could. The list truly goes on and on, but I’ll just put forth three links, two video, and one blog, if you want a feature oriented tutorial:

A fantastic introduction to PeopleBrowsr Lite Mode (recommended for people who want to get their feet wet with PeopleBrowsr).

A fantastic introduction to PeopleBrowsr Advanced Mode (this is the mode I use). The same author intends to produce a video about Business Mode in the near future, and I look forward to viewing that as well.

Guruvan has an in-depth article on why he switched from TweetDeck to PeopleBrowsr, and there are many good points in there. It’s a long, but worthwhile read.

PeopleBrowsr comes in two flavors, a browser-based version (best viewed in Google Chrome, Safari and Firefox) and an Adobe AIR version. The user interface is identical in both, but there is an important functional difference between them.

The browser version is resource friendly (both to your machine, and to their servers) in that it won’t update unless the PeopleBrowsr tab is in focus. For the casual Tweeter, or the person who can’t avoid distractions, this is ideal. Only when you wish to catch up with your Tweeps, do you switch to PeopleBrowsr, and see what you’ve missed.

The AIR version runs continuously in the background (as it should), and puts up the typical popup alerts whenever a new tweet comes in. Of course you can ignore them, but the whole point is to be aware of what’s happening in the twittersphere, and that means constant distractions. This isn’t unique to PeopleBrowsr, as any other AIR Twitter client will default to this behavior as well.

I would have preferred to use the AIR application, but I have found the browser based version to be a tad more reliable. So, for the moment, I use it in Google Chrome exclusively. PeopleBrowsr is still officially in alpha (beta coming any day now), but it’s reasonably rock solid most of the time. Occasionally, there are some glitches, but given the amount of raw power in this app, the growing pains are well worth it.

Now for the big win. Because PeopleBrowsr handles multiple Twitter accounts so well, I was inspired to register two new Twitter accounts. The first is my first public account, @hadarvc. The second is for a new micro-business that Lois and I have formed, but have not yet launched, @songsandjingles.

Handling all three accounts in PeopleBrowsr is not only easy, it’s fun.

The team behind PeopleBrowsr is tireless and talented. Their pace of innovation is incredible (another testament to them, and to the power of deploying JS-based applications). They are super-responsive to any issues brought up by their users.

I highly recommend anyone who uses Twitter to give PeopleBrowsr a try. If you don’t use Twitter, and want to know what all the fuss is about, then PeopleBrowsr is a pretty cool way to discover some of the more interesting things about Twitter, without even having to create an account. How cool is that? 🙂

Update: I should mention that PeopleBrowsr is way more than a Twitter client. It can connect to many Social Media sites, including Facebook, MySpace, LinkedIn, FriendFeed, etc. For the purpose of this blog post, and for the majority of my personal use of PeopleBrowsr, I only covered the Twitter portion…

Twitter for Business Webinar

Send to Kindle

I rarely accept invitations for Webinars (online seminars). I know Twitter reasonably well, having used the service regularly for over two years. Why then did I attend a Twitter for Business Webinar this past Thursday?

Two reasons:

  1. I knew one of the primary presenters for a number of years, so I had reason to believe this wouldn’t be a waste of my time
  2. I am close to launching a new, niche, micro-business, and I was curious as to whether I’d learn anything that might net me one extra paying customer 😉

The person mentioned in #1 above is Chris Abraham (if you can’t figure out how to contact him from that page, leave the Internet now!). 😉 I have known Chris for many years, originally meeting him through the Zope Community. We’ve remained in touch over the years, even as he broadened his horizons into Digital PR and Advocacy.

As for #2, even though I’ve been using Twitter continuously for a long time, I don’t use it as a business tool at all. Some of the people I follow do, very effectively, so I’m not clueless in that arena. Still, I thought Chris might have a trick or two to teach me (and others).

Joining Chris was Anamitra Bannerji of Twitter, so even if Chris didn’t come through, perhaps Anamitra would. Playing the role of MC was Owen Linderholm. I believe that Owen is part of WebinarAce, but don’t hold me to that.

Suffice it to say that my interest was held for a little over an hour. After that, it ended, rather than implying that my interest waned. 😉

After Owen’s introduction, Anamitra did a very nice job, followed by Chris. I waited until now to post this, because they said during the Webinar that they would post the slides and the recording online within a few days, and indeed, they came through with both.

Recording of the Webinar.

Chris Abraham’s Slides.

Thank you Chris, Anamitra and Owen for an hour well spent.

In addition to the live presentations, they used Twitter effectively to gather questions for the Q&A section. The entire stream of Tweets can be seen by searching the hashtag #twiz (which I believe they intend to keep using actively). People asked questions and tagged their questions with #twiz, and then Owen selected a number of pertinent questions and Anamitra and Chris responded to them. Very nicely done.

Gaining Leverage

Send to Kindle

This post will cover a few related topics. They’re all about TV shows.

We probably watch too much TV, and I make no apologies for it. We lead reasonably intense lives and watching TV shows works wonderfully to help us escape and unwind. I have more forgiving tastes than Lois (meaning, I would watch a lot more bad shows, especially comedies), but our overlap is quite good, and gives us plenty of choices.

When the new seasons come up, we’re somewhat selective of what to try out. Partially, because we already watch a lot. Partially, because a lot of stuff doesn’t even look remotely interesting from the commercials. That said, there are shows that look interesting to me, that Lois poo-poos from the commercials, and given how much we watch already, I am OK passing on them.

This year, one such show was Leverage on TNT. I like hi-tech spy/theft stuff. Two of the shows that we’re both in love with are Chuck and Burn Notice. Chuck is way more on the comedic end of the scale, though it’s still set in the spy motif. Burn Notice is simply a fantastic show, in every respect. For me in particular, I love how they explain all of the spy stuff, and break it down (like a magician, revealing his tricks).

When I saw the first commercial for Leverage, I knew I would like the show. Lois saw the same commercial, and yawned (who knows why, since she loves Burn Notice and Chuck). So, I never added it to the list of things to DVR this season.

I had a twinge whenever I saw a commercial for it, but I took a deep breath, and let it go…

Yesterday I posted about KCRW’s podcast, The Business. On an episode that I listened to on Saturday, while out walking in Rockwood Park, they interviewed Dean Devlin, Executive Producer of Leverage (this episode is from a few months back). Dean explained that the post production for Leverage happens in an all digital facility, and why they can produce more effects, in less time, for less money, due to that setup.

That got me intrigued (again) in checking out Leverage. Lois was out of the house with a friend for a couple of hours right after I got back from my walk. I found episode one online (more on that in the next related topic part of this post), and watched it alone, on my laptop. I really liked it, a lot.

When Lois got back, I told her that I really wanted her to watch it, in case she enjoyed it as much as I did, and we’d add this to our regularly watched list. Since Lois is legally blind, watching on a laptop is not an option. So, I trotted out a 25′ HDMI cable (it was still in the bag), and connected my laptop to our 42″ HDTV. Describing some of those ins-and-outs will be part three of the related topics in this post. For now, back to the show.

Lois ended up liking it a lot. Over the next two days, we watched the first six episodes (the first season is over, with 13 episodes in total, and the show returns this summer, and we’ll watch it on the real TV). How we watched it is back to topic #2, which I’ll defer for just a few more paragraphs…

A few months back (January to be specific), our good friend Wes strongly recommended that we check out the show The Mentalist on CBS. I asked him whether it needed to be watched in order (from episode one), and he thought not, that each episode could stand on its own. So I started recording it on our DirecTivo, including repeats, to start building up the season. We now have 14 of the 19 episodes on the DVR, but not the first five.

Given our success watching Leverage on our TV (through the laptop), I decided that we would give The Mentalist a shot in order, through the laptop as well. We watched the first two episodes and really like the show. Thanks Wes! I think Wes is correct that they could probably stand alone, but I’m also glad we watched them in order (so far), because the first episode (called “Pilot”) really sets up the scenario for why he does what he does. The second episode flashes to that motivation, but it’s more powerful to already understand what they’re flashing to.

Certain shows have to be watched serially. One of the quintessential examples of that is another of my favorite shows (Lois fluctuates wildly in her appreciation of the show), Lost. If you miss even 10 minutes of a single episode, you might really end up Lost (pun intended).

Burn Notice is somewhat like that. In every episode, there are always two themes:

  1. Working a case for a client (this stands alone, each and every week)
  2. Tracking down why our hero was Burned (this is serialized, but nowhere near to the extent Lost is)

So, you can enjoy Burn Notice out of order, but it makes much more sense in order. Both Leverage and The Mentalist would best be enjoyed if you at least watch episode #1 first, to thoroughly appreciate the premise and setup, but after that, it’s probably OK to watch them out of order, even if you will end up missing a reference to a past show.

On to related topic #2: Watching TV online

If you’ve read this space before, then you know that I am a respecter of IP (Intellectual Property Rights). I buy a ton of music, including multiple copies of the same CD in order to give them as presents. I don’t look for torrents of movies or TV shows, just because they’re easy to find.

That said, while I’ve paid to watch a show I’ve missed (I wrote about purchasing an episode of NCIS from Amazon Unbox), it’s a last resort for me, given that the original show was completely free (including advertising, when you’re watching it on the DVR). So, I work hard to find a streaming version of the show online, before paying for it (on principal, not the money!).

My thought, perhaps a little self-serving, is that if it’s available for streaming, especially for a long while, then it isn’t being shut down by the copyright holder. After all, I’m finding it on a Google search, which the studios could do (and likely are doing) better than I could. To repeat, I realize why they may have more trouble tracking down illegal torrents of the shows, and I avoid those.

So, on tnt.tv, they stream six full episodes. They don’t even stream a single commercial, before, during or after the show! However, those six episodes are not conecutively numbered. They currently offer (as of this writing) episodes 3-4-5, 7-8-9. In other words, episode #6 in not available.

I know that some studios have a rolling number of episodes available. They might have four at a time, and when a new one becomes available, the oldest of the existing four will roll off. Some just make the current (or one before that) available. They each have their reasons, I’m sure, but I’ll be damned if I can figure out what they are!

I would guess that on some level, they are trying to force you to watch it on their schedule, meaning, within some reasonable period of time of its original airing. Why? if there is a way to monetize these shows online (and I’m not saying there is!), then more episodes available should equal more monetization. If there isn’t a model (e.g., TNT showing Leverage with zero commercials), then why restrict which episodes are available?

By me being able to watch Leverage online, I have become a fan. When the new season starts this summer, I’ll definitely watch, on TNT itself, rather than online. If none of their episodes was available online, there’s little chance that I would have gotten into this show. The Mentalist is slightly different, as I started taping it before I watched it online, but I will enjoy the show more, now that I’ve gotten the taste from the beginning, and that only happened online.

But, CBS, which used to air full episodes of The Mentalist online, has pulled that show (and others, including Eleventh Hour, which we also really like). Reading some of the fan sites, it might not be a CBS decision, but rather the production company which owns those shows. Either way, a great way to reduce your potential fan base.

Here’s what works for me (I think I wrote about this in one of my Video on Demand posts). Put in no more than five minutes (preferably two) of commercials, that can’t be fast forwarded through, in your online content. Allow the entire stream to be paused and rewound, but even in fast forward, force the stop in a commercial, so if I want to fast forward to a late segment, I have to watch the commercials again. It’s a small price for having ubiquitous content available, on demand, over the Inernet.

Most people will not enjoy that experience as much (not because of the commercials), so it will become another avenue to discover content that can be delivered more effectively (today, not in the future) to their TV.

You’ll notice that I said that CBS no longer streams The Mentalist online, and that episodes #1, #2 and #6 of Leverage aren’t on TNT either. And yet, we watched all of them online, on two different streaming sites. Finding The Mentalist was a bit of a Google challenge, but I ended up being up to the task. Finding Leverage was trivial. 😉

The episodes of Leverage that are available on TNT required extra downloads from TNT in order for their player to work in IE and Firefox. The player doesn’t work in Google Chrome (no prompts for a download), and I haven’t checked, but I suspect that it would fail in Safari too, which is based on Webkit, just like Google Chrome is.

Related topic #3: Technically connecting the laptop to the TV

I have written in the past about connecting my old laptop to the TV, using S-Video and normal RCA audio cables, with decent success. This laptop has an HDMI port, and a VGA port, no S-Video. VGA is a little messy, because it requires a powered converter between the laptop and the TV. I have one, so I can use it when necessary (to connect to an older TV in a hotel room, for example), but at home, I can use HDMI.

This weekend was my first attempt to do so, even though I bought the 25′ HDMI cable long ago, just for this purpose.

Even though on some levels I’m an expert user of computers in general, I (like many people) still fumble when doing something out of the ordinary. Doing this the right way is certainly out of the ordinary. Here, in my opinion, is the right way (in Windows, specifically Vista in my case):

  1. Connect the HDMI cable to the TV and to the laptop
  2. Power on the TV and set the input to that HDMI connection (Input #2 in my case, since #1 is connected to my DVR)
  3. Right-click on the desktop, and bring up the “Settings” panel (in my case, it’s a specific Nvidia Control Panel, and in XP, it’s a generic Desktop Settings panel)
  4. My Nvidia Control Panel makes this next step very easy. It’s a little trickier on a generic XP settings page. I just selected Use Two Displays (with separate content, meaning, not mirrored). This won’t show up unless you have the HDMI in, with the TV on. For a generic XP setup, I believe that you have to click on the smaller screen, labeled 2, and configure it…
  5. Set the resolution of the second display to full HD (1920×1080). I don’t recall whether it was the default or not, but I believe it was, and I believe it was the recommended setting, sensed by the laptop from the TV’s capability
  6. Set the default sound output to be the HDMI device (if you want the sound to come out on your TV!)
  7. Fire up a fresh browser (quit your old one if it was open, then relaunch it). This will ensure that the new default sound device (HDMI) will be where your browser sends its sound!
  8. Optional: Reset your default sound device back to the laptop. I did this, because I got annoyed hearing my IM bings and email sounds coming out on the TV (loudly). Once you do this, only the fresh browser intance launched in step #7 above will have its sound going to the TV!
  9. Navigate to the site that will stream your video while the browser window is still on your laptop display (it’s way easier than navigating once the browser is displayed on your TV)
  10. Get the video all set up, and pause it immediately. Notice which button is set to Full Screen within the video window (very few players don’t have a full screen mode)
  11. Drag the browser window off the laptop screen to the right edge. It should appear on your TV as you are doing this
  12. Hit play on the video, and only after it starts, hit the Full Screen button/control that you noted in step #10

That should do it. You should be watching your video in reasonable quality, in full screen, with sound coming through the TV. Our experience was quite pleasant. Our Internet connection is a very high speed Verizon FiOS one, so that doesn’t hurt. Depending on the player and encoding, I adjusted the aspect control on my TV to get the best fit (The Mentalist looked better with a different setting than Leverage).

Enjoy! 🙂