August 07, 2007
The Culture Code: an Indian take
I've been reading The Culture Code by Franco-American international marketer Clotaire Rapaille. It reveals a series of so-called Culture Codes, which are high level cultural archetypes embedded in the larger cultural consciousness of a nation. The good Monsieur doth not pontificate much--it's a pretty thin volume that basically sets out only how Rapaille uncovered the Codes for shopping, health, food, sex and a whole bunch of other things using his patented method. An archetypal Code is a single concept OWNED by a subject area in a cultural context. If that's too abstract for you, an example is "The Code for alcohol in American Culture is GUN." He sold these insights to Fortune 500 corporations around the world for a whole bunch of money, and they in turn made a whole bunch of money positioning products in peculiar ways in America and Europe.
The book is as haughty in making astonishingly sweeping statements about various American and European cultures as it is humble in explaining how the consequences that flowed from these Codes successfully persuaded people around the world to buy various products. Every chapter follows a comforting, if repetitive, parallel structure. First, Rapaille sets the stage for the Code at hand by stating some commonly held truisms that relate to the subject being explored. For instance, at the start of the section exploring the American code for Home, he says "When we gather for Thanksgiving Dinner, we reconnect with our homes and affirm the importance that home has in our lives". He hints at a hypothetical archetype after stating a few more of these bits of conventional wisdom. Then he lists supposedly verbatim accounts of people he has interviewed on the subject (in this case, of home). His Patented Method™ essentially consists of a focus-group-meets-shrink-session-meets-pajama-party, where subjects spend three hours (including one lying down on pillows) telling him about their first memories of home. He cherry picks pieces of these interviews, develops them a little bit and makes an astonishing jump to uncover the archetypal Code IN CAPITAL LETTERS.
The logical leaps Rapaille makes when unveiling the code can seem a bit, uh, lofty but he usually manages to redeem himself by explaining the consequences that flow from the Code. He rounds out the explanation by mentioning examples of advertising campaigns which were successful by 'staying on Code', or adhering to the archetype. In passing, he also mentions counterexamples--advertising campaigns that failed because they went 'off Code'. His method is altogether fascinating, even if I don't always agree with everything that flows from a Code. I won't give away too much; the book is an engaging read and I don't want to spoil it for you. The money sentence in the book, however, has to be "Ronald Reagan was much more reptilian than either Jimmy Carter or Walter Mondale." I burst out laughing when I read this sentence. Attempting to explain it though will spoil the hilarity, so I am not going to attempt it here.
Needless to say, the good Monsieur does not even go near uncovering Culture Codes for the emerging markets of the world: Brazil, Russia, India and China, which will drive the future of worldwide commerce in the decades to come. I am going to try to make my own hypotheses for Indian Culture Codes, although there is no way I can test them out by hosting three hour patented pajama parties for my fellow countrymen. I've said here before that I think Indian and American cultures aren't all that different; I'd hazard a guess that it's because the Codes for many things in Indian and American cultures are the same.
The Code for India in Indian Culture is RESILIENCE AND REBIRTH. Indian children are raised with the message that Indian culture is the most valuable thing they are going to inherit. One of the most heavily emphasized attributes of this culture is its timelessness. India was the choice target of multiple waves of invaders from Central Asia and they left unimaginable trails of death and destruction in their wake. Every major invasion undoubtedly changed India but India's resilience helped in its rebirth after each one of them. This theme comes out in Jawaharlal Nehru's first speech to Independent India on Aug 15, 1947. He said
"Long years ago we made a tryst with destiny, and now the time comes when we shall redeem our pledge, not wholly or in full measure, but very substantially. At the stroke of the midnight hour, when the world sleeps, India will awake to life and freedom...We end today a period of ill fortune and India discovers herself again."
which really captures it best. So, any products that emphasize resilience, (cyclical) timelessness and rebirth do really well in the Indian market. Remember the multi-generational commercial for Woodward's Gripe Water? It's an old commercial but one of my most vivid and lingering memories of advertising. If you want Indian Cultural Codes for other things, maybe large sums of money will induce me to share them with you ;) They sure made it easier for M.Rapaille. Jus' sayin'.
Posted by Vishy at 10:44 PM | Comments (0)
February 20, 2007
Building a business as an SOA
I was at a trade show about SOA on Wall Street the other day. There were a large number of vendors, belonging to various parts of the SOA 'ecosystem', exhibiting. The high degree of differentiation I saw in their offerings (ESBs, SOA testing, SOA acceleration, SOA/RIA etc.) convinced me that SOA concepts have finally become thoroughly mainstream.
I remember hearing what later became the SOA mantra for the first time perhaps 5 years ago, around when XML Web services on Microsoft .NET came out. I don't particularly care to go into the benefits of SOA in great detail in this post. The one sentence summary though is that a service-oriented architecture, built from a bag of loosely-coupled, interoperating services that can be composed together leads to higher flexibility and agility (both good things) in a business because the knowledge needed to answer business questions is all in services that can talk to each other instead of being locked up in siloed business units that don't. I started to wonder though--how would it be if, instead of being merely a technical implementation consideration in a business, an SOA lay at the core of the business itself?
I am a strong believer in the software engineering maxim that software written by any company carries the footprint of the organizational structure of the company. A recurring theme I saw in the experience of the many banks represented at the show was the difficulty of grafting an SOA onto an already functioning business. Apparently, finding the right SOA vendor is relatively easy. But transforming internal business processes so that business logic is separated out into independent service units is much harder. If the many high-stakes technology end users on Wall St are serious about reaping the benefits of SOA, they should construct their businesses as an SOA and let that leave its organizational imprint on their technology stacks. How might they go about doing this?
- Everyone in a managerial role, all the way down to the lowest rung, defines say five business questions that they and their reports can answer. They might be long questions, possibly involving scenarios or set-ups, but they must NOT be open-ended questions. Examples could be, "How many accounts does Fidelity Investments hold with us?", or "What will the budget be for the upcoming financial year?"
- Enter these questions into one company wide, searchable full-text database. This database will make it really easy to find which manager is responsible for a given business question. Knowledge will no longer be locked up in silos, because instead of reimplementing some business functionality in your own group's software, you can reuse such knowledge from someone else.
- Work with technologists to develop services that answer these business questions.
- ???
- Profit
Essentially, this database would be the plain-English, business equivalent of a service registry. Software requirements should always flow from the business questions expressed in this central database, which should be the authoritative source. The ??? in step 4 above, aside from being a throwback to the old Slashdot chestnut, is actually intended seriously. There are a number of unknowns to be taken into account: what if I need a valuation algorithm, but I don't like the depreciation and cash flow methods that Bob from accounting uses? What if Jane from payroll doesn't give me answers in the way I like? To a lot of these questions, I don't necessarily know the answer. I do believe though that this scheme could work as more than just a thought experiment. Any thoughts from my readers?
Posted by Vishy at 08:21 PM | Comments (1)
January 22, 2007
Google Personalized Home Update: please bring back the old one!
Google's Personalized Homepage just rolled out an update. With the new features, you can expand the contents of a feed item on the homepage itself, without leaving Google. An example of what this looks like is below:
I can't say I am a huge fan of this update. I have several feeds on my personalized home page -- maybe two tabs, each with 15 feeds. The large number of plus signs indicating that an item can be expanded adds a lot of unnecessary visual noise. The timestamp attached to each item is also mystifying. Even an honest to goodness RSS reader, like Google Reader does not feature them so prominently. On my Google Reader's expanded view, the timestamp appears in grayed out text on the top right of each item's enclosing rectangle. I appreciate why the timestamps were put in. Given the narrow rectangle allotted to each feed though, they do nothing more than add to the visual noise.
The personalized homepage from Windows Live presents expanded feed items much more tastefully than its competitor from Google. I understand Google may want to keep the personalized home close to its minimalist ethos--no Javascript, floating divs or fade-ins and fade-outs. Still, Google can learn a thing or two from how Live.com presents its wares. At the very minimum, I'd like the option to remove timestamps and expand buttons from my Google Homepage so as to reduce my informational and visual overload.
On a somewhat related point, real RSS readers or pretend ones like the Google Personalized Home make me feel awful by actually trying to be an Inbox For The Web (tm). RSS is not email. All the bolded folders with the counts of unread messages only serve to remind me how behind I am on my reading. I subscribe to many closely related feeds, which share a lot of duplicates among themselves. I may not even need to read the 45 items marked unread on the Slashdot feed because I may already have seen them on digg, Techdirt or Techmeme. I have no choice processing email; I must eventually process every single message that lands in my inbox. But RSS feeds are different; I subscribe to a feed because I want to pick and choose what I want to read from it, and not be constantly reminded how much of it I haven't read. Will some UI whiz please come up with an RSS reader with a fluid UI?
Posted by Vishy at 11:12 PM | Comments (0)
January 18, 2007
How safe are U.S. states relative to other countries?
If you're an American citizen looking to travel outside the U.S., the U.S. State Department advises you to check its travel bulletin about countries that may pose a threat to you. Violence, political instability, infectious diseases and a whole bunch of other causes can lead to a country ending up in the State Department's watchlist.
What about security and safety within the U.S. though? The U.S. has the highest rates of poverty and other high-risk factors for crime among developed economies. While idly browsing NationMaster and StateMaster, I thought of eyeballing per-capita homicide rates in U.S. states and comparing them with per-capita homicide rates around the world (the per-capita homicide rate, in this case, acts as a very rough proxy for 'safety', a very subjective term).
Each state above is labeled with the country that most closely matches its per-capita homicide rate. If you are from California, you can figure that you have just as big a chance, give or take a few percent, of getting murdered in Zambia as at home. Likewise with Texas and Poland.
The states are also colored along a gradient. In other words, if you are from India, you are safer at home than in Louisiana, Nevada, New Mexico and other states colored darker than Colorado, Rhode Island and New Jersey. Or maybe you'll get the sobering realization that Wyoming is only as safe as Azerbaijan. Louisiana led the nation in per-capita homicides in 2002, a number that comes close to Mexico's per-capita homicide rate per 10,000 people. The lowest per-capita homicide rate was recorded in North Dakota, whose numbers come close to those of Greece.
Only five countries in the above list are more dangerous than the entire United States: Colombia, South Africa, Jamaica, Venezuela and Russia. Countries safer than the entire United States included Hong Kong, Japan, Saudi Arabia and Qatar. Interestingly, Saudi Arabia appears on the current State Department warning list.
There are lies, damn lies and statistics, but let's occasionally let the numbers speak for themselves!
Posted by Vishy at 12:04 AM | Comments (0)
January 10, 2007
iPhone's missing piece: the developer platform?
This post is inspired by a brief conversation I had with Raven.Amid all the breathless hype around Apple's iPhone announcement yesterday, there was a conspicuous lack of coverage about the openness of the platform. Apple kept mum about a developer platform around iPhone and how open a platform it was going to be. Would it be as closed as the iPod/iTunes duo, for which there is no way to write meaningful applications without reverse engineering? Or would it be as open as development for the general Mac platform, complete with an SDK and a developers' network?
We can perhaps divine the answer to this from Wall Street's reaction to this announcement yesterday. Apple stock rose approximately the same amount percentage-wise that RIM's stock fell. In other words, the market expects iPhone to encroach on RIM's customer base, which is largely made up of enterprises. There is no way Apple can keep the iPhone platform closed and expect enterprises to adopt it. If the market is right (as it usually is), then we should see some overtures from Apple towards providing a proper development platform around the iPhone.
Let's look ahead to when an SDK and other platform components for the iPhone will stream forth from Apple.
[Update: I was totally wrong on this count; I spoke too early. The following day, Steve Jobs clarified that the platform will be closed, just like the iPod. There will be no developer toolkits and community as with desktop Mac applications. And so Apple remains a consumer electronics company at heart and in direction.I think Apple is sabotaging adoption of its iPhone with this move. Enterprises won't pick it up because the platform is not open enough. Consumers won't pick it up because the phone is tied to Cingular, which (at least anecdotally) has the 'fewest dropped calls of any network' because you can't make calls in the first place with its coverage. Apple's two-year exclusive deal with Cingular, and the price tag aren't exactly going to help either.
And as you might expect, RIM and Palm stock have recovered by quite a bit.]
Posted by Vishy at 10:51 AM | Comments (2)
January 03, 2007
Why are there no obituaries for rich client applications on the Mac?
[Happy New Year to all my readers! -V]
The technology press loves to publish eulogies to rich client software that runs on desktop computers. The era of the rich client application is over, they say. People are already storing a lot of their computing lives online, on Web applications hosted by the likes of Google. Microsoft, the middle-aged software company, which has become so obese as to take 5 years to produce an operating system upgrade, cannot stem the tide of people flocking in hordes to online counterparts of their flagship rich client applications.
Yet rich client applications are alive and well on the Macintosh. There is a host of rich client applications on the Mac for very specialized purposes despite the existence of online alternatives: buying music (iTunes instead of mp3.com and emusic.com), arranging photos (iPhoto instead of Picasa), instant messaging (iChat instead of Meebo) and email (Apple Mail instead of GMail or Yahoo! Mail). Even sundries like a programmer's text editor (TextMate) are available as full versions only after paying a fee. In a time when free is the new pink and giving away software and services has become de rigeur, let's consider why Macs appear to tolerate the business model of old school, unhosted, shrink-wrapped software much better than PCs.
- Most Mac users are passionate and picky about user experience. Owning a Mac has never been about the value. Mac users know they are paying a premium for a superior user experience. No matter how much Web technologies advance, a Web application running inside a general-purpose browser cannot beat the user experience provided by a rich client application that accomplishes a small set of tasks with a user interface built for a particular purpose. Rich client applications, for the most part, also have unrestricted access to the local filesystem, which enables them to store more nuanced user preferences.
- Mac users in general are mobile than PC users. Laptop sales have exceeded desktop sales for some time now. Most Macs sold are laptops rather than desktops; as a result, a higher percentage of Mac users are mobile compared to PC users. Mobility is the perfect antidote to the limitations of most rich-client applications. Think about it: if your choices were between using rich client applications on a computer that you have with you at all times and having your applications accessible at all times on a Web site, wouldn't you rather pick the first and have a richer user experience not subject to the vagaries of reliable Internet access?
- Enterprises have generally not adopted Macs. Enterprise adoption of the Macintosh platform has traditionally been low, although an enterprise-capable Unix underlies Mac OS X. Rich client applications are usually more problematic than Web applications for an enterprise because they raise problems of versioning, deployment, support and user training. By using Web applications where appropriate, an enterprise can alleviate most of these problems. Rich client applications, on the other hand, work well enough for individual consumers, who don't face the problems of maintaining a uniform environment and policy across thousands of computers. Faced with no such pressure, rich client applications are still suitable for the largely consumer-facing Macintosh platform.
- Software for the Mac is a seller's market. There is so little software available specifically for the Mac that its passionate users will gladly adopt even intentionally crippled rich client software, so long as it is well designed for the few tasks it can do. Contrast this to the Windows platform, where dozens of third-party applications and online services--many of them badly written--compete for a given market segment. iTunes is undoubtedly a crippled application, whose several arbitrary restrictions can be overcome by open source alternatives. Yet, it is the only way to buy music from the iTunes Music Store. Apple has chosen not even to augment the iTunes user experience with a Web component because its users are happy enough with the experience of a rich client music store application.
Continued adherence to the creed of rich client applications could well restrict the choices available to Mac users because the cost to switch away from a rich client application is higher than the cost to switch away from a Web application.
We are in an age where the operating system a computer runs is beginning to matter less and less because most common needs can be fulfilled online. Rich client applications on the Mac present an interesting counterexample to this trend. Surely a clique of rich-client applications on the Mac cannot swim against the tide of increasing adoption of Web applications? Yet, the Mac may end up making us all "think different" about this question.
Posted by Vishy at 09:51 PM | Comments (1)
December 24, 2006
My free knowledge management solution
It was my uncle who made me a news junkie. He used to live in an apartment just down the street from mine when I was growing up. Every time I visited, he would open a folder with a crafty gleam in his eyes. In it, he would have religiously noted down all the interesting tidbits he saw on TV, in a newspaper or a magazine. And from it came countless trivia questions that I could never answer correctly.I wasn't just determined to pass his test; I had to fight back as well! I got into the habit of reading the newspaper regularly and noting down interesting bits so I too could ask him questions. I never could beat him conclusively; to my exasperation, he would manage to answer my questions easily while still managing to come up with obscure bits of his own. Nevertheless, to this day I remain a news junkie, curating my own mental library of facts.
My brain can only hold so much though, and rather than take the risk of forgetting facts—or worse, muddling them together—I have come up with my own el cheapo (or rather, el freeo) system for managing what I know. My "notebook of wisdom" has recently reincarnated in the twenty-first century as three free programs each for a different purpose:
- Public bookmarking. Any webpage I see that I need to access from everywhere, I put on my del.icio.us page. I also use it to share cool links with the world.
- Private bookmarking. Any webpage I see that I don't need to access from everywhere but want to have accessible for future reference, I put into Evernote. I also use Evernote for stashing away things I don't necessarily want others to see, such as my plans for world domination. Evernote is kind of like Microsoft OneNote, only free, and with some neat searching and tagging features; there is also a premium version with full support for handwritten notes on tablet devices.
- Making sense of it all: mind maps. For quite some time now, I've sketched complex ideas on paper as a set of interconnected nodes. I just didn't know enough people did it that it had a name of its own: mind mapping. I've only recently started making mind maps on the computer, for which I've found Freemind very suitable. Freemind may be a Java desktop application, but it is surprisingly pretty well executed. It may not integrate as well with productivity applications as some of its $229 competitors, but given its lovely price tag of $0, I shouldn't be complaining much. In addition to having some nifty drawing features, it can export maps to HTML and PDF. I've yet to build up a sizeable library of digital mind maps, but I am confident this won't be just a passing fad considering I've been doing them on paper for years.
I don't know if many readers of this blog actually care to organize their knowledge in some way (come on—it's a pretty dorky thing to do, isn't it?), but I'd be curious to know what other people have tried and what has worked well for them.
Posted by Vishy at 11:19 AM | Comments (4)
December 20, 2006
Google Book Search, meet Amazon's Mechanical Turk
According to this Washington Post story about Google's ambitious book-scanning initiative, Google is scanning 3,000 books a day, which works out to about a million books annually. This rate is no doubt phenomenal but brings its own set of problems along.
Scanning a book is easy, but optical character recognition is notoriously hard to get right. Google is said to be currently scanning only those books whose copyright term has expired, which would mean books published before the 1920s. Any books published more than a 100 years before that decade have peculiar artifacts like the integral-sign S or f-like S, illustrations signed with artistic scrawls and manuscripts featuring cursive handwriting. No matter how breathlessly the media waxes about Google's 5,000 Ph.D.'s, these are all hard problems in OCR today.
Consider the scale of Google's operation: let's say each book scanned this year had an average of 200 pages. That would make 200 million pages. Even an OCR program with five-nines (99.999%) accuracy would spit out 200,000 pages with mistakes. One way to achieve dramatically higher accuracy is to ask the millions of avid readers on the Web to double check the accuracy of Google's OCR program, kind of like the distributed outsourcing in Amazon's Mechanical Turk project. It's really not as bad as it sounds; it's merely about offering the right incentives. Thankfully, Google doesn't have to look far for ideas.
Google already does quite a bit of revenue sharing with its AdSense partners, in exchange for the chance to display ads based off content on third-party websites. Google's plan to monetize Google Book Search is to show ads beside the content of the books anyway. So how about taking the money gained from ads shown beside, say Alice In Wonderland, and share some of it with whoever helped check the accuracy of Google's OCR program on that book? The revenue sharing infrastructure is already in place and it'll really be just a question of building the right user interface to divvy up the books among people.
I don't have access to Google's vast set of query strings (and neither does the general public), but it doesn't seem like the revenue distribution would be that iniquitable across books if structured the right way. There could be a cap of say $100 per book to control for books that mention "sex" a lot. Other than that, let human judgement take its course and watch the dollars roll in!
Posted by Vishy at 10:51 PM | Comments (0)
December 12, 2006
10 treasures you can get to with Start > Run...
Although I spend nearly all of my day in pointy-clicky Windows and OS X, I am a CLI geek at heart. I launch a bunch of programs merely by typing in things into Windows' pathetic excuse for a command line, the Start > Run... box. Here are some of the niftiest things you can access from the Start > Run... box in Windows XP:
- A way to start a screensaver instantly
- Start > Run... >
scrnsave.scrand the screen blanks instantly. Useful for when you need to step away from the computer and don't want prying eyes to see what you had on your screen. - A comprehensive system information tool
- Start > Run... >
winmsd, for when you get hardware conflicts, driver problems or other low-level issues. This tool gives it all to you in one place, free of sugarcoating. - The trusty Control Panel at your fingertips
- Start > Run... >
controlbrings up the Control Panel without having to point and click your way through the Start Menu. - A way to clean your hard disk of junk
- Start > Run... >
cleanmgrand a disk cleanup assistant appears. Although storage is hardly an issue anymore, it's really surprising how much space you can reclaim by deleting your browsing history, cookies, downloaded program files and other crap you didn't even know you had. - An on-screen keyboard
- Start > Run... >
osk, for when you need to shut down the computer after suddenly spilling java into your keyboard messing it up beyond repair. You can even hover over the keys to press them! - A way to transfer files to your BlackBerry
- Start > Run... >
fsquirt, enables you to "squirt" (eww) files from your Bluetooth-enabled computer to another Bluetooth-enabled device, like your BlackBerry. - A one-stop startup configuration utility
- Start > Run... >
msconfig, for when you are sick and tired of your startup being delayed by the 18 million teeny-weeny programs that crowd the system notification area (not system tray). - A definitive answer to "What version of Windows am I running?"
- Start > Run... >
winver, et voila!, a dialog box with your operating system version (including any service packs you applied) appears. - A way to design your own Klingon font
- Start > Run... >
eudcedit, gives you a drawing surface using to fill up your own Unicode Private Use Areas. This way, even fewer of your Klingon-speaking friends will know when you write that their mother has a smooth forehead. - An el cheapo chat program
- Start > Run... >
winchatbrings up a really basic chat program using which you can talk to users of other computers in the same Windows workgroup or domain. It was clearly written by a Microsoft developer who sorely missestalkfrom Unix.
You knew there was a bonus! Start > Run > %WINDIR%\media opens up a directory with the Windows sound schemes. The MIDI (*.mid) files in there are the half-decent lost works of an unknown composer (Brian Eno?). They're somewhat dated, which makes them sound tacky today. The file called "flourish.mid" vaguely reminds me of the Seinfeld theme for some reason. Start > Run... > clock.avi pops up a movie of a cheesy-looking clock that counts to 12.
I'd like to honorably mention Start > Run... > osuninst. I thought it was going to end my love-hate relationship with Windows, but all it did was pop up a cryptic error message instead.
Posted by Vishy at 09:28 PM | Comments (0)
November 26, 2006
Three things South Indian cinema can teach Bollywood
Indian cinema is a lot more diverse than audiences outside India might give it credit for. The Indian movies many outsiders have heard of are primarily Hindi language movies (yeah, those supposedly 'musical' ones). Although the industry that produces these movies is based in Bombay (the B in Bollywood), that city's major spoken language is not Hindi. There are several smaller film industries based in cities all over India that make movies in other languages.
The biggest film industries outside Bollywood are in South India, where Telugu, Tamil, Kannada and Malayalam are spoken. Movies in the first two languages have a much broader base and appeal than movies in the latter two languages. Nevertheless, there is significant cross-pollination of ideas, actors and movie directors among movies in the South Indian languages, which leads to a reasonable degree of thematic overlap.
Bollywood movies, as popular as they are, tend to be centered around only a handful of sociocultural themes (I'll note though that since the release of Dil Chahta Hai in 2001, a greater number of Bollywood movies have tried to introduce new and provocative themes). Add a few predictable elements and you have a formula that satisfies the world's single largest film market. Many aspects of this formula have been emulated in Indian regional cinema to varying levels of success; indeed, regional actors generally gain in respect if they can also pull off a successful Bollywood movie. South Indian language movies come nowhere close to Bollywood movies in the size of their audience or box office collections. Still, they have their own take on some aspects of moviemaking, which I wish more Bollywood movies would use to reinvent themselves.
- Irony and humor. Blockbuster Hindi movies these days are generally short on irony or anything more than token attempts at humor. Perhaps the director fears that these elements are but peripheral to the main plot of the movie, or worse, that they might undermine his message. Humor and irony might undermine the message of the movie only if it involves the major characters. South Indian movies, especially those in Tamil, manage to present enough humor and irony without detracting from the main message of the movie. They use characters that have nothing whatsoever to do with the main plot of the movie; they exist solely to provide comic relief and temporary distractions from the movie's plot development. Indeed, actors like Senthil and Goundamani have made entire careers playing such roles. Free of any involvement with the plot, their minor roles often succeed in delivering insightful social commentary while being funny. What's in it for the audience? A temporary respite from a concentrated shot of plot development, a few laughs and a chance to relate as human beings to the events on the screen. Contrast this random, and quite frankly bizarre, approach to humor with that of most Bollywood blockbusters (Kabhi Alvida Naa Kehna comes to mind), where any comic relief is provided by major or supporting characters and is constrained somewhat by plot elements. Not all movies must have irony or humor to be successful; however, those irony-free movies that deal solely with plot and character issues without commenting on wider social issues take themselves too seriously in enforcing patriarchy, social hierarchy and notions of propriety. Conveniently enough, this brings me to my second point.
- Treatment of human and social issues. Indian cinema has always had somewhat of an escapist streak; it caters to audiences that want to rise above the concerns that constrain them ethically, morally or materially. Starting in the 90s, several movies (especially song sequences) have been shot outside India just to give a taste of foreign lands to the local audience. Influential actors like Shahrukh Khan and Saif Ali Khan have starred in movies that depict unbelievably well-dressed characters living opulent lifestyles inaccessible to the vast majority of the Indian population. Although this escapism provides some distractions from ordinary life in India, which can often be difficult, before long it becomes hard to identify with the troubles of the characters or to see their situation as relevant in any way to the viewer's own condition. South Indian cinema is much more likely to feature relevant human and social issues (the emotional complications of surrogate motherhood, the mysteries of multiple personality disorders, the slow deterioration of someone affected by a terminal disease) in its themes. Most of these movies, notably those from the Malayalam film industry, don't do well at the box office because they are not sufficiently escapist. They receive plenty of critical acclaim as serious cinema because they expand the repertoire of collectivist and widely relevant issues that can be depicted on screen. Contrast this to Bollywood's much narrower idea of pushing the envelope: questioning whether premarital cohabitation or extramarital affairs may be appropriate in some circumstances.
- Musical inventiveness. South Indian cinema has seen immensely talented musical directors like A. R. Rahman or Ilayaraja, who have been highly receptive to experimenting with new styles of musical composition. Ilayaraja had a good bit of training in Western classical music, which he used to great effect in his work. A. R. Rahman's inventive genius has earned him a commission for the musical version of the Lord of the Rings. South Indian music directors are also more likely to give new singers a break, judging from all the fresh talent that keeps getting featured in South Indian movies. In fact, singers like Sadhana Sargam have fared much better singing in South Indian movies even though they aren't native to South India. Bollywood music has historically been largely predictable and features standard-issue love songs and dance beats that have been perennial favorites.
Bollywood is an incredibly successful commercial machine without a doubt. Despite the sheer number of movies it produces though, it is still a major event if an Indian movie is a serious contender for international honors in film. More than anything else, this points to a lack of diversity, arising in turn from a lack of maturity. I have no delusions about movies being high art; moneymaking continues to be their primary goal in every major film industry in the world. Still, if Bollywood could occasionally deviate from tried and tested themes and learn a thing or two from the South Indian movie industry, it will surely result in greater variety and wider appeal.
Posted by Vishy at 03:59 PM | Comments (0)
November 24, 2006
Google's shares like Picasso's checks?
Google's stock price recently crossed $500, making it Silicon Valley's second most valuable company after Cisco. Although 500 is just another number, boom times are evidently back. A while back, I had read about how Pablo Picasso used to prefer paying by personal check. Here's why:I wonder if Larry Page and Sergey Brin have started paying for their purchases directly with Google shares. I mean, you can get a PS3 or two Wiis with the going rate of one GOOG share. With a round lot of shares, they could buy a Hummer SUV if only they weren't so environmentally conscious.Pablo Picasso loved paying for things by check. Why wouldn't he? Many times the recipients of the checks, complete with his famous scrawly autograph, would keep the checks as souvenirs rather than cash them, giving the famous artist pretty good odds that he'd be getting things for free...So prized was Picasso's signature that it is said that when he paid for things by personal check, the odds were that the recipient of the check would save it rather than cash it. Seeing as a simple Picasso autograph can easily fetch $1,000 today, perhaps this wasn't such an irrational decision.
With the way the stock market is going, and with Google's philosophy of encouraging long term ownership of their stock, whoever was selling them stuff would probably just hold on to their payment-in-stock for future gains.
Posted by Vishy at 05:00 PM | Comments (0)
November 19, 2006
Sensory styles for doing arithmetic
I recently bought Brain Age for my Nintendo DS. One of the tasks in the game is to solve arithmetic expressions as fast as you can. The expressions are all drawn from the basic addition, subtraction and multiplication facts. They are parenthesis-free and contain no more than two numbers. For some reason, this task seems particularly addictive to me--probably because I do it at a decent speed. Karolina and I got to talking about how our respective brains actually crunch the numbers during the task.
My preferred sensory style is visual. I do know people who are much more strongly visual than me, but I suppose I screw up the least when working visually. When solving a simple math problem--say 8-5 = ?--I 'see' the 3 next to the equals sign. Karolina has more of an auditory preference. She has to sound out the equation in her head ("eight minus five equals?") to get the answer. When equations appear rapidly on a screen, it is evidently a visual task. This is why I was clocking slightly faster times than her. Conversely, I expect that if somebody shot these questions at me verbally, I'd be slightly slower than Karolina.
We've seen and heard simple addition, multiplication and subtraction facts enough times that working them out is practically automatic. I tried to model exactly what happens in my visual head as I work out addition and subtraction for any pair of two digit numbers. I have a 10x10 grid of numbers burned into my head.
When I want to perform a subtraction, say 79-26, I start at 79 in the grid. Then I move 6 up and 2 left. For three digit numbers I imagine a 10x10x10 cube. For four digit numbers, I'd probably just use a calculator! Addition works the same way, except I go right and down instead of left and up. This is why there is no significant difference between the speeds at which I do addition and subtraction. A few of my friends I have asked claim to be significantly slower at subtraction than addition because they know the addition facts much better than the subtraction facts. If somebody gave them a subtraction, they convert it into an equivalent addition fact (9-5 = ? becomes ?+5 = 9) because they can just 'look those up' inside their heads that much faster.
I'd be curious about how other readers do arithmetic in their head. I was once speaking with someone, who said that they count on fingers in their head. Like my grid above, they always saw a pair of disembodied hands and they counted fingers on those as necessary. Some claim that it is essential to quit finger counting to get good at math. The good thing about doing finger counting in your head though, instead of with your hands, is that you can have more than two hands! You can store temporary results and carry values on as many hands as you need, making them, in effect, like registers on a CPU.
Admittedly, thinking about your own mental arithmetic style is just the kind of navel gazing that happens only after you stop needing to do math frequently in your head. If you're in grade school though and you really think about it (and play hopelessly nerdy games like Brain Age on the Nintendo DS I am sure you own), you can really kick some math butt.
Posted by Vishy at 11:55 AM | Comments (0)
November 09, 2006
Adobe makes huge bet on Rich Internet Applications
Adobe makes some very popular software. If Photoshop and Acrobat weren't enough, the Flash player is one of the most installed pieces of software in existence. The success of video sharing sites like YouTube is predicated on the prevalence of browser plugins from Adobe. Yet, there appears to be no imminent acquisition of Adobe by any larger software company. Like Nintendo in the gaming market, Adobe stands alone for now. As other software shops extend their reach into either the enterprise or consumer electronics, what wave will Adobe ride to stay competitive with its bulkier peers in the software industry? If its recent moves are any indication, it will be the wave of rich Internet applications (RIAs).
Recently, Adobe decided to contribute code to the Mozilla project from its ActionScript/Javascript engine, which it calls Adobe Virtual Machine 2. This newly revamped scripting engine is part of Flash Player version 9. The source code will be housed in the Mozilla code base as a separate project called Tamarin.
Rich Internet Applications today come in two flavors: Ajax-based and Flash-based. Firefox's first attempt at delivering rich Internet applications through XUL has not had sufficient adoption to be deemed successful. When the Tamarin code finally ships with the Mozilla suite of browsers in 2008, however, Firefox will effectively have native, plugin-less support for Flash applications. Firefox would then have native support for both Flash-based and Ajax-based RIAs, and thus become a vehicle of choice for delivering such applications. If Firefox adoption continues at the present rate, it will be the browser used by a significant minority of end users; indeed, if all goes well, it might even be the browser of choice for a few enterprises by 2008. Adobe's plan to cover both RIA bases is evidenced by its membership in the OpenAjax initiative.
Adobe's involvement in the ECMAScript working group and the OpenAjax initiative brings it into contact with an number of key players in the enterprise sector as well, such as Microsoft, IBM and Sun. Adobe can capitalize on these alliances to influence future Web-service standards activity and expand adoption of its client/SOA applications based on Adobe Flex. Moreover, Adobe could leverage the collaboration features built into Adobe Acrobat to enhance their platform's suitability for collaborative, document-based workflow systems in addition to RIAs.
Whereas Adobe's packaged software will continue to be a steady revenue stream, the forthcoming explosion of RIAs, especially in the enterprise, may well hold the key to its future.
Posted by Vishy at 11:56 PM | Comments (0)
November 07, 2006
XBox, a video game platform -- for videos and games
(image credit: Engadget)
This November is turning out to be a major media month for Microsoft. Today, they announced the availability of video-on-demand over their XBox Live gaming service. Starting Nov 22, customers will be able to download television and movie content from Warner, Paramount and Turner Broadcasting. Also debuting this month is Microsoft's media player Zune and its accompanying music store. Microsoft's lackluster performance in the increasingly influential arena of Web services is putting the software stalwart's feet to the fire, leaving it to examine other avenues. After the less-than-stellar performance of its media center operating system, this somewhat unexpected move is Microsoft's fresh salvo in the battle for control over the digital living room.
Earlier this year, Apple announced a device dubbed 'iTV', which would blur the line between the computer and TV by streaming Internet video into traditional home entertainment devices. Microsoft's announcement today preempts iTV by capitalizing on a foothold Microsoft already has, independent of its flagship Windows and Office products. Apple's strategy blurs the line between the computer and the TV by approaching it from the computer side. Apple's computers and devices have been increasingly resembling consumer electronics products for a while now. Fundamentally though, they have retained a relatively complex, mouse-and-keyboard driven user interface. Microsoft has upped the ante on the problem of PC-TV convergence by approaching it from the consumer electronics side. Even though Microsoft has years of expertise in traditional window-based graphical user interfaces, it has correctly picked the much simpler gaming controller as a means to bring media into the living room. This move is rather compelling from the point of view of the average consumer who is also a gamer: why go through the trouble of adding another set top box to the crowded entertainment center when one box can provide both digital video and games? Besides, what's closer to the effortless haze of channel surfing: A-B-A-A-Start or moving the mouse to a text field and typing in a search query?
This move, the first to combine video-on-demand and video games, underscores how video gaming has outgrown a small, loyal audience of consumers to become a key prong in a comprehensive media strategy. Because it is the first platform to combine video and gaming in this way, speculations on its future direction will abound. By adding video on demand capabilities to the year-old XBox, Microsoft provides a key competitive differentiator to other third-generation consoles being released this holiday season. Video-on-demand is the right add-on to the XBox because it has traditionally trounced its competitors on hardware and performance. If the video-on-demand service sees sufficient pick-up, Microsoft may further reduce the cost of the loss-leading XBox consoles and exert price pressures on its competitors. In-game advertising, which has seen but a ripple of the online advertising wave, is bound to get a fresh look from advertisers. Media houses uneasy about Apple's Disney predilection or Google's emerging dominance of advertising may be more comfortable about cutting deals with Microsoft. This platform may also be an interesting one for Yahoo! to consider, as it strives to differentiate its ad platform from Google's.
Microsoft is no doubt going to try and integrate Zune with XBox and this service in the future. Watch for the WiFi add-on to the XBox 360 become a standard feature in the console's next iteration. If only Microsoft doesn't screw up the presumed DRM scheme, the XBox could well become its next enduring vehicle for a comprehensive consumer media strategy.
Posted by Vishy at 10:10 PM | Comments (0)
October 17, 2006
The end of IT in small and medium businesses
Why do small and medium businesses (SMB) have internal IT departments anymore?
Several person-centuries spent in the iterative development of technology stacks have led to the emergence of well understood, reproducible best practices in enterprise IT. A number of hosting providers are now able to channel this expertise adroitly into building complete plug-n-play stacks and hosting them. In many cases, the business models of these managed IT stack providers have the wealth of mature open source software as their cornerstone. The collaboration of hundreds of open source developers on these projects has resulted in powerful network effects on quality and functionality. If you are in the SMB segment with a primary function other than IT, you probably just want to get connected and going. There is little competitive advantage to having an internal IT department put together a complete technology stack, against the proven work of hundreds, when the results of this work are ripe for the picking.
Reliable broadband connectivity is widespread in the North American enterprise context. A completely managed IT stack is not an outlandish proposition even for the most paranoid of SMB owners. The fine tuning of high-availability capabilities and the emergence of high quality administrative and reporting tools have assuaged many an SMB owner's worries that a hosting solution might lead to too little control. Moreover, a hosted solution might even prove to be better for a risk averse proprietor, given the recent emphasis on regulatory compliance in practically every major industry. The ease and uniformity with which it can be applied in a hosted situation as well as the spreading out of liability make hosting only more attractive. In cases where there is no getting around keeping records and IT operations on the premises, we are very near realizing the dream of trailer park computing. Providing a managed service atop these compute cubes would be an easy value add.
It is worth pointing out that large enterprises—especially those for whom IT lies in the critical revenue path—might still maintain enough of a competitive advantage using an internal IT department to justify the costs and upkeep of a homegrown stack. Businesses with large existing technology investments may already have critical business processes centered around them, which would make it harder for them to just switch to outsourced IT. Yet, as adoption of outsourced IT increases, the average total cost of ownership is sure to go down as economies of scale kick in. Then perhaps even non-SMB owners might reëvaluate their technology solutions.
Read the writing on the wall: if you are not in IT, then get out of IT.
Posted by Vishy at 11:16 PM | Comments (0)
October 10, 2006
Five myths of open source
The open source movement today is a lot more than a motley crew of hobbyists hacking in their free time. Based on the simple but rigorously applied principles of technical openness and freedom to tinker, it has become a force to reckon with even where serious money-making businesses are concerned. Major technology companies are committed to open source and are starting to build strategic and tactical business models around it.
Open source (OSS) projects have come to be identified with the values of individual freedom and democracy that arise out of leveling the playing field among users and contributors. This thinking in the geek community is rooted in two factors: a sense of relief that credible, technically sound alternatives to proprietary software are finally cropping up and an instinctive reaction to Microsoft's bullying and anti-competitive practices over the years. Although the birth and evolution of OSS projects is unequivocally a step forward for computing technology, these perceived values are not always borne out by actual experience. Enough negative experiences can alienate prospective user and contributors. Here's a list of myths about OSS projects, which, if dispelled, will help set more realistic expectations about them in prospective users and contributors:
- Myth #1: An OSS project is a democracy.
- An OSS project is not a democracy but a meritocracy. Anybody is entitled to have ideas, but is not entitled to recognition and wide adoption of those ideas. Ideas compete on their value to the influential people in a project. Successful OSS projects assess the value of an idea upon the right mix of technical and non-technical considerations, such as value to the user community. Linus Torvalds, who leads the development of the Linux kernel, has gone on record that the Linux project follows the model of a benevolent dictatorship. Although the inner circle of Linux developers (yes, there is one) makes every effort to listen to as many voices as it can, ultimately it alone makes executive decisions that influence the project.
- Myth #2: Any user of an OSS product can change its direction.
- Somewhat paradoxically, new users of an OSS project are best positioned to offer useful feedback on its biggest holes in functionality, because they haven't adapted to its idiosyncrasies. If a novice user suggests to a project that a feature is missing, however, a common retort they hear back is 'write it yourself'. It is not always practical for just anyone to write a feature themselves. The code base of a successful OSS project is often complex; it may take some time before a new user learns its internal conventions and is able to contribute working code. Sometimes they may be just offering a suggestion as a helpful user without having an interest in developing it themselves. If the requestor has enough money (say it was an organization), they may be able to hire enough labor to make their request come to fruition and contribute it back to the community. One benefit of giving a feature back to the community is that the community will often help support and maintain it. Even if an independent user effort does succeed, there is no guarantee that their feature will be merged into the principal distribution of that project (see #1 for why), which would only leave them with an additional support and maintenance burden on their hands.
- Myth #3: Contributors work on an OSS project purely on volunteered time.
- This may have been true 10 years ago, but isn't the case anymore. As commercial adoption of open source increases, key developers of several successful open source projects are on the payrolls of major corporations. These corporations have an explicit interest in making a project they sponsor succeed by entrenching it, which means that ordinary users simply cannot be ignored. The products ordinary users like best are those that get out of their way and "help them kick ass." If a user complains about some aspect of an OSS product and asks for a fix, they are frequently told that they should have no such expectation because hacker time is donated, or that nobody is forcing them to use that product. These sanctimonious and demeaning responses are incredibly off-putting and ultimately detract from the overall success of a project. Moreover, it's just not true to say that all time on an OSS project is donated; corporations that sponsor an OSS project in particular almost have an obligation to listen to what users say (also see #2).
- Myth #4: Decisions regarding an OSS project's direction are made purely on technical merit.
- Forks and other schisms in an OSS project can occur because of differences of opinion of a non-technical nature or even personality clashes. The XOrg fork of the X server from the main XFree86 project arose from disagreements over license terms. The IceWeasel fork of Firefox arose from a push to develop a purely free version, untainted by any non-free artwork or plugins. The Wine project maintains a number of concurrent versions targeted at different user bases. It is conventional wisdom that forking a project is inconvenient from a technical standpoint and frequently results in a loss of focus and direction. Sometimes, however, a decision with demonstrably lower technical merit may still win out because it is the realistic thing to do or because of popular support.
- Myth #5: The principles of open source are important to users of an OSS project.
- This may be a bitter pill to swallow for some, but it must be said out loud. Although the motivations and the initiative behind starting an OSS project may be laudable, average Joes care less about the philosophy behind a project and more about how well it works for them. OSS contributors, who frequently have an analytical bent of mind, love to argue about the correctness of their point, often to the point of acrimony. Their efforts will have been in vain, however, if their OSS product doesn't work well for their users. Functionality and correctness count for a lot more with users than infinite choice and conformance with a particular philosophy.
Posted by Vishy at 10:08 PM | Comments (0)
September 20, 2006
A saner DRM scheme: marrying the media device and the cellphone
Why doesn't anybody like DRM?
Innovations in media distribution are matched at every step by "innovations" in DRM, short for Digital Rights Management or Digital Restrictions Management, depending on whom you ask. These innovations, sometimes implemented using dangerous methods, consist of ever more draconian restrictions on how a piece of media may be consumed and shared. The media industry continues to be wilfully blind towards how broadly unpopular these restrictions are.
In addition to being rooted in a mentality that treats customers as criminals, DRM schemes are unpopular because of how unnatural they feel compared to earlier forms of media. The purchase of a videotape legally confers rights on consumers to do with it as they pleased--make copies, lend it out to friends or resell it. On the other hand, with most DRM schemes today, media distributors set limits on how customers may consume digital media. These restrictions leave customers entirely beholden to media distributors well after the original purchase transaction has concluded. The de facto effect of these encumbrances is that consumers now license digital media from distributors, like commercial software, rather than purchase it outright. This purchase-but-not-quite leaves some customers feeling cheated out of their money.
Media distributors no doubt feel threatened by how the ease of reproduction of digital media directly hits at the foundation of their earlier business models. It is hard to argue from a legal standpoint that DRM should be eliminated entirely. It is not hard to see, however, that the slew of outrageous DRM restrictions from the entertainment industry stems from a sense of denial and disorientation in a world in which new media has changed the rules of the game. Many DRM schemes today are tied to an actual digital media artifact: a digital audio file, DVD or digital video download. An artifact may be played only until a certain date or only a certain number of times. Other DRM schemes tie media to the device that plays them. This kind of scheme makes it hard to share an artifact illicitly, but also gets in the way of customers who legitimately want to play an artifact on multiple devices they own.
It would be logical and consistent with earlier forms of media consumption to tie digital rights to a person rather than to an artifact or device. The rights to play an artifact are conferred on the owner of the artifact, and are fundamentally separate from the artifact itself and its medium of consumption. Any sane DRM scheme that won't end up imposing inordinate restrictions on its consumers must adhere to this principle.
One possible DRM scheme that fits the bill might be based on biometric data. Every media player might have a fingerprint reader to validate someone's identity before they play an artifact. Such a scheme would be terribly complicated because such biometric information would have to be programmed ahead of time into an artifact or a media player. Moreover, not everybody is going to be thrilled about handing fundamental, impossible-to-change biometric information like fingerprints or eyeball scans over to media distributors or media player manufacturers; the risk of a leak and subsequent abuse is simply too high. Ignoring the complications though, from the customer's point of view, this scheme would get a lot more right than Microsoft decreeing that a video may only be played thrice. For inspiration on how a similar, less complicated DRM scheme might work, we need look no further than everyone's humble companion: the cellphone.
A cellphone's SIM card effectively acts as a lightweight proxy for its owner's identity. Media players could be designed to accept a DRIM card, the digital rights equivalent of a SIM card. Much like SIM cards store their owner's contacts, DRIM cards stores rights pertaining to media artifacts. Media artifacts may reside separately on a media player's storage device but won't play unless there is a right for that artifact in the device's DRIM card. Rights on a DRIM would be truly offline. Unlike a SIM, a DRIM should not be required to contact the media distributor in any way before a media artifact is played. Rights stored on the DRIM should be mere tokens, which can be transferred as required.
It is easy to see how this system would be less infuriating than existing DRM schemes. You could play your media artifacts on any device you own by using your DRIM card in them. You could make as many copies of a media artifact as you want for backup purposes because no copying restrictions are 'baked into' the artifact. You could lend the artifact to a friend by copying it over to their device and then beaming its rights from your DRIM to thers, like some phones let you send your contacts to others via SMS. You could limit the term of the loan by specifying that such a rights transfer expire after some time. If you wish to resell a media artifact instead, you could have the new owner copy it from your device; they could then pay you to beam them a non-expiring rights transfer.
With its similarities to cellphones and SIM cards, mobile carriers surely have the know-how to implement a DRIM scheme to share media among mobile phones. With the growing buzz around mobile media, mobile payments and other mobile applications, mobile carriers might want think of how they can enter the value chain in this lucrative market. If mobile and media player manufacturers collaborate on a DRIM standard, we will be closer to a world where the power equation between a media distributor and a customer achieves some more balance. There is already a way; now all that's missing is the will.
Posted by Vishy at 10:55 PM | Comments (0)
September 14, 2006
Sun hires JRuby developers and wakes up to enterprise realities
Sun recently announced that they hired the chief developers of JRuby, a port of the Ruby programming language to the Java virtual machine. If this overture of Sun towards a non-Java language is any indication of future developments, backers of enterprise Java should be mighty pleased.
One of the things that has bothered me for a while about Java's platform philosophy is its dogma about everything being written in Java. Platforms in an enterprise setting tend to be heterogenous for a number of reasons. In a typical enterprise, where a variety of programming and scripting languages glue systems together into a cogent platform, Sun's official insistence on all-Java-or-nothing seems unrealistic at best and unnatural at worst.
Enterprise customers who wish to switch to a fully functional Java platform have two options: wait for Sun and the Java open source community to release Java libraries that do what you you need, or rewrite significant amounts of functionality in Java themselves, possibly mixing in several direct non-Java dependencies along the way to save time. The first option may be subject to Sun's exasperatingly slow Java Community Process. The second option negates the whole point of switching to a Java platform. To Java's credit, a significant amount of functionality available prior to its advent has already been ported to pure Java. But ask any software engineer and they'll tell you that Java isn't the best language for everything. A policy that officially supports only Java on the Java virtual machine ignores the reality of an enterprise—the mind-boggling heterogeneity in the kinds of technical tasks that need to be accomplished.
Microsoft .NET adopts a more pluralistic approach to languages on its platform. So long as someone makes the effort to write a platform-compliant compiler for a programming language, most of the existing libraries in that programming language can be adopted without too much effort. Writing a good compiler is harder than writing just any library, but the effort pays off immensely with regard to code reusability. More importantly, it is still less work than rewriting everything known to the industry in one language. Today, Microsoft .NET counts among its supported languages a systems programming language (C++), an object-oriented language (C#), a scripting language (IronPython), a functional language (F#) and even a dying language (COBOL). By embracing such a myriad of programming styles and languages, Microsoft .NET's approach reflects the reality of an enterprise better than a monolingual one.
If Sun has hired the JRuby developers because it has learned from Microsoft .NET's approach to programming languages, they are undoubtedly taking a step in the right direction. Before someone points out that I am ignoring Jython, a perfectly robust port of Python to the Java virtual machine, let me point out that Jython was never officially blessed by Sun. And we all know where Jim Hugunin, the creator of Jython, went. The Java platform could gain many more converts if it doesn't impose a reinvent-the-wheel-in-Java requirement. For this to happen, Sun could start out by officially bringing Ruby into the Java fold, along with other languages as time goes on. They could also (genuinely) open source Java platform specifications and let the open source community decide which languages get co-opted, as a recognition of its tireless efforts.
Here's to more announcements like this from Sun!
Posted by Vishy at 08:40 PM | Comments (0)
September 13, 2006
While you're shopping for that display, throw in some RAM too
Paul Boutin recently wrote a piece on Slate about how the best computer upgrade these days is a bigger display rather than a faster computer. While I agree with him, I think adding more memory to your computer might be an equally worthy contender for 'best computer upgrade'.
Setting aside the demanding gaming segment, personal computers, fueled by the gigahertz myth, have long been way more powerful than they need to be for basic tasks like Web browsing, checking email and light word processing. Boutin points out that switching around a set of related applications silently soaks up far more time than we realize. He claims noticeable gains in productivity after he switched to a higher display because he can now view the applications he reads with and writes with simultaneously. Boutin's arguments make a lot of sense, but are a little journalist-centric. Most other people use more than two applications at a time: one or more browser windows, an instant messenger, a media player and other applications as needed, such as a video editor or a spreadsheet. For example, a financial services professional may cycle through Microsoft Excel, Microsoft Outlook, a trading application and a Bloomberg news terminal. A software developer may cycle through a browser, Microsoft Outlook, an IDE and the application being developed. These are just two examples, but typical office or home tasks involve more than just two applications at a time.
With limited screen real estate and multiple open applications, a computer with say, Windows XP's supported minimum memory—64MB of RAM, slows to a drag because applications not being used actively get paged out to disk. Switching among a set of applications gets painful as portions of windows take forever to be read back from disk, be redrawn and be usable. Adding more memory to your system can bring about amazing increases in performance. To be sure, there is a limit beyond which adding more memory yields diminishing returns. Continuing to add more RAM is hardly a bad idea because with enough RAM, there may be no need to swap applications out to disk at all. Rather than agonizing over what exactly the sweet spot, if you're in the market for an large display anyway, just drop another $150 on a gigabyte of RAM. It is at least four times as cheap as a 24+" LCD display and offers quite a performance boost, especially if you use more than two applications at a time.
The problem with this advice is that adding RAM to a computer is not always as straightforward as hooking up a computer to a larger display. In the case of many PCs, it involves peeking under the hood and figuring out where to install RAM modules, but only after reading through several ominous warnings to ground yourself before handling them. My most painless memory upgrade experience (see page 79) has been with my MacBook: remove battery, pop out old modules, insert new ones, replace battery. The slightly more involved process of adding RAM to most computers means less people will be willing to try it, which is really a shame. I am sure most people will wise up to the benefits of added RAM once it becomes easier to augment a computer's memory. Windows Vista has a distinctive new feature called ReadyBoost™, which enables users to expand a system's available memory simply by sticking a memory key into its USB port. Once features like these become more commonplace, memory issues are bound to (*cough*) become a distant memory. Anyone who is particular about how much memory they will need could simply carry their own around. Internet cafés may just start putting up 'BYOB, BYOM' signs.
Oh, and don't forget to enjoy that new display also!
Posted by Vishy at 11:38 PM | Comments (0)
September 11, 2006
Video on demand: perspectives and opportunities
Video on demand has seen a bit of action lately as broadband penetration continues to increase and old media roll out business models that take new realities into account. There is no dearth of players in the field, be they large companies or small, young companies or old. Sometimes, the players are not even those that one would expect. It is clear that this sector is quite immature and that early movers can do a lot to shape it in their image and grab a big slice of a multi-billion dollar market. This post will provide an overview of recent developments in video on demand (particularly in TV over IP), identify opportunities and speculate on future directions.
Video on demand players such as YouTube and Google Video are reaching stratospheric levels of user activity. When a startup that is little more than Flickr for video is valued at 600 million, it is safe to say that video on demand is hot. If the last presidential elections in the United States were powered by blogs, this one might well be powered by YouTube. At the moment, both these services are clearly in high demand, but they are both driven by a new media approach. Their continued success may well depend on how they integrate with other shades in the consumer media spectrum.
Integration with other types of media is what pre-Web 2.0 technology players in concert with old media can offer. Last week Amazon introduced Unbox, a movie and TV episode download service. The $9.99 movies and $1.99 TV episodes are owned by several traditional media houses. All videos come encoded with a Windows-only digital rights management system. Amazon is the least experienced player in this field and it almost seems they released a movie download service right now just to throw their hat into the ring and to steal some of Apple's thunder in the process. Apple, however, has always pulled off its media plays with remarkable finesse and timing. Their announcement of a movie download service and video-related enhancements to the iPod product line comes at a time when demand for consumer video is at a point of inflexion. The video iPod has enough of an installed base now that having the option of downloading movies from iTunes to them seems like a natural progression from downloading music and TV shows. Another key announcement among Apple's latest product releases is the one about a forthcoming set top box that will act as a media hub. This long awaited wireless device might well mark the convergence of PC and TV, a goal other players have tried to attain and failed.
Now for the more surprising aspects of this space. Netflix pioneered online video rentals and it was widely expected that it would tie up with somebody like TiVo to offer on-demand movie downloads to DVRs. For lack of will or execution, this partnership never materialized, and two companies that might have been uniquely positioned to move ahead of big players like Apple, Google and Microsoft just never capitalized on their advantages. As DVRs and movies on demand continue to be increasingly commoditized by basic cable providers, TiVo has probably lost the optimal window in which it could best reap the benefits of a collaboration with an online movie rental provider. Another surprise entrant in the video-on-demand arena is AT&T, with its Broadband TV service. Subscribers to this service can watch approximately 20 channels within the comfort of their browser. This service may not take off very well though because people want to watch TV content on a television rather than on a PC. Unless there is some way for downloaded content to be streamed to other media devices, AT&T's TV may well be just turn out to be the stunted arm in a triple-play offering. Another product line to watch is Microsoft's beachhead in the personal media space via its Zune media player. Although Microsoft is by no means early to the video on demand game, its existing relationships with content providers, relatively established content verticals and virtually limitless budget might portend a video on demand strategy that cannot be instantly dismissed.
In the context of cross-device integration, video on demand players might do well to evaluate their offerings with respect to the mobile and automotive segments as well. Media devices such as the PSP, mylo and iPods will continue to make steady inroads into the personal electronics segment. More and more cars come equipped with in-cabin video these days; having a plan to capture this portion of the market might yield large payoffs. Having coherent and interoperable Internet, mobile and automotive strategies might well prove to be the triple play of online video. The appointment of Google's Eric Schmidt to Apple's board might open up interesting ways in which the two companies can collaborate over video on demand. Even if Google's nationwide WiFi doesn't take off as expected, Google and Apple might be able to work out what to do with all the dark fiber the former has bought up.
Over all this potential for innovation hangs the specter of old media companies imposing excessively rigid digital rights restrictions on their content. Even after the realignment and introspection that old media is going through in response to challenges posed by new media, it is easy for them to revert to their content-is-king credo once video on demand has taken root sufficiently. One can only hope that their experiences collaborating with new media and technology players over video on demand will teach them that content alone is worthless without a good business model to accompany it.
| Strengths | Weaknesses |
|---|---|
| The increasing penetration of broadband and the coming of age of delivery technologies means video on demand is poised to take off. | Video on demand won't supplant existing delivery methods and become indispensable to consumers until they have the flexibility to stream content from and play content on any device they own. |
| Opportunities | Threats |
| The precise shape of a video on demand offering is still open to definition, and moving fast can still help shape the sector significantly. | Old media can stunt innovation in business models and delivery methods by drawing the old content-is-king canard. They can get away with it too because intellectual property laws currently work in their favor. If they don't adapt to the new ways of consuming content, they risk alienating users and failing to attain critical mass on their new media initiatives. |
Posted by Vishy at 12:24 AM | Comments (0)
September 01, 2006
Is platform heterogeneity in the enterprise inevitable?
Many small to midsize enterprises tend to be pragmatic about their choice of technology platform. Such enterprises would see no harm in operating on a single platform, such as Linux or Windows, so long as all its components work. Such an enterprise is willing to tolerate less than "best of breed" components so long as they all blend into a cohesive technology solution that satisfies its needs.Then there are other enterprises who are determined to use only those components, which, by some measure of goodness, have surpassed all others in their class. These enterprises are willing to stitch a platform together from these components themselves, even if it means that it will be heterogeneous and more complex to manage. Platform heterogeneity is unavoidable given the present enterprise software environment, so long as such enterprises exist. We will identify a few factors, which, when resolved, might enable one platform to claim the entire enterprise market for itself. We will also see why vibrant open-source communities are key to reducing the complexities associated with platform heterogeneity.
The second kind of enterprises identified above (let's call them "best-of-breed-only"--BOBO, for short) seem to accept platform heterogeneity as a fact of life. Unsurprisingly, these enterprises have significant technology investments and large internal development teams to support their internal IT operations. Year after year, major technology stack providers vie for their hearts and minds by commissioning industry analyst firms to conduct ROI/TCO studies that case their own offering in a better light.
Typically, one finds that BOBO enterprises choose Java on the server side and Windows/Microsoft .NET on the client side. Java, having been around twice as long as Microsoft .NET, offers a compelling server platform with a flourishing open source community around it. In many cases, the open source community brings to the table significant design experience and maturity arising from language traditions that predate Java. This development heritage has led to a superior set of administration and management tools that can be combined in new and interesting ways to provide the data administrators need. Moreover, a significant number of infrastructure and middleware players have thrown in their lot with Java, resulting in, for instance, multiple viable implementations of the Java virtual machine standard.
Microsoft .NET may not have as vibrant an open source community around it as Java, but it has a stranglehold on the client that is only cemented by vendors like Infragistics Inc., who produce professional-looking user interface controls around the basic windowing toolkit. The narrowly defined user interface standards of the Windows platform ultimately lead to a more predictable look-and-feel for end-users, thus making Microsoft .NET the best-of-breed client platform. The Windows/Microsoft .NET platform is also preferred by end-users because it can best emulate the look and feel of familiar Microsoft Office applications. Java rich client applications, in contrast, continue to look out of place amid other applications that share the desktop with them. However, because user expectations for Web interfaces are more flexible, Java continues to show considerable promise as a Web-based client platform. A definitive victory for Java Web client frameworks like Seam is not in sight though, because Microsoft .NET's ASP.NET Web development platform also offers a compelling platform on which software developers can be highly productive.
Java has arguably less of an uphill task than Microsoft .NET in taking over the entire enterprise segment. Its major areas of improvement are clearly seen to lie on the client side. Because of early positioning and quality control mistakes from Sun, Java has acquired a reputation of awkwardness on the client that has become hard to shake off. However, open source initiatives like the Apache Foundation have captured the talent, the momentum and the mindshare to produce a compelling, pure-Java client side solution if they only look beyond producing the next application server framework that conforms to some more JSRs. In other words, just because new projects keep satisfying some Java community-defined notion of cool doesn't mean they are always appropriate in an enterprise setting. This sort of "server-is-king" attitude is a holdover from an ancient mentality that treats the client and presentation layer as an afterthought once the core engine has been built. This attitude is outdated today, in an environment where it is necessary to access server-side business logic from disparate kinds of clients, including rich client and mobile profiles. Java's insistence on write-once-run-everywhere to the fullest extent possible might well prove to be its undoing in this regard, because writing versatile client frameworks requires a flexibility server-only engineers can afford not to have.
If Microsoft .NET's aim is to have the enterprise segment in its back pocket, there needs to be a much better sense of community and ownership around the platform. Microsoft is doing nothing to prevent the death of major open-source .NET projects like NDoc. If anything, it releases products that supplant these projects, such as Sandcastle in the case of NDoc. However, the blame for this state of affairs does not lie solely with Microsoft. Once Microsoft releases a competing implementation, community members consider their efforts necessarily nullified, a practice that does not bode well for the health of the platform. Open source projects on the Microsoft .NET platform must have a life of their own, independent of Microsoft's efforts, rather than being stop-gap efforts until an officially sanctioned product that supplants them comes along. Understandably, developers are wary of the Microsoft juggernaut's track record of entering a domain and instantly quenching all its competition. However, if the records of major .NET open source projects like Mono are to be believed, Microsoft's Developer Division, the division behind Microsoft .NET, has been remarkably open about and supportive of Microsoft .NET development originating outside Microsoft. It is, at least to some extent, the responsibility of the .NET open source community to consider accepting this hand of friendship, even if cautiously at first.
Then again, there may be those in the open-source community that won't have anything to do with Microsoft because "strong-arming is in Microsoft's DNA". For those incorrigible developers, there is the flourishing Mono project, which brings Microsoft .NET bindings to Linux. Currently, its focus is to provide a broad set of development stacks centered around the Common Language Runtime standard. As such, it is concentrating more on breadth of functionality rather than aggressive performance optimizations. If an aggressive corporate backer throws in its lot with Mono, as IBM once did with Java, it can work wonders for the entire Microsoft .NET development community. Microsoft would be forced to fine tune its own runtime, which is not aggressively optimized in all cases. The momentum gained from such aggressive optimization could infect the rest of the open-source community, thus spurring it on to developing a compelling administrative and management toolset itself, rather than relying on Microsoft to do so.
Platform heterogeneity may have its benefits, chiefly of not having to put all of one's eggs in one basket. However, it racks up significant technology and human costs and is necessarily more complex to manage. The custom platforms of many BOBO enterprises, for most of whom IT is not a core line of business, prevent them from simply outsourcing their IT function to completely managed hosting providers. The key to reducing platform heterogeneity lies in creating vibrant open-source communities around existing enterprise platforms, each with an objective to fix that platform's shortcomings. These open-source communities would no doubt compete for mindshare, but would also learn from each other and ultimately render platform heterogeneity less inevitable and technology costs more manageable.
[Update: For the sake of completeness, I should mention another category of firms, who, being afflicted with NIH syndrome, conclude that nothing out there is good enough and simply develop their entire technology stack from scratch. This harks back to the days when firms would write their own database systems and have programmers code up queries for each kind of report they wanted. Thankfully, due to the maturity of both commercial and open source software, not too many companies think this way anymore. Today even business analysts with a decent knowledge of SQL can define queries for reports. The firms in this category are mostly ISVs and other technology-heavy outfits that already have a significant investment in technology. It is difficult to call their platforms homogenuous or heterogenous, but it does add complexity simply because very few people know their proprietary systems.]
Posted by Vishy at 07:48 PM | Comments (0)
August 31, 2006
What will the culture of the 2000s be remembered for?
I don't delude myself about my ability in cultural commentary, but it recently occurred to me that the present decade will probably not have a characteristic culture associated with it.
Each decade in recent memory has had something by which history will remember it. The 60's had free love and Vietnam, the 70's disco and funky hairdos, the 80's--well, ahem--MTV and the classic Mac, and the 90's, (uh... hmm... let's see...) the dot com boom and Monica Lewinsky. Perhaps this is a good time to read "New Kids on the Block", an exercise in armchair sociology whose conceptual framework I will borrow generously from--although I don't agree one bit with its conclusions--for the rest of this essay (take your time, I will wait). The 'naughty aughties', the name some give to the decade starting in 2001, is well past its halfway mark and the only things it has so far are the 9/11 attacks and various manifestations of the global war on terror--hardly something to give future generations the warm fuzzies.
Maybe I just can't think of something because I am living in this decade and I am too close to it. But even after setting aside every generation's usual neuroses about whether it will be remembered at all, and whether its life is not the most decadent and pointless, I believe there are a few good reasons 00's will not have a distinctive culture associated with them like the preceding decades.
It may seem that I am about to contradict what I just said, but I think more than anything else, the 00's is a decade of two things: irony and nostalgia. The 18-45 age bracket tends to set the de facto cultural tone of any given era because it produces and consumes media the most. This culturally significant bracket is largely occupied today by two generations: Generation X and the so-called millennial generation. Generation Xers like irony and the millennials like nostalgia.
Generation X's preference for irony is rooted in their characteristic pragmatic outlook, shaped to some degree as a reaction to baby boomer idealism. Satirical news shows like The Daily Show enjoy raging popularity, with a remarkably large percentage of the population tuning in to them for its regular news diet. Contrarian and somewhat counter-cultural periodicals like The Onion and Slate make telling statements about our time precisely because they highlight its virtues and follies by depicting their opposites.
The millennial generation, on the other hand is defined by the highly programmed lives its members lead, and their almost unquestioning worship of parents, teachers and other authority figures. This admiration manifests itself as nostalgia for the life and times of their boomer parents. The millennial generation frequents 50's-themed diners, 60's-themed bars and 70's-themed clubs, but has not yet been able to explicate any themes characteristic of its own decade. The millennials are a generation that remembers rather than sets its own tone. And as one cultural pundit pithily put it, you can't be remembered for remembering.
Notice how it got harder for me to come up with something that defined later decades relative to the earlier ones? It's not incidental. There won't be one major culture associated with this decade simply because there isn't one standard culture in the mainstream media anymore. Advances in media technologies have resulted in highly customizable content that has fragmented media consumers into several highly specific cliques. It is a lot more difficult for a few media to set the tone of a decade when dozens of underground subcultures nibble away at their spheres of influence. To use a culturally relevant buzzword, we live in decidedly long tail times, where we can infinitely customize our media experience. Unlike a teenager coming of age in the 1980's, a teenager who would come of age in the 2030's has the luxury of looking back at hip hop culture, Latino culture and Asian culture in addition to the white American culture of the past generation. It is culturally empowering and enriching to have more than one mainstream culture to turn to when finding oneself, but it also makes it harder to pick cultural archetypes for a time.
There's nothing wrong with living in a decade defined by irony, nostalgia and a fragmented media. In fact, it is quite a lot of fun nostalgically recreating the lives of previous generations while, ironically enough, not having to face their challenges. The only problem with irony and nostalgia is that they need something else in terms of which they are defined, such as the living conditions of earlier generations. This dependence on something else renders them quite unsuitable for being the pillars of aughties culture.
I want my generation to be distinctly remembered somehow though, so I hope for my own sake that I am wrong about the above. I hope that the generations of this decade will somehow combine their panache for infinite customization with their wallowing in irony and nostalgia to create a way of being remembered by future generations. After all, the more things change, the more they remain the same.
Posted by Vishy at 10:57 PM | Comments (0)
August 26, 2006
Five things that bug me about a Mac
PCs are not pretty. As if their clunky exteriors are not enough, they run Windows. Yet, I used them exclusively for my home computing needs for over 12 years.This changed recently when I finally sipped the Kool-Aid and got a Mac. Let me be clear that I have been really happy with my purchase. That still does not put the Mac above criticism for some things it could do better. Here is a list of things a former Windows user (who is something of a control freak when it comes to computers) coming to a Mac wishes it would do better:
- Quit applications. In Windows, if I close all windows of an application, I quit it, generally speaking. On a Mac, however, even after I close all Firefox windows (say), it sits around consuming system resources. If I switch to another application after closing all my Firefox windows, there is no way for me to tell that Firefox is still running, save for the little triangle under the Firefox dock icon. Can't I just close all the windows of an application and forget about it?
- Navigate among windows. Don't take my Alt-Tab away! Apple-Tab on the Mac only switches between applications, not individual windows of the same application. For the latter, I have to use the decidedly clunky Apple-`. Can't I just have one way to flip through all my open windows?
- Show meaningful context menus. I know this is a common peeve, so I won't dwell on it. It's not that I mind that there's only one mouse button. It's just that one of the handiest features of Windows is right-clicking on an object and finding out what you can do with it. On a Mac, no matter what icon I click on, I get the same context menu and I am none the wiser about what I can do with it. How about something handy, like Send To on Windows context menus?
- Kill a misbehaving application. The only way seems to be by choosing Force Quit from the context menu of a window's icon in the dock. But wait -- what happens if an application has no windows (see #1)? I have to open up a Terminal window and grep for the process ID from a ps listing because there is no graphical task manager like in Windows. It's not a big problem for me, but what about grandma who bought a Mac because you told her it just works?
- Be more keyboard friendly. I am a keyboard czar -- I pick up the keyboard shortcuts of a Windows application quickly and try to use them as much as possible. When I use the same applications on a Mac though, they simply don't have as rich a keyboard-centric user interface. For example, before I send off a Word document to the printer, I hit Ctrl+F2 to see a print preview. What's the keyboard shortcut for Print Preview on Word 2004 for Mac? Zilch. Zip. Nada. To be fair, this is more an application writer's problem than the Mac's, but it still bugs me. Oh, and while we are on the subject of keyboard friendliness, how about replacing a rarely used key (anyone know the Mac equivalent of SysReq?) with a Delete key? No I don't mean the existing delete key, which does the same thing as the windows Backspace key. I want something that behaves like the Windows Delete key.
In due course I'll get over these annoyances and actually begin to grok the Mac Kool-Aid. Then I can go around looking like the unshaven, hoodie-wearing, hands-in-pockets hipster from the Mac ads. But while I am not over these yet, why not write about them using a Mac?
Posted by Vishy at 03:11 PM | Comments (28)
August 09, 2006
The success of Sony's mylo: A Gordian knot
Sony recently announced the imminent release of mylo, a $350 personal communicator that supports WiFi, Skype, instant messaging and MP3s. This device is unique in many respects, but it may doom itself by being a little ahead of its time.mylo is the killer app of VoIP and WiFi -- the first device that truly unifies voice and data communication. Earlier devices have taken a shot at this goal, but have been stunted by the antics of slow-moving telecom carriers, who want to preserve the status quo. The mylo is different from a PDA because of its much improved communications capabilities. mylo has a full QWERTY keyboard, which differentiates it from Sony's PSP game console. Together with Google's much-touted WiFi service and VoIP-enabled applications such as Google Talk, it may well be the Mobile Skype Cable that challenges the stranglehold of traditional wireless telecom providers on the airwaves.
Although the prospect of a WiFi-enabled personal mobile communicator sounds great, Sony has bet the success of mylo upon WiFi, whose own success has yet to be proven. Freely available WiFi is far from being universal. The lack of ubiquitous free WiFi outside public access areas like college campuses would stunt mylo's voice and IM communication features. Think of all the stories about abysmal cellular phone network coverage you've heard and magnify them a few times to get an idea of the situation. Until ubiquitous WiFi becomes a reality, mylo would be reduced to an expensive MP3 player.
This device is different from Sony's previous forays into personal electronics. It's almost as if the Vaio and PSP teams produced this device after a night of passion. The closest device that comes to mind is Sharp's Sidekick, marketed heavily by wireless carrier T-Mobile. The Sidekick too has a QWERTY keyboard and IM integration.It has a 2.6-inch screen form factor as against mylo's 2.4 inches. It may not support Skype but it has a camera instead. Nonetheless, mylo would beat the Sidekick for the average consumer because it is not tied to a carrier.
Sony's announcement raises a number of questions. Will mylo influence the PSP product line at all? Why is Sony entering the market of general-purpose personal electronics? It may be trying to differentiate itself from Nintendo, its closest competitor in personal electronic devices. Or perhaps it may be positioning itself to capture the detritus left behind by the peaking of the iPod--folks for whom a glorified hard drive with a video screen just doesn't cut it anymore.
If Sony's track record alone were any indication, it can sabotage the success of mylo in many ways. It can exercise proprietary control over technical aspects of the device and stunt its blossoming as a platform. It can try and pull off something as dastardly as the rootkit fiasco from last year. Or it can overprice a device that without WiFi would be a fancy MP3 player. Unless price cuts come soon for this device, lukewarm sales early on can cast a shadow over its future success, just as in the case of N-Gage. The big Internet companies, Google, Yahoo and Ebay, stand to profit considerably from usage of their mobile services on this device. Perhaps they can come to Sony's aid somehow and cut the Gordian knot that will make a seriously cool device like the mylo a success.
Posted by Vishy at 07:33 PM | Comments (1)
July 13, 2006
Dynamic languages in the finance industry
Lisp, the ancient patriarch of computer languages, is derided as much in industrial circles as it is revered in academia. "What good is Lisp when you can't design real production systems with it?", its detractors have asked for a number of years. For all these years—multiple generations in the accelerated timescales of technology—such derision was hard to counter. Lisp and related languages were respected for the way in which they molded the thought processes of young computer scientists, but not for much else. And yet, now, if you look in the right places, Lisp and other languages that owe an intellectual debt to the Lisp programming environment are making a comeback. Recognized names in industry now employ functional and dynamically typed languages, including Python, Ruby, OCaml and Lisp itself as cornerstones of their operations. The financial services industry, one of the powerhouses of the modern economy, stands to profit immensely from this trend in particular. Let us see why functional and dynamically typed languages and the financial services industry can be such a great match for each other.
Before we proceed, there is a technical distinction to be made between functional languages and dynamically typed languages. Functional languages are exponents of a style of programming that considers any computer program as a function mapping input values to output values. On the other hand, dynamically typed languages, also known as dynamic languages, treat program objects differently in different execution contexts rather than requiring them to identify their type at compile time. Typically, dynamic languages erase the distinction between compile time and runtime because their compiler and runtime can be invoked in one go. The dynamic languages referred to above as being in vogue also support functional programming. Keeping this in mind, in the context of this essay only, we will use these terms interchangeably.
Computer applications in the financial services industry can be classified broadly into modeling, reporting and transaction-executing applications. Consider applications that model financial instruments and price them for the open market. Aside from sundry trading of stocks, bonds and other financial instruments, financial services firms profit by inventing new kinds of securities in-house and building armies of financial services experts around them. Once a new security starts trading in the open market, the technical infrastructure to model and price it also follows close behind. Currently, a financial services professional (FSP) must explain the financial concepts underpinning a new type of security to an applications programmer. The application programmer then produces an application that is aware of this new type of security by modeling it in object-oriented languages like C++, Java or C#. Building a compile-time type scaffolding around a new conceptual domain is not a trivial task. Most of the time, the sole purpose of such work is to pacify the compiler and has nothing to do with the conceptual domain of financial instruments.
Dynamic languages forgo strict compile time checking and view an object's type more as the set of operations it can perform rather than an inherent property of the object. Ruby, for instance, calls its dynamic typing 'duck typing', which comes from the adage 'If it quacks like a duck, it is a duck.' In other words, an object need only perform the operations characteristic of a type to qualify as an instance of that type. This feature turns out to be unusually handy in the financial services world. When modeling and pricing a complex security like an option on an option on a swap or a collateralized debt obligation (CDO) backed by another (also known as a "CDO-squared"), it's more important to know what behavior that security is capable of rather than ascribing it a meaningful type ahead of time. For example, the same set of operations apply to disparate kinds of derivative securities, regardless of whether they are based on an actual asset or another derivative. Correspondingly, in an object model representing these derivatives, it is more important to be able to put them in a collection and apply the same operation to them rather than care about the specific security from which they derive their value. A statically typed environment with compile time checks turns out to be more an encumbrance than a boon in such a situation. This is exactly where dynamic languages step in. They get out of the way of application developers by freeing them of strictly technical type-related concerns. Thus, they reduce the amount of work that goes into modeling a new financial product and save valuable application development time.
In fact, with the right choice of dynamic language, the line between FSPs and application programmers can be blurred, which brings us to the second benefit of dynamic programming languages to the financial industry. Time is easily the most valuable commodity in the financial services industry. For a company in this industry, a faster development cycle for financial computer applications could mean stealing that edge over its competitors in a hotly contested marketplace, where secrets don't stay secret for very long. The effort involved in developing financial software is split in a dichotomy between FSPs and technical-minded application programmers. Inevitable misunderstandings of requirements, along with other communication-related overhead, can quickly eat up valuable time in development cycles. Most dynamic languages today provide highly integrated development and execution environments, where it is possible to freeze the execution of a production application, introspect objects and their behaviors, and make changes to the system even as it is running. Back-and-forth communication between business units and application programmers can thus be greatly reduced. Additionally, today's dynamic languages are far easier to embed in larger applications than their statically typed counterparts. By using them, the application programmer can furnish the FSP with building blocks that let them program in a mini-language of their own. The FSPs do what they know best: modeling financial instruments; application programmers also sidestep any possibility of miscommunication by also doing what they know best: building good layers of abstraction.
Let us build upon the idea of abstraction a bit further to arrive at the third advantage of dynamic languages. An abstraction layer, it bears repeating, is a very powerful concept. For evidence of this claim, look no further than the copy of Microsoft Excel running on an FSP's desktop. Sometimes, the entire business of a financial services firm hinges upon Microsoft Excel. FSPs use Excel in a big way to get things done because they tell it what quantities they want it to calculate rather than how it should calculate them. This style of programming, called "declarative" programming, as opposed to the "procedural" variety application programmers are intimate with, is powerful because it operates at a higher level. It allows its users to ignore the details that don't ultimately matter. Functional languages are excellent at modeling an operation as a sequence of logical steps, where each step can be seen as transforming its input in some way before passing it along to its successor. Programs written in functional languages can inspect their own structure, modify it and generate other programs with astonishing ease. Imagine a "program of programs", a toolbox that contains other little programs to perform different kinds of operations. An FSP can model a workflow in this program of programs by dragging and dropping boxes, connecting them with arrows and defining how information flows across the boxes. Application programmers using visual development environments such as Visual Studio do this already when developing graphical user interfaces. The possibilities are essentially infinite if a high-level modeling approach such as this was adopted by FSPs by harnessing the power of functional languages.
Functional and dynamic languages are not appropriate for every kind of financial application. In cases such as trade engines, where raw performance is paramount, there is no substitute for the nose-to-the-ground approach of highly optimized programs written in traditional programming languages. Some firms may also be squeamish on multiple counts about using dynamic languages because most of them are open-source and don't have large corporations backing them. Yet, it is no coincidence that hedge funds and other financial services firms of the nimbler variety have built entire businesses around dynamic languages. It is ultimately poetic that the programming languages so well suited to an industry as dynamic as the financial services industry are also called dynamic languages.
Posted by Vishy at 10:49 PM | Comments (5)
July 08, 2006
Google's future lies in its enterprise play
It has almost become too predictable. Every few months the traditional media and the blogosphere fall all over themselves trying to analyze the impact of the newest Web service to stream out of the Googleplex. Arguments, conversations and rebuttals rage for weeks around what else might be under drapes inside the sleek technology execution machine that is Google. Google's present success and future potential are widely acclaimed because of its impressive track record, the caliber of its employees and the quality and speed of its execution. It is clear that Google has changed the rules of the game in Internet business. Right from the inception of a new toy by Google—sometimes when it has just barely been released into the Google Labs playpen—speculation abounds on how it will revolutionize the market. However, the facts don't always bear out all the speculation. Apart from its core business, search, Google has made little headway in getting users to adopt its other services. With the induction of each new service, typically free of charge, into Google's portfolio, investors worry about how it will actually make money for Google. There is plenty of money to be made for sure if Google would only reexamine its strategies and wipe the dust off one: its enterprise play.
Corporate intranets and internal messaging systems for easier collaboration are no longer a rarity among medium-sized to large enterprises. Having said that, not all business processes within a company are automated yet. Consider the finance industry. There are a number of process inefficiencies such as manual verification and other labor-intensive checks surrounding the sale of practically any financial instrument. Due to the diligent access hygiene imposed by a number of regulatory requirements, several of these labor intensive steps are now done using electronic means. What used to generate a paper trail now generates an electronic trail of documents. Whether or not industry regulations require them, complex workflows and document management systems are gaining traction in other industries as well, notably healthcare. As the number of electronic documents floating around increases, so does the need to find them and organize them. Google has had a search appliance that solves exactly this problem. As physical processes increasingly get converted to their electronic equivalents, the information associated with them, which has remained 'dark' and unsearchable before, becomes searchable—analogous to the 'light matter' that makes up the visible Universe. The so-called dark Webs inside corporate firewalls continue to lighten. Google can focus a bit more on its enterprise offerings to capitalize upon this wave of change. To their credit, they have shown signs of noticing this swath of uncharted intranet territory by partnering with a number of organizations over a set of tools dubbed Google OneBox for Enterprise.
Google must also seek to expand another crucial arm of its enterprise play: mobile. Information workers are increasingly expected to have access to information while on the go. Currently, Google's mobile offerings outside the consumer space have been minimal. Consumers may not always choose the most Internet-enabled mobile devices for their personal use, but would use a highly Internet-enabled mobile device, such as a BlackBerry, if required to do so by their employer. This captive audience of users with powerful mobile devices is more than just a fertile testing ground for new Google mobile products that will later be targeted at consumers. Providing a viable mobile search solution that integrates well with that organization's search appliance would make Google's value proposition a lot more compelling.
We have so far considered only Google's existing offerings in the enterprise space; consider what new plays Google could make in this area. Google has its fingers on the collective pulse of the search habits of millions of users around the world. Let us suppose that one day it decided to mine all submitted queries that return less than a hundred results. During the course of this analysis, it is discovered that the phrases [walmart] and [health insurance] keep occurring together, although WalMart is not in the insurance business. How much would Walmart be willing to pay Google for the knowledge that its customers expect it to enter the healthcare industry? The real-life story of how HP got into the projector business bears more than a passing resemblance to the above scenario. A market research survey found that even before HP got into the projector business, it was being named as one of the top 3 brands of projectors in America. How about using the mounds of data Google collects to provide market intelligence to enterprises in the form of 'Zeitgeist consultancy services'? Think of an enterprise-grade, competitive intelligence version of Google Trends. Another piece of speculation recently seen in the press has been around Google's formidable infrastructure, which has proven equal to the challenge of Google's increasing user base. Why not provide comprehensive application hosting solutions to enterprises that wish to outsource their infrastructure entirely to a Google server farm?
Google has always allied itself strongly with the end user, the average Joe who typically connects to its services from his personal computer or mobile device. Anecdotal accounts—too many to be just isolated complaints—seem to indicate that Google isn't making enterprise search as much of a priority as its consumer search. Perhaps Google wishes to make the point that putting out high-quality services for end users alone is sufficient to keep them coming back and sustain its core business. Or perhaps Google views a major enterprise push as described above as repudiating its essence—going from innovating constantly in a creative work environment (but being somewhat of a lone wolf about partnering with others) to entering high-maintenance relationships with other large enterprises. Most importantly though, it comes down to a question of control. An expanded suite of enterprise services means Google would have to run its software in environments that are not fully under its control. Google's software would have to play reasonably well with other enterprise systems and there will inevitably be problems, including security holes, even with Google software. Google would have to be very careful getting into the business of off-site software installation and support—perhaps the hundreds of former Microsoft employees now in its ranks can be some help there.
If Google continues to dominate search in the consumer segment and provides a compelling and integrated value proposition to enterprises at the same time, large enterprises would be amenable to signing support and consulting contracts around enterprise search that could prove quite lucrative for Google. Fixing the flaws in its current enterprise search offering and recognizing the money other strategies can bring in would enable Google to diversify its revenue streams and continue rolling out free services, whose only ostensible purpose seems to be to increase the 'stickiness' of Google's Web properties. While some might argue that this would go against Google's essential line of business so far, enterprise search may well prove to be its only reliable revenue stream except online advertising, because the need for organizing the world's enterprise information is immune to the vagaries of business cycles, click fraud allegations and increased competition that plague Google's core business.
Posted by Vishy at 11:42 AM |