Category Archives: Rants

Rebooting my blog

SubText has been my blog engine of choice since this blog began.  It was a wonderful platform, but it hasn’t aged very well.  Thus I ported my blog to WordPress, and all the goodies that come with it.  Gone are the days where I can only edit posts in Firefox, but can’t right-click to spell words correctly.  Enter the days of a near infinite community of plugins and widgets.  Whenever possible, I’ve kept the original urls for the posts to preserve SEO.  Exporting comments is harder than it looks, so in a fit of sheer laziness, I abandoned them.  Now hopefully I’ve removed teh friction, and I’ll blog about everything bouncing around in my head.  :D

iPhone to Android via Droid X

I’ve really enjoyed my Droid X. A friend looking to make a similar move from an iPhone to an Android phone asked me about my experience. Shortly after I finished, I realized it was blog-post size, so here it is. Thus, in no particular order, here’s my first impressions of the transition (still in progress) from iPhone to a Droid X on Verizon:

– The first time I assigned a category to a calendar event, and noticed I didn’t need to sync it, I was very excited and danced around the house. (I use gSyncIt to get from Outlook to Google Calendar, so it just popped up in Outlook too.)

– The Gmail stuff is built by Google and part of Android. The Email (POP/IMAP/SMTP) is built by Motorola, and is less polished. I use multiple accounts on each, and though it isn’t overly confusing, it is different enough to note. For example, there’s an “Accounts” button in the menu of Gmail, but no “Accounts” menu in Email. Hitting back enough times in Gmail takes you to the accounts list, going back the same amount of times in Email takes you home. If you get into Email via the notifications, you have to go out of the app, and click on the Messaging app to pick a new email account. (Oops.)

– Home screen widgets are awesome. I really liked the jailbreak winterboard calendar icon I had that always showed the current date. I now have a calendar widget that shows a full month.

– It’s not all about the apps. Though many things are available via apps, some things are just “online”. E.g. Google Docs integration is just “go to the website”. (Um, oh yeah, duh. That was my response when my wife explained it to me. :D)

– Check the “load apps from elsewhere” global setting, download an *.apk from any website, and install it. No jailbreaking required.

– I rooted my device. That was easy. I downloaded the one-click root, installed the Motorola drivers for my X, pushed the button, and it just worked. It was soooo nice. I haven’t explored too much of the root app list much. That’s on my to-do list.

– The voice command feature has never worked for me, but typing isn’t that bad. I’ve not tried the Swype keyboard yet, wanting to get comfortable with stock first.

– The Motorola mods seemed ok. I didn’t link my Facebook account or flicker or twitter or etc account in the carefully unbranded Moto-blur “accounts” dialog, choosing the apps instead. Linking via “accounts” pulls down pics and statuses into the PIM (sound familiar? :P), but I read somewhere the Facebook app and the Facebook Moto-blur collided sometimes. (I don’t recall where or how old it was or if it was resolved.)

– I downloaded Launcher Pro (home screen replacement) and enjoy their take on the world. It isn’t all that different, but I found the features in it compelling, and the lack of moto-stuff intriguing. (I chose the X over the Incredible because of the larger screen and no Sense UI. The Sense stuff seemed cool sometimes, but overly weird other times. For example, I think the stock “slide to one side to unlock, the other way to mute” is much cooler than the rounded “slide up to unlock” that comes with sense. Same with the toolbar section of the home screen. The curve at the bottom of Sense UI’s home screen just seemed too “let’s play with Photoshop” to me.)

– The FM radio app is cool, though it only works with headphones, and no headphones come in the box. The iPhone headphones work just fine though. :D My 3-year-old Motorola Bluetooth ear-dangly thing doesn’t though.

– There are a few apps that don’t come stock. Most notably is a notepad app. There are scores of them in the app store though — many that sync with Google Docs … and / or my wife’s brilliant flash of the obvious for me: just use Google Docs’s website. Stocks and eBook reader also aren’t stock, but easily downloadable in dozens of varieties.

