Showing posts with label kde-edu. Show all posts
Showing posts with label kde-edu. Show all posts

Saturday, October 18, 2014

Upcoming KDE Applications 14.12 release prep

Hello,

In preparing for the upcoming releases of KDE Applications 14.12 (2014 Month 12) I realized the other day that we have an interesting situation.  For Qt4 based applications there's libkdeedu which contains the kvtml parsing and manipulating code and also a handful of .kvtml files that KAnagram and KHangMan use to get their word lists. KAnagram has been ported to Qt5 and KDE Frameworks for some time now, and will have it's first Qt 5 based release at the end of this year. It uses libkeduvocdocument which was ported to Qt 5 also at about the same time this year. libkeduvocdocument uses Qt 5 and KDE Frameworks 5, and also ships the same handful of kvtml files that libkdeedu ships. (libkdeedu has been split for the Qt 5 based releases) KHangMan hasn't yet been ported to frameworks and Qt5 or at least the port isn't stable yet, so it will depend on libkdeedu still, as will KWordQuiz and Parley from what I understand. So we have two libraries that ship the same files, makes them not coinstallable. So we'll be moving the kvtml files out of the libraries and into kdeedu-data soonish to solve this problem. The moral of this story is to look around, see what will be released using Qt5 in the upcoming release, and what will be using Qt4 still. https://community.kde.org/Frameworks/Application-release-status-December-2014 may help also. If you maintain an application and haven't put your application on that page under the Qt4 or Qt5 tables yet, please do, the more we coordinate, the better this release will be.

Thanks, and keep up the good work all.

Tuesday, July 8, 2014

Qt5/KDE Frameworks porting steps

As I said in my last post I would elaborate about how porting of libkeduvocdocument (name pending currently) from Qt4 and kdelibs4 to Qt5 and KDE Frameworks happened.

Commits can be seen here but it went like this:
1. Change CMakeLists.txt to look for frameworks and Qt5 packages.
2. Try to build, fix any errors. All while checking the Porting Notes.
3. Port away from deprecated methods.
4. Port away from kdelibs4support.

I forget which part of the above involved each of these, but this is what was changed:
Ported from KUrl to QUrl.
Ported from KStandardDirs to QStandardPaths
Ported from KGlobal::locale() to QLocale
Ported away from other deprecated methods and classes.

So rinse and repeat until it's in a state where you are happy with it.
Note that step 4 above isn't strictly necessary, and is similar to porting Qt4 applications away from Qt3Support (Some kde4 applicationss never were ported away from Qt3Support sadly...) Yes KMouth, I'm looking at you.

Sunday, September 4, 2011

Improving the user experience in Kiten, guest post

Note: Today's guest post brought to you by Daniel Moctezuma.

Improving the user experience in Kiten

As part of Google Summer of Code 2011 I worked on improving Kiten in various aspects:
1. Write a better deinflection system
2. Add more filtering options
3. Update EDICT and KANJIDIC dictionaries
4. Write a Kanji Browser tool to help users learn kanji
5. Bugfixes and code polishing

