45

I guess that having commented on the blog that answers would be better here than on the blog, I might as well open a question...

This question is designed to encourage us all to think about what we want to use a potential API for before making specific feature requests. Ideally, answers would be structured as:

I want to build...
... an Android widget which can show me my current rep, badges, and rep for the day, across multiple sites

For this, an ideal API would...

  • Let me query multiple fields in a single request
  • Let me specify multiple sites (with multiple user IDs) in a single request
  • Access badge, rep, rep-per-day information

Other answers may well be much more detailed, of course, but hopefully this gives the gist of what I think might be a useful type of answer. Things like useful formats (JSON, XML) would be interesting to Jeff Atwood too, I'm sure.

12
  • 16
    Nothing, I want you to build it for me ;-)
    – Ivo Flipse
    Commented Jan 15, 2010 at 12:02
  • 3
    @Ivo: Agreed! Now someone make that iPhone app already. ;-)
    – Kredns
    Commented Jan 15, 2010 at 12:22
  • 2
    @Lucas McCoy I created one a few months ago. I'm not sure of any better way of letting people know about it but I did announce it here meta.stackexchange.com/questions/3473/native-iphone-app/…
    – carson
    Commented Jan 15, 2010 at 13:06
  • 3
    I would prefer an Android version!
    – Ivo Flipse
    Commented Jan 15, 2010 at 13:08
  • @carson wow, I managed to totally miss that. Thanks for pointing it out.
    – alex
    Commented Jan 15, 2010 at 13:09
  • I've got an Android version in the works but I stopped for a while to wait and see how use of the iPhone app did, wait for the other sites to be added to the dump and hold out hope for an API. It seems like things are coming together now.
    – carson
    Commented Jan 15, 2010 at 14:01
  • Palm Pre client Commented Jan 15, 2010 at 14:04
  • 1
    I was going to make an Android widget. Oh well, I'm sure Jon Skeet's will be better.
    – deleted
    Commented Jan 15, 2010 at 15:32
  • 1
    @Isaac: Don't bet on it. I have 0 free time at the moment, and haven't done any Android development.
    – Jon Skeet
    Commented Jan 15, 2010 at 15:58
  • 4
    What, no wave robot yet?
    – Joel Coehoorn Mod
    Commented Jan 15, 2010 at 19:27
  • @Jon: 0 free time? All occupied by StackOverflow? Commented Jan 17, 2010 at 18:18
  • I'd love some moderator API where I get notified when somethings flagged or when something fishy is going on!
    – Ivo Flipse Mod
    Commented Apr 9, 2010 at 19:47

23 Answers 23

21

I want to build..

Basically a Stack Overflow version of TweetDeck.

For this, an ideal API would...

Expose several activity streams

  • Something happened in a favorited questions
  • Something happened in a question I asked.
  • Something happened in a question I answered. (maybe even commented ?).
  • Something happened in a question I commented on.
  • New questions that are tagged using on of my "interested" tags.

Something here means:

  • Question was edited
  • Question has been closed
  • Question recieved a new comment
  • Question recieved a new answer
  • etcetera.

Ideally the Stack Overflow API would be dumb enough that I have to explicitly specify these filters.

/activitystream/?hasMyInterestedTags=true&includeEditedQuestion=true

etcetera instead of exposing 1 or 2 baked activity streams.

4
  • This sounds awesome. Tweetdeck is pretty good, and I think it fits SO's model pretty well.
    – Tom Ritter Mod
    Commented Jan 15, 2010 at 19:51
  • +1 for "Something happened in a question I commented on." because there is no direct means within SO to go back to my comments.
    – Richard
    Commented Jan 16, 2010 at 11:18
  • @Richard: [aside from the fact that you have just been notified of this very comment reply, but that only works as of today] you can at least go back to your recent comments; they are on the activities page of your profile
    – balpha StaffMod
    Commented Jan 16, 2010 at 20:16
  • @balpha: Indeed, but it is pretty limited. Some days on SO the activity log is not enough for the last 24hours. I have at times wanted to get back to a question or answer I recall commenting on, but am left trying to search for it (which is, at best, hit and miss).
    – Richard
    Commented Jan 17, 2010 at 10:47
