Navigating Abroad With Motorola Droid and No Network

On a recent trip to Asia, I carried my Droid, and although there was CDMA service in the countries I visited, I didn’t really need or want to use it.

But I did want to use my GPS capability, and after much fiddling, I was able to use Droid as a scrolling map GPS.

The first thing you need to know about GPS on Droid is that the GPS function is married to the CDMA radio in some obtuse fashion, and one must apparently start the GPS with all radios (CDMA (phone transceiver) and GPS receiver) on, until a position is obtained, and then you can turn the CDMA off, either by entering Airplane mode or by turning it off with a tweaker app, like Advanced Settings. This much is well documented.

A catharsis that I had one day, standing under an open sky, with all GPS and CDMA enabled, waiting for GPS to find satellites, was when I turned off “Data Enabled” under “Wireless and Networks” -> “Mobile Networks”. I always have “Data Roaming” turned off, but turning off “Data Enabled” made the GPS suddenly find several satellites. Since the whole point was to make GPS work without network, it didn’t harm anything, and it did really help.

Also, turn off “use wireless networks” under “Location and Security”. Can’t use it without coverage, turn it off.

In order to have a scrolling map, I used Maverick, and Mobile Atlas Creator. I down-loaded about 5 different zoom levels, you wouldn’t need all levels, of Google Maps, which worked really well. Of course, no turn-by turn, but I was able to navigate and record tracks and waypoints, even with the limited numbers imposed by the free version of Maverick. I intend to buy it, it seems worth the 5 Euros.

Backing up a little:
On day one after my arrival, the GPS got satellites, found position, and worked well with Maverick. A couple of days later, however, it refused to find satellites, and when Maverick was open, it showed 5000-some miles to local land marks, which suggested that it was assuming a point in the US as its starting point. For a while, I fiddled around and googled, trying to figure out how to move the starting point, which has been part of the procedure with my previous Garmin and Magellan handheld GPS receivers. I never did see a way to do this, but I think that the strategy of “assisted” GPS, as found in Android, is to forego that step by using CDMA base stations to guess the starting point. The “starting point” is important in a short time between power-off and position-reporting GPS, because if the GPS knows where it is, it can estimate which satellites it can expect to receive by consulting ephemerides. It’s also not clear that the Droid GPS saves state which survives power off and/or battery change, because it is designed to have the “assisted” part.

But unchecking “Data Enabled”, “Data Roaming” and “Use Wireless Networks” seems to give the Droid a leg-up on doing “no-coverage” GPS.

Why I Love My Boosteroo

A couple of years ago, at Fry’s on the north side of Indianapolis, I bought a little dealy called a Boosteroo, which is simply a headphone amlifier, which allows you to hear what the people are saying in your iPod/PSP/Android/etc handheld video when you’re in a nominally noisy environment.

When I bought it, I wanted it primarily for airliners, but nowadays I spend an hour or more on city buses daily, and having just a little more audio power is the very thing to jump the gap from frustrating to enjoyable, when I’m listening to “serious” programs, instead of cartoons. For a while, I was using primarily South Park and The Simpsons on the bus, because compared to live-action programs, practically all the lines are shouted in the cartoons. The real-people programs inevitably involve whispering.

After I bought my Boosteroo, it worked well for a couple of trips, and eventually became erratic on one channel. I had to take it apart and re-solder it, which took me two tries, because the old soldering iron had lost all heat control. Recently, I bought a new soldering iron, which does a lot for one’s general self-esteem, of course, and also allowed me to fix the Boosteroo. Since then, I have been really happy with it. On the bus, I actually play things on my Motorola Droid at less than full volume, because full volume is too painful, as God intended. There is no discernible clipping at any setting.

I also am beside myself with Joy to find that when I dub between computers, I can insert the Boosteroo in the audio chain and get louder, distortion-free track audio.

Linux Under Airbus 330 Entertainment System

Of course, at this point, it’s kind of my personal leprechaun, the little penguin on the seat back in front of me. I was on a Delta flight, an AirBus 330, a couple of months ago, and my movie (Pirate Radio) gagged in mid-play, after which I was informed by my unit that it needed to reboot.

