Friday, August 29, 2008

Android Flashback


In 2000, after having worked for about a year as the UI designer and coder for what was then called the Nokia WAP Toolkit, I attended, probably on Nokia's dime but paying for my own flight, the CHI 2000 conference in The Hague, specifically a tutorial on designing mobile interfaces. And I swear, this story will become relevant to 2008 by the end of this entry. Smartphones barely existed if at all, Palm had just won over Newton, and a color screen on a phone was a rarirty. You had 5 lines in b&w at most, two soft keys, and no memory or processing power to speak of. The first WAP standards had just been released, standards for files and formats and markup and scripting languages that large mobile phone manufacturers were in the process of making browsers for. It was being sold as The Web On Your Mobile, which was a huge marketing mistake, because what the companies meant was "Now you can browse data from site to site just like you do on the WWW" and what consumer were hearing was "Now you can get the WWW on your phone", and designers making mobile sites were stuck in the middle.

The tutorial was a bit of a mismatch between what the audience wanted and the presenters were prepared for. The presenters wanted to give a tutorial on a high level, all about how mobile users didn't look at screens on their mobile like they do on the web, how they are walking or driving and easily distracted, how they usually use just one hand to manage a phone, design for context, pare down your service to the mobile essentials. The web people taking the tutorial wanted to know how the hell to get their 3-column table-based web pages for their banks and news organizations and shopping companies onto the phone. Bit of a mismatch. It didn't go well.

At one point I had identified myself to the class as the front-end designer of the Toolkit that they most likely would be using once they were back at work to make and test these sites, which means that questions also started being asked of me. We were telling them no, focus on information, on what you want to tell the user, on how it fits in their mobile life. The designers of course were tasked to not just deliver information, but to deliver an experience: banks want to look like banks, like their own brand of bank, shopping sites want to entice you to shop in their way and hope you find the experience better so you come back and not go to other shopping sites.

They wanted to know what screen resolutions were, we told them WAP did not set a standard for that, but that WAP browsers would take the site files and translate them to make sense. They wanted to know how many lines of text there would be, we told them WAP might run voice only (seriously, we thought it might). They wanted to know how many soft keys to design for and how to enter text, we answered that WAP might end up being shown on pagers (seriously, we thought.. yeah). WAP wasn't like HTML, WAP was really abstract: you kind of defined your actions and lines and the browser specific to the device would translate it to make sense. Two designers actually came to me with their notebooks asking what the code was to put a text field inline, and I had to tell them, no, you are going to define a text entry marker here, and then when the user gets to it, the phone will most likely open a sub-screen for the user to enter text in, and every phone has their own way of doing that text-entry and you have no control over it, because WAP wants to make a site feel like it is part of the phone, using constructs native to the phone. It took some time to get this through to the designers: this was not the web as they knew it, and they didn't like it at all, at all. But to fit a browser into those phones a lot of concessions had to be made.

But they weren't just concessions to technology, they were mostly concessions to politics, to the fact that WAP (later OMA) was a consortium of equals, and nobody was going to tell Nokia and Ericsson and Motorola that they would have to standardize on 6 lines of text, a soft key, one center joystick, or something that prescriptive for their handsets in order to display the mobile Web. No way no how, so WAP had to be a set of standards defined to work on all kinds of devices, scaling up and down, and thus giving everyone who actually had to make stuff that went across phones and devices real headaches and hives. Meanwhile, the Japanese mobile Web, iMode, was cleaning up like crazy, making tons of money, because NTT Docomo, the operator that owned Japan, basically dictated to the equipment makers that an iMode phone would have 5 lines, two soft keys, these screen colors, these graphic capabilities, etc, or N-Do would simply not sell their phones. All Japanese manufacturers complied, NTT Docomo plowed massive amounts of money on making services for consumers, designers knew what to design and how it would look, and Japanese consumers spent money by the brickload buying horoscopes and cute characters and checking their bank accounts. That and it wasn't sold as The Web on Your Mobile, but as a new add-on data service, so expectations were managed. But it delivered. WAP never did because, having to fit too many things, when the code met the glass, the resulting experience of this abstract site interpreted by the device browser never fit that specific phone the user was holding well. Plus it was buggy and data was expensive. WAP then added standards so the site servers could sniff what kind of phone was talking to them, but by then the infrastructure was so complicated the whole thing just collapsed. And seriously, now the site user had to code for every phone screen size out there?