16

Visual Studio extension. I picture a v1 that lets you find questions/answers and a v2 that lets you ask questions and post code from within Visual Studio.

In fact, I intend to proof-of-concept one on top of SXAPI as soon as I scrape together enough free time to figure out Visual Studio 2010/Visual Studio 2008's object model.

It would require easy access to:

  • Search
  • Question watching (for new answers, etc.)
6
  • I think it would be very productive to allow you to ask questions directly from the IDE you are working in. Especially if you could watch the question with it aswell. Commented Jan 15, 2010 at 20:08
  • Yes! I can't wait to be able to browse questions from in visual studio and use it's code editor to build the snippets for my answers.
    – Joel Coehoorn Mod
    Commented Jan 15, 2010 at 20:12
  • On my part: ditto, for KDevelop.
    – Nicolás
    Commented Jan 16, 2010 at 2:47
  • 5
    Hmm, this would make SO look like work to my boss and colleagues when they glance at my monitor. +1, oh yes, +1
    – MarkJ
    Commented Feb 14, 2010 at 18:51
  • 1
    Only if Meta support is added.
    – perbert
    Commented Apr 9, 2010 at 15:05
  • YES!!!! Me too Commented Dec 9, 2012 at 8:55
7

I want to build a notification icon for the system tray that pops up a notice (like Outlook or Messenger) for the following events:

  • new questions meet certain criteria (tags + regex match)
  • someone adds or changes any content in a question where I've participated
  • votes on anything I've posted.

