My requirements from Atlas are quite simple. I'm looking to build anEPG to feed into my PVR and therefore need a clean, easy to interpretsource of scheduling info. For each entry in the schedule I probablyonly need the following:- brand (optional)- series (optional)- episode number (optional)- title/subtitle (some of this comes from above)- start time- stop time- summary- genresThat's pretty much it (I may have missed something), beyond that itsall niceties that might be used for extra info, cast, images,thumbnails, clips, etc...
One area where atlas falls down, in my opinion, is its handling ofpublishers and the presentation of the various identifiers. CurrentlyI'm only working with PA and BBC data, mostly because I have accessand its pretty good data for initial starting point.
However my application needs to inherently know "which" publisher torequest for a given channel, if I provide both I get multiple returnsand potentially need to handle any overlaying myself. Personally Idon't care where my data comes from, only that I'm provided with thebest set of available data based on certain criteria.So for example I might be asking for channel X, which is currentlyprovided by PA. But then the owners of channel X decide to open uptheir original source data (which is hopefully more accurate thanPAs). In an ideal world I shouldn't care about this, atlas shouldsimply have a knowledge of the "best" providers for a given channeland automatically provide this to me (within reason, i.e. I might needto request/purchase it on my api key). There can still be an API forrequesting particular publishers if a user requires that, but for me Idon't want to care I just want the best available.
Also currently data is returned, often, with publisher specific URIs.Although many of these map to the same underlying info. E.g if I getsched data and it includes a show from the Merlin series (BBC), I getthe brand URI http://pressassociation.com/brands/103768. However if Ilook this up I get the original BBC URI http://www.bbc.co.uk/programmes/b00vw027.Although this mapping does at least mean that if the preferredpublisher switches I can at least handle some mappings myself (bykeeping track) its awkward and requires extra caching and lookups onthe client side.This is particularly troublesome for scheduling info, which typicallyisn't worth caching (at least not in this way). I might already have aparticular show recorded and might be relying on the URI as a uniqueidentifier to detect this. If the publisher suddenly changes (due tobetter data as above) then these URIs will change and suddenly I'm re-recording lots of stuff I've already got (if it gets repeated).So I would propose that the atlas system provides a completelypublisher agnostic view of the world. It maintains its own internalURIs for resources to which it maps the original source data.Therefore I'm completely insulated to the source of the data.
Anyway these are just my suggestions on what would make Atlas a reallygreat system for me, others will no doubt have differing views/requirements.
On Tuesday, 31 January 2012 at 11:01, Adam Sutton wrote:My requirements from Atlas are quite simple. I'm looking to build anEPG to feed into my PVR and therefore need a clean, easy to interpretsource of scheduling info. For each entry in the schedule I probablyonly need the following:- brand (optional)- series (optional)- episode number (optional)- title/subtitle (some of this comes from above)- start time- stop time- summary- genresThat's pretty much it (I may have missed something), beyond that itsall niceties that might be used for extra info, cast, images,thumbnails, clips, etc...Hi AdamAtlas does now support annotations, and these work on the schedule endpoint. Unfortunately they are not documented anywhere as yet, but we do have an action to improve our API documentation in the near future. Specifying any annotation turns on annotations and generally any field that is a list is also an annotation of the same name. There is also a description and extended_description. So you can say:But I have also taken note of your list of fields above to see if we can make annotations on the schedule even more useful.
One area where atlas falls down, in my opinion, is its handling ofpublishers and the presentation of the various identifiers. CurrentlyI'm only working with PA and BBC data, mostly because I have accessand its pretty good data for initial starting point.Atlas is designed for aggregating and matching data from multiple publishers, but you are correct we have some work to do around how we present multiple ids. That's on the list, but we've not got to it yet.However my application needs to inherently know "which" publisher torequest for a given channel, if I provide both I get multiple returnsand potentially need to handle any overlaying myself. Personally Idon't care where my data comes from, only that I'm provided with thebest set of available data based on certain criteria.So for example I might be asking for channel X, which is currentlyprovided by PA. But then the owners of channel X decide to open uptheir original source data (which is hopefully more accurate thanPAs). In an ideal world I shouldn't care about this, atlas shouldsimply have a knowledge of the "best" providers for a given channeland automatically provide this to me (within reason, i.e. I might needto request/purchase it on my api key). There can still be an API forrequesting particular publishers if a user requires that, but for me Idon't want to care I just want the best available.Atlas equivalence should take care of this for you. If not, we should improve our merging to make it more useful. A quick outline:Atlas automatically matches programmes from different publishers. It can then return you all of the programmes separately or on a per API key basis we can turn on and configure equivalence precedence. What this does is instruct Atlas to merge equivalent programmes into one combined programme that includes the best bits of each item in the set. The precedence order (configurable per API key) defines the order in which items are combined. By putting the broadcaster before PA in the list, it should take a higher priority.Specific examples of where you spot the merging could be improved would be very useful.
Also currently data is returned, often, with publisher specific URIs.Although many of these map to the same underlying info. E.g if I getsched data and it includes a show from the Merlin series (BBC), I getthe brand URI http://pressassociation.com/brands/103768. However if Ilook this up I get the original BBC URI http://www.bbc.co.uk/programmes/b00vw027.Although this mapping does at least mean that if the preferredpublisher switches I can at least handle some mappings myself (bykeeping track) its awkward and requires extra caching and lookups onthe client side.This is particularly troublesome for scheduling info, which typicallyisn't worth caching (at least not in this way). I might already have aparticular show recorded and might be relying on the URI as a uniqueidentifier to detect this. If the publisher suddenly changes (due tobetter data as above) then these URIs will change and suddenly I'm re-recording lots of stuff I've already got (if it gets repeated).So I would propose that the atlas system provides a completelypublisher agnostic view of the world. It maintains its own internalURIs for resources to which it maps the original source data.Therefore I'm completely insulated to the source of the data.This is on its way too! We agree that Atlas generated IDs for the content in Atlas is important and will be turning this on soon. We're already generating them, but they're not yet in the API. They'll be the same as the IDs currently used on RadioTimes. We're doing the migration in a couple of stages and we're almost there, it involves moving the generation of these IDs from our Voila product that sits on top of Atlas into Atlas itself so they're available for everyone.
Anyway these are just my suggestions on what would make Atlas a reallygreat system for me, others will no doubt have differing views/requirements.Thanks, much appreciated and keep them coming. There's a lot of great comment on the list that I'm working through and documenting now that I'm back. It's good to get so much great feedback and requirements from everyone.