If you want a platform, you have to frickin design a platform, not an idea of a platform. Jave ME has the same problem these days of running on too many devices differently, to the point that again, developers end up having to make special versions, not releasing for certain devices, and having to test every program on 168 phones, each with their own bugs in how they implement the runtime. This is an unhappy experience as a developer: you are sold a bill of goods of write once but a reality of rewrite many, run selectively.

I am seeing the same in Android, Google's phone environment they are licensing for free to handset manufacturers. Google's not proscribing. Google's not committing. They have an Software Development Kit [SDK] so developers can make and preview applications, just like the Nokia WAP Toolkit (later Nokia Mobile Internet Toolkit) was. The Android SDK comes with an emulator, just like the WAP Toolkit did. The Android documentation uses waffle words about this emulator like "The Android emulator mimics all of the typical hardware and software features of a typical mobile device" just like the WAP Toolkit tried to make very clear with our first emulator, delivered before any phones on the market actually had a WAP browser, that really, this was just a simulation on your computer screen and not an actual phone. Marketing made us jump through hoops to take off branding and not use an actual picture of a shipping Nokia phone lest we mislead consumers that the WAP handset Nokia would ship would be just like our example WAP browser, to the point we made a phone skin for our emulator that included the words "Not Actual Product" or something like that. (Then I commissioned the Blueprint skin, and all other kids of shenanigans.)

Developers are making programs for the Android. Google organized a contest and gave money to what they thought were the best ideas. Screenshots are out. Much labor has been spent. All these developers know about the hardware is based on the emulator Google released with the SDK, not actual hardware. HTC will make the first Android phone, but, like WAP, Google is saying the Android environment will run on many kinds of hardware: some with multi-touch, some single touch, some with stylus, and some with no touch at all. Google has been showing off all kinds of Android form factors: some look like iPhones, some like Blackberrys.

Apple is very prescriptive: an iPhone app is this and that big. It runs on an iPhone and it has multi-touch and this kind of screen. It has these fonts, and this kind of rendering. There is only one model right now, and it can show this many lines on the screen. (Of course, Apple makes its own phones.)

Android does have the advantage that WAP did not have (by design): an Android app can ask the phone how big it its screen is, and reconfigure itself. But let me tell you, for the visual designers that is going to be loads of butthurt. If you are trying to create a dashboard of essential mobile data, a one-glance no-scrolling view upon your life, designers need to use every pixel. And having to make these kinds of layouts when sometimes you have 300 pixels for height and sometimes 320 is close to impossible. They will go to their Project Managers and aks "What's the smallest screen we are targeting?" and design for that and the larger screens are going to be underused. Good god, just making a custom wallpaper is impossible.

I've seen this happen, people. I know how actual real development shops navigate these problems. There's going to be an awful lot of second-tier Android devices where the user experience is sub-optimal because developers are targeting the "average" Android device, the one with the largest installed base, and these developers will be wasting cycles, both programming as well as when the program actually runs, resising themselves to various sizes, while iPhone developers and apps just know. Look, if there were 3 or 4 screen sizes, things will be manageable. But if Android takes off like Google wants and gets thrown into all kinds of form factors, the platform, as far as developers are concerned, by design necessity, will be fractured into pieces, and not be this one vast marketplace. I've seen it before, and cost an awful lot of wasted money.

Wednesday, August 27, 2008

Not Always Right