Unlike the gent in this blog post, my seat-neighbors still had video during this time. So I was sort of stuck there, watching it reboot, and what to my wondering eyes should appear but the Linux Penguin, some boot messages, and then it was gone. For me, there was no question about getting a picture, as I had no time to do anything but a mental gasp and head jerk.

The system righted itself, and I had to re-start my movie and fast forward to the middle somewhere. Never had another issue. I think that Linux simply knew me, and wanted to say “hi”.

Treating Mobiles as second-class citizens

Ok, now I’m annoyed. I just now used my Droid to happen over to eBay, on a curious whim to see what kind of Android platforms were available there. I ignored the “download our eBay Android app!” tag, and searched “droid”. Of course, even in the smart phone and pda category, there’s so much crappy accessory noise in that search result that if you want to see actual phones, you have to search by price, which capability, of course, the visionaries at eBay have seen fit to exclude from the mobile version of their site.

So I continue, and finding a Verizon-branded Droid for sale, I am intrigued, and I click. Following practically NO information, I find the words, “visit eBay using a computer before you bid or buy”. This is followed by buttons to bid or buy, of course, but since they’ve left out the details of the auction,

Why DO mobile versions turn out to be crippleware? The opportunity of an ubiquitous platform, with a potential to add millions of hits, possibly at previously off-peak times. As for their app, the answer is just “no”. Publishing an app is not a substitute for providing a viable web interface. Even if you ARE eBay, you don’t merit space on my phone, and neither do your neighbors. I already have an eBay-accessing app on my phone, it’s called “Browser”.  Having an “Access Full Site” link is silly, too. You spent a mint on development for your mobile site, eBay, and you failed. You could have put something useful in the hands of the exploding population of people with handheld computers (for some reason, we call them “phones”, but how silly is that?), but you decided to play thumb-switch, instead.

Wake up, content providers. Stop making the mobile version of your site a disappointment.

My Week With Samsung Moment

Samsung Moment

Running "GPS Status" by EclipSim

(This is written as a retrospective, about using a demo of a Sprint-connected  Samsung Moment phone for one week. Since that time with the Moment, I have used a Motorola Droid, full-time, for a month.)

The Situation Here:

When I made the decision to leave iPhone behind in favor of an Android device, I narrowed the field of possible phones to w devices pretty quickly. I wanted a physical keyboard, reasonable performance, battery life and durability. I also wanted community — others with the same device, for the grass roots support and developer focus.  After extensive Googling, I decided that the two viable devices seemed to be Motorola Droid and Samsung Moment.  Right at the same time, I was offered a Moment (Sprint; Android 1.5) to try for one week.  I accepted.

It was something of a stroke of luck, since I was at the point of choosing a new phone without having seen it, and I wanted to try the Moment before simply choosing the Droid. It was also my first experience with Android, and full visibility into the Android Market.

Peppiness:

Coming from an Original  iPhone, I was happy with the performance, for the most part. The Moment seemed responsive enough when executing programs, but less so when using the Sprint Network. The included Sprint-branded turn-by-turn navigation software was a real dog, practically unusable, since one would have to wait a minute or more for the app to start, and then wait several minutes for the route to compute. If you planned ahead and always did it over WiFi, maybe you could minimize the damage, but it’s easy to see that one would just avoid it. Google’s Maps turn-by-turn is much faster and more usable.

Input:

I have had the iPhone for two years, and I’m pretty comfortable with the keyboard, but that on-screen input is just never going to be good. I did Graffiti with my Handspring, and I have experienced the Apple Newton‘s writing system as a favored beer-related activity.  So far, my favorite handheld input system has been my HP iPaq 4355, which I bought on the spur of the moment in the summer of 2004. (When I did a light-pack tour of Italy in March 2007, iPaq was still going, and I got enough incidental WiFi around “The Boot” to blog the trip.)

iPaq pictured in the Moment

I have seen Samsung Moment’s keyboard lauded as a breath of fresh air, compared to the Droid, but I found it hard to use, with the space bar splitting the bottom row, and a little ridge along the bottom edge of the keyboard that makes it hard to depress the bottom row of keys. I find Android’s on-screen less usable than iPhone’s, but I might be brainwashed. I found the Moment less typist-friendly than the iPaq, and subsequently the Droid.

