Posted almost 3 years ago
Just after the first day of conference talks, it was time for a party!
The party was held at the Love Hotel Nightclub, in Tampere. For the first few hours, the club was reserved for KDE alone, and everyone was able to chat with ... [More] each other. And this is actually quite easy. You walk in front of a random developer, ask their name, and what he/she does in KDE. That's all you really need! And gives you a good head start for a conversation, full of enthusiasm for what the other is doing! That atmosphere alone is really unmatched elsewhere. Unbelievable and amazing. Later the evening, other local people also entered the club. It creating a nice mix up of hackers and locals. (and various girls!)
At the dinner beforehand, my fellow project members wondered how a KDE
party would look like - taking the taking the high level of geekness into
account. Well trust me I stated: KDE people can party!! Even dance and set a really good atmosphere! And it turned out to be real. Sjors mentioned afterwards this was the best best party he ever had!
During the evening we also got into a conversation up with college students from Mexico, and naturally you'll have to explain yourself. Like what friends you are with. To get the message across to the girls, I briefly said it was actually quite weird. and cool at the same time. We're here with ~300 friends. All from around the world, meeting here together in Tampere. [wow. what is the relation?] Well, again quite weird and cool. We make software. You know there is Windows, there is Apple. But there is a third one. And this one is done by volunteers. They work on it because they love to it. And that's something I admire. Like those anime people in the park today; totally dressed up. They also do that they love to do. And now we're here to build amazing software. As a means to improve the world. [wow]
The message got through pretty nice actually. It was not a talk about technical details, from mind to mind (like we
tend to talk). It was a message from the heart, to the heart. It kind of struck her as I patiently told it, giving pauses, and letting the effect get through. It showed and shared the feeling and enthusiasm we all have, and it worked really well!
The rest of the night continued with amazing music by the DJ, and a lot of dancing, taking pictures, etc.. I hope to receive some pictures of the others over there. Perhaps they are better not to be posted here. Aaron dancing yikey close, just for the fun of it. Me getting kind of itchy screaming, and there are pictures of that too. Taken by locals.
wow that was a party. Did I recall that was with geeks? I'm dazzled, and even more when we took the final photo. It was taken after the party. At 3:39. [Less]
Posted almost 3 years ago
Last year I went to Akademy as single KMess developer. This year however, things have changed! Valerio and Sjors are also able to attend, making it the first year we meet in real life! It's quite odd to see people for the first time, while you've ... [More] been working when them for a few years already. However, this goes extremely well. Having the same passion for KDE really helps, and comfortably talking to the other people around you!
We also hope to get KMess in a better state this week then it currently is. At our hotelroom (TOAS, 5th floor), we have a A3 paper where we write down all little annoyances, and see if we can fix them.
On particular note, we'd love to make progress with a new MSNP2P-stack. This should improve the transfer of display pictures, file transfer and webcam support. It currently requires some discussion to get it right, and that's something we've avoided for quite a while. With the three of us at Akademy, I'm positive we can get some work done!
For now, I wish everyone a good night sleep, and see you tomorrow! [Less]
Posted about 3 years ago
Hi everyone! Today I’ll offer my little blogspace to Daniel E. Moctezuma, our mentored student for Google Summer of Code 2010 He’ll explain what’s about to happen in KMess soon… enjoy!
Integration of a plug-in ... [More] system into KMess
KMess, the Live/MSN Messenger alternative for Linux, has been growing in
the past years as a way of letting the users feel comfortable with
instant messenger programs by providing a messenger with almost a lot of
the features Windows Live Messenger has together with a nice user
interface (and much more of course ). In order to keep this constant
improvement, the developer team has been working on a plug-in system. It
is a major feature as it allows which allows new features without
The primary goal of this project is to design and write code in a way
that plugins/scripts can get their full functionality, main control of
the following components is considered:
- Message text editor
- Personal message and status
- Message transfer
- Access to display picture
I will create some demo plugins to show the capabilities of the plugin
This way other plugin developers can see how can be done, so they can
use all their creativity for improving the experience for KMess users.
For the same purpose, appropriate documentation is also required, so
documenting all my efforts is an important part too.
- Message editor: have control of the text you send to your contacts, as
well as the text you receive from them. There are many possibilities,
but why not play some jokes to friends and something you write your
messages backwards. You know how painful it is to write long sentences
in reverse (let alone read them ). Another, more reasonable, one is
predefined sentences: let the user to choose the trigger-commands and
message to be shown like if you type “>greet” could show “Hi! How are you?”.
- Personal message and status: control of your personal message. A
possible demo plugin is to change the personal message automatically at
certain hours configuring it in a simple window where I can set an
specific personal message or status to be shown at a certain time.
- Messages transfer: control how many people would you like to be able
to receive your message. The demo plugin could be: I would like to ask something to 5
people in private without opening each one of its windows and
writing/copy-pasting the same message 5 times, instead of that how about
selecting the contacts or group(s) you like to send the message(s).
- Display picture: control of the display pictures you show to your
contacts. As a demo, we could set an specific display picture to be
shown at a certain time or to be shown by an interval of time.
Awesome, to say the least! Thanks a lot, Daniel [Less]
Posted over 3 years ago
I’m happy to announce that KMess 2.0.1 is out right now! (for those who are wondering, it is a Live Messenger alternative for KDE4 )
This release also contains a couple new shiny things other than the usual ... [More] “fixed this, improved that” mutter:
Full hand-writing support! yay ISF-Qt!
Synchronization between Messenger’s friendly names, display pictures and personal messages
Fixes to the unbelievable MSN server issues of recent history
Now, head on to SourceForge to get it before everyone else starts to package it
Then let us know what you think of it! You can reach us by using our forum, our development mailing list firstname.lastname@example.org, IRC at #kmess on FreeNode, or by using LikeBack: open KMess, go to the Help menu, click “Send a comment to the developers”.
Also thanks to all translators, contributors and testers, not forgetting all users who sent us feedback via LikeBack! Hats off [Less]
Posted over 3 years ago
LikeBack is a very effective way to allow your application’s users to contribute actively with your project.
It is composed by two parts:
A frontend, the most important part, that which will be seen and used by the ... [More] users.
A backend, which the developers can use to see and answer to what users had to say.
In seven months of activity (we’ve started using it in KMess since february 2009) we’ve received well over 2500 comments: of those, the vast majority was useful to us: this should help understanding how bloody useful LikeBack is.
The flow of comments will be to you extremely useful to understand what your users want: we found that LikeBack really helped in giving the project a direction. It will be *their* direction – which needs to be also *yours*, if you want to keep your project alive! I think that 99% of the time, you’ll find the direction suggested by LikeBack comments will be the best one
Now a little tutorial on how it works, and how to install it (it’s not hard!):
A screenshot, as usual, is worth a thousand words:
Users can send four types of feedback: things they liked; things they didn’t like; bugs; ideas for features.
The frontend is a set composed by:
a bar, which automatically moves itself to the current window, with the four icons corresponding to the four feedback types;
A dialog, which is used to allow the user to compose then send the feedback;
A “LikeBack” object, which is practically the only thing you’ll have to insert in your code, and allows you to customize how LikeBack will integrate in your application.
Once it is installed (more on this later), the user can use it in two ways. First, by clicking in the Bar icons, a very direct way; and second, by choosing “Send comment to the developers” from the Help menu. Once one of these action is made, the Dialog pops up. The developers can choose the languages they can read, to help the users choose how to write the feedback. Notice the online translator option (linking back to Google Translate)
After writing their comment, the user can choose whether he/she wants to remain anonymous or to be contacted back in case it’s needed. The obligatory privacy statement makes it clear that you developer won’t mess with the collected personal data – which amount to an email, the app’s version number, and which app’s window the feedback was sent from; anonymity or privacy assurance help keeping the user comfortable about telling his/her opinions to you.
Once he/she is done, the Ok button will send an HTTP POST request to your LikeBack installation, somewhere on the Web.
This is a simple web application, running on any web host with PHP5 and MySQL (you need root shell access to add some neat extras, explained below). Screenshots:
The first screenshot shows how flexible LikeBack is: you can show which bugs types to view or hide, and customize the list however you may wish. The list itself shows a very generous set of details from each ticket, and the line color gives a direct visual key to the feedback types.
In the comment view, easily accessible by clicking on the comment text, you will be able to see an extended form of the ticket list details, along with the commenter’s email (if any). The remarks system is a very powerful way to communicate with the user: it allows to send your remark both to the ticket remarks list, and also to the user email. Using a certain script which must be installed on your mail server, the user will be able to reply him/herself to the remark, establishing a full and direct conversation between you and them. If this is not listening to your user base, what is?
Of course you can delegate LikeBack interaction to specific members of the team, to help keeping focus – we at KMess can get 5 to 20 comments each day, this means you could need to use a significant development time on LikeBack. Trading and sharing burdens between team members is even more important!
Another *great* feature of LikeBack is Trac triaging – you can enter a Trac ticket number, and LikeBack will close the ticket as soon as it is marked as done in Trac, also posting a remark about the event This can be expanded of course, making a Bugzilla interaction plugin is surely not hard!
How do you get LikeBack up & running? At the time of writing, the best way is checking out the LikeBack SVN; we will soon release version 1.4, which will also be packaged on SourceForge as a tarball.
Here’s the LikeBack SVN repo:
Installation instructions about the backend are also present in the README file:
Install the Smarty library, usually by installing the smarty package on your server’s shell, or by installing it locally on the LikeBack directory (this is not tested at the moment, can you tell us if it works?)
Put the Likeback backend/ directory contents in a publicly accessible location, say /likeback/ on your server, or somewhere less accessible/guessable, if you want
Restrict access to admin/ by HTTP/HTTPS authentication
Copy db.conf.template.php to db.conf.php and modify it with your database’s access details. We recommend, if possible, to use a separate username and password only for LikeBack, with only access to the LikeBack tables
Make sure the user that runs all scripts can write to admin/templates/cache
Optionally, to have LikeBack send weekly reminders to you, add a crontab entry to run cron/sendReminders.php weekly (see cron/crontab file about this)
Test your installation!
When it’s ready, move on to the frontend! Copy the frontend/ directory in your source tree. Then we need to add LikeBack to a window: usually, the first QMainWindow which gets shown will be the best place for LikeBack. From the moment it’s enabled, the LikeBack Bar will move to every window or dialog automatically. If you want to add the menu entries to send feedback in other windows, you can instance LikeBack somewhere global, then call likeBack->createActions( actionCollection() ) whenever your other main windows are instanced.
Include the “likeback.h” file. Then, here’s the code to instance and set up LikeBack initially:
Instance the LikeBack object:
LikeBack *likeBack = new LikeBack( LikeBack::AllButtons, true /*showLikeBackBar/ );
The first argument allows you to choose (with ORed flags) which of the 4 available feedback types you want to enable. The others will not show up anywhere.
The bool argument allows you to initially show or hide the LikeBack Bar – but the user can override this option with the Help menu checkbox (also added by LikeBack).
Then you need to set up where to send the feedback; that is, your server:
likeBack->setServer( "www.example.org", "/where/you/set/up/likeback/send.php", 80 );
You can also choose on which windows the LikeBack bar is allowed to show up:likeBack->setWindowNamesListing( LikeBack::AllWindows );
An important line: choosing which languages are known by the development team: at least one of each team members which have access to the LikeBack web interface must know at least one of the language locales you specify here (use the ISO short format in the list):
likeBack->setAcceptedLanguages( QStringList() << "en" << "nl" << "it" << "de" );
Finally, add to your window the LikeBack menu actions:likeBack->createActions( actionCollection() );
and in your ui.rc file:
If you don’t use a KXmlGuiWindow, but a plain KMainWindow, add the actions like this:KActionCollection *collection = new KActionCollection();
collection->addAssociatedWidget( this );
likeback->createActions( collection );
menu()->addAction( collection->action( "likeBackSendComment" );
menu()->addAction( collection->action( "likeBackShowIcons" );
See, it’s not really hard! And I must assure you – it pays off
We didn’t invent LikeBack. We first learned about it from BasKet Note Pads, when KDE 3.5 was on all of our desktops. We adopted it and, around october 2008, ported it to KDE4 – but only activated it in February 2009. Since then, we have improved it dramatically, and it’s really better than it was before. And we’re not done at all!
We’d like to see LikeBack in a lot of apps! If you have any question feel free to poke us (Valerio Pilo and Sjors Gielen):
on IRC: #kmess on Freenode
on our forum: http://www.kmess.org/board/
via email: email@example.com
Thanks for reading
PS. on a funny side, it took 2500+ comments to get our very first insult [Less]
Posted over 3 years ago
…when it takes two thousands, five hundred and thirty-five useful comments to get an insult:
«Why, thank you!»
We consider this as a great milestone
Posted almost 4 years ago
Today I've been busy converting the KMess svn repository to git. [for the uninitiated: both svn and git are tools to track changes in the source code of an application. KMess is a MSN Messenger client for KDE ]. The reasons for git are ... [More] twofold:
KDE is moving to git.
Instead of trying to move from sourceforge -> KDE extragear now, we can directly move to git.
We seriously need better merge support now.
As we're working on KMess 2.1 a lot of refactoring will happen; to create a library of our protocol code, and provide a plugin API. This requires branches for large changes, while continiously merging the mainline. Git can do this.
Which brings me back to today. Since our repository is also organized like KDE (/trunk/projectname/...) using svn-all-fast-export (made by Thiago) was the natural choice. This tool uses a "rules" file to specify which project a given repository paths should go to. It also offers ways to filter out commits.
Turns out that last feature is useful for us too. While the repository may look clean from the outside, it's history has some curlpits. A few times branches were created from the wrong path, deleted again, and recreated with the correct path. These can be filtered out.
There are no binaries for the the application, so you'll have to run:
git clone git://repo.or.cz/svn-all-fast-export.git
The devel packages for Qt, subversion and apr need to be installed. For openSUSE 11.1 I had to correct the file src/Makefile afterwards because the path to apr include path wasn't /usr/include/apr-1.0 but/usr/include/apr-1 instead.
First, you'll have to create a rules file. There are plenty of examples in the "examples" folder for this.
The documentation of svn-all-fast-export is absent at the
moment - except for a few sample rule files. Fortunately the source code was quite readable, and it's Qt 4 application. Looking at the source,
The option --identity-map= can be used to convert the svn accountnames to git's "full name " format.
options --resume-from and --max-rev can be used to continue at a given
part (e.g. after getting an error, you can write a rule for it, and
continue with that revision).
The output directory for every sub-project (repository with git) needs to exist already, and it should be initialized with git init. Not doing this gives an "broken pipe" abort, and you'll find yourself looking through the source code to find out why.
The result of my day includes of a large rules file, and shell scripts to automate everything. I've stored it in our subversion repository in a separate trunk/svn-to-git project, so feel free to look around. I hope these scripts can help you too. One thing.. there is again no documentation.... Read the source
Issues left open
There are a few issues I haven't been able to solve yet.
A few sub projects were moved across the repository, which is split in separate git repositories (svn paths: /trunk/libisf -> /trunk/kmess/contrib/libisf). Is there a way to preserve the history for this?
The network-library branch was branched off /trunk/ instead of /trunk/kmess/, and moved afterwards to a different location. I've tried to mark both folders with /kmess/ appended as being part of the branch. Now I'm stuck with a network-library branch which lacks the base revision. Only the changed files can be found in the branch.
For these final issues I'd like to know: is there a way this can be solved? [Less]
Posted almost 4 years ago
Hi my 25 readers!
I’m very, very happy to announce that the KMess team has released KMess version 2.0, after more than an year and an half of development!
Here’s some quick screenshots for you (there’s a better ... [More] visual guide at our site):
The main window.
Chat window with muliple tabs support.
The contact list screen.
As you can evidently see if you had KMess 1.5 installed, a whole lot of work went in this release (compare the new with the old).
First of all, we’ve ported it to KDE 4, and it was about time for that! The rest of the stuff is a pretty impressive list:
Support to receive and send Ink (hand-written) messages and Winks.
Improved custom emoticons management.
Options to copy a contact’s email, name, message, listened music and links present in the name/message
List of contact events, such as logins and logouts.
Open chat windows can be used again when reconnecting.
Quick retype of previous sent messages, using Ctrl+Up/Ctrl+Down.
MSN connections over HTTP, to deal with corporate firewalls which only allow connections to browse the web.
Support to chat with offline and invisible contacts.
Support to search for contacts in the contact list.
Support to send longer chat messages.
Option to choose the browser used to open web sites, Live Mail, and MSN support sites.
Support to group all chats in the same chat window (tabbed chatting).
Option to select a directory where all received files will be put.
Option to choose the interval of ports used for fast file transfers.
Option to keep short notes for each contact.
Contact List history box showing contact connections and disconnections.
Support to Messenger Plus Live’s text coloring and formatting.
Support for DBus remote application control.
Option to choose a previously chosen display picture.
Support for dark KDE color schemes.
Beautified long names and messages with a nice fading effect.
Drag&Drop support between the contact list and the chat window (invite contacts to chats) and within the contact list (sort groups and move contacts between groups).
Chat logs browser.
Contact list exporting in XML and CSV formats.
Option to show the own user’s display picture in chat.
Mixed contact list view, to group all offline contacts in a single “Offline” group.
Customizable display picture size in the contacts list.
Option to disable the background hummingbird image in the contact list.
More options to improve customization of the Contact List.
Support for KDE’s KWallet, to store passwords in a secure way.
Automatic detection of network connection and disconnection.
Option to block notifications when the status is set to Busy.
Option to disable displaying of received winks.
Automatic same-status reconnection to MSN after unwanted disconnections.
Option to disable and hide annoying received emoticons.
Customizable toolbars and keyboard shortcuts.
Saved accounts manager window.
“Now Listening” support for all MPRIS-enabled media players like Amarok.
That was quite a long list, huh? And it doesn’t include the countless bug fixes and improvements to existing features…
Anyway, distributions should be including KMess 2.0 packages pretty soon, so to install it go looking in your package manager first. If they’re slow, compile it: go to our downloads page and click “KMess Source” and then on the Installing link below it to see how! It’s quite easy and quick, some 3 minutes and you’ll have KMess running
A final note for 1.5 users: We’ve prepared a simple upgrade script to port your 1.5 configuration over to the 2.0 one, run the mergeFromKmess15.pl in the source tarball
If you have any more questions or comments, please don’t refrain from telling us at our forum, on our development mailing list firstname.lastname@example.org, via IRC at #kmess2 on FreeNode, or using LikeBack: open KMess, go to the Help menu, click “Send a comment to the developers”
We sincerely hope you will enjoy KMess 2 at least as much as we enjoyed creating it! [Less]
Posted about 4 years ago
Hi, yesterday we’ve released our second beta of our next-gen Live Messenger client for KDE!
We’ve as usual put a lot of effort on it, and I invite everyone who uses MSN more than other IM protocols to give it a shot!
As ... [More] a sample of the countless improved things in this version, here’s a little list of changes:
fixed disconnections after many hours of use.
fixed losing KDE Wallet passwords.
fixed typing notifications not appearing in WLM 2009.
fixed resending messages already sent as offline messages.
fixed searching for offline contacts.
fixed time of arrival of offline messages.
fixed contact list group sorting.
fixed many memory leaks.
improved the Chat History dialog and its integration with KMess.
improved drag and drop support in contact list.
improved handwriting message sending.
improved the file transfers window’s behavior.
improved chat session management.
updated English handbook.
10 updated translations.
There’s a lot more, specially under the hood; we try to keep KMess’ code easily understandable and well-commented so if you’d like to hack on it, I guarantee it’s very easy (I’ve actually learned Qt over KMess’ code, writing my first patch ever after less than a week, that had to mean something.. right? Right?! )
Beta 2 marks our very own KDE-style string freeze, so that you’ll be certain that your translations will be still valid when the final release will be out. [This is actually a call for translators! If you can, open up this page and help us, thank you very much]
To take a closer look to Beta 2, our screenshots page provides a nice visual guide on it!
On unrelated news, I’d like to spend a couple words on LikeBack: if you don’t know about it, it’s an awesome way to easily get feedback from your app’s users. We first learned about it from BasKet Note Pads, in its KDE3 incarnation, then I fell in love with it and ported it to KDE4 around October 2008, and fnally put it into action around February 2009. Since then, me and our Sjors have improved it a whole lot: having received our first comment on February the 4th, I can proudly say that as of today May 11th, we’re a tiny bit short of our 1200 reports mark!!
We’re really proud of this, a whole lot of people have helped us improve KMess! We’re listening, and you’ll find that KMess 2.1 will contain the vast majority of your requests and suggestions.
I think I’ll shortly blog about it in a deeper fashion, the 1.2 version released some weeks ago contains a whole lot of sauce, and I’ll explain LikeBack and its history more thoroughly, too.
As usual, if you have anything to say about KMess (or Likeback and you aren’t willing to wait for the next post!), the discussion is open both here and at our boards! [Less]
Posted about 4 years ago
Lately I got a request to blog more about the progress of KMess, and I've been scratching an itch on it. Since we're about to release a "KMess 2.0 beta 2" release I'll delay that for later today/tomorrow.
The train from work to home also ... [More] started to get a bit boring so I've decided to install openSUSE on my MacBook. I really wanted to do this because KDE 4.2 is looking so sweet. Running OS X didn't feel right anymore at all.
The setup was a bit difficult due to EFI-partitioning being messed up, but the actual install was easy. In case you're looking for a HOWTO, the openSUSE wiki pages give you everything you need. Most hardware seams to be working, including: bluetooth, wifi, audio, compositing, video out, special keys, sensors, iSight webcam (requires firmware). There are some quirks remaining though: at the login I briefly see some video memory garbage and the synaptics touchpad sometimes gets locked after suspend to ram.
However, now I can have some fun in the train, show pictures to friends easier, potentially expose Linux/KDE4 to more people, read cached e-mail, etc... Perhaps I could code somewhat, but most of my energy is still spent on my daily job and the renovation of my apartment in the evenings/weekends. I'll blog a bit more about that later. [Less]
Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.