Saturday, October 25, 2003

WebServices And The Phone

I am having my doubts about WebServices.

The premiere issue of Queue, the new magazine launched by the Association of Computing Machinery, most articles were devoted to WebServices, including interview with the guys that came up with the idea. They looked at the great revolution of the Web amd wondered whether it couldn't be generalized further. The Web is very successful as a catlog and a communications medium with very simple tools: as a client you have to understand (meaning that you have to have a program that can make sense of) the HTML that marks up pages into pieces like "this is a headline and this is a button and this is a paragraph", and then you have a human brain to read the information in the HTML messages and make decisions. For a company, makingt this connection on the supplier end was cheap: put up a server, connect it to the database. Now, what if these big pages were made with a generalized from of HTML language that allowed you mark up other things than pages called XML and other languages that defined per industry what was in that XML message ("this is a catalog, this is the thickness of that screw, this is the amount of your interest rate") ? Suddenly this succesful paradigm could be used for far more, like computers talking to computers. And we get re-use all the tools that worked for the Web to connect all this stuff.

Now we have a bandwagon and WebServices is the buzzowrd of the year. Now there have been many attempts at connecting computers to swhare data and compute together in generalized ways, but they all used very fine messages. The dialogs were like "Hi."
-- "Hi."
"What time is it?"
-- "Who wants to know?"
"I do."
-- "Ok, it is 12.34 PM"
"And the date?"
-- "Who wants to know?"
"That other guy using me. He's military."
-- "Oh, he gets to know more. It is exactly ten days since the last secret mission. Also known as October 12th 2003."

Now you could use those old methods, called RPC and CORBA and COM and what not to make coarse queries ("Hey it is me I need the time and the date and the temperature.") but the plumbing of these standards was all defined on very small methods, little things you'd want to do. WebServices, according to inventor guy, was supposed to be just like webpages: you don't go to a page and type everything just to get a minute update, but you exchange these big pieces of data. "Hi, I want the time and the date and widget seven in red and you should sent it here but route it through there and I'll pay for it this way."
-- "Well it is on its way but it will take 12 days and here's the time and the date."

I am a UI guy. And I am trying to let people interface with WebServices. From a phone. That's my current project. And I am just not seeing the big difference between CORBA and WebServices, once the nuts hit the bolts. Because in the end, I will probably have to offer the results to people. And people like to tweak. They like to explore, they like to change little things to make up their minds. Do they have the item in red? In stock? How much does it cost then? How about blue? What if we took that other route? Can we go through a town?

So if I want to stay close to the WebServices ideal, I keep uploading big chunks of catalogs and maps and whatnot, and that's expensive. People still pay by the packet. And it gets even stupider for the project I am doing now: a distributed game. Players end up sending single moves as thse stateless pages that the programs on each end have to stay synchronized on. Next idea was doing IM on WebServices. IM! Single lines of text only useable for humans.

So basically for my purposes, I am not seeing the difference between WebServices and CORBA tunneled over port 80. In fact, WebServices for now will be more complicated since the XML and associated languages (SOAP, WSDL) are not human-readable but not particularly program-readable either, you have to write plumbing to hook up the SOAP and XML messages to your database and clients and what not. Same with CORBA, but there what plumbing to build was defined directly by the CORBA syste, no guesswork. Fortunatly my project is using an experimental toolkit (IBM AlphaWorks WSTKMD) that makes all that work go away, much like CORBA. So why am I trying so hard with these new WebServices again?

Because CORBA didn't look right at the wrong place at the wrong time. CORBA made it look hard, WebServices makes it look easy: you just exchange generalized webpages -- doesn't everyone understand how simple it is to exchange webpages?

Yah. Right. That's why web designers have to work so hard with CSS and JavaScript and Flash: because exchanging big messages and long swaths of text really doesn't work to well when you are trying to find that one thing in that one catalog that fulfills your needs -- most of these needs you do not even know what they are until you have to think of them? ("Express Delivery or Priority Mail? Will I accept a yellow stripe on the red thingie, eventhough I thought I wanted an all-red thingie?")

WebServices is good if you already know what you want, but bad to find out. People may know exactly what they want, but that is before the real world hits and comes up with all these choices. And for that WebServices offers no compelling advantage over other protocols -- in fact, its messages really have quite the amount of overhead when they get small.

It's funny: studying UIs you find out that people are most comfortable in exploratory environments where they can make little tweaks, with instant feedback, no commitment, no stress they are "breaking the computer" or doing something irrevocable. UIs where everything they can do is visible, in paradigms they quickly understand, tailored to the task, simple building blocks that can be collapsed into powerful tools for advanced users. Yet the plumbing we are working on, the revolutions around us, all end up being about bigger and bigger messages, whole pages of changes being transported around to interact with, catalogs in a medium that make it hard to flip the pages and compare the goods. That very simple universal paradigm of browsing actually makes it very hard to do something complex with. And now it is supposed to start running everything.

OK UIers, just make it work now!

[Cloned from my Slashdot journal]