– The “set an alarm” is a bit less versatile in that you can set a time, but not a day of the week. (For instance, I had a weekly alarm to get us to church on time.) My wife said “set a reoccurring calendar item”. (Oh, duh. :D)

– The create calendar item dialog is much more powerful. Categories are awesome, but reoccurring is also very powerful. I can now choose options like “once a week on Sunday” or “every weekday” or “monthly on day 6” rather than just “weekly” or “daily”.

– Haven’t really taken the camera / video camera out for more than a passing spin, but they seem to do fine for all I (don’t) do with them. :D

– Playing with the Droid 2 and Droid X and Original Droid (want to try it on an Incredible too) is that the X has physical buttons for the 4 functions: Home, Menu, Back, Search. The others (excepting maybe the Incredible?) have virtual buttons — as if the touch screen just extended into them. My guess is this means the button presses on the non-X are just screen clicks, and while the screen is locked, they do nothing. On the X, when the screen is off, I click the home button, and the screen lights up. On the Droid 2 and Original Droid, the only way to light up the screen is hit the power button on the top. The power button still works for the X, but it’s on the top, and not overly convenient. (I always pushed the “home” button on my iPhone to wake it up too.)

– I like the asymmetrical (top to bottom) feel of the Droid X. While not looking, I can tell which way is up. On my iPhone, I don’t know how many times I wipe smudges off the top earphone because that wasn’t the home button. :P

– It took me a bit to realize the options I had at every step. There’s click, long-click, hit the menu button, hit the search button. All are valid at various places, and all usually get you to a different place.

– The brilliant flash of the obvious a friend of mine made was that Android is ‘feature by easter egg’. Because of the many ways you can run things — some not all that discoverable — it’s frequent to discover a really cool feature by clicking a wrong button. It’s also easy to not discover features at all just because you didn’t happen to click the weird buttons. The take-home for me was that it generally required more brain power on my part to remember where things were instead of just looking and knowing what to do. (I’m not good at “memorize these steps”, but I am good at “look at it and tell me how it works”.)

All in all, I’m very pleased with my Droid X. I’m still learning my way around the more obscure parts of the system, but I’m really enjoying it.


iPhone: it’s not really a digital convergence device

It finally gelled in my head what bugged me about the iPhone’s lack of simultaneous processing.  It’s not truly a digital convergence device.  It’s a sequential task device.

A digital convergence device is a device that does lots of things: MP3/FM music player, alarm clock, cell phone, web browser, calendar, address book, GPS-enabled map, pedometer, etc.  The purpose of such a device is to do all of these things, not each of these things.  If I can’t do them all simultaneously, it isn’t a convergence device, it’s a sequential device.  The iPhone is exactly that: a sequential task device.

If I’ve decided I’m going to IM, I can’t do anything else with the phone — I can’t browse the web, can’t check on news feeds, can’t check email.  The device is useless to me until I get an IM.  If I wanted an IM-only device, I’d have bought one.  I bought a digital convergence device.  The same could be said of any app that receives data: Skype, Google Voice, Email, RSS feeds, Facebook sync, texting services, RTMPGs, etc, as well as anything that monitors anything like Google Latitude, a pedometer app, navigation app, etc.  Anything I expect to alert me to something or to keep track of something either needs to “push notification” me, or I forfeit all other features of this device as I use it for that task.  If it goes the push notification route, the logic must be in the cloud, not on my device, can’t be peer-to-peer, and can’t get real-time status call-backs — e.g. it can’t auto-detect where I am and update my progress.  As an extreme example, I can’t count the number of times I was playing some random game and walked around for a while looking for a clock so I didn’t need to kill my game.  My convergence device was in “single task” mode.

The notable exceptions to the single-use mode are all Apple apps: phone, iTunes, and alert apps such as calendar and text alerts.  I can get a call which immediately and irrevocably halts anything I’m doing (including upgrading OS versions), and I can listen to iTunes music while I do a few other things.  But what if my music player of choice is Pandora?