This entry on notalwaysright.com is reinforcing my desire to order everything I ever want over the web so I never have to enter a store and talk to store help again. Especially a tech store. Actually, let me just reproduce the entry here for you:

Customer: “Hello, I just bought this iPod, and I can’t make it go.”

Me: “What’s the problem?”

Customer: “It won’t go.”

Me: “Okay, how exactly?”

Customer: “IT WON’T GO.”

Me: “Can I see your iPod?”

(The customer takes out iPod Touch and shows it to me. I turn it on and open up Safari.)

Me: “It seems to be working fine.”

(I hand it back to her. She presses the home button multiple times.)

Customer: “How did you do that? It’s not working.”

Me: “Ma’am, what kind of iPod is that?”

Customer: “iPod Touch.”

Me: “Yeah… so try TOUCHING one of the icons on the screen.”

(She does.)

Customer: “OH MY GOD, THAT IS SO COOL! YOU’RE A GENIUS!”

Me: “Yeah, well.”

Look, since the first screen came out we UI makers have spent decades telling people through the systems we designed that the screen is dead. You need a knob or buttons to tune the radio, you need to press quickly to cycle through digits in an alarm, you have to look at the remote and hit the special button to cycle through system entries for the VCR, you press the arrows on the microwave to change the cooking time or hit some timer button repeatedly, we use mice and pads and trackballs to move pointers and we are supposed to laugh at pets and small children when they try to paw moving things on the TV screen. 40 years of UI experiences right there: the screen only displays. (Then UI designers had the gall to name the paradigm of moving a mouse to make something on the screen, at least a foot away from the hand doing the moving, happen 'Direct Manipulation'.)

