I'm looking through a new API definition focused service provider called SchemaHub today, and I found their approach to using GitHub as a base of operations was interesting and provided a nice blueprint for other API server providers to follow. I'm continually amazed at the myriad of ways that GitHub can be put to use in the world of APIs, which is one of the things I love about it.
As a base for SchemaHub, they created a GitHub Org and made their first repository the website for the service, hosted on GitHub Pages. In my opinion, this is how all API services should begin, as a repo, under an organization on GitHub - leveraging the social coding platform as a base for their operations.
SchemaHub is taking advantage of GitHub for hosting their API definition focused project: free, version controlled, static website hosting for schemahub.io.
As I was looking through their site, learning about what they are doing I noticed a subscription button at the bottom of the page, asking me to subscribe, and they'll notify me when things are ready.
Once I clicked on the button, I was taken for a GitHub OAuth dance, which now makes SchemaHub not just a GitHub repo for the site, it is an actual GitHub Application that I've authenticated with using my GitHub account. They only have access to my profile and email, but they have the type of provider-to-developer connection I like to see in the API world.
Once I authorize and connect I am taken to a thank you page back on their website, letting me know I will be contacted shortly with any updates about the service. Oh, and I'm offered a Twitter account as well, allowing me to stay in tune with what they are up to - providing a pretty complete picture for how new API services can operate.
SchemaHub's approach reflects what I'm talking about when I say that Github should offer an OAuth service, something that would enable applications running on GitHub to establish a GitHub app as part of their organization and website. I like this model because it enables connections like Schema has established to occur, maximizing the social powers of the GitHub platform.
SchemaHub wins for making a great first impression on me with their API service. GitHub Org, simple static GitHub Pages hosted website, connectivity with my GitHub profile, and a Twitter account to follow. Now I know who they are, I'm connected, and when they are ready with their API service, they have multiple channels to update me on. My only critique is that I would also like to have a blog with Atom feed, so I can hear stories about what they are trying to accomplish, but that is something that can come later. For now, they are off to a pretty good start.