Camera:

The camera was slow, slower than Droid, as well as lower resolution, and not especially good at flash metering and autofocus, but hey, it’s a camera phone, right? Maybe. We are steadily approaching the time when the integration of camera and phone is superceded by decent-or-good camera and phone.  My Original iPhone was simpler and in ways nicer to operate, but it was fixed focus, no flash and no hard button (the pictures in this post were taken with iPhone). I hate edge-buttons, still, it’s nicer when you want to do self portraits, for instance.

Battery:

I would place Moment’s battery endurance somewhere below Droid, and significantly below Original iPhone. Incidentally, I now know how to make your iPhone battery last A LOT longer: cancel your AT&T service. ;^)

The Cherry (not) On Top:

Last but not least, Moment came with a 2GB micro-SD card! Since my 2-year-old iPhone had 16GB (though tainted by an association with iTunes), and the Droid comes with 16GB micro-SD, this really was the deal-breaker.  My not-too-analytical take on Sprint EVDO versus Verizon’s is that Verizon’s is faster and more available, but I did not take measurements. Much has been said about the beauty of the screen on Moment, but it didn’t really stand out as a feature for me.

If you’ve decided to buy a Moment (or you got one for Christmas, and you had no choice), or live somewhere with great Sprint coverage and not so great Verizon coverage, I would not dissuade you from enjoying the Samsung Moment. For me, living in  Hawaii, I chose Droid, and I am satisfied with the choice.

Droid Does IPv6!

Copyright 2010, NETFLIX This week, I have been getting used to my new phone, which is a Motorola Droid, running Android 2.1. One of my primary interests was to “see if I could get IPv6 working”, since it is based on a recent Linux kernel (which does IPv6). I looked into how to get the kernel source, and what environment I would need to recompile it, and reading web posts about people who tried, in vain to figure out “how to get IPv6 working on Android”, without a single useful answer.

For the uninitiated, “Android” is a mobile operating system (or more specifically a “software stack”), driven by (IPv6 bastion) Google, and “Droid” is a motorola phone, one of many phones which run Android.

On about my 8th day thinking about this, it occurred to me to try loading an IPv6-only web page. It worked the first time. I felt foolish.

As it turns out, Android has been doing native IPv6 on the 802.11 (WiFi) interface since about November 2009, if the device in question supports an Android version that supports 2.X firmware (not all do).

To answer the obvious question: iPhone doesn’t. Plans are in place, however, to include it in upcoming iPhone OS 4.0.

Read more in Derek Morr’s blog

Here’s what Droid really does: native IPv6 when it sees router advertisements. Interestingly, it doesn’t do 6to4, although a “rooted” Android 2.1 device can be coaxed to do so, even though the 6to4 connectivity is incomplete, which is really a more important issue.  Since Apple Mac OS X Leopard (plain and Snow), MS Windows Vista and 7, and some other OSes will do 6to4 when it is ordered up by the user or by certain applications, those using Verizon as a 3G provider for their laptops may find certain things unreachable.

This may be due in part to obstinacy by Verizon Business. See:

Verizon Refuses to Provide Complete IPv6,
Oct 3rd, 2009 by Roller Network.

But it doesn’t explain why one can’t reach various educational and research institutions.

In order to see how to enable 6to4 through your 3G connection on (rooted) Android, see my post:

Droid does… (6to4 over Verizon 3G)
11:21, May 12th, 2010 at ipv6hawaii.org

Why Droid Isn’t Better Than iPhone (and vice versa)

I read a Motorola Droid review about two weeks ago in which the reviewer said:

“The slide out keyboard is horrible; I haven’t even used it once.”

Which illuminates something about blogging and the web, and the way we relate to technology, especially the kind of technology in which we invest emotionally, and worry, subconsciously, about how it looks on us.

Our culture, as the bearers of handheld information access devices, is to knee-jerk every evaluation. We don’t break things in like a pair of shoes. There are no acquired tastes, no learned skills. The allure of the Device That Finally Understands us, and  the myth of User-Friendliness, and frequent tabloid-esque sightings of same, consume us, and bind us.

