Designing an API

Last week I put all my effort in the libsoylent API. I started thinking about the API design weeks ago, but now I gathered all my notes and assembled them into one big document, made some diagrams and worked out the API in more detail. The person and the addressbook objects are mostly done, while groups still need a bit of work. All in all it seems like a good base to get started. Currently me and my mentor are discussing the whole draft, and I will publish the API as soon as we are done.

After I had a feeling that the API looked solid enough, I started to get my hands on the “base-code” of libsoylent, i.e. adding the main classes and GObject stuff and making everything compile and work with stubs. I also added a simple “test-suite” that can easily be extended to test certain functionality of libsoylent.

libsoylent is in the Soylent SVN trunk. If you’re interested, you can check it out at:

and build it with:

./configure –enable-libsoylent=yes && make

This week we also received a patch from Gilles Dartiguelongue that fixed some issues with the autotools configuration of Soylent / libsoylent. That was the first patch for me to apply (yeah ^^).

In the end something off-topic. After weeks and months of searching for a new flat (it’s not easy in Erlangen, I can tell…) for me, my girlfriend and a good friend of mine, we finally found a new home. Today we signed the lease contract. So, in three weeks I will post from a new flat. Nice! :)

2 thoughts on “Designing an API

  1. Noya Post author

    Hey Murray. You’re right, I didn’t implement much of the API yet. What I’ve written above was about a document containing the API draft. I will publish it as soon as possible.
    Most of the code you see in trunk is undocumented stubs. I’m actively coding now, so this will change soon.
    Thanks for your interest. I will keep this blog up-to-date. Help and comments are highly appreciated :) .

Comments are closed.