JavaScript numbers, bits and strings

One of the things that we cared quite a bit when creating OData and datajs is taking into account many of the little gotchas that you can find with JavaScript. For example, numbers in JavaScript can be integers or floating-point, but there are no different data types for these. However, to keep things simple, they…


Fiddler and Windows Phone 7

When you’re building a web site, you’ll often have a targeted experience for phones. They do many special characteristics after all: the browser is touch-driven instead of mouse-driven, the screen is much much smaller than a monitor, the user is likely to be on the move rather than sitting in front of a desk, the…


OData continues to evolve

As you can see from the recent March 2011 CTP of WCF Data Services, OData continues to evolve. While the post includes information about changes to the WCF Data Services implementation, I’m very excited to see that the protocol is also very much alive and well. From the first bulleted list, here are the OData…


datajs formats for OData flavored with simplicity

Alex has just uploaded the intermediate formats on the datajs CodePlex Wiki. These describe the shape of results provided by reading OData as well as the expected format to send data back to the server. Like I mentioned before, these values do not have any classes or prototypes associated with them – you can simply…


OData Vocabularies

Just got back from a “long week”-long trip to find Alex’s vocabularies post. He has a nice walk through how we think this should look like, and I’m pretty excited about the opportunities: we have a simple and powerful description mechanism, open data, and an ever-growing community of developers, producers and consumers interested in moving it…


Design style for OData in datajs

The datajs source code is out there for the world to see. Today I wanted to share a bit about what style we use and why we decided upon it. After years of writing for the .NET framework, one of my first impulses is to start thinking in terms of objects. However there are a…


Handling errors in datajs

Today I want to talk a bit about how we handle errors in datajs. Every operation that datajs runs asynchronously, whether a read or a general request, has both a success and an error callback. These can be passed in explicitly when the function is invoked, and this pretty much always done with the success…


Handling errors in datajs

Today I want to talk a bit about how we handle errors in datajs. Every operation that datajs runs asynchronously, whether a read or a general request, has both a success and an error callback. These can be passed in explicitly when the function is invoked, and this pretty much always done with the success…


datajs support for DataTime and DateTimeOffset

Yesterday we updated the datajs codebase to support DateTime and DateTimeOffset. Here are some development notes on this that may be interesting. Recognizing DateTime and DateTimeOffset values ATOM has a pretty straightforward representation for DateTime and DateTimeOffset, so it’s really a matter of recognizing these on the wire and parsing them / serializing them. JSON…


OData, jQuery and datajs

Over the last couple of days, I’ve received a number of inquiries about the relationship between JSON, OData, jQuery and datajs and how to choose between them. These aren’t all the same kinds of things, so I’ll take them one by one. Talking the talk JSON is a format to represent data, much like XML….