Before going deep in each point, I would like to tell you what Kiten is (in case you haven't heard about it).
Kiten is a Japanese Reference Tool that consists mainly of a Dictionary and a Radical Selector, it uses the EDICT (for vocabulary) and KANJIDIC (for kanji) dictionaries.
The Dictionary lets you translate from japanese to english and from english to japanese, this means you can write in english, hiragana, katakana or kanji to search in the dictionaries.
The Radical Selector lets you to search for a kanji by filtering its radicals, this way you can find a kanji without knowing anything about its readings or meanings.

With this GSoC project, Kiten is now more than that.

1. Deinflection system
Kiten now has a better deinflection system that deconjugates a verb/adjective and gives you the result of it. Example: 笑った is the past tense form of 笑う (to laugh), but (like in any language) if you search a past tense verb in a dictionary you will not find it. So Kiten can deconjugate the input and search for it.
You might wonder, "but why is this necessary?", the truth is that some japanese language learners can be confused of some verb tenses, so they might not know the dictionary form of a verb. Kiten can help you with that and give you feedback about your input, so next time you will know if you entered a verb in past tense or so.
2. Add more filtering options
This improvement helps users to filter results that "start/end with" or "contain" what the user entered to be searched. Also it shows the results in a better order:
  • exact match
  • words starting with the user's input
  • words ending with the user's input
  • words containing (anywhere/in the middle) the user's input
It helps a lot to have order in what we see, most of the time the user wants to know the meaning for a exact match, but also it is good to know if a word is used different, as at the end of an expression or somehow in the middle.

3. Update EDICT and KANJIDIC dictionaries
For some years Kiten was not being maintained regarding dictionaries, now that has changed with this improvement. These dictionary files are the core of Kiten and having the latest updates of them is a must. As part of the project, the user is now able to update the dictionaries at any time (if an update is available).
4. Write a Kanji Browser tool to help users learn kanji
You can browse all the kanji available in the KANJIDIC dictionary and be able to search by Grade and Number Strokes. Just click on the kanji and you can access detailed information such as stroke order, onyomi/kunyomi readings, meanings, grade, etc.
This tool helps you to learn Kanji by Jouyou Grade, in other words, KanjiBrowser can filter kanji by grade difficulty so you will only see those in the current grade you are interested in learning.
5. Bugfixes and code polishing
This includes various areas of Kiten like libkiten maintenance, bugs in the dictionary, etc.
Just to name a few:
  • You can add more dictionaries (EDICT/KANJIDIC format), as well as having deinflection system compatibility with them.
  • Libkiten can be considered mature now.
  • Fixed memory leaks.
  • Code simplification (for better performance and readability).
  • Clear separation between common/uncommon entries.
  • and more.
So, now we can say Kiten is not only a Japanese Reference Tool, but a Set of Tools:
  1. Dictionary (Japanese <---> English)
  2. Radical Selector
  3. Kanji Browser

Also I am proud to say this contribution is now merged on the master branch and expected to be released in KDE 4.8 along with other contributions from the KDE community.

Finally I would like to thank the following people:
  • Jeremy Whiting, for being my mentor in this project.
  • Anne-Marie Mahfouf, for her support since the beginning.
  • Joseph Kerian (previous Kiten developer/maintainer), for his support on some questions I had about the code base.
  • KDE, for choosing my proposal and for letting me have this amazing experience.
  • Google, for Free Software Development promotion by paying to students and encouraging them to learn and contribute to our world.
Thanks a lot!


Daniel E. Moctezuma

Sunday, April 3, 2011

School's out

KDE-Edu is out of subversion and now in git. Take a look. And not a moment too soon. This coming week there will be a KDE Edu sprint in Bilbao Spain. What better place to learn how to use git than a sprint with peers eh?  Anyway this message is brought to you by the hard work of Ian Monroe and Nicolas Alvarez who worked very hard to get the conversion rules set up. (And fixed a few bugs in svn2git in the process).

Monday, May 24, 2010

Multimedia/Edu Sprint day -1

I can't remember which day it is today besides that it's Monday. Tomorrow morning very early I'll hop on a train with Percy from Peru and George and go to Zurich, then fly home in our different directions from there. I believe a lot was done in this sprint. I have a longer todo list than I did before, that's for sure. I'll also be blogging more hopefully about the things I do going forward.

One thing I did last week but didn't blog about was to move the workspace tab from the application style area of system-settings down into desktop style area instead. I as many others I've heard were confused when we opened the desktop theme details settings and couldn't set the global plasma theme from in there. I combined that one with the existing workspace tab of the other kcm and call the combination desktop style. I hope this will be more usable and discoverable.

Thursday, May 20, 2010

Multimedia sprint



Today lots of people arrived for the first day of the Multimedia/Edu sprint including myself. 2 hours drive to Las Vegas, 4 hour flight to DC, 7.5 hour flight to Zurich, then another 3 on the train. I would have slept on the plane, but there were crying babies (and I was excited to get here). Mario is a great host and has all our needs taken care of, it's great to be here. I've met a few developers I've only known on irc so far, so it's been good though I am tired.

On one flight I did make a todo list of stuff I'd like to get done while here so will start to work away at that now. The plan so far is tomorrow to get all together and decide what we each want to do (and do the same each morning I believe). Anyway, enough for now, just wanted to get my 2 cents in about the day 1 :)