Douglas Purdy

Archive for the ‘Data’ Category

TechEd 2010 & Facebook Insights OData Service

without comments

At the NOLA airport preparing to move on to the next leg of the OData Roadshow after TechEd North Amercia 2010.

Keynote

I enjoyed the conference, particularly doing the keynote with Bob Muglia and the “Open Data for the Open Web” session with Jonathan Carter.

One of the things that we announced in our session was some work that we have been doing with Facebook:  the Insights OData Service.

Facebook Insights provides FB application developers and page authors access to a wealth of information about how FB users interact with their applications and pages.

We started working with Facebook just before F8 on an implementation that would bring this dataset into the OData ecosystem.

Our primary goal is to make this information accessible in a first class way within Microsoft’s BI tools, like Excel.

TechEd seemed like a good place to talk about our progress to date.

The service is still in “preview” mode, as we are still adding features and we are likely to change the URL, etc.

Nevertheless, if you have a Facebook application or page, I encourage you to check it out.

Written by douglasp

June 10th, 2010 at 12:43 pm

OData Roadshow Update/Slides

without comments

We just completed the US leg of the roadshow.  Thanks to everyone who attended.  We really hit our stride in Mountain View (it is home court for me), although the NYC and Chicago stops offered some really great customer interactions that we are still talking about.

We’ll be doing a keynote at the European VC Summit (Guy Kawasaki is the MC which I am excited about) and then it is off to Asia, TechEd US, and back to Europe.

We will be taping at least one of those events, which I will post here.

In the meantime, you can get the PDF (PPT is too big for WP to upload and I am too tired to SSH in to the server and fix it).

Written by douglasp

May 20th, 2010 at 8:21 am

Posted in Data, Microsoft, OData

OData: The Road Trip

with 2 comments

We are taking the MIX10 Services Powering Experiences keynote on the road.

New York, NY – May 12, 2010
Chicago, IL – May 14, 2010
Mountain View, CA – May 18, 2010
Shanghai, China – June 1, 2010
Tokyo, Japan – June 3, 2010
Reading, United Kingdom – June 15, 2010
Paris, France – June 17, 2010

One full day of OData and Azure fun.

More details at http://www.odata.org/roadshow

See you there…

Written by douglasp

May 5th, 2010 at 4:36 pm

Posted in Data, OData

OData Jobs

without comments

Written by douglasp

April 18th, 2010 at 1:22 am

Posted in Data, Microsoft, OData, WCF

Services Powering Experiences

without comments

SpE

Kent has a version of the MIX Day 2 Keynote with just the “Services Powering Experiences” section posted on the Data DevCenter.

http://msdn.microsoft.com/en-us/data/ff191185.aspx

Written by douglasp

April 17th, 2010 at 10:52 pm

Posted in Data, Microsoft, OData, WCF

Open Source OData Server

with 19 comments

Miguel has called for us to open source our .NET OData Server implementation.

It is something we have talked about doing in the run up to MIX and something we continue to discuss.

Broadly, I agree with much of Miguel’s argument.  Expect to hear more on this topic from us.

As we explore open sourcing our .NET OData server code, the question that I am pondering is if that would be enough to kick-start an ecosystem of OData services on Unix.

Do we need to have an OData implementation for PHP &| Python as well?

What if we both open sourced our .NET implementation and also spooled up a PHP &| Python project?

If we did decide to do something like this and we could only pick one other language/runtime beyond .NET, which one should it be?

Interested in any and all thoughts on this topic.

Written by douglasp

April 3rd, 2010 at 3:16 am

“Houston” Survey

with one comment

At MIX, we showed off “Houston”, a Web-based database development/administration tool for SQL Azure, that will CTP “soon”.

The development team is interested in getting feedback about some aspects of the tool before we release it on the Web.

If you would like to help us determine the right set of features, etc. for “Houston”, please take a couple of minutes to answer a few questions at http://www.surveymonkey.com/s/SKYDFBS.

Written by douglasp

April 2nd, 2010 at 7:02 pm

OData Service for SQL Azure

without comments

The “checkbox” to expose a SQL Azure database as OData service is now live.

https://www.sqlazurelabs.com/

You can see a quick demo of this functionality in the MIX Day 2 keynote.

I want to personally thank Mike Pizzo, David Robinson, and Jack Greenfield for their work on this service over the last couple of weeks.

Great work guys!

Written by douglasp

March 18th, 2010 at 4:40 pm

MIX 2010 Keynote

with one comment

The keynote that I did around OData, Windows/SQL Azure and “Dallas” is now available.

You can watch it at http://live.visitmix.com/MIX10/Sessions/KEY02.

Written by douglasp

March 17th, 2010 at 7:33 pm

Posted in Data, Microsoft, OData