iPhone and Android are, if you zoom out to a distance that obscures countless bidirectional nitpicks, the same thing.  Sorry, but for the most part, it’s true.  So far, Apple does a better job of placing a positive user experience in the customer’s hands, and then saddles them with iTunes to cancel out the positives.  A new Android user needs to add several apps and replace several others to be at square one, but not being saddled with iTunes is a worthwhile trade.  But most people will need their kids to set up their iPhone OR their Android, so it doesn’t matter — or it depends on your kids.

Sometime around the end of 2008, I was building a new PC for my office from components: new power supply, new mother board, old case, etc. When it came down to the OS, I noticed that the supplier that I was buying parts from offered Windows Vista Ultimate 64-bit for a mere $193.99.  I could have easily transferred my license for Windows XP to the new PC, or simply have relied on Linux. But I’m an IT guy with constituents who were using the following operating systems:

  1. 80 % Windows (XP, Vista, 7, 2003, 2008)
  2. 15 %  Mac OS X (Mostly Leopard and Snow Leopard)
  3. 5 % Other

Most people, I imagine, don’t worry about experiencing multiple environments, but for practically everything I do, I seek ways to do it in MS Windows, Apple Mac OS X, and sometimes Linux. It is important to appreciate that the third most popular OS family, Desktop Linux Distributions (this excludes mobiles Palm WebOS and Google Android), is in use by less than 2% of my several thousand users. So really, it’s Windows and Mac OS X, plus the minutia.

Of course, everybody hates Windows Vista. That’s what we have been led to believe, anyway. I have read dozens of reviews about Vista and why it’s not as good as XP, and I have found, for the most part, that I don’t even understand what the heck most of the reasons mean. Furthermore, the everybody that’s hating Vista isn’t a meaningful proportion of everybody. People want to by PC-compatibles, and when they bought them for a couple of years, they were shipped with Vista. The “word on the street” was that nobody was moving to that horrible Vista, and yet, in 2008, my annual client distribution survey showed that we had more Windows Vista clients than we did Mac OS clients.

Regular people don’t care. They don’t care about the opinions of the pundits that hate Vista for indecipherable reasons, they don’t care about the focus groups that led Microsoft down the dark and mysterious path of re-working its user interface, again, and they don’t care whether Mac is easier, or even if it’s better. What regular people want, apparently, is email, social media, and free access to music and movies.

So after 2 years as a Vista user, I have to say, it’s been pretty good. It was a wise choice. I have Windows 7 on my laptop (a Mac), alongside Mac OS X Leopard and Ubuntu Studio (*), so I know what’s coming, but Vista has been, for the most part, good to me.

I think that the primary reason that I’m OK with Vista is that I accepted the break-in period. Too often, objections to a change of environment are only the collision of current habits with new interfaces, and time, usually a short time, made shorter by not whining about it, spent in your new environment will solve most of the issues you face.

No environment is perfect. No environment is right for everyone. You may have to make choices and live with them for a while, before you can really evaluate them.  Most of the time, I assert, what we seek is familiarity, so we can continue to use our skills and habits, bad and good.

installing Python on Windows with Blender in spite of CygWin

I was just jumping through hoops getting Python (the one from python.org) to go on Windows Vista, with the set-up that includes Blender 2.4.9b and scapy

First, Blender 2.4.9b (Win32, compiled with Python 2.6) was not seeing Python on startup.

The reason for this is that I had previously installed Blender 2.48 (Windows 64-bit, compiled with Python 2.5) which doesn’t come with an installer, so I had manually set ENV variable “PYTHONHOME=C:\Python25”. So simply changing Python25 to Python26 made it work with Blender.

Then I had to run the installer for scapy, which uses Python to install itself, and it complained that it couldn’t find the “distutils” package. So I went off troubleshooting to see how to help Python find its modules (as distutils was clearly in C:\Python26\lib), and even after I judiciously set the right thingies (i.e. PYTHONPATH), it still didn’t work…

As it turns out, in the regular system PATH, the Cygwin-installed Python 2.5 was getting found first, and that was mucking things up.  So I edited the PATH to include C:\Python26, and moved C:\cygwin\bin to the end.

I had installed Cygwin, with all attachments (two 750 GB drives makes it easy to just install everything) so that I could compile nuttcp-7.12 on Windows.

