LikeBack - Quick Feedback from Beta-Testers

What is the LikeBack System?

The system comes from the need to allow users to communicate theire liking of the applications to its developers. Thus, developers know what theire users prefer on theire applications, what should be enhanced, etc.

Basically, how does it work? Whenever the user notice something good he appreciate or something he do not like, do not understand, do not find polished... he can send a few short words to the developers to tell them what he like or do not like. It's only two or three clicks away. It's fast, efficient.

This greatly lowers the communication barrier between the application developers and the application users.
It makes the developers understand and satisfy better the needs of the users.

As an addition, this technology can be used as a bug reporter and feature wish reporter by small programs that do not possess a bugzilla account.

The User Interface

The user access the LikeBack comment dialog throught the application Help menu:

A window is then displayed for the user to choose a comment type and write his toughts:

Whenever the user clicks "Send Comment" the first time, or clicks the "Email Address..." button, the following dialog is shown in order for the user to set up his email address, for feedback purpose:

Then, a dialog informs the user his comment has been successfuly sent to the developers:

For small applications, the number of users who discover the Help menu entry may be too small for the feedback to be useful. In this case, developers can enable the button-bar (see below). The first time the application startups with button-bar enabled, the following introduction dialog is shown:

And here is the button-bar. The bar sits bellow the titlebar of every active windows, making it one-click away for the user to post comment about a sentiment she get at the instant, without the barrier of the user searching the developer(s) email address, firering up a new email window, choosing a title for the email, etc. Clicking one of those icons pops up the comment dialog seen above, with the right option checked, and the text area focused. The current window name is also sent with the comment, letting developers to know what part of the interface the comment refers to. At the bottom of the comment dialog, there is a checkbox for the user to explicitely enable or disable the bar.

The Server-Side Interface

Here is the main screen of the LikeBack developer interface:

Developers can filter data. They can show only bugs, only comments in the language they understand, only comments still to be threated, search a text in comments, etc.

When hovering over the date, the time is shown in a tooltip. On the window name, it shows the whole window hierarchy. And over the email icon, it shows the email address... That email address is clickable, to directly contact the author.

The developer can click the status icon of a comment to change its status. It's to mark comments as solved (to not see them anymore in the interface), as confirmed by one developer (meaning this need to be fixed), or in progress, to tell other developers that someone is currently working on fixing it:

When clicking a comment remarks icon (the yellow sticky notes) or comment id number, a new page let developers to add remarks to the comments. This allows developers to discuss points between themselves:

The server is capable of sending emails to some developers whenever a new comment has been sent. So, comments can be managed with a simple email client. Each developer can configure what comments are sent to him within the E-Mail Options window:

What's Sent by the Client?

When a user posts a comment, here is what is sent to the server with that comment:

Return of Experience

This is the third iteration of LikeBack.
Before publishing it here, I waited to get some feedbacks about that feedback system ;-)

The first LikeBack iteration was published with BasKet Note Pads 0.6.0 Beta 1. So here is what I modified in the second iteraction of LikeBack in BasKet Note Pads 0.6.0 Beta 2, and the experience I got from this system:

As a user, you can test the interface of the improved version of LikeBack in BasKet Note Pads.

Embed it into your Application

It's currently a KDE 3 technology, for testing and proof-of-concept purpose. But my aim is to integrate it into KDE 4. So in a few months it will be ported to KDE 4.

Since it's not integrated to KDE yet, you have to download it and import it into your project. You then need to instanciate it into your application. Then, you should install it on your server.

Download LikeBack 0.4

Add the files in src/ of the downloaded archive to the source folder of your application. You need to modify the Makefile.am file of your src/ directory to include the new icons. I provided a Makefile.am.section file for you to copy the needed lines in yours. Basically, replace the line starting by "kde_icon_KDEICON" with the one I provided, by taking care of replacing "YOURAPP" with the UNIX short-name of your application.

To setup the client-side object, follow the API documentation. It explains lot of things, and is featured with a ready-to-copy-and-paste code example in the description. If you do not want to fine-tune LikeBack or understand it, just copy this code to your application.

Now, you need to install the server-side. Copy the server/likeback folder from the archive to your web server. You need to edit db.conf.php. Keep $dbType to "mysql": nothing else is supported at the moment (if people want more, they can code it ;-) ). Put your server host, your database, your user and password.

Everybody can post new comments but, of course, only authorized developers can view them. Edit the file admin/.htaccess and make sure AuthUserFile points to the .htpasswd file in the same folder. Then, edit the file admin/.htpasswd to include all the user names and encrypted passwords. To crypt a password, use the command htpasswd2 or use a website that offers such services.

Finally, open a webbrowser to the address admin/install.php to create the database. Remove the file admin/install.php to avoid any wrong manipulation in the future :-)

You're ready: try to post a comment to see if you can view it in the admin page. The source code of your application must be configured to join the script send.php in order to send comments.

Feedback Needed

After having used LikeBack in BasKet Note Pads, got experience and returns from it, and modified it to fit better the needs, I'm releasing the system for other developers to be able to use it, but also in order to get feedback from other developers. So it will be in good shapes for KDE 4. I need feedback from the following three groups:

I think KDE as a whole would benefit from LikeBack being enabled in beta-releases of applications. It helps people report more bugs, more small glitches they had experienced, in order to improve the whole quality of our desktop...

Future Ideas

Here are possible or planned enhancements to the system, from the biggest priority to the lowest:

Version History

This is a KDE project