APIs that deserve more publicity

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Prelates, Moderators General

APIs that deserve more publicity

Postby Jplus » Thu Feb 23, 2012 1:12 am UTC

Most coders hear about Qt, JQuery, MySQL or OpenGL at some point. However, there are also very good APIs out there that get much less publicity. The purpose of this thread is to inspire us by giving those APIs the credit they deserve.

I invite everyone to post suggestions. There are no restrictions except that it must be an API (in a broad meaning of the word) and that it deserves more publicity. I'll try my best to keep the opening post updated with all new additions.

Disputes are possible. If you think a certain API shouldn't be in here, let us know why and see how others respond. We'll use a temporary poll to decide on the matter when necessary.
Other suggestions for improvements of the opening post are of course also welcome.

The lists below include my own initial contributions.

By topic

Application interface
Audio, tagging
Concurrency and parallelism
Data interchange
General purpose
Graphics, 2D vector
Network applications
Regular expressions
Relational database management
Scripting
Web, browsing
Web, search and data retrieval
  • DuckDuckGo
  • YQL (integrated, SQL-like; proprietary, restrictive license)

By language

C and C++
Haskell
Java
JavaScript, HTML and DOM
JSON
Lua
Perl
Python
SQL
Last edited by Jplus on Mon Nov 26, 2012 4:44 pm UTC, edited 4 times in total.
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1575
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified

Re: APIs that deserve more publicity

Postby cemper93 » Thu Feb 23, 2012 12:28 pm UTC

Nice thread :)

I don't think WebGL should be on the list. Almost every news page for programmers or non-programmers has hyped it at some point.

I would want to add the mutagen library for Python, a sophisticated audio tagging library. It's the kind of library you only need so often, but the ease of use of which is delightful when you need it.
Hello good friend.<br>Thank you for the kind insight. To gain free XBOX, please click this link <a href="http://forums.xkcd.com/viewtopic.php?f=53&t=37971">for m&ouml;re information visit our website.</a><br>Also more can be found.<br>Best regard
User avatar
cemper93
 
Posts: 187
Joined: Sun Feb 20, 2011 2:35 pm UTC
Location: `pwd`

Re: APIs that deserve more publicity

Postby Jplus » Thu Feb 23, 2012 1:09 pm UTC

Thanks. I added Mutagen and removed WebGL.

Together we can build some great lists. :)
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1575
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified

Re: APIs that deserve more publicity

Postby headprogrammingczar » Thu Feb 23, 2012 1:36 pm UTC

The DuckDuckGo API.

Also, in the category of concurrency/parallelism: Haskell's strategies. It's a set of higher order functions for specifying how to evaluate an entire data structure in parallel.
<quintopia> You're not crazy. you're the goddamn headprogrammingspock!
<Weeks> You're the goddamn headprogrammingspock!
<Cheese> I love you
User avatar
headprogrammingczar
 
Posts: 3027
Joined: Mon Oct 22, 2007 5:28 pm UTC
Location: Beaming you up

Re: APIs that deserve more publicity

Postby MHD » Thu Feb 23, 2012 5:05 pm UTC

The llvm is pretty great for building functions at runtime.

I wonder if there is any implementation of proper Tompson NFA Regular Expression out there? If so, put that on the list.
EvanED wrote:be aware that when most people say "regular expression" they really mean "something that is almost, but not quite, entirely unlike a regular expression"
User avatar
MHD
 
Posts: 631
Joined: Fri Mar 20, 2009 8:21 pm UTC
Location: Denmark

Re: APIs that deserve more publicity

Postby EvanED » Thu Feb 23, 2012 5:30 pm UTC

MHD wrote:I wonder if there is any implementation of proper Tompson NFA Regular Expression out there? If so, put that on the list.

This Java library creates DFAs from actual REs using Borozowski's derivative-based construction. (There are links to C and C# ports too.) I get the impression that Thomspon's construction is better for some things, but Borozowski's is awesome because it allows you to have things like general not and intersect operators and not have to do determinization during the RE->FA construction.
EvanED
 
Posts: 4160
Joined: Mon Aug 07, 2006 6:28 am UTC
Location: Madison, WI

Re: APIs that deserve more publicity

Postby freakish777 » Fri Feb 24, 2012 4:21 pm UTC

User avatar
freakish777
 
Posts: 350
Joined: Wed Jul 13, 2011 2:14 pm UTC

Re: APIs that deserve more publicity

Postby Jplus » Fri Feb 24, 2012 6:34 pm UTC

I added DuckDuckGo, Haskell Strategies and the Brics regex library.

@MHD: could you provide a link?

@freakish777: does Wolfram Alpha really deserve more publicity? I'm under the impression that it's rather famous.
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1575
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified

Re: APIs that deserve more publicity

Postby headprogrammingczar » Fri Feb 24, 2012 6:37 pm UTC