Open Data for the Open Web

without comments

Written by douglasp

March 16th, 2010 at 8:45 pm

Posted in Data, Microsoft, OData

Does “Intellipad” (nee Emacs.NET) support .NET?

without comments

I was asked this question based on my Emacs.NET (2010) post, so I thought I respond with a screenshot from the current CTP.

“Intellipad” is a .NET application that is used to write a .NET application: (large portions of) itself.

image

Most of the commands are in IronPython.  Further, the tests are in IronPython.  You can run them from the command buffer in the tool (>>>Test(“TestName”)) and they ship in the CTP.

Beyond IronPython, “Intellipad” supports “modes” for “M”, T-SQL, and lots more.  Of course, since the tool is completely extensible, you can add whatever language you want, as I did with MUrl.

BTW:  In case it is not clear, this is all still in CTP, the team is still working on it, so stuff can change.  I know the “M” and “Intellipad”/”Quadrant” teams believe strongly in text as a core way of “modeling” software, so you can expect that principle to be honored.

Written by douglasp

February 11th, 2010 at 1:00 am

Jon Udell on OData

with 3 comments

Byte magazine played an instrumental role in my youth, particularly in how I learned about computing and programming.  I still remember reading about the introduction of the Macintosh in Byte (26 years ago).  I remember hunting for the “Balloon” issue when I finally understood the power of Smalltalk.  Every month I dreamed I was Jerry in the Chaos Manor.  I remember (or think I do) seeing the below ad in Byte which likely had more impact on my life than anything else in print.

One of the voices that emerged in Byte, particularly in the move to the Web, was Jon Udell.  I have had the opportunity to interact with Jon over the years.  I was happy to learn we hired him.  I bounce ideas off of him from time to time to ensure that I have the benefit of his experience and insights.

Jon and I both share a passion around what I call “Open Data for the Open Web”.  Based on his blog, he appears to be as excited as I am about OData:

Written by douglasp

February 9th, 2010 at 10:07 pm

Posted in Data, Microsoft, OData

OData: A Personal Scenario

with 3 comments

Reading my recent posts, I hope you can see the potential around the Open Data Protocol (OData) as it makes its way into more and more of our and others products.

Pablo does a nice job of outlining a key business scenario in OData: The Movie, but I want to use this post to outline a personal scenario that is crying out for OData.

In doing so, I hope that you will join me in pushing for more Web sites/services to expose their your data over open protocols.

[Note:  The high order bit for me is Open Data.  OData is a mechanism that we have found some success using to achieve this goal.  It is important not to confuse mechanism with goal.  I am not confused and readers should not be either.]

Scenario: Monthly Net Worth

I have an Excel worksheet to calculate net worth.  It compute this number as a way of smoothing out betas and ensuring that I am on track toward our financial goals.  This “app” consists of a bunch of tabs with financial information (stock, salary, bank accounts, etc.), with macros to create roll-ups and then charts to report.

You may wonder why I don’t use Quicken or one of the many other financial tools out there.  The answer is simple.  For me, these applications are chains; they do not let me interact with my data in the flexible, transparent and empowering way that Excel does.

This is the exact reason that I see many business being run from Excel rather than packaged software.  It is also the reason that many enterprise IT shops have what is called an “Excel/Access Problem” (business units/departments building “applications” like rabbits that are not under management).

I only have one issue with my solution: I have to screen scrape all of my data.

I screen scrape stock information.  I copy and paste from a number of different locations.  I automated what I could, but in the end, the data acquisition cost is high, very high.  I will pay that cost, however, because the power that I get from Excel is worth more to me.

Now that Excel (via PowerPivot) supports OData, I see light at the end of the tunnel.  What I now need are feeds.  OData feeds from my brokerage.  OData feeds from Microsoft.  OData feeds from my bank.  OData feeds from the California and US governments. 

With feeds like that and a “data workbench” like Excel, you can control your financial destiny like never before.  It is this empowerment that I personally crave and it is this empowerment that is at the heart of my personal vision.

Call to Action

My good friend James Conard, is always hammering on me to have a clear call to action (I should hammer on him to update his blog).

If you work in the financial industry: Please push to expose your data via an HTTP-based open protocol like OData.  I think it would be interesting to consider how to tunnel OFX through OData.  I am going to follow-up with some our teams internally about it.

If you work in government agencies like the IRS & SSA in the US: Ditto.

If you are would like to use Excel to access this kind of data:  Tell your bank, brokerage, local government official about OData (or something like it) and tell them you want it.

A Closing Note…

There are a host of what you may consider “altruistic” scenarios for OData.  I don’t want those to get lost in the self-interest that drives this scenario and post.  I’ll be writing a lot more about these scenarios in the near future.  I just happened to be running my “Worth Report” (interesting name that, particularly for the philosophical minded), so it was top of mind.

