Author: Sudarshan Murthy
I recently learned about Tellico, an application to catalog pretty much any collection. It includes templates to record details of books, audios, videos, stamps, coins, and other common kinds of collections and it can connect to many popular data sources such as Amazon, IMDB, and PubMed. Tellico is released under GPL.
To me, the best part of Tellico is its committed author, Robby Stephenson: He has actively maintained Tellico since its inception in 2002. And, he even lists alternatives to Tellico right on the Tellico page. Kudos Robby.
I can't comment on Tellico's usability (because I haven't used it enough), but judging by the screenshots, I see it can be quite useful in managing household collections. For example, my wife should be able to use Tellico instead of the MS Excel workbook she currently uses to catalog and track our household items. (Before you ask, my designated role at home is to move items around such that the catalog becomes unreliable.)
But, Tellico's age shows, and here is how.
Consider these statements from Tellico's description:
Tellico runs on KDE, making it a cross-platform application. If you limit yourself to Linux that is. OK, KDE is rumored to run on MS Windows, but I haven't seen that in the wild. Even with Linux, in general, Tellico is packaged separately for each Linux distro with which it is used. (See the list of distros on the Tellico home page.)
Tellico saves data in XML format, which makes for easy parsing, portability, and styling. Yes, back in 2002-03, when anybody doing anything with data was doing it with XML. (That, and Robby volunteers in the Tellico FAQ that he wasn't comfortable enough with SQL back then to use a relational database.) However, today, we can safely say that XML management has turned out to be non-trivial, and XML processors aren't really interchangeable. RDBMSs have also cleverly integrated XML data management and perhaps include the most efficient XML query processors around.
So, what gives?
I think something like Tellico is too useful to be limited to KDE or to any desktop platform. So, here is my prescription:
Use linked data, column storage, or some such: Robby has already taken some steps along this path, thinking about using SQLite or RDF. SQLite might be a good fit, but it might be useful to also consider a linked-data store or a column store.
Make it an HTML application: Ideally, users should be able to download a package of HTML files and Javascripts, and just run the application. Maybe a web server is needed, but, please, none of that Tomcat application-server voodoo. Be thoughtful about using a DBMS, PHP, Perl, and such, because they will almost certainly necessitate a web server.
Make it a web application: For users who don't mind storing their collections outside their walls, host the HTML application on a web server. Multi-tenant the application, use cloud services, and otherwise become buzz-word compliant, but spare the users those details.
So, who will accomplish these?
I'm certain Robby will lead the way on anything Tellico, and he might already be quite a ways along on the data-management front. But, given that Tellico is released under GPL, anyone can take up these tasks. I think, HTML-ising and web-ising in particular make perfect undergrad projects: non-trivial development needs, and a functioning desktop application that provides the specification, leaving you to worry only about the technology bits. Multi-tenanting the web version can also be an interesting project.
If you are a student looking for a useful term project, be bold and consider bringing Tellico to this decade. You will do the world, and yourself, a good service.
And, don't hesitate to ask for guidance.
I recently learned about Tellico, an application to catalog pretty much any collection. It includes templates to record details of books, audios, videos, stamps, coins, and other common kinds of collections and it can connect to many popular data sources such as Amazon, IMDB, and PubMed. Tellico is released under GPL.
To me, the best part of Tellico is its committed author, Robby Stephenson: He has actively maintained Tellico since its inception in 2002. And, he even lists alternatives to Tellico right on the Tellico page. Kudos Robby.
I can't comment on Tellico's usability (because I haven't used it enough), but judging by the screenshots, I see it can be quite useful in managing household collections. For example, my wife should be able to use Tellico instead of the MS Excel workbook she currently uses to catalog and track our household items. (Before you ask, my designated role at home is to move items around such that the catalog becomes unreliable.)
But, Tellico's age shows, and here is how.
Consider these statements from Tellico's description:
Tellico runs on KDE, making it a cross-platform application. If you limit yourself to Linux that is. OK, KDE is rumored to run on MS Windows, but I haven't seen that in the wild. Even with Linux, in general, Tellico is packaged separately for each Linux distro with which it is used. (See the list of distros on the Tellico home page.)
Tellico saves data in XML format, which makes for easy parsing, portability, and styling. Yes, back in 2002-03, when anybody doing anything with data was doing it with XML. (That, and Robby volunteers in the Tellico FAQ that he wasn't comfortable enough with SQL back then to use a relational database.) However, today, we can safely say that XML management has turned out to be non-trivial, and XML processors aren't really interchangeable. RDBMSs have also cleverly integrated XML data management and perhaps include the most efficient XML query processors around.
So, what gives?
I think something like Tellico is too useful to be limited to KDE or to any desktop platform. So, here is my prescription:
Use linked data, column storage, or some such: Robby has already taken some steps along this path, thinking about using SQLite or RDF. SQLite might be a good fit, but it might be useful to also consider a linked-data store or a column store.
Make it an HTML application: Ideally, users should be able to download a package of HTML files and Javascripts, and just run the application. Maybe a web server is needed, but, please, none of that Tomcat application-server voodoo. Be thoughtful about using a DBMS, PHP, Perl, and such, because they will almost certainly necessitate a web server.
Make it a web application: For users who don't mind storing their collections outside their walls, host the HTML application on a web server. Multi-tenant the application, use cloud services, and otherwise become buzz-word compliant, but spare the users those details.
So, who will accomplish these?
I'm certain Robby will lead the way on anything Tellico, and he might already be quite a ways along on the data-management front. But, given that Tellico is released under GPL, anyone can take up these tasks. I think, HTML-ising and web-ising in particular make perfect undergrad projects: non-trivial development needs, and a functioning desktop application that provides the specification, leaving you to worry only about the technology bits. Multi-tenanting the web version can also be an interesting project.
If you are a student looking for a useful term project, be bold and consider bringing Tellico to this decade. You will do the world, and yourself, a good service.
And, don't hesitate to ask for guidance.