Hi,
today IMDbPY was featured on the Sourceforge's blog:
  http://sourceforge.net/blog/imdbpy-projects-imdbcom-data-onto-your-screen/

Below, the complete interview I released; they cut here and there -
I should really learn to be concise. :-)


===========================================================

> Want to answer a few questions about your software so we can write
> about your project?

Sure, with great pleasure!
I'll answer point-to-point to your questions, but feel free to
edit it as you like (and pardon my imperfect English and the length).

> First, what's your name, and where are you from?

I'm Davide Alberani, a 32-year-old developer from Bologna, Italy.

> Can you briefly explain what IMDbPY is and what you can do with it?

IMDbPY is a Python package useful to retrieve and manage the
huge amount of data of IMDb.com, the famous Internet Movie Database.
The data themselves are mostly provided by the users and free for personal
and non-commercial use; using IMDbPY you can access these information
both from the web and from a local list of textual files distributed
by IMDb itself: in the latter case you can use IMDbPY to fill a SQL
database with that data.

IMDbPY is released under the GPL free software license.

> Who might use it, and how?

It's mostly useful to developers who need to incorporate cinematographic
information in their programs.  Using IMDbPY you can easily access any
kind of data about movies, people, characters and companies.
It's widely used by video collection managers, multimedia players and
media centers.

> What motivated you to create the software? How long have you been
> working on it?

The first public release (1.0, or "Equilibrium") dates back to
April 1st, 2004 and was written to help me organize my own movie
collection.
Almost six years later we're now at 4.5.1 (or "Dollhouse", since
I name every release from the last movie or show I've seen); the
development process never stopped, and IMDbPY is now included in
every major Linux/Unix distributions and used by over 20 other
software projects.

A thing I'm especially proud of is the fact that, despite an
impressive amount of new features and bug fixes, the basic API
and the underlying design stayed stable for all these years.
For example, recently the main set of parsers were completely
rewritten by H. Turgut Uyar using a DOM/XPath approach, but we
managed to keep even such a deep change completely transparent
to the users.

> What tools did you use to built the application, and why did you
> choose those particular tools?

I've chosen the Python programming language because of its
clearness and simplicity: using a high-level interpreted language,
you can greatly speed-up the development cycle.  Moreover it has a
very large users-base and countless libraries were already available.

Despite a certain number of dependencies, IMDbPY always tried to
do its best to work in every environment out-of-the-box (even on
mobile devices): this means that we adopted a number of solutions
that were very interesting and challenging to develop.

The simplest examples are pure-Python fall-back functions for
some C code (used improve performances of some critical operations)
and a handful of monkey-patches for Symbian devices and the
Google App Engine environment.
Even more appealing, is the ability to work without the lxml Python
module upon which our main set of parsers are written: in this case,
a complex adapter was written by H. Turgut Uyar to use the pure-Python
BeautifulSoup parser, instead.
On the other side of the spectrum of IMDbPY's capabilities (as you may
have noticed by now, IMDbPY can be used in many different ways to satisfy
a huge number of needs) we have to interface with SQL databases: to do so
we used the SQLObject ORM to access a wide range of database servers.
When we decided to switch to the SQLAlchemy ORM, we didn't drop SQLObject
support: instead, I wrote an adapter layer so that IMDbPY can now works
with both.

> Why did you decide to put it up on SourceForge.net?

At the time I already had another project hosted on SourceForge.net,
so it seemed logical to put it here.
I never thought IMDbPY would have grown so much, but I'm glad that
today SourceForge.net is still the soundest place to host an Open Source
project, as it was years ago.

> How have you let people know about it?

I never was much into public relations; it took years to buildup
a conspicuous users base and to attract other developers.
Right now I can say it's well known as the best tool to access
the IMDb database, to the point that - from what I've heard - it
was publicly praised by Col Needham himself (the founder of IMDb).

Actually IMDbPY counts almost 50 public releases and more than
20,000 lines of code; anyway, for sure much more can be done in
terms of publicity, especially to attract new developers.

> Are you aware of anyone who's using it in an interesting way?

Sure: we live in a world full of crazy people... and not all of
them are software developers! ;-)
IMDbPY was used to produce a certain amount of papers about cinema
and even in an in-deep course about optimization of a MySQL database.
Years ago it was used by some of the runners for the Netflix prize (but
they did not win, so I didn't get my fair share of it ;-)
So far, one of the most awesome thing IMDbPY was used for, was a research
about automatic generation of teasers using ontologies - I don't even
try to pretend that I understand it!

> What's coming up in future versions? How frequently do you expect
> to make releases?

I think we've most of the major features we need, and so right now I'm
concentrating on making it more robust and less prone to die abruptly
in case of problems - keep in mind that we're working with users-supplied
data and that part of our work is to follow a moving target (the imdb.com
site); this also means that we need to release a new version every few months.

> Do you need help on the project? With what?

For sure!  The hardest part is always to bring in new developers,
and that's why I try to keep in touch with authors of programs
based on IMDbPY and to give them credit for their work.
For the future, I'd like to see improvements in our ability to
do more complex queries on the SQL database, and it would be
wonderful if we could have a working and up-to-date version for
mobile devices (Symbian, iPhone, Nexus, Maemo, and so on), but
it goes without saying that every new idea is welcome!

> And what's the best way for people who want to help to get in touch?

The best way is to present your ideas on the imdbpy-devel mailing list:
  http://imdbpy.sourceforge.net/index.php?page=help

> Finally, is there anything you'd like our SourceForge.net developers
> to know, that we could do to improve the site?

Being a lazy person, I still mainly use only the basic features
of SourceForge.net, but I'm absolutely impressed by the work you've
done in the last years, to make so many tools available to the
developers.
At the moment I'm taking into consideration a switch from SVN to
mercurial or git, since distributed version control systems presents
some real advantages.
The only thing that I'm slightly missing is the compile farm, since it
was useful to compile code for different architectures and environments.

In my opinion SourceForge.net is still, by far, the best place to host
a full-fledged open source project which wants to grow over the years.


Thank you very much for the opportunity to present our work!

===========================================================


-- 
Davide Alberani <davide.alber...@gmail.com> [GPG KeyID: 0x465BFD47]
http://www.mimante.net/

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Imdbpy-devel mailing list
Imdbpy-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/imdbpy-devel

Reply via email to