I think you see where I’m going with this.  The iPhone clearly isn’t a digital convergence device.  Neither is the iPad.  It is clearly a sequential task device, a data snacker device.  Pick the function you want it to do now, and it’ll do great.  Want to do 2 things at once?  Well of course, buy two of them.  Want to get alerted when something happens?  Buy a specialty device too.  Um, I think I’ll pass.

iPhone: the rise and fall of the latest Apple gadget

The iPhone.  It’s a wonderful device.  It was a game changer.  3 years ago when it was released, it revolutionized the phone landscape.  For the first time, people had a portable digital convergence device.  (Ok, maybe it wasn’t the first, maybe it wasn’t the best, maybe it was just targeted at regular people instead of corporate users.)  For the first time, we could walk around with a web browser, a calendar, a music player, an address book, and really manage our lives on the go.  (Ok, I’ll grant that BlackBerry defined that niche for business users, but the iPhone made it cool and made it work for consumers.)

I’m hesitant to sit on the bleeding edge.  I waited until Service Pack 1 to get my iPhone 3G.  It was nearly 2 years ago.  It was a game changer for me too.  At random times in random places, I could check email, surf the web to answer the nagging question, create calendar entries, or just horse around.  I could pull up a map of where I am and where I wanted to go, so the preparation for travel wasn’t as urgent.  I could schedule stuff on my calendar, so no more wads of post-its hoping I guessed right.  And reading email in the 2 minutes standing in line or on the walk home from dropping kids off at school is awesome.  It truly revolutionized my world for the better.

Fast forward 3 years for Apple, nearly 2 years for me.  I waited with baited breath at every Apple announcement for the thing that’d keep the iPhone cool or for them to switch to a new carrier.  (The tag-line for the iPhone I’ve heard not a few times is, “The iPhone is so cool it almost makes up for being stuck on AT&T.”)  In that time, they’ve started to back-fill some missing features, and made subtle improvements, but they’ve really never leaped out and grabbed me again.

The following features were instantly missing from my experience, and with few exceptions, Apple really never delivered:
  • OTA Syncing
  • contact and calendar categories
  • turn-by-turn voice navigation
  • copy & paste
  • an IM and VOIP client that’s always on (e.g. I’ll still get new IMs or receive VOIP calls if I switched over to read my email)
  • 3rd party data on maps (e.g. “map all my contacts” or “where is the closest gas station on my route” or “does Acme, Inc. have an office near me?”  I ranted about this previously — that I want to shove a kml file into maps.)
  • OpenVPN / RDP client
  • disable auto-rotation based on the accelerometer — so I can read in bed
Ok, I’ll grant that some of these things have come with third-party apps.  Some have come as jailbreak apps.  Some are just not there.

And I get that I’m hardly a typical user.  Most users looking for “IM client” on a phone would point me at text messaging.  (Yeah, but I can’t text into an MSN IM contact.  And if a Skype contact IMs me back but I’m sending an email, I never get it.  Yeah, I know Trillian Astra is “almost there”.  I’ve been waiting on them for as long too.)

Meanwhile, over the last 3 years since the iPhone changed the landscape, Android and most recently Windows Mobile 7 have come into view.  Neither is as polished as the iPhone was at launch.  (I’ve not seen a Win 7 phone, but I’ve seen a good deal of Android phones.)  Android only recently got pinch-to-zoom, and really only on Nexus One, and the Droid’s map application.  But I see a lot more potential in these devices than in the iPhone.

For instance, me and my family were on vacation in California.  We were caravaning with friends on an unfamiliar stretch of highway.  We popped open the Droid, put in our destination in the voice guidance app, and went back to the home screen.  When something of interest popped up in a friends’ cars, they’d text us or tweet.  As the perfect example, my wife was on the web looking up something, the navigation was telling me where to turn, and a text came in.  It all happened simultaneously.  It just worked.