Sure this has now changed with tablet PCs, but those never took off with the general population, and you still need a stylus for most of them. Little personal organizers also come with styluses. And yes, touch screens really are nothing new; I remember seeing billboards for touch-screen systems in the mid-to-late eighties when I was visiting Brussels -- an HP business system, with the big slogan "Touchez l'ecran. L'ecran responds" or something close to that because I cannot spell French -- but that system did not take over the world, the mouse-based systems did. (I do remember my mother's answer to me telling her excitedly of this new computer I had seen an ad for was of course something about greasy fingerprint. Bit of a wet blanket, but I now fully understand where she was coming from.)

To this day, every touch-activated kiosk has some form of "TOUCH HERE TO START" on the screen because else the majority of people will not know what to do, and certainly will not try touching screens in public without knowing on forehand that is a reasonable thing to do, lest they look in public as 'stupid' as a small child or cat pawing something on the screen. And even then, most kios touch screens have such bad tracking you end up looking like a moron anyway, repeatedly mashing the screen until you walk away in disgust. You know where you got to see touch screens widely deployed? All Star Trek series after the original one. As in, touch screens are Sci-Fi.

But not to this snotty store kid, who probably even rewrote this exchange to make him or herself look better. Well, one day they will be older too, and their years of experience with technology will stand in the way of "just" knowing something so "simple" it is worth being oblique and patronizing about to a customer, instead of sharing the joy of something new finally hitting the consumer market.

Tuesday, August 26, 2008

An Old Trick

Hey Joel, I am sure someone has told you already, but usually to use Nokia Phones as way to connect to the Internet, you don't need a buggy 3d party tool. Just use tell your laptop to use the attached phone as a modem, and dial *99#.

Yeah, modem. You know, what we used phones for. You can use the supplied USB cable, or the Bluetooth tethering. Even on Macs. Yes, iPhones don't know how to do that. And it will save you battery because you can switch the WiFi on your laptop and your phone off.

Sunday, August 24, 2008

I Have Yahoo Back

So I had this issue with Yahoo. I have a Yahoo ID, and I also ordered AT&T / Yahoo co-branded DSL, which makes you create an ID. Yahoo allows you to merge both IDs to make things simpler. Alas, when I stopped my AT&T DSL, my old Yahoo ID stopped working. No more Flickr. No more Yahoo Radio. No more Yahoo Messenger. I tried numerous times to get some information, until I finally did, from an AT&T rep, who basically told me I had to wait.

Except that that wasn't it. I waited for as long as I was told, but the AT&T servers did not purge my account and allow my Yahoo account to work again.  A new tech chat tells me that no, the previous tech had it wrong, I should have logged in using my old AT&T ID and done an unmerge and then things would have worked again. Now it is too late, you have to wait 100 days until some server does some automatic thing, no you can't log in now using your AT&T ID to do the unmerge because it has been to long -- yeah, because I had been previously told to wait -- so your AT&T ID is disabled as well.

Ok, I waited, and July 17th or so, about 6 months after stopping my DSL, I can now log into Yahoo again with my old ID. This could have been fixed if:
  • AT&T's systems had noticed I had a merged ID and sent me email that I should unmerge them when I asked for a shut-off
  • The first tech in chat had told me what I actually should have done.
What's surprising is that I am making suggestions here about how a telco should make things easier, especially when you leave. Right. Never gonna happen. Maybe Yahoo should have warned me that I was about to be locked out of their systems, but from the support emails I tried to exchange with Yahoo, they are not allowed to touch AT&T / Yahoo co-branded accounts. At all. Even though the name Yahoo is on them, Yahoo does not manage these, and is contractually not allowed to even peek. My bet is Yahoo can't even warn customers with merged IDs that their Yahoo ID is about to become useless because they're never told when a user switches off AT&T / Yahoo DSL.

Coupled with stories I am getting of Apple Store reps ending up in AT&T stores to just get this phone working and done, I guess this is the year to make clear to everyone that depending on other vendors for your own customer experience is a really risky proposition.

Wednesday, August 13, 2008

FJ!! Loves Chachi

I want to spin off a slice of my LJ as a more formal blog, out of this ghetto -- and yes, in the blogging world LJ is considered a mopey teenage ghetto instead of a place with proper trackbacks and blogrolls and ad placements and what not.

However, having learned my lesson from managing exonome over the years, I am just not very into managing my own box for this, not in my house where I do not have a fixed IP address, nor by having an actual box or a box image hosted somewhere. I want a managed solution where someone else is doing my back-ups and failovers and patching. Especially the security part, I am not in the mood to try to keep up, reading advisory after another to keep my whole stack up to date. The fact that the big blogging packages seem to be written in PHP is not helping. I simply do not trust PHP to be robust and secure. I know the web runs on it, but I look at its design goals and history, I look at the flaws that get uncovered every 5 months, and my mistrust gets confirmed again.

But when I look at the hosted offerings by SixApart, former parent company of LJ, and WordPress, I also go ugh. Barebones comments without threading. Imports from LJ that strip out avatars and user information and tags. Tag systems that are just not fully there. You can fix all of that by installing plugins, but it seems the hosted solutions do not allow you to install plugins, of course. I already did Blogger. That was enough, thank you.

So my choices are the hassle of hosting everything somewhere and have a headache but get an installation that feels like I want, or go with a paying option that is no more than a bare-bones blog. I am liking neither one, really.

Then I went software-weenie-insane and started thinking about using Django on some hosted box to create a view on my LJ that was this blog only showing entries tagged a certain way, but with Django doing the URL re-writing of the Next and Previous buttons to make it look like one continuous blog, and then realized it would be the worst solution of all: I get to have to manage the whole chain, do custom programming, and still my content lives on LiveJournal's servers with their uncertain future. Yet since that was a challenge I could handle, that is what I started thinking about.

Saturday, August 09, 2008

Yeah, Well, You Get To Not Have To Pay For New Graphic Design, I Guess

I recently found out that IBM decided it needed its own version of OpenOffice, the word processor, spreadsheet, and graphing suite that can read and write Microsoft Office files. Obviously IBM was not content with just pointing their clients to the official free version now owned and developed by SUN Microsystems, oh no: they took the inner engine of that effort and slapped a user interface based on a piece of Eclipse around it. Why? God knows, but for one thing, they are one whole revision of OpenOffice behind and give no signs of catching up and maintaining parity in engines, and have blown the deadline according to the Wikipedia page for a MacOS X version. Which tells me the team is understaffed.

Why I chuckled when I found this product? IBM branded this IBM Lotus Symphony. Yeah, complete with the yellow background and blocky black fonts. Yes, Lotus Symphony, the name Lotus gave to its office suite follow-up to Lotus 1-2-3 for DOS, never ported properly to the Mac and ceded the Mac productivity market up to Microsoft Office, and then never was able to maintain parity with Office on Windows and thus ceded the market to Microsoft Office.

I just checked the video tutorial, and mostly what this porting of an office engine into a new UI system seems to do is allow the IBM team to create a UI that is more like Microsoft's current UI where tools only become visible when relevant. I couldn't install it on my Mac, even though I can install both OpenOffice and Eclipse on my Mac, so I can't check if the new plug-ins that Eclipse allows are useful at all. In some program manager's mind, making a new version of a freely available popular program using an outdated version, and then branding it with the words and images intensely tied to the bad decisions that led to the long decline of Lotus is making complete sense. Im my mind, I am not so sure.

Sunday, August 03, 2008

HDTV!

I got a letter that my furniture has arrived in the UK while I was in the USA. Some phone tag later and the result is that I will be called soon about a date to deliver it here to my flat. Which means I will have a couch and can have more than two people over. This, of course, means I need a TV, so I can have people over every week like I used to in Boston and loved going to in LA. Also, so I can play computer games on consoles. I keep reading about cool games I want to try.

Now my examples and experiences have taught me that if you want the most school chums to come over, you have to have the coolest toys, so obviously I need a Big Ass TV. The hugest I can stand. So I have entered the world of buying flat panel TVs.

Oh god it is awful. No, seriously. You have to see them in action, and compare and that is just a mess. First of all these things are calibrated all over the place, so it is really hard to compare the screens even if they are all on the same signal, even if the signals are a pristine 1080p Blu Ray or console. Second, if the signal is TV it is almost pointless to even watch any of them, because every one of the 1080p screens is way more capable than the compressed badly transmitted signals of live jerky sports events coming in over the airwaves or Sky satellite, so every screen makes you wonder if any of this is actually worth it for actual television broadcasts, and the answer is, well, no. It's gonna look fuzzy and pans will hurt, and that seems to be true even when the signal is HD. Man did PAL and NTSC make the most of their blurryness to fool our brains into liking it. Then there's a hardware refresh every 6 months, and the new software in the chips actually does seem to matter a tiny bit, but the difference in price between the new models and the ones 6 months old hints at a speed of depreciation I have only seen in cars. Prices and brands are all over the place, even for same-sized models. And can I get myself to pay fourteenhudredfriggindollars for what 10 years ago I would spend 350 bucks on at most? Yeah, the pound conversion still is painful to behold, and buying one of these is not investing in an asset, it is sheer consumption.

It's really hard to make a choice, and it's no fun. But still, I remember that afternoon sitting in front of a 65" screen, with a PS3 player, playing a Blu Ray disc of Planet Earth. Every step in the chain was the best available, from the documentary to the player to the screen to the cables. And every guy in the room, all of us, who'd had consumed massive amounts of media or worked in it in some capacity, in TV, movies, rides, sites, all of us jaded, were watching a nature documentary, something we'd gotten over when were were 12 or so, and just couldn't stop watching because it was so beautiful.

--"Wait, what, are we seriously gonna watch some gazelles jum-- oh man this is awesome.
"Just wait until the jellyfish."
Yeah, I want that experience back.