Ravi Pandya
ravi@iecommerce.com
www.iecommerce.com
+1 425 417 4180
vcard

syndicate this site

Ravi Pandya   software | nanotechnology | economics

ARCHIVES

2007 11 10

2004 10 09 08 07 06

2003 04 02 01

2002 12 11 10 09 08

2001 11

ABOUT ME

Ravi Pandya
Architect
Technical Strategy Incubation
Microsoft
ravip at microsoft.com

03-Microsoft
00-02 Covalent
97-00 EverythingOffice
96-97 Jango
93-96 NetManage
89-93 Xanadu
88-89 Hypercube
84,85 Xerox PARC
83-89 University of Toronto, Math
86-87 George Brown College, Dance
95-Foresight Institute
97-Institute for Molecular Manufacturing

DISCLAIMER

The opinions expressed here are purely my own, and do not reflect the policy of my employer.


Sun 15 Mar 2009

Road Kill on the Information Highway

I happened across this 1993 piece by Nathan Myhrvold:
Road Kill on the Information Highway
He gets many things right, though he notably misses the entire social dimension of the web. The last section is particularly interesting:

Personal Computers

I've saved the best for last. Our own industry is also doomed, and will be one of the more significant carcasses by the side of the information highway. The basic tasks that PCs are used for today will continue for a long as it makes sense to predict, so it isn't a question of the category disappearing. The question is one of who will continue to satisfy these needs and how?

.... The technical needs of computers on the information highway, or IHCs [i.e. netbooks - Ravi] are quite different than for PCs. .... Most IHCs will certainly need to be cheaper than PCs by an order of magnitude and this will inevitably cause them to be less capable in many ways, but some of their requirements are far more advanced.

Another way to say this is that the rich environment of software for PCs is largely irrelevant for IHCs. Windows, NT, System 7 and Cairo do not solve the really important technical problems required for IHC applications, and it is equally likely that the early generations of IHC software won't be great platforms for PC style apps. ...

PCs will remain paramount within their domain for many years (we'll still have a computer on every desk) but IHCs will start to penetrate a larger and larger customer base on the strength of its new and unique applications. The power of having the worlds information - and people - on line at any time is too compelling to resist. ... One day however people will realize that their little IHCs are more powerful and cheaper than PCs - just as we have finally done with mainframes. There will be a challenge for the IHC software folks to write the new systems and applications software necessary to obviate PCs, just as we had to work pretty hard to come up with NT, but this battle will clearly go to the companies who own the software standards on IHCs. The PC world won't have any more say about how this is done than the companies who created MVS or VMS did about our world. Of course, some of the VMS people were involved, but as discussed above it is very hard for organizations to make the transition.

This may sound like a rather dire prediction, but I think that for the most part it is inevitable. The challenge for Microsoft is to be sufficiently involved with the software for the IHC world that we can be a strong player in that market. If we do this then we will be able to exploit a certain degree of synergy between IHCs and PCs - there are some natural areas where there is benefit in having the two in sync. The point made above is that those benefits are not sufficiently strong that they alone will give us a position in the new world. We'll live or die on the strength of the technology and role that we carve out for ourselves in the brave new world of the information highway.

22:08 #


Mon 14 Apr 2008

Adaptive user interfaces

Supple: automatically generating user interfaces, by Krzysztof Gajos and Dan Weld
This shows a promising approach to something that is going to become increasingly important as people start using different kinds of devices to access their applications - phones, TVs, PCs, dedicated devices, etc. They treat interface construction as an optimization problem. Given a set of tasks and associated model elements, along with a set of available user interface elements, Supple will generate a user interface. It takes into account effort metrics for the different elements and transitions so that it can generate different widget selections for phones, touch screens, and WIMP interfaces. Furthermore, it can include statistical information from user activity traces to optimize the interface for more frequent tasks. They actually did comparative studies with human designers (students who had taken an HCI course), and Supple did about as well. Supple isn't going to run the Excel or Photoshop UI anytime soon, but it's not far from being useful for line-of-business applications and third-tier websites, most of which have atrocious usability. If Microsoft IT started using this I'd applaud - right now, I cringe every time I fill out an expense report or renew my parking permit. (On further thought, maybe it's not so far from being useful for Office - I bet the new Office UI redesign produced much of the task analysis that Supple would need...)

05:48 #


Sun 20 Jan 2008

Economics of Software as a Service

Delivering Software as a Service - McKinsey Quarterly

Two interesting data points:

While SaaS companies have lower operating margins than packaged software companies overall, if you restrict the comparison to comparably-sized packaged software companies, the numbers look essentially identical:

However, if you look at the customer cost side, there's a huge advantage to SaaS:

16:05 #

Bayesian Collaboration

Multistage Collaboration in CACHE: The Bayes Community Model
CACHE has a simple structured collaboration model - an investigator makes hypotheses as a result of evidence, and one person's hypothesis can be another person's evidence. This is enough to allow the system to track provenance of conclusions, and update beliefs through Bayesian inference as new information is added. It would be a very powerful tool for collaborative investigation, decision making, or data analysis. (Via Chris Hibbert).

15:41 #

Quick Links

A Logic of Filesystems
An interesting general logical framework for modeling the memory & disk consistency of filesystems - not just to ensure they are correct, but also to avoid unnecessary operations that don't add to logical consistency guarantees. Of course, as my officemate Keith Kaplan responds, "Would I sound like a bitter FS guy if I pointed out that the vast majority of disk hardware is provably incorrect, and then asked why does everybody place such high standards on the filesystem? Yes, I think I do sound like a bitter FS guy. " I suppose it still might be a way to analyze how you handle all the provably incorrect errors disks throw at you...

Computation Spreading: Employing Hardware Migration to Specialize CMP Cores On-the-fly
Separating OS and application threads to different cores yields significant performance increase by reducing contention for cache, branch prediction, etc. They do this using VM instructions, but a microkernel could do this more explicitly.

A Predictive Model for Transcriptional Control of Physiology in a Free Living Cell
They were able to get significant predictive power for transciption behavior in new experiments from a relatively small number of microarray samples and other data. Unfortunately, Microsoft doesn't (yet :-) have a subscription to Cell so I can't read the original paper...

Forever Minus a Day? Some Theory and Empirics of Optimal Copyright
A very nice application of straightforward economic analysis of the variables affecting the social welfare from copyright (discount rate, "cultural decay" rate of value of work, production cost, value of new work produced vs. additional value gained from releasing copyright on older works, etc.) Even though the empirical data only give rather wide ranges of estimates for these, they show that the current copyright terms are much too long under a robust set of assumptions; the best estimate is that the optimal term is around 15 years.

08:33 #


Fri 23 Nov 2007

K42 and Tornado

My colleague Eric Northup has mentioned these a few times, and I'm glad I looked them up. The Tornado OS (from my alma mater, U of T) and its successor K42 (at IBM Research) use a fine-grained object-oriented approach to all operating system structures (processes, memory regions, etc.), with built-in clustering for replicated instances across processors. This reduces lock contention and increases cache locality by operating on the per-processor instance as much as possible. Since objects are generally expected to be local, it can optimize for this case, and track cross-processor operations as a special case. There are some policy choices (e.g. maintaining replica tables for all processors) that would probably need to be adapted for manycore.

The scalability architecture is best described in this paper. The memory manager was key, e.g. for locality-aware allocation, padding to cache line size to avoid false sharing, deferring deletion until quiescence to avoid existence locks, etc. An insight as the basic Tornado model was applied to real workloads was that creation-time object specialization isn't sufficient, instead it is better to for example start with an unshared implementation and then upgrade to shared implementation when multiple processes share an object. They were able to improve their 24-proc scalability from "terrible" to pretty good in 2 weeks of work because of good OO discipline and tracing infrastructure.

Overall, I found it striking how the scalability architecture mirrored that for distributed systems - state partitioning, replication, dynamic upgrade, etc. I had expected this from general principles, but it was valuable to see it confirmed in practice with significant workloads. The scalability graphs are impressively linear. Security isn't mentioned, but I expect that the same OO design that gives the OS good modularity and scalability could be applied to give it good capability discipline as well.

12:04 #


© 2002-2004 Ravi Pandya | All Rights Reserved