I’ve played with the Droid pretty extensively since.  I can push the search button, and pull up a web page or a contact or directions.  The back button is just truly awesome — getting me back a web page or back into the previous app or back a page in the app.   It just works.  The syncing is awesome because it just works.  I’m very good at forgetting day-to-day stuff, and so I often find I haven’t sync’d my calendar in a while, and when I do, I double-booked myself.  There’s no android sync procedure — it just does it.

And don’t get me started on the iPhone carrier lock-in.  I probably would’ve gotten a 3GS if my carrier of choice was announced last July.  As it stands, I’m the only member of my circle of mobiles that can’t use free mobile-to-mobile minutes … because I’m stuck in AT&T — say nothing of the service.

When Android finally got pinch-to-zoom, it was a done deal.  I’m sold.  As soon as my AT&T contract is up, I’m sailing away on Android.  It’ll let me use it the way I want.


iPhone and Google Maps

I’ve gotten quite a bit more feedback than I anticipated about my prior post about Google Maps and the iPhone. Who would’ve thought that not being able to mash up live GPS data, maps, and one or more external files of geographic data in a generic, consumer-driven way would be such a stir?

Since then, I’ve made some progress on this rant.
  • LocWidget: this handy iPhone app allows you to send Latitude, Longitude, and Altitude measurements as query parameters to a website of your choosing. It also takes it a step further, sending the phone’s unique id. (Great for those dispatch apps we are barred from creating.) The great part: it gets the data to a website in a way that any site developer can consume. The bad part: you gotta keep launching the app to get anything done.
  • Alocola: this is another handy iPhone app that registers the url prefix “alcola://” in iPhone’s Safari. The great part: now the site can request the location, the user is prompted to agree, and the GPS data is passed to the url as query string parameters. In theory, this url could be triggered by a JavaScript timer. The bad part: the user has to click ok every time, and it closed and reopened safari as it sped through the app. I’m not positive, but I’d think it would open a new browser window on each run. In short order, if called periodically from a web app, you’d max out the 6 safari tabs. And not to mention you’re reloading the page on each round trip through GPS land. The author has made the source available under GPL2 license, so in theory one could cache the “yes, do this” the way other apps do, register a more natural prefix (like gps://), and other nicities.
These are both great steps forward, but don’t fundamentally solve the problem at hand. What I want is:
  1. Per domain permanent acceptance to use location services like I can per app now
  2. Live GPS data and external KML can mix in a central, standard place, without changing applications
I see this could get solved easily in one of two ways. Either
  • Provide a field in the Google Maps app for “url of a KML file” (or maybe access to Google’s “My Maps”)
  • Provide a JavaScript function in Safari to get location data
I realize the GPS Browser functionality is to come with HTML 5. Will HTML 5 become spec before or after 802.11n gets ratified?
Yeah, I know, dream on. Flash isn’t coming to the iPhone in this millennia. Neither is copy & paste. Or even a system-wide “switch to landscape” keyboard for those of us with hands bigger than my kindergartner. Next I’ll dream of having Mono or Silverlight on the iPhone. Or wilder still, it prompts me to allow location services on each request, but there’s no firewall to block a game from uploading my high score, date & time, and possibly my phone number or phone guid to it’s service on every game-over. (“I’m really thrilled I just got a high score, but I don’t need to publish to all the world my phone data so you can bombard me with even more targeted ads while I play, thank you very much.”)

But if you’re watching, Steve, and if it isn’t too much to ask, can you give me the ability to do real time GPS / KML mashups? Either in the Google Maps iPhone app or in Safari is fine. And I’ll forget I even mentioned those silly terms like “Flash” or “.NET” or “copy & paste”.


“Oh duh”: Google Maps and iPhone

Google Maps is awesome.  It is phenomenally cool.  It is the quintessential definition to many of what is Web 2.0: a very dynamic, very interactive, very usable site that presents what I want in a way I want it right now, lets me use it intuitively, and publish it to anywhere else easily.  Some may argue Google Maps is the reason cell phones now have GPS’s in them: for turn-by-turn directions based on map data downloaded to the phone on demand.

