Friday, February 25, 2011

Remember the Yumbo at Burger King

Back in the 1980s, I think, Burger King had an awesome sandwich called the Yumbo.  It was a big, fluffy enriched white bread flour bun stuffed with a pile of steamed ham smothered in crappy American cheese.  It was AWESOME.  It was the YUMBO.  Then, since all good things must come to an end, so did the Yumbo.  This website In the 80's has a page dedicated to the Yumbo.  Some forum posters say the Yumbo still exists, but with an egg.  I'll go check that out sometime.  I've not been to BK in probably 5 years.

Today, in our home, we happened to have something that we never usually have: a loaf of enriched white bread (which we never have).  In addition, we already had some really salty razor-thin sliced ham, and a bag of pre-shredded cheese.  Now, I know a Yumbo requires pre-sliced American cheese product (or maybe Velveta), but this combo will do.  May you drool in delight.



I didn't pile the ham as high as the historic Yumbo, because the ham is kind of expensive.  Also, the lack of American cheese is a bummer.  I made it by placing the ham and bread in a frying pan at really low heat.  The bread got nice and soggy with the flavor of ham.  Then I dumped the cheese on and let it warm up a bit longer.  Overall, it was great, but nothing like a real Yumbo.  I can only dream about that.




I wish I was cruising down Main Street in an 1976 AMC Pacer while eating my Yumbo.  That'd be BOMB!

Saturday, February 19, 2011

J. Ralph, Wretches & Jabberers, and Autism

I was checking the web for any updates on a composer/musician I really like.  His goes by the name J. Ralph (site).  During that search, I found out he did the soundtrack for an Autism documentary called Wretches & Jabberers (site).  I haven't seen the movie yet, but I plan to.  On the movie site, there are bios of several of the autistic folks who appeared in the film, with writings by each.  I read all their words, never realizing before that autistic people had the capacity for such thinking, writing, and communicating.  The movie is targeted exactly for the uninformed like me, I suppose.  Well, this one guy, Naoki Higashida (bio), an author and poet with with  severe autism, wrote the most memorable passage on how an autistic person perceives rain.  It makes me feel like I treat so many things in life cheaply, trivial, or with utter disregard.  Things as simple as the rain.

I call this Raindrops,
Written by Naoki Higashida (excerpted from his full bio, which you must read as well):

I think that “the world of autism narrated by people with autism” is something to be revealed more and more in future. For instance, an example of how I experience the world may be different from how most people experience the world is my experience with rain. My first reaction to rain is to be surprised at its sounds. Though everyone seems to know it rain instantly from hearing its sounds, I first become anxious, unable to tell what sound it is and where it comes from until someone tells me it’s rain. That is why I stare at rain so I can connect the sounds to the rain. But then I become so absorbed in watching raindrops that I forget where I am now. The feeling of continuous raindrops coming down from the sky and falling through my body on the ground causes me to forget myself. Like this, in the world of autism, there are sensory perceptions and ways of thinking that only people with autism can explain.

by Naoki Higashida
Naoki, I'll probably never meet you.  But, thanks for writing that and helping me come a bit closer to capturing the real essence of life.

Android Intents: Should I Rely on Them?

I am developing an Android application that requires an image be taken by the phone's camera.  There should be tight integration between the application and the picture taking process.  To achieve this, without having to write my own camera application component, I plan to use an Intent to leverage the phone's existing camera application.

The Android application framework features the concept of "Intents", or messages, that (in short), let one application use the services  of another application.  So, for example, my application can raise an Intent to use the already-existent Camera application which ships with most Android phones.

I tried out using the existing camera application via an Intent on a Nexus One, and it works pretty well.  The user clicks a "Take Picture" button in my app, and then the Google-developed Camera app comes up.  When the picture is taken, the camera goes away and my app re-appears.  Pretty cool and rather seamless.

The major issue with Intents


Most Android OS'es are not pure and clean like that on a Nexus One.  The Nexus One is like a clean room implementation of Android.  In other words, the Android OS on most phones have likely been heavily modified by the hardware vendor (HTC, Motorola, for example), or the cell provider (Verizon, T-Mobile).  If the camera app has been modified in some way, or outright replaced, and it does not conform to the Intent parameters (whether when calling or returning) that I developed against, then my app is hosed.  This seems to be the case with the Camera application Intent with HTC and Motorola phones (see this bug and NOTE at end of this blog post).  So, this Intent system is in place, but it only works if there is compliant receiver app of your Intent message.

The Intent I want to use:
android.provider.MediaStore.ACTION_IMAGE_CAPTURE
and a parameter (aka Extra) that the Intent takes:
android.provider.MediaStore.EXTRA_OUTPUT

However, it seems that the Camera application on the HTC and Motorola phones where those companies have modified the OS in a large way, the Intent really doesn't work as expected.  So, what were left with is an "service" or API framework that isn't very reliable.

In the end, for me, it requires that I write my own Camera application component since I can't rely on the   ACTION_IMAGE_CAPTURE Intent to behave the same on every Android phone that has a Camera application.  Looking at it further, then, the openness of Android becomes a big pain in the ass that's not present on iPhones, because phone resellers and service providers are trashing the clean and pure OS that Google ships.

Note at end of this blog post


The bug I reference has to do with the Intent not returning the full-size image as taken by the camera, or even a reference to it.  That itself is a big issue with this Intent, but it's not the core reason for this blog post.  If you read throughout the bug text, several posters (like this one, shown below) state that the Intent doesn't even work as expected on certain HTC and Motorola phones.  That's what I'm really writing about.  The Intent system is nice, but there is no reliable contract that it will exist.  If the Camera app was forever in the core OS and very unlikely to change, that Camera Intent would be reliable.  Basically, you can't rely on Intents for apps not written by yourself or those which are not a permanent fixture, non-changing fixture in the OS.

A Key Post From the Bug

Comment 78 by russelljryan, Sep 15, 2010
johnyma22:
... snip ...
The bug was fixed in plain vanilla Android 2.0 (e.g. on an N1).

Part of the confusion is that the HTC Sense UI and the Samsung and Motorola custom UIs re-introduce this bug because they provide their own custom Camera application, which often times does not even accept the EXTRA_OUTPUT intent, and if it does, returns a tiny image as in Android 1.5. 

As in Comment #64, barking at Google about this is pointless. The person you need to be hounding is the creator of the impaired UI that came with your phone.

As an Android developer, this is easily the worst part of Android.