Libki : The Next Generation

Hello All,

It may appear that development of Libki has been stagnant recently. Rest assured, it is not! I’m working on a complete rewrite. While the current version is function, I want the new version to be beautiful. I want it to be a joy to use. To make this a reality, I have spent many, many hours thinking about how to accomplish this.

So far, I have the new Libki client half written. I have switched from PHP/Gtk+ to C++/Qt4. This brings many advantages. First, as it is compiled, start-up times should increase dramatically. Second, there will no longer any dependencies to install ( i.e. Gnope ). Third, there will be a simple Windows installer ( and .deb packages for Linux ). In addition, it just looks really great ( preview screen shots are available at my personal site ).

Both the client and server should be fully translatable for users whose primary language is not English.

The new server is planned to be written using the Catalyst Perl framework. This brings many advantages as well, API stability being the primary reason. The web interfaces will be completely AJAX enabled, powered by Jquery.

Here is the timeline as I have planned it:

Phase 1

  • Functioning Server & Client
  • AJAX powered web administration
  • Only the most basic features will be included ( internal user authentication, all existing features ).
  • Fix obvious issues from the current version ( the need to refresh the page, the ability to change passwords, etc. )

Phase 2

  • Reservations System
  • SIP2 User Authentication
  • REST API for getting information from the server

Phase 3

  • SIP2 Age Verification
  • Configurable Time Warnings
  • SMS User Notifications
  • Cross-Platform Reboot/Shutdown
  • Closing Time Logout/Shutdown
  • Automatic Re-enabling of disabled users.
  • Pre-assign a Kiosk to a User from the web administration inteface.

Phase 4

  • Print Management ( most likely integration with PyKota ).

Phase 5

  • Make reservations via SMS.
  • LDAP Authentication
Posted in blog.