Google Maps is also the quintessential example of a mashup: take two unrelated services, push them together, and you’ve got something incredibly new and cool.  Take presidential election results and geolocate voter preferences.  Take restaurant reviews and show me how close I am to them.  Take driving directions to the next level by overlaying speed trap markers.  It is awesome.  And the Google Maps API makes it drop-dead simple to do this in JavaScript, static images (with really long urls), or Flash.  I’m a happy camper.

In the other corner is the iPhone.  It is an awesome piece of engineering and elegance.  It is the new standard for what a phone should do.  It’s touch screen interface is the standard by which all PDAs are judged going forward.  It’s simple user navigation is awesome.  It’s “always within reach” browser is awsesome.  (Sometimes when I’m upstairs and want to quickly look something up, I won’t bother going all the way downstairs to the computer.  I’ll pop out the iPhone and get on the net.)  Stop by the App Store or Cydia and download just about any kind of app from “keep my kids busy while I just quickly finish up …” to “are there any wireless networks open here?” to “lemmie quickly RDP / VNC into that machine over there and …”  And all that “in your pocket”, instantly available anywhere, at the push of a button is awesome.

The iPhone takes Google Maps to the next level too: you can search for a restaurant name or genre, pan around the map, and see things close to you.  You can pick a contact from your address book, and get directions from “where I am right now” (thanks GPS) to their street address.  As you’re driving, you can watch the little blue blinking ball dance accross the map in unison to your driving.  It’s incredibly marvelous engineering feats behind the scenes, and incredibly simple to use.  Cudos to both Google and Apple.  Awesome.

Here’s the rub: iPhone Google Maps mashups.  They don’t exist.  They can’t.  Google Maps app for the iPhone is crafted by Apple.  It is not JavaScript, not Flash, not static images with cryptic urls.  It’s an app.  Ok, granted, there is an iPhone app to show me speed traps.  An iPhone app to geolocate stuff “around me” — restuarants, theatres, etc.  I can download 1000 iPhone apps to map various things.  They’re cool.  They’re also seperate applications.  If I want to both see route information and see the speed traps on 1 map, I’m screwed … unless the app developer implimented everything and it’s dog.

The speed trap app is a great example.  I think they call it trapster.  I can see my current location, I can see speed traps identified by others using this service.  I can mark ones I find when I’m sitting by the side of the road with blinky lights in my rear view mirror.  It’s like driving in a video game.  It’s awesome.  But the developer didn’t impliment screen jestures for navigating the map.  I can’t pinch to zoom out or in, I can’t swipe the screen sideways to move.  I have to use the little joystick controls on the bottom control bar.  And I definately can’t put in my destination address and see the route of how to get there.  Or where the closest ATM is that supports my bank’s card.  Or if any of my address book contacts live nearby.

Around Me is another awesome app that shows me restaurants, theatres, etc, around me.  (Not that I have time to use any of them, but that’s another mater.)  But what if I want directions to there?  Sorry, that’s in the other maps app.

“Ok,” so I say to myself.  “I’m a 1/2 descent web user.  I’ll just use the real Google Maps website for my mashups.”  That’s all fine and good except … now I’m in app #3: Safari.  That has no Flash plugin, by the way.  And (in theory) any url that contains map information is automatically grabbed by the phone and routed to the Google Maps app.  And it doesn’t have my GPS info, so I have to keep track of my current location by manually panning around as I drive.

I came to the awful conclusion at the end of this mental journey that the iPhone’s Google Maps app is incredibly cool.  But it fundamentally defeats the purpose: today’s internet is about mashups.  Combining data in interesting ways.  And I can’t do that with any map data, a target destination, and my current location from my iPhone with Google Maps.  “Oops.”

Feedback spam

Ok, I don’t know who the wise guy is who keeps trying to give me feedback spam about [use your imagination here], but I’m really not thrilled to delete as much feedback spam as I get.  A new version of Subtext should cure it.  If not, I’ll have to get drastic.  You have been warned…