Written by douglasp

February 8th, 2010 at 8:58 pm

Posted in Data, Microsoft, OData

“We need a Wikipedia for data”

with 2 comments

The title of this post is not mine.

It is Bret Taylor’s.

Bret, of Google Maps and more importantly FriendFeed fame, is now at Facebook working closely with some of the best Microsoft alums I know.

Back in 2008, he was on to something, something important.

How do you discover a given dataset, particularly a common dataset that should be like “air” for developers?

Once you find it, what are the legal requirements to access it?

Once you can legally access it, what is the mechanism to access it?  Do you have to screen scrape it?  You would be surprised at the amount of screenscraping you need to do for even datasets you pay for.  Jon Udell captured some of my personal frustration around this in 2006 here.

Of course, if you are a dataset provider, you have the inverse of these questions.

Bret called his solution to these problems, DataWiki.

I call it “Dallas”.

There is, however, a key difference between Bret’s concept of the DataWiki and “Dallas” that is best highlighted by a Steward Brand quote:

Information Wants To Be Free. Information also wants to be expensive.

I do not think you can ignore this tension and any “data as a service” like “Dallas” needs to internalize this deeply in both its technical architecture and business strategy.

With that said, I think of “Dallas” as an important example and (I hope) success story of the Open Data vision that many of us at Microsoft share.

Maybe Bret will get his DataWiki after all…

Written by douglasp

February 6th, 2010 at 5:34 am

Getting Deep Fried

without comments

At PDC 2009, I had an opportunity to sit down with Keith and Woody to talk about SQL Server Modeling (nee “Oslo”) and OData, among other topics.

image_12[1]

I enjoyed doing the podcast.  Keith/Woody were great hosts.

You can listening at http://tinyurl.com/deepfried43.

 

 

.

Written by douglasp

February 5th, 2010 at 2:25 am

OData: The Movie

with 12 comments

The below diagram highlights all the products that have shipped or announced that support OData.

This is a very impressive list and there are more in the pipeline.

image

One of the questions I often hear is “That is great, but what is the scenario?”

I’ll admit that I tend to think the scenario(s) should be self-evident, but I am very close to the technology.

In order to answer this question, Pablo put together a video of a concrete, real-world scenario that should resonate well with even the most jaded cynic.

Watch OData: The Movie Now

BTW:  One of the things that we are looking at going is adding support in SQL Azure for OData.  Create a database and get a non-code OData service that you can access from any platform/language over HTTP.  If you are interested in this feature, please let use know:  Vote for OData Support in SQL Azure.

Written by douglasp

February 1st, 2010 at 11:36 pm

OData: There’s a feed for that

with 2 comments

I am spending a lot of time on the Open Data Protocol (OData).

Many of us at Microsoft that believe that this protocol can help usher in a more open and programmable Web.

A protocol like this is a prerequisite for the broader “Infobus” and “Information Liberation” vision that I often talk about.

Envision a world where every application/Web property exposes its data (actually your data) in a way that you can easily query it in rich tools like Excel/Numbers or write your own mash-up/custom application.

A world were government data is transparent, queryable and accessible to any citizen.

A world where you can you can ask a question and know: “There’s a feed for that”.

We are just starting, but we (Microsoft) already has an impressive list of OData producers/consumers coming online (including SharePoint, SQL Server 2008, IIS/ASP.NET, etc.) and there are more in the pipeline that we will announce this year.

We are working as hard as we can to get OData support on as many platforms (both client and server/service) as we can, so a developer on any platform can both consume and produce these feeds.

We are begin to engaging partners, consumers and even competitors in a more structured way to see how we can work together to build up an ecosystem of open data services.

To make this vision a little more concrete, let’s look at a couple of screenshots.

Below is a third-party tool called LinqPad.  LinqPad recently added support for OData, which is demonstrated below.  The most interesting thing is the data service that I am accessing.  The City of Edmonton, Canada is exposing datasets as OData feeds at http://data.edmonton.ca/.  That lets tools that understand OData, like LinqPad, access this information in rich ways.

Also, notice the two other data services in the tool.  These point to District of Columbia and New America Foundation data at http://ogdisdk.cloudapp.net/.

image 

This next screenshot is of Excel (via the PowerPivot plug-in) accessing the same data service.

image

Just to prove that this is all open, accessible and available to non-Microsoft clients/tools, see the below.  This is the same query that we are executing in LinqPad, but in Chrome and on the address bar.

image

Of course, you can access all this information using PHP, Java, JavaScript or .NET language using our OData clients.

Further, we are beginning to have conversations with key technical leaders in other companies/organizations about adding support in other platforms/languages/products.