Now that I am a researcher and am supposed to have opinions, I am considering putting a link from my personal Intranet page to that journal. So innocent people can be exposed to it too.

Friday, October 17, 2003

Incomplete

I am somewhat dissapointed by the iTunes Music Store. I could deal with my TiVo being unable to play my files, or having to find out how to make it deal with the fact that I like to keep my library in two places -- my notebook and the home-server -- if only it were a muscial candyland of previewable completeness. This would be such a perfect place to actually put music of limited appeal, even from the major catalogs, like the official EPs, remixes, strange B-sides. Yet, when glancing through my staples of mid-80s to late-90s synthpop (I am listening to twenty year old music. I have become one of those annoying people that in my youth polluted radio with their outdated 60s crap) the reality of the endless library candyland shrinks to the selection of a mediocre record store.

And this completly ignores the smaller labels I buy at CDBaby.com and other places. iTMS is not going to give me my Echo !mage or Apoptygma Berzerk fix. But I knew that, and I guess I will keep buying those mail-order. In fact, what I saw myself do on that music store is indulge in brainless crap candy. The kind of one-hit-wonder'ism of perfect little synthoid electro dance popsongs that fit my braincells for the month in which they are hot and I end up listening to WGAYStar 93.7 for hours on end just to hear them: the current single by Blondie, that strange mix of Danii Minogue over an ancient Dead or Alive track. (I am admitting to wanting to hear a Danii Minogue song. Fortunatly she is too obscure for most of the people on my friends list to care, but the Aussies are now rolling over the floor at my admitance of my utterly bourgeois candy-pop tastes. Well, let me do what I do best, which is go all the way: I was always more of a Danii than a Kylie kind of guy. So there. Of course, nobody ever knew.)

In fact, it was the kind of stuff I downloaded from Napster. If I wanted a CD of music I though I would actually listen to often, I'd buy it from Amazon, with predictable shipping, complete tracks, and an unsurprising bitrate. Napster was to get those one-offs that pollute my harddrive (U96, Fire Inc., Stacey Q, that single specific Enya track) that makes all my pretense, held up by the MP3 collection of ripped CDs, of having some kind of non-mainstream quirky developed taste be moot. You know, those tracks that make you cringe when they scroll by on the TiVo screen for all your guests to see while you are trying to find a playlist to show off your erudition. ("I have the complete collaborations between Riyuchi Sakamoto and David Sylvian!" "That's great FJ!!, but was that 'Theme to Mortal Kombat' going by there?")

So the iTMS is helping me keep up my hubris by not allowing me to buy the songs that I think they could make absolute killings on. But, now that I have confessed my sins -- and yes, I will die maintaining that "You Spin Me Right Round (Like A Record)" is one of the top 5 most brillian Hi-NRG tracks ever, ever, EVER -- right now I'd rather be having Debbie Harry telling me how Good Boys Never Win.

Tuesday, October 14, 2003

White Collar [Country | Angry Folk]Song

Standard "Just Like My Dad" motif. About the economic shafting of the American worker. New twist: white collar (i.e. "office worker" in North-American vernacular). Will need good songwriter to elicit sympathy, white-collars aren't liked in Folk/Country.

First verse:
Kid growing up, Mom loved Dad, Dad loved Mom. He works hard in the mill, knew when to have a beer, life was sheltered. Mill packs up to south of the border. Dad starts to slide, odd jobs in fast food and retail, even if he keeps a stiff upper lip.

Chorus:
But you know you won't be like that. You won't be powerless, you will take care of your family, you'll be smart so you won't make six bucka an hour, you won't be just like dad.

Second verse:
Family starts to make do with hand-me-downs, Mom seems to have been here before from her past. Dad's sliding, drinking with his equally jobless buddies. Kid sees the waste, decides he will get out, busts his ass in school and odd jobs and volunteering, eventhough everyone tells him to take it easy and he ain't better than them.

Chorus.

Bridge:
With no money out of high-school he joins the marines for the school loan. Pounds the deserts and the sand the first time round, but really kills himself over the books when he gets to college back home. Learns the computers, gets himself an entry job. He's getting out of this place. Last he heard Mom's got a job greeting at Wal-Mart for five bucks an hour, Dad's lost.

Third verse:
He starts a little family, he pays for a small house. He lives within his means, he drives an old car, he hates traffic. He keeps working to get promoted, he studies a bit more. One day boss tells him his job's going to India, his replacement's coming over for two months of training by him, no use in getting angry, cause that is the score.

Chorus. Repeat. Work in line in third chorus repeat that a new Wal-Mart just opened, may need greeters. Fade.

Monday, October 13, 2003

One Week Ago, I Thumbed up "BBC World News"on The TiVo

I like the BBC World News. It is a good news show.

Today, I come home to find the TiVo has recorded three hours of CNN Headline News as a suggestion.

(While this is a silly TiVo moment, one TiVo trick is to make a special wishlist entry that contains part of the name of your favorite news show, narrow its category to 'News", and set it to only keep one show. This means the TiVo will always have the latest news broadcast from that show waiting for you.)