I thinking about how to design an API for this, what I'd really like is a type/class I can use that raises events, rather than a service I poll. Let the Stack Overflow team worry about how to poll the service by providing the class that does that part, and then they can be sure everyone is nice about it. It also takes that burden off of individual programmers, so it's easier to get started. The downside is that it limits you to supported platforms, rather than everyone (though there's nothing stopping them from exposing the base service as well).

Looking a little lower level, some things I might need to be able to do:

  • Get "new" questions (for some definition of new that probably involves passing in the datetime of my last check)

  • Either:

    • Get a list of question ids a user has participated in AND
    • Get new activity in a specific question or list of questions (by id)
  • OR

    • Get all new activity
    • Determine whether a user has participated in a question that holds a specific ID
  • New up/down votes cast on a specific user

When I say "new activity", I mean which question ID changed, which post ID (if any) within the question changed, a summary of the change (new post, deleted post, edited x characters, closed, etc), and who did it.

Additionally, if you ever want to support updating via the API, you probably want to include OpenID authentication in this version as well.

6

I would like to replace the current API I use for my Stack Overflow iPhone application that currently uses the Creative Commons (CC) dump. Since the bundling of the dumps changes every month I end up having to update my API by hand so I would really like to see an API not to mention having access to the data faster.

The DesiredSOApi document is pretty close to what I would need now and would allow me to add a lot more functionality but I do see some missing parts:

  • A way of communicating errors needs to be described in the document. I assume it would be via HTTP response codes.
  • It would be better if the specific question call optionally included all answers and comments that went with the question. The question ID and title would also be nice to include.
  • I think that it would be easier to handle HTTP being returned from those parts that would return HTTP than Markdown. I think I remember a podcast where it was said that HTML is stored in the database so this may be a non-issue. However, if Markdown is available, it would also be nice to have a way to get HTML too.
  • This may be more of a stretch but it would be nice to register for updates to be pushed as opposed to requiring a poll for them. I would imagine that the Stack Overflow TweetDeck idea would benefit from this as well. I currently have an unexposed feature in the iPhone app that would let users watch questions to get push notifications on changes and it makes me cringe to think about polling for that.

A more radical and probably simpler approach to this could be to create a "firehose" of all the acceptable data coming out of Stack Overflow and then let everyone do what they will with it. Much like getting the CC dump but in realtime.

7
  • 1
    Would pubsubhubbub help on the notification front?
    – Jon Skeet
    Commented Jan 15, 2010 at 14:08
  • The data format seems to be stabilizing... there are still small changes, but give it a few more things and I think it will settle down.
    – Joel Coehoorn Mod
    Commented Jan 15, 2010 at 14:16
  • @Jon That was what I was thinking but I'm not sure if there is wide acceptance of it yet. SO could be a good place to get people on board.
    – carson
    Commented Jan 15, 2010 at 14:51
  • @Joel Lately the biggest issue for me is the directory structure changes with each new dump. I am so close to being able to automate it all. It won't matter once this API is ready. :)
    – carson
    Commented Jan 15, 2010 at 14:55
  • I also mentioned the "firehose" request on the SO blog (before I saw this question). Commented Jan 16, 2010 at 1:41
  • I would love to see the iPhone app extended for all three trilogy sites Commented Jan 17, 2010 at 3:50
  • You make a good point about error conditions. HTTP responses are the obvious and now document solution. Markdown is more descriptive than the HTML equivalent (and going from HTML -> Markdown is basically unsupported) so I think returning markdown is really the best bet. Plus SO's Markdown implementation is now open source. Commented Jan 17, 2010 at 4:14
6

I would like to develop a BlackBerry app for browsing Stack Overflow. (And, when V2 rolls around updating as well.)

So, it would be nice to be able to use the Stack Overflow API on the BlackBerry platform.

3
  • +1 Do it! I've been wanting this for as long as I've used SO.
    – James
    Commented Jan 18, 2010 at 15:22
  • I would really like to give a Hand on building a BlackBerry App.
    – Michael B.
    Commented Apr 2, 2010 at 0:29
  • @Michael I won't be building any software with the API for a while. It will take some time to fully develop the API.
    – jjnguy
    Commented Apr 2, 2010 at 1:01
4

I want to create visualisations that depict and map the relationships between technologies based on developer exposure to said technologies and tags. To do this, I need to be able to discover tags for questions that a user has asked or answered.

2
3

I want to build a Chrome Extension that follows questions and lets me know when questions have been answered.

See my SO blog comment

1
2

A bridge to the netherworld... dare I say it, the forbidden taboo F-word... Facebook.

Phase 1. Announce questions asked, badges earned, and best answers. Would be ideal if this the API can be configured to pingback a URL for requested users, so that this information can effectively be pushed to Facebook.

Phase 2. FBML-based, filtered views of questions asked by Facebook friends (who also use the Facebook application). Sortable user view that links to Facebook profiles.

Utility for the Facebook application user: broadcast questions one asks to a trusted audience; demonstrate technical authority (yes, the rumors are true: Facebook is premised upon user vanity).

Utility for community: viral marketing increases user base.

1

I want to build a smart client that will allow me to search through all the SO data in a mixed online/offline mode.

I need mechanism to query for deltas (and large batches) in an efficient way.

1

I would like to be able to pull SO data into R for some analysis. I would then post this onto CRAN with a GPL license.

The easiest way to do that is through an XML or JSON API (a good example is the NY Times API and the related nytR package in R).

1

I would implement "search in favorites". Or maybe some other things I think Stack Overflow is lacking. Quick and dirty, until the Stack Overflow team gets to it.

1

I would like to see a LinkedIn application or Facebook application so I can see my workmates and friends activity on Stack Overflow in those websites.

0

I want to get a particular user's activity both recent and in the past. [I have to use Activity page because a lot of time Eric leaves interesting comment but no answer. And there is no way to look at all comments done by a user.]

E.g. I follow activity pages for Eric, Pavel and Jon. I have to do this daily otherwise I would miss their comments/answers if it scrolls off the activity page. I could potentially build a website which lets me view a particular user's activity in any way I choose. [E.g. filter out Jon's activity for Java questions/answers because I don't care.]. Potentially I can let visitors of my site follow SO user's activity and use 'follower' count to find more interesting users for me to follow.

0

I want to build a knowledge-base that interacts with a case management system.

Support engineers link answers to cases, which would increment the vote for the answer, perhaps also for the question as well.

It would be good to have a way to convert a support case, which would have a "question" field and an "answer" field, into StackExchange question.

It would also be important to have some mechanism for tiered access control, for example, internal only vs. public access. From a business process perspective, it would be best if the conversion from internal to public could be automated, say, after an article received 3 votes.

0

I would like to complete...

My need is more in the complete zone than that of the build zone since it's for the StackOverflow Bar.

I've been publicizing the inclusion of alerts on the bar but, I've let the idea go bad to the point of foul smell just because HTML scrapping under Firefox is just... not something you want to self inflict.

The ideal API for this would...

  • Let me choose between pooling or siphoning from stream.
  • Give me item-by-item data AND
  • Give me aggregated data(nested objects, etc...) upon my choice of function to call
  • Give me the possibility to either ID filter or Date filter above data to make "diffed" decisions

This would allow me to maintain a database of events that would interest the user of said Bar, even if there was a long time between Bar on-line usage.

0

In a similar fashion to jjnguy once a Stack Overflow API is available I'd like to help work on an Android application for Stack Overflow. I say help because once the API is available it'll only be a matter of time before such an application is built and it's a great idea to raise awareness for this idea so that the community can build an open-source application for us Android users.

For this, it would be great to take advantage of JSON. Every other answer here has the right ideas as to what an API needs and more personal touches, such as all notification functionality to be working (i.e. like for the reddit is fun app) when you are alerted when you receive a new notification.

0

I would like to implement available API's in different programming languages or at least to my favorite programming language :)

0

I would like to build a Windows Mobile 6/6.5 and a Windows Phone 7 App. It would start off as a way to view rep and search/monitor questions. But as the API extends I would like to see full submits abilities as well.

Features I would like to start...

  • Keyword/Tag search
  • User lookup
  • Rep info (badges/points/avatar)
  • Track last update (the ability to find/browse updates to questions and answers)
0

I want a build a plugin for Eclipse and a browser extension for Chrome/Firefox that automatically pulls up related questions from Stack Overflow whenever there is a compile/runtime error. If no matching questions are found, it would allow me to post the question online from the IDE/browser plugin itself.

An ideal API for this task would:

  • Let me search questions by keywords
  • Let me do a full-text search for some compiler/browser error in the question text.
  • Let me post a new question on Stack Overflow right from the IDE.
0

I want a desktop application (or Windows 7 sidebar gadget) that will pull from all the Stack Exchange sites that I add to it. I want to see answers to my questions, new comments to my questions, hits on my CV, messages on my CV, and comments that other people leave on questions that I comment on or answer.

I'd also like a Windows Mobile app that does some subset of the things above.

0

Eclipse Mylyn plugin that gives me a live stream of tags I have subscribed to. I can answer some questions. Author online-offline status. (Hmm. Also needed feature on the main Stack Overflow).

0

I would like a social network based on Stack Overflow. Make it easy to find your friends on Stack Overflow and add them as your fellow Stack Overflowers. Then make a "what's up with your Stack Overflow friends" page and a RSS feed that displays recent activity of questions, answers, comments and voting.

This would enable:

  • a healthy competition among friends to gain as much rep as they can,
  • sharing interests of friends ("he is interested in python and he is so cool, so maybe python is worth checking out" ;-)
  • instead of asking questions directly friend-to-friend, you could post a question on Stack Overflow and all your friends can see what you are asking for and leave a publicly available response for all of the internets to see,

I know Jeff Atwood is against integrating any "social network" features into Stack Overflow, so a separate site is the best solution - it will keep Stack Overflow clean while still providing an alternative for more "socially needy" programmers.

I reserved a domain name for it: http://stackoverflowfriends.com/

0

I want to build a site that will show the users only correct and accepted answers, And the user will tag this question in his account and later when needed to face same problem then in place of searching again he will only search in his archived tag. Is it feasible?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .