I dedicated
my previous post to cataloging the investments we've already made in HTTP, XML, and REST across Microsoft. The list wasn't necessarily complete, but it was a pretty good snapshot based on one person's recollection.
Now onto the more interesting part.
Tim posed the following challenge:
…we ought to be pouring resources and investment into tooling and developer support around simple XML/HTTP/REST technologies.
What I'd like to do is apply a common technique I've seen used during product planning called "the $100 dollar challenge."
The basic premise is this:
You have $100 engineering dollars to spend. No matter how many millions we'd actually wind up spending, we use $100 as an easy number for people to keep in their heads.
There are well over $100 dollars worth of features you want.
The challenge is in determining how to spread the $100 in a way that produces with the most aggregate value.
In case it's not obvious, you can't suggest killing another product team and stealing their $100, so don't think you can raid the WS-* bank account to fund this one.
They get to keep their $100.
Since I'm asking about the Microsoft platform, suggesting we all move to PHP, Apache, and Linux doesn't really fit into this exercise either.
Here are some ideas to think about:
What can we do to make HTTP more accessible to developers, IT pros, and users?
How should we make our server-side stack easier to program against? Easier to manage? More flexible for some scenario? More reliable? More scalable?
What should we do on the client side?
Do we need to invest in more general metadata to drive tooling (think "Add Web Reference") and if so, how?
What can we do to make XML more accessible to developers, IT pros, and end-users?
How pervasive should we assume XML is, or should we be investing in some other data model and rep (e.g., JSON)?
What do we do about the perceived and real complexity of XSD? How would you do about our customers' (and our own) XSD investments?
What would you do with XQuery? Is it the "universal query language for all data," a niche operator in SQL, or something in between?
How much farther than VB9 do we need to go in our programming languages? VB9 supports XML literals, LINQ, and duck typing over XML. What did we miss?
What more can we do in the store?
What more can we do with Biztalk server?
Where else should we be investing and how? Office? Shell?
What would you do about Lo-Rest?
Where could we do a better job supporting HTTP GET and how?
Should we do a better job supporting Lo-Rest over things other than HTTP and if so, how?
What would you do about Hi-Rest?
How far (if at all) would you push Hi-Rest as a broad initiative? Of the four buckets we're looking at in this exercise, Hi-Rest has the least traction both inside and outside of Microsoft.
Assuming you were pushing Hi-Rest as a broad initiative, how would you do it?
Assuming you weren't pushing Hi-Rest, what would you do to make sure folks who wanted to embrace it could do it on our platform?
Feel free to post your allocation of the $100 here in comments or if you prefer, send me mail.
I'll post my own allocation next week.
Posted
Mar 18 2006, 04:10 PM
by
don-box