This post is actually more of a note-to-self, but maybe someone else will benefit…

I Am Taken By Android

The iPhone is two years old, as of last Friday.

It has “screen cancer” at the bottom, often I cant see enough of the icons there to identify them, usually I remember or guess.

It’s as slow as molasses in January, sometimes.  I actually had it pause for 10 seconds after I did “slide to answer” on an incoming call, the other day.

So I’m looking into a new phone.  I want something with Internet access, email, and etc. I want something with a little more freedom in terms of app development and distribution. The  Apple App Store, and its Stalinist outlook, with regard to app signing, app censorship and public app denial, is not the thing. Several times, in the inquiry about a new phone, I have seen the number of apps available through the Apple App Store cited as a reason to keep iPhone. This is the stupidest thing I’ve ever heard, if you consider that about 99.9% of all Apple App Store Apps are worthless nonsense. It’s gotten too big to browse, and too cluttered to search. Bleagh.

The jail-broken side isn’t much better. The presence of Cycorder is a plus, but there’s just not much quality work in that arena, either.You can try to install gcc, but it’s missing libgcc, which hasn’t been upgraded past compatibility with iPhoneOS 2.0. I would really like to be able to compile a simple console program at the command line. but no avail. Python is there, but Perl isn’t. And they call it a “Smart Phone”.

Android seems considerably more promising, at least from the development POV. One isn’t constricted to the Android Market  (which has its own issues) as a place to acquire apps, and the ability to simply load your program and run it, without asking Steve Jobs for permission, make things nice(r). Python is available, and I have some minimal experience in Java, which is what one makes one’s Android programs in when one wants to share them on the Android Market.

It’s odd that the Android’s Market pretty much requires one to have an Android to see what apps are available — there are hacks on the web to work around this, but one would think that the Android promoters would want the iPhone toting community to see what they’re missing. What’s worse, the iPhone store has more apps in it, which is supposedly a major selling point for iPhone, but as anyone who’s browsed the iPhone store knows, those thousands of apps are dominated in numbers by WORTHLESS CRAP. I think there should be a non-worthless-crap counter for both stores, so that one could make an informed opinion.

I had the good fortune to use a demo Samsung Moment (runs Android) for a week, which solved two issues: 1) I chose Verizon-Moto-Droid, and 2) I got to see the Market unhindered. Lots of worthless crap there, but some useful stuff, too.

I noticed that my iPhone’s left built-in speaker is dead last night. Droid is due today or Monday…

Serial Port Thermometers and Perl

temp-2009-11-13_09-21-02

About two years ago, I adapted a thermometer design that I found on the web to be used with Perl under Linux — it worked reasonably well, and after a while it fell into dis-use, probably because the wiring was wrong as I found it — I had tried to extend the wiring and it didn’t work, so I went in search of lower-hanging fruit…

Anyways, the central idea is this:

A thermistor, that is, a component that changes it resistance with temperature, is placed in parallel with a capacitor, and the butt of the capacitor is connected to ground, and the top of the thermistor is connected to an output serial port control line. An input serial control line is connected to the top of the capacitor, which is also the bottom of the resistor. When you direct the output control line to apply positive voltage, you will charge the cap through the thermistor, and you will be in the land of RC time constants, where you can derive the value of R for the thermistor, and therefore the temperature.

Of course, there are a couple of diodes involved to keep things right-side up, since RS-232 applies plus and minus voltages.

With the average 9-pin serial port, you can wire up two thermistors, on DTR/DSR and RTS/CTS.

The original was set up for Windows, with some Visual BASIC program, you know the kind that’s always missing some OCX file or other. I “ported” the idea to Perl, and as soon as I can find the guy’s name, I will add it here. The Perl module Device::SerialPins is central to this scheme, as well as good old Time::HiRes.

I am looking for the original files in order to get the curve-fitting procedure, because, for what-ever reason, it’s uncalibrated on the new hardware, and tests have shown that the temp differential is non-linear, so I am not likely to get off that easy.

Still, it’s a digital thermometer for pennies, possibly free, since it used things that you’re likely to have, if you’re the kind of person that’s likely to have them…