We are excited about the possibilities here and think there is a real opportunity to usher in a world where open data is not only possible, but pervasive.

Written by douglasp

January 28th, 2010 at 7:51 pm

Bento

with 2 comments

As you may know, my vision is all about giving people the power to create, access and share their data as they will.

Although I work at Microsoft, I love to see other companies making progress on technologies that I believe soundly support this vision.

Recently, I have been using a product by FileMaker (owned by Apple) called Bento.

There is both a Mac and iPhone version.  You can sync your “database” (called a library in Bent0) between your Mac and iPhone.  You can also share your libraries with any Mac on your local subnet – like iTunes – via Bonjour.

I could nitpick features I want and lament what I consider a powerful platform play Apple could execute on, but in general I have nothing but praise, great praise, for this product.

If you own an iPhone or a Mac, I really encourage you to check it out. 

Great work Bento team!

Written by douglasp

January 17th, 2010 at 5:06 am

The OData Provider Model

with one comment

WCF Data Services supports two data sources out of the box:  an EF data source and a CLR data source.

This lets you expose an OData service from any database that supports EF as well as arbitrary CLR objects.

There are many reasons to need more than this, particularly if your data is not relational or you can’t afford to have CLR types floating around all over the place.

A canoncial example of this scenario is the SharePoint data model.

In order to support SharePoint, we adedd a dynamic data source provider model that we call IDSP internally.

This provider model consists of a number of interfaces that you can use to expose any data source as an OData service.

One of the PMs on the WCF Data Services team, AlexJ, is blogging about this at now.

http://blogs.msdn.com/alexj/archive/2010/01/04/creating-a-data-service-provider-part-1-intro.aspx

Worth checking out…

Written by douglasp

January 5th, 2010 at 4:44 am

OData Update

without comments

The (WCF) Data Services team just released the an update to .NET FX 3.5 for the OData.

New features in this release are:

    · Projections: This ADO.NET Data Services URI format has been extended to express projections (i.e. you can now work with a subset of the properties of an entity).  This release includes both server and client library (including LINQ support) support for projections.  We’ve done a fair amount of work in this space to support roundtripping projected values, working with anonymous types, etc.  We’ll create a subsequent series of posts to describe this feature.

    · Data Binding:  The data services client library for the .NET Framework 3.5 SP1 has been extended to support two-way data binding.

    · Row Count: One scenario we heard a ton of feedback on after shipping V1 of ADO.NET Data Services in the .NET Framework 3.5SP1 is the ability for the a client of a data service to determine the total number of entities in a set without having to retrieve them all.  To address this need, we have extended the data services addressing scheme to allow a client to obtain this type of information without having to download all the entities in a set.

    · Feed Customization (aka “Web Friendly Feeds”): A common ask we have received is to provide the ability to customize how entities are mapped into the various elements of an AtomPub feed.  This feature does just that by providing a data service author declarative control over how the data service runtime maps the properties of an entity (e.g. a Customer, Order, etc) to the elements of a feed.

    · Server Driven Paging (SDP): This one is best described by example.  If you had a data service that exposes photos, you likely want to limit the total number of photos a single request to the service can retrieve because the total collection of photos may be very large.  This feature allows a service author to set per collection limits on the total number of entities returned for each request.  In addition to limiting the number of photos returned per request, the server provides the client a “next link” which is simply a URI specifying how to continue retrieving the rest of the entities in the collection not returned by the first request.  For those familiar with AtomPub, this feature adds support for AtomPub <link rel=”next” …> elements to the data service runtime.

    · Enhanced BLOB Support: This feature enhances the BLOB support provided in V1 to enable data services to stream arbitrarily large BLOBs, store binary content separate from its metadata, easily defer the loading of BLOB content when its metadata is requested, etc.

    · Request Pipeline: We have started to expose events throughout the data services server request processing pipeline.  For this release we’ll expose request level events and in future we’ll look to expose more fine grained events based on your feedback.  The goal of exposing our processing pipeline is to allow services further transparency into a data service such that a service author can do things such as setting HTTP response cache headers, wrapping interceptor processing and data service request processing in a single transaction, etc.

    · New “Data Service Provider” Interfaces for Custom Provider Writers: As the data services runtime has evolved, so has the number of ways people want to plug data into the data service framework.  In V1, two methods (Entity Framework and arbitrary .NET classes) were supported to enable a data service to interact with various diverse data sources.  To address another class of environments and data sources we have introduced a way to write a “custom” provider for those cases when the previous two provider models don’t meet your needs.

More at http://blogs.msdn.com/astoriateam/archive/2009/12/17/getting-started-with-the-data-services-update-for-net-3-5-sp1-part-1.aspx

Written by douglasp

December 18th, 2009 at 1:30 am