The Wolfram Alpha API is awful. It gives back way too much information with no obvious structure. The only useful thing you can do with any kind of ease is just present the data the same way WA does.
<quintopia> You're not crazy. you're the goddamn headprogrammingspock!
<Weeks> You're the goddamn headprogrammingspock!
<Cheese> I love you
User avatar
headprogrammingczar
 
Posts: 3027
Joined: Mon Oct 22, 2007 5:28 pm UTC
Location: Beaming you up

Re: APIs that deserve more publicity

Postby freakish777 » Fri Feb 24, 2012 8:27 pm UTC

Jplus wrote:@freakish777: does Wolfram Alpha really deserve more publicity? I'm under the impression that it's rather famous.


You said APIs, not the companies that made them, which leads me to:

headprogrammingczar wrote:The Wolfram Alpha API is awful. It gives back way too much information with no obvious structure. The only useful thing you can do with any kind of ease is just present the data the same way WA does.


If it had more publicity and got more people trying to use it (who also complained), hopefully they'd make it more useful (like giving formatted results).

I mean, everyone knows Google has APIs, but does everyone know Wolfram Alpha does as well? If so, then yeah, it doesn't need more publicity. If not, then I don't see how famous the company is (as compared to the API) should factor in.

Basically, I think this list shouldn't just be "Which relatively unknown APIs do useful things" but also "or could do useful things in the future if they got more exposure, based on what we know about the company that supports it." I mean, I'd love to see Google's APIs be more useful, but they're fairly well know, so adding to their publicity probably won't solve that problem.

Does that make sense?
User avatar
freakish777
 
Posts: 350
Joined: Wed Jul 13, 2011 2:14 pm UTC

Re: APIs that deserve more publicity

Postby Jplus » Fri Feb 24, 2012 10:40 pm UTC

I kind of see your point, but for as far as I'm concerned this list is about displaying APIs that are very useful (preferably good) already, not about getting APIs a larger user base so that they might perhaps become more useful in the future. headprogrammingczar made quite a strong point that the Wolfram Alpha is probably actually not so useful.

Also, I actually meant the API and I'm still sceptical about the notion that they might be receiving too little publicity. For starters, the only people who responded to your suggestion so far turned out to know about it, and I heard about the API several times before.

Secondly, the very fact that the API is provided by a well-known company that makes a service out of providing information on the internet should ring a bell (cf Google, Twitter, Yahoo). Compare this with Adobe and DuckDuckGo (the only other commercial companies currently in the list). Adobe isn't providing any information services, and since their applications are proprietary it isn't so obvious to expect that they provide an open source API. DuckDuckGo does provide an information service, but currently they're not widely known yet; when that changes, the API should probably be removed from our list.

Finally, if an API is less useful then that automatically means it deserves less publicity.

However, if you insist, or if somebody else kicks in to support the inclusion of Wolfram Alpha, we'll set up a poll and let the majority decide.
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1575
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified

Re: APIs that deserve more publicity

Postby freakish777 » Sat Feb 25, 2012 9:34 pm UTC

Jplus wrote:However, if you insist, or if somebody else kicks in to support the inclusion of Wolfram Alpha, we'll set up a poll and let the majority decide.


I do not insist, just personally would like to see more people leverage APIs to force companies to better support them (especially when that company could be making their API incredibly useful, such as in this case).
User avatar
freakish777
 
Posts: 350
Joined: Wed Jul 13, 2011 2:14 pm UTC

Re: APIs that deserve more publicity

Postby Jplus » Sun Nov 11, 2012 8:43 am UTC

*bump*

Mechanize has been mentioned a while ago elsewhere on these forums. It's a nice Python library for browsing the web, derived from the Perl module WWW::Mechanize. I guess I'll put both on the lists?

Did anyone else come across interesting stuff in the meanwhile? I bet there's so much more to discover. :)
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1575
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified

Re: APIs that deserve more publicity

Postby D-503 » Tue Nov 13, 2012 6:42 am UTC

YQL can do some really cool stuff.
D-503
 
Posts: 55
Joined: Sun Apr 15, 2012 11:35 pm UTC

Re: APIs that deserve more publicity

Postby Jplus » Tue Nov 13, 2012 12:41 pm UTC

YQL looks really interesting indeed. Contrary to the other APIs in the list it's proprietary with a restrictive license, do we consider that a problem?

On an unrelated note, I realized that if PostgreSQL is on the list, so should SQLite.

(Now going to add Mechanize, WWW::Mechanize, YQL and SQLite.)
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1575
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified

Re: APIs that deserve more publicity

Postby Jplus » Mon Nov 26, 2012 4:39 pm UTC

POCO is a nice C++ library for network applications. Folly is Facebook's general purpose collection of tidbits, also for C++.
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1575
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified


Return to Coding

Who is online

Users browsing this forum: No registered users and 6 guests