My Talk from Blackberry Developer’s Conference: Cross Platform Strategies + PhoneGap
Posted by JJ Rohrer in Technology Trends & Looming Opportunities on November 18th, 2009
I recently returned from the excellent BlackBerry Developers Conference where I gave a talk on cross-platform development strategies.
Adam, from RIM, posted his top…
Posted by JJ Rohrer in Business of Software, Uncategorized on October 29th, 2009
Adam, from RIM, posted his top anticipated sessions (http://bit.ly/4he1bv) for upcoming Blackberry Conference. My talk is highlighted!
Grope Control, Better than Voice Control when Walking
Posted by JJ Rohrer in Technology Trends & Looming Opportunities on July 1st, 2009
So, I’ve been designing an app that is basically meant to be used by car drivers. It’s tentative going to have full Voice Control for enhanced usability and safety. It’s going to be a great app. I think.
Although I can totally identify with my lead user, a salesman type of guy that drives all over town, the app wasn’t really resonating with me now that I work out of my home office and spend most of my ‘commute’ either walking, biking, or on mass transit. My automobile time is often with wife and family, so Voice Control would be terrible in-effective over the dins of a car full of talkers. So what about me?
I’m a big fan of Apple’s new Voice Control, but although society apparently now accepts hearing one side of a phone conversation from people walking down the street, are they ready to accept that somebody saying, to no one in particular, ‘Next Item’, ‘Back’, ‘Postpone’, ‘Play songs by the Shin Shins’, isn’t a little crazy, or at least a little socially inept? I’m not ready to be that bold trend setter.

Some grope motions we can recognize
So, how can we interact with our mobile devices while walking down the street? If I presume that I’m wearing headphone, then I can image holding my phone in my pocket and using my phone for input if my app is giving me adequate audio feedback. The phone could say into your ear “Your next appoint with Mr. Smith is in 15 minutes. Tap once to acknowledge or tap twice to remind you again in 10 minutes.” I’m excited about this and can image a whole set of utilities and games that I can use while moving around the city. I’m calling this method of input “Grope Control,” though I’m hoping to get suggestions for a more politically correct name.
For the sake of completeness, I’ve started to enumerate some common input and output methods and came up with some names for some of the combinations, namely Classic Control, Voice Control, Grope Control, and Spy Control. I like to name things. I think the introduction from The Non-Designer’s Design Book put it well when it’s introduction concluded that “Once you can name something, you’re conscious of it. You have power over it. You own it. You’re in control.”
Output Options
| Eyes | Ears | Touch | Comments |
|---|---|---|---|
| X | X | X | Great when the device has the users undivided attention and the user is holding the device. |
| X | X | Good when the user is not holding the device, say, its sitting on a desk or is mounted to a wall or dashboard, but the user can still focus on the device. | |
| X | Great when your hands and eyes are occupied, like when you are one the move, either driving or walking. | ||
| X | Would be great for silent two-way communication, but the mainstream technology is currently limited to vibration on most devices and little 'clicks' on some devices like the Blackberry Storm. |
We’ll ignore mouth and nose as useful output options, though its fun to think about. Hmm, my phone smells musky, and tastes bitter, it must be time for my 3:30 appointment.
Input Options
| Gesture | Tap, Pinch, Zoom, Twist - requires two hands or a mounted device. One to hold the device and one to make the gesture. |
|---|---|
| Gesticulate | Waving the device around, like shaking the device to 'undo' for the iPhone, or bowling for the Nintendo Wii. Requires arm movement. |
| Thumb | One handed thumb control, where you hold the device in, say, your right hand, and then use your thumb for input. |
| Voice | Say a command. Good in quiet places like car or living room. Not good for a bus or subway because its too loud and people would think you are crazy. |
| Buttons | Some Apple headphones let you single click the button on the microphone to stop the song, double click to advance to next song, and press & hold. |
Named I/O Combinations:
| Name | Outputs | Inputs |
|---|---|---|
| Classic Control | Eyes, Ears, Touch | Gesture |
| Wild Classic Control | Eyes, Ears, Touch | Gesture, Gesticulate |
| Wild Muted Classic Control | Eyes, Touch | Gesture, Gesticulate (Wild Classic with the Mute on) |
| Voice Control | Ears | Voice |
| Grope Control | Ears, Touch | Thumb |
| Wild Grope Control | Ears, Touch | Thumb, Gesticulate |
| Spy Control | Touch | Thumb |
| Specialized Control | TBD | Buttons or specialized hardware |
Scenarios
| Scenarion | Attributes | Solutions |
|---|---|---|
| Driving | Limited Eyes. Good audio. Not holding the device, so no haptic (touch) feedback. | Voice Control |
| Walking down the street with headphones | Maybe loud. Don't want to make a scene of yourself. Hands want to be in your pocket during winter weather. | Grope Control |
| Walking down the street w/o headphone. | Maybe loud and you don't want load noises coming from your pocket where you are holding your phone. | Spy Control |
| Business Meeting | Don't want others to hear or see your inputs. | Spy Control |
| Movie Theater | The phone is in your pocket, you can't see the screen and you can't hear the commands | Spy Control |
| Standing in line at the airport | Your hands are free, you aren't doing anything useful, but you don't want to draw attention to yourself. | Muted Classic Control |
| Being old | Many older people are moving away from computers, let alone iphone, because poor eyesight are decreasing finger control makes mouse usage difficult. | Voice Control, (Wild) Grope Control. |
Implications for the app producer
- Know your user personas. How and where will they be using your app? Ask yourself whether you want to limit your app to a single I/O combination, or do you want to allow, and budget for, multiple IO combinations?
- You might also plan on spending some extra marketing effort in explaining and showing the benefits of your non-classic I/O options. Can you imagine the virus buzz you’ll get as the first Spy Control app published. Can you make a killer YouTube video to go along with it?
Implications for the app programmer
- You’ll simply need a solid gesture library. Apple is clearly working in this direction and now has a built-in and refined “Shake” detector.
- Have a standard voice control browser for your platform would be useful. You can test your voicexml stuff at voxeo.com’s site before putting into your app.
- What would the voicexml equivalent for SpyControl be?
Implications for the DoD
- Patent 6899539 addresses putting a trackball onto a weapon to provide (http://bit.ly/Patent899539) some mechanism to get feedback into a computer w/o taking your hands off of a weapon, say, your rifle. The trackball approach presumes that your see a screen, which means you are not focused on your target. Fundamentally the soldier needs more combat appropriate input methods.

Image from patent with rifle and trackball
- Software robustness: If, say, a screen is damaged or, untrusted, should there be another input method available to the operator?
My thoughts 3GS’s speech recog…
Posted by JJ Rohrer in Uncategorized on June 25th, 2009
My thoughts 3GS’s speech recognition with implications: “Voice Control is the new Touch, almost.” http://bit.ly/Xo3A7
Voice Control is the new Touch, almost.
Posted by JJ Rohrer in Technology Trends & Looming Opportunities on June 25th, 2009
I’ve been playing around with my new 3GS for a few days now. As you might know, it has some built-in automatic speech recognition (ASR) capability that Apple brands as Voice Control, good for making calls and operating the iPod. There is now, however, no programmer interface to allow its system to control 3rd party apps – bummer. I’d bet, however, that we’ll soon see Voice Control as a core iPhone capability for all apps – perhaps next year. When will it come to the PC? The future is murky. Importantly, though, the basic iPhone technology works pretty well. Better than anything else I’ve used. A thousand times better than the built-in bluetooth voice dialer my last car had.
For the first time in years, I found myself exploring my music collection. “Play songs by Johnny Cash” begets “Playing songs by Johnny Cash,” and then the classic crooner laments about love gone bad in Memphis. This is even safer than using the in-car stereo because I kept my eyes on the road the whole time. I found myself calling people. Of course, driving while distracted is bad, but it was actually practical to call the house and tell the kids that I was on my way home without having to take my eyes off the road. When ASR works well enough, you’ll want to use it. And use it in circumstances that were previously off-limits or much more dangerous.
There is a related technology in the iPhone called VoiceOver. Designed for people with vision impairments, this uses a text to speech (TTS) voice synthesizer and basically verbalizes what the person’s finger is touching. When you swipe between app screens, you’ll hear “Screen 3 of 11″ followed by a listing of every app on that screen. Touching an app like PowerNap, prompts “Power Nap, double tap to launch.” A double tap, anywhere on the screen, then launches the app. This system works too, but not well enough. Among its various drawbacks, it still requires a lot of tapping. So, although you don’t need to use your eyes, you still need to use your hands.

Key Technologies
- Automatic Speech Recognition (ASR)
- Text To Speech (TTS)
- Automatic or Semi-Automatic Voice Transcribing – for recording voice memos, and converting them into text.
Implications
… for the application producer
- If your app would likely be used by somebody walking around, then start thinking about Voice Control now, while still in your design phase.
- Improved voice control, with high quality voices and better recognition, may be worth an in-app purchase/upgrade.
- With the Silver Market (retiring baby boomers) increasing, their eyes getting worse, their fingers hurting more, then maybe Voice Control is the way to bring/extend apps to that huge market.
… for the developers
- Think about Voice Control early in the design phase. Don’t count on being able to elegantly retrofit your eye & finger focused app into both eye & finger and ear & voice. Don’t believe me? Then ask yourself how many of the mouse & click focused apps were easily ported to the iPhone’s finger-based system?
- Jump-start your mind by testing out some existing apps with Accessibility turned on. It was an enlightening experience for me.
- Open-source SDKs here are seriously lagging behind the commercial implementations, but they might be good enough to act as a preview or teaser, and allowing only serious users to purchase the upgrade.
- The commercial implementations are just now starting to think about licensing their SDKs.
… for R&D and DoD
- Imagine mobile applications that are useful w/o hands or screens. We’re used to thinking about the field utility of such systems, but what about the non-combatant, or at least those not all the way on the front line.
- To following this line of thought, haptic feedback is just coming to the consumer space – so if you can’t imagine soldiers chatting away all day to their PDAs, can you imagine them gesturing to one, without ever seeing the screen.
-

Not sure these are quite the right commands
-
- For application survivability, if the screen is damaged, say, by a bullet, shouldn’t the software still be able to function via alternative input methods, like voice? It might not be as efficient in some cases, but perhaps it would be better than nothing.
- Low power consumption: software capable of voice control wouldn’t need a screen.
- Weight: No screen equals lower weight.
Digesting last night’s HBS lec…
Posted by JJ Rohrer in Technology Trends & Looming Opportunities on June 24th, 2009
Digesting last night’s HBS lecture “Global Megatrends: Next Billion $ Opportunities”
Summary: Urbanization, Old People
http://bit.ly/75HTh
Technical: Scroll Home after Input Completion in Mobile Safari
Posted by JJ Rohrer in Technical: Guild News on April 21st, 2009
I’ve been experimenting with PhoneGap, a nice UIWebview wrapper for iPhone, Android, and ~Blackberry. Since the development happens in javascript, you spend more time working around the limitation of UIWebView.
I ran into the following problem. I have several input fields on a page. As the user moves to each input field on the iPhone, the screen rightly scrolls to the next input field. When the user has finished entering their data, the screen only partially scrolls back home. I got around this with the following – I hope it helps someone…
//**************************** jKeyboardGotDismissed() & jKeyboardGotShown() -BEGIN- ******************************
// This snippet give you a reasonable way to detect that the user is not currently input data.
// Motivation: On the iphone, when inputing data, the soft keyboard pops up. When the keyboard is dismissed, it doesn't
// usually scoll back to the original position.
//
// I know this is kludgy. There is probably some slick way to detect that a input box lost focus, but that it had
// moved on to onother input box, or not - but I couldn't find any examples. This uses a timer, and seems to fall
// into the good-enough category.
//
// Insturctions:
// Copy this block of code into your script
// Modify jKeyboardGotDismissed() & jKeyboardGotShown() as desired.
//
// Use Cases:
// Make sure the screen has scolled to 0,0 after the user finishes inputing data on the iphone
// add something like " window.scrollTo(0, 0) " to jKeyboardGotDismissed()
var bStoppedInputtingUnlessSomeoneTellsMeOtherwise = true;
var enumKeyboardStateThereGone = "Gone";//There, means the keyboard must be visible, "Gone" means it must be hidden
function _jFocusTypeHelper() {
if (bStoppedInputtingUnlessSomeoneTellsMeOtherwise == true) {
if (enumKeyboardStateThereGone == "There") {
enumKeyboardStateThereGone = "Gone";
jKeyboardGotDismissed();
} else {
enumKeyboardStateThereGone = "Gone";// why twice? Just so enumKeyboardStateThereGone will be set before the function call.
}
} else {
if (enumKeyboardStateThereGone == "Gone" ) {
enumKeyboardStateThereGone = "There";
jKeyboardGotShown();
} else {
enumKeyboardStateThereGone = "There"; // why twice? Just so enumKeyboardStateThereGone will be set before the function call.
}
}
}
// This function gets called whenever the keyboard is dismissed. feel free to modify it
// Motivation: I wanted to make sure the screen scolled back to the right spot after the last input
// Known Limitations: 1/4 second delay before jKeyboardGotDismissed is notified.
function jKeyboardGotDismissed() {
//alert("The soft Keyboard just got dismissed (if, in fact, this device has a softkeyboard)");
window.scrollTo(0, 0);//Scroll home after the keyboard is dismissed. Delete this line if you don't want that to happen. @TODO: Add smooth scrooling
}
function jKeyboardGotShown() {
//alert("The soft Keyboard must have just popped up (if, in fact, this device has a softkeyboard)");
}
document.addEventListener("blur",function() {bStoppedInputtingUnlessSomeoneTellsMeOtherwise=true;setTimeout(_jFocusTypeHelper,250);},true);
document.addEventListener("focus",function() {bStoppedInputtingUnlessSomeoneTellsMeOtherwise=false;_jFocusTypeHelper();},true);
//**************************** jKeyboardGotDismissed() & jKeyboardGotShown() -END- ******************************
So, how would you use this? If you put this code in your page, it should just magically work.
Future of Newspapers and Journalism?
Posted by JJ Rohrer in Technology Trends & Looming Opportunities on April 14th, 2009
So, talking about the future of the newspaper industry is what all of the cool kids are doing. Some have said the that the better question is not whether the newspaper industry can be saved, but whether journalism can be saved. Ok, but let us talk about the newspaper industry. Can the New Yorks Times, Boston Globe, and LA Times be saved? It’s like asking whether Kodak, Poloroid, and Fuji Film can be saved. Or Xerox. The answer is that yes, they can be saved, but they look very, very different than they appear today, and even then, only if they are willing to go through the transformation.
As an experiment, I’ve started a discussion regarding what a mobile version of Boston.com should have here.
By the way, Apparently Arriana Huffington (sp?) has started a foundation to sponsor lone journalists – which is cool, and a start.
Brushing up on my Guerilla mar…
Posted by JJ Rohrer in Technology Trends & Looming Opportunities on April 8th, 2009
iPhone App Store Sales Optimization by Tracking Ads
Posted by JJ Rohrer in Business of Software on February 27th, 2009
So, you’ve just put your killer app on the on the app store. You celebrated with some Schramsberg. You sadly watch your sales asymptotically approach zero when users discover that you haven’t ‘quite’ got it right. Now, you’ve fixed that one outstanding issue and you’re ready to re-invigorate your money machine.
Ok – Not that you no longer have that new-app bump, you have to get your app re-recognized the old fashioned way, through marketing. That’s marketing, with a lower case ‘m’. Probably viral marketing, reviews, and advertising. So, as some rich manager said, “If you can’ measure it, you can’t manage it.”
Measuring advertising efficacy is a problem on Apple’s app store, because you can not, until now, measure the effectiveness of different advertising channels because they only report total sales, and not their referring source. In the 9 months that I’ve been developing iPhone apps (let’s birth this baby!) I’ve focused on executing as many experiments as possible, but I’ve only been able to do one advertising experiment at a time because it was too difficult to distinguish the effects from a particular advertisement from other factors, such as normal weekly fluctuations. Now, the smart guys over at Mobile Orchard has released a clever trick to track effects of individual back to individual sales. Check it out. I’ll update this post with my own results as I get them.
Mobile Orchard also has a good article on getting your app reviewed. Although I haven’t pushed reviews, yet, everthing that I’ve heard does indicate that it is a very personal process process. Although most sites keep a journalistic separation between the money and the review, some do not. And remember, these people are only human. Perhaps a good way to think about this is like getting a job where you have to get your resume recognized and have it stand out apart all of the other resumes.
How do you get your resume to stand out? Well, I think the first step to think beyond the resume. When I was still a cadet at the Air Force Academy, I was pretty miffed when I didn’t get a prestigious summer job at the school that I thought I perfectly qualified for. I was perfect on paper. After that job went to the other guy, I went to the decider to figure out what happened. He was too tactful, so I had to read between the lines and finally figured out that I had totally misunderstood, up to that point, the hiring process. You see, up to that point in my life, I had been chosen for things based upon “Who is the most deserving?” School admissions, for example, is, I think, a good example of that. Hiring, in contrast, is based upon “Which one will make my life easier?” It makes sense.
I believe that the getting reviews is sort of the same. The reviewers, deep down, want the most popular site possible with the least amount of work. Don’t be in denial about this reality.
Making money on the iPhone App Store
Posted by JJ Rohrer in Business of Software, Elegant Labs on February 19th, 2009
If you haven’t read it yet, Pinchmedia recently release a good report/slideshow on the market dynamics of selling products on Apple’s app store.
You can see it here:
Title: “iPhone AppStore Secrets – Pinch Media”
Link: http://www.slideshare.net/pinchmedia/iphone-appstore-secrets-pinch-media
I have about 10 published mobile apps at this point, and although I think the Pinchmedia presentation is great, and validating, I still think that they see the world through a certain prism that filters much of reality.
From my own experience, I had created my deck on lessons and experiments of publishing on the app store. I’ve identified about, oh, twenty experiments that i’ve performed, with more to come, and put them into this short slidesow. Since it contains a lot of confidential information, I’m saving it for in-person meetings, so contact me if you’re in the Boston area.
So here are two charts from my deck:
An with pretty decent staying power.

An app with less staying power.

I’ve put about 10x the energy into the second app. The interesting question is, or maybe the next question is, “What make the linear decay app” vs. “What makes the exponential decay” app? I think I know the answer. I think other people know the answer, too. I think that the answer knowers aren’t talking.
Now, knowing the answer, and monetizing the answer, are, of course, two differing things….
Use AppViz to track your iPhone sales
Posted by JJ Rohrer in Business of Software on February 13th, 2009
If you sell apps for the iPhone, the you really can’t live without App Viz. I’m not sure how I missed this before now.
[Updated: After using AppViz for a few months now, I'm totally in love. Recommended.]
Wallet Zero Launch
Posted by JJ Rohrer in Uncategorized on February 10th, 2009
I got a wonderful email from Apple today telling me that my “app is ready for sale.” So, Wallet Zero launches today. My partner, a very sharp HBS grad, has really helped guide this along. This app could be quite successful.
Wallet Zero is designed to solve the problem of the physical wallet. The problem, other than the dearth of money in it, is that is just too thick. Among things that fill it, are a plethora of loyalty cards, gym membership cards, frequent flyer cards, etc.. Wallet Zero tries to get as many as those, as possible, out of your wallet and onto your iPhone. It is just that simple.
The technology:
For cards that have a barcode, we reproduce that barcode. For those without a barcode, we just show the account number. We also show the support phone numbers for each of the cards.
I’ve had pretty good luck with scanners being able to scan the barcode, but your mileage will vary. Scanner technology seems to vary by region. The CVS by my old house in Florida could read it just fine, but the CVS across the street from me here in Boston can’t scan the barcode, so the clerk enters it manually.
Each barcode is different. We’ve been steadily going through every popular loyalty card and matching the bardcode. This process includes matching the barcode “font” as well as check digits and a few other tricks. It’s a hassle and a lot of work, but it’s great once it’s built.
This is my first free app that isn’t meant to drive sales to another product. The business revolves around back end sales to businesses. This should actually also provide an even better experience to the end user. This first release of the app is mainly a reality check, but I’m hopeful of launching some great upgrades in the near future.
[Update] Wallet Zero is now a Top 50 Lifestyle application!
[Update] The coolest part here: When on the iPhone’s App Store, if you start typing ‘wallet’, it auto-completes to Wallet Zero!
Adding content from laptop, not my browser
Posted by admin in Technology Trends & Looming Opportunities on January 28th, 2008
I’m writing this post from my Mac’s email program. Not, importantly,from inside a browser window. I’ll submit this post by sending it toa secret e-mail address, where it will get posted automatically. Thisis cool. In an age where novels are written from cell-phone, contentsystems need to be more aware of ways people really want to interactwith their data, not just through the browser. Although I’m writingthis particular post on my laptop, I intend to write other post on myTreo 650 (I know – sooo, dated), and my via the new e-mail abilitiesof my iPod touch.I don’t think the future is posting via e-mail – I think the future ismulti-access. E-mail is great, what about IM? What about SMS? Whatabout reading on my iPod or on my Kindle?


Oh yah, and then there is the whole formatting issue – but I’ll savethat for another time.
Alternative Access
Posted by JJ Rohrer in Technology Trends & Looming Opportunities on January 23rd, 2008
I tried posting to this blog via my Treo 650 by sending an e-mail to a super secret email address. It didn’t work. I suppose that I’ll resolve the problem at some point, but regardless, the concept rocks. Imagine having a flash of insight while waiting in line for movie tickets. You whip it out, and jot down your thoughts.I suspect bi-directional communication would work better – sort of like cached Outlook access for those power travels that catch up on their e-mail while sitting on the plane.Amazon’s new Kindle calls to me – I love that it bypasses the computer altogether, yet still allows the computer to play an, optional, role.

[update 2/2009: I'm writing this update from my iPhone. This is the future. Rich smart phone apps are changing everything regarding how people imterect with the data that matters. What Blackberry did for mobile e-mail, The iPhone is doing for all the other personal data]
I’m running out of disk space …
Posted by JJ Rohrer in Uncategorized on July 11th, 2007
I’m running out of disk space on MacBook so I’ve velcroed usb drives to the lid. It makes it heavier, but I’ve gone from 100 G to 460G.
[update]: 2 1/2 years later (Dec, 2009), I’m using the same MacBook Pro. The primary drive is now a 128Gig solid state drive and the CD-Rom has been replaced with an internally mounted 320Gig HD. My external, velcro mounted, drive is a 500 Gig HD dedicated to backups.

Recent Comments