wordgroupz version 0.3 released

It is pleasure to inform that wordgroupz has now stepped into version 0.3

It has been quite some time since I have been working on wordgroupz v 0.3b. In this period wordgroupz went through a lot of changes. To sum up, the features in wordgroupz v 0.3 are :

* You can add words into different groups. In other words, you can classify different obscure words under a common group name which is easy for you to remember.

* Search for words in wordgroupz

* Dictionaries : wordnet (default), webster(online), wiktionary(online)

* Games : Flash Cards, Multiple Choice Questions

* Statistics : Review of M.C.Q., Accuracy (%) for each word

* Pronunciation : generated by espeak (default), if word pronunciation available in wiktionary, the downloaded speech file for the word is played

* You can also make your personal notes for words.

Download

SOURCE: http://rtnpro.fedorapeople.org/wordgroupz/wordgroupz-0.3.tar.gz

RPM: http://rtnpro.fedorapeople.org/repo/wordgroupz-0.3-1.fc13.noarch.rpm

GIT: http://gitorious.org/wordgroupz

YUM: you can download http://rtnpro.fedorapeople.org/rtnpro.repo into /etc/yum.repos.d/ and do as root

# yum install wordgroupz

Why wordGroupz?

You can easily get large list of good words from the internet, your Test Preparation course, etc. So what is the need of wordgroupz? wordgroupz is not just a list of words. There is more to it. It is said that you remember words better when you work with them, like making your own flash cards (rather than purchasing ready made flash cards), looking it up in the dictionary, playing word games, associating pictures, colors, etc. with words.

You may even do that, either in your personal paper notebook or even in text document in a computer. In the case of paper notebooks, it is very difficult to write the words in an organized manner because you don’t know beforehand which word will get its entry in your notebook. And, when your list grows in size, it is very difficult to manage. It goes for e-text document too. This is where wordgroupz comes in.

What is wordgroupz?

wordgroupz gives you a platform to save any word you think important, classify in some common group name ( like concise can be a good group name for words like terse, summary, etc.). By default, when you add a new word, its details from the Wordnet dictionary is retrieved and saved. The words stored in wordgroupz are showed in a tree view with the words as children of some group. You can click on a word to see its details. When your list grows, you can search for the word(s) just by typing its initials.

You can also look up your word in wiktionary or webster. When you look up a word in wiktionary, if wiktionary has an audio file for the word’s pronunciation, it is saved automatically. Then when the play button is pressed, the wiktionary speech file for the word is played, otherwise it is generated by espeak. Once you have looked up  a word either in wiktionary or webster, it is saved for offline viewing.

Games in wordgroupz:

As of now, wordgroupz features two interactive word games : Flash Cards and M.C.Q. (Multiple Choice Questions).

Flash Cards is a self evaluation game. If you cheat, you cheat yourself 😛 . You see a word in a box here. You can check its meaning. If you knew the answer, you click on ‘I knew it’, else ‘Dammit’. You can play it in the opposite way as well. If you choose the Game Mode to ‘Definition’, then you will be showed the word definition first and then you try to guess the word. By default, the words are shown in an alphabetical manner. To make the order random, select ‘Random’ under ‘Game Modes’.

In M.C.Q., you are asked to find a word’s meaning from 4 options. You choose an option and click ‘Proceed’ to go to the next word. The status bar keeps you updated about the number of correct, incorrect responses. Once you are done with answering all the questions, you can see a review of your M.C.Q. test. Based on your responses, the accuracy (%) for the words is updated. Thus, you can identify the words you don’t remember well and stress on them. You can also choose the number of questions to attempt for a particular M.C.Q. test. M.C.Q. gives higher preferences to new words or words you are weak at, and throws them at you before other words.

The Future:

wordgroupz is in its infancy. There is a long way to go. New features could be :

* Let users add related images for words.

* Add more games

* Fix existing bugs and improve existing features.

* work on users’ requests and suggestions

Please feel free to drop in your suggestions, comments, feature request, etc.

wordgroupz development news

Lately, I worked on fine tuning the code for wordgroupz. I fixed some bugs that I was aware of, like unable to parse data retrieved from wiktionary pages which did not have any ‘Contents’ field, error launching games when no words in db, some bugs in webster view, etc. Now, I have added a dialog which will show a message saying ‘Not enough data’ if the number of words in the db are not enough for playing games. I have also added support for parsing data from wiktionary pages which have no ‘Contents’ field. Also made some fixes in the webster view.

I today updated the RPM for wordgroupz to wordgroupz-0.3b-4.fc13.noarch.rpm

You can install the latest version of wordgroupz as follows:

1) download rtnpro.repo into /etc/yum.repos.d/

2) then as root, do :

yum install wordgroupz

You can also get the source code from http://gitorious.org/wordgroupz/

Please test wordgroupz, and feel free to drop in your suggestions.

wordGroupz development News

Although, I had added  the accuracy for the words in wordGroupz in the treeview, it was not satisfactory. First, the app crashed whenever I added a new word to the database. I fixed that easily. But then, the new word would show its accuracy as 0% even before attempting to answer it. I decided to set the CellRendererProgress bar text to ‘New’ for new/not attempted words.

I got some help for IRC Nick: Juhaz at #pygtk in GimpNet. I came to know that set different properties of a cell for a particular column in a gtk.TreeView, I have to set a function in gtk.TreeViewColumn.set_cell_data_func(). I got further help from the documentation at Develp in Fedora.

Finally, after some tries, I got the code up and running. Now new words show ‘New’ and after being attempted, they show their respective accuracy.

I also wrote some code to enable migration from old wordgroupz db schema to new db schema with retention of the old db contents.

I have pushed the latest code to gitorious.

If you want to try the code, you can get the source from http://gitorious.org/wordgroupz . Then, you can install wordgroupz in your system as:

#python setup.py install

Then run wordgroupz : $wordgroupz

Now, I need to do a code cleanup.

wordGroupz development news

wordGroupz is now slowly moving to the version 0.3 release. I launched the v0.3 b quite some time back. Since then, I have worked on many new features, adding features, deprecating old features and many random changes. In this time, wordgroupz underwent a considerable upgrade in its GUI. Based on the outcome of the games, I decided to store the accuracy of the user for each word and show a bar chart for that. But that did not look good. So, I dropped it. I, instead, showed the accuracy % alongside the words in the wordgroupz tree view with the help of gtk.CellRendererProgressBar.

I did away the wiktionary browser, edit button under notes, back button over the search bar, etc.

Now, I am testing the code, and fine tuning the interface. Gotta work 🙂

More wordgroupz screenshots are available at :

http://rtnpro.fedorapeople.org/wordgroupz_imgs/

Here are the latest screenshots of wordgroupz:

wordgroupz development news

Finally got time to write this post.

I’ve been a lot busy lately. Had to do some changes in wordgroupz.
I was working on the output display format for wordgroupz, i.e, how to show the definitions stored in the wordgroupz database. I created a policy that whenever a word is added, wordgroupz will fetch its definition from the default “Wordnet” dictionary. Then one has the option to search for more of the word’s details on wiktionary from within wordgroupz. Once the wiktionary page is viewed online, the wiktionary data is saved in the database.
I have implemented a tabbed design for viewing the details of the word: one for wordnet and the other for wiktionary, till now. I have to expand it for webster as well. A few extra lines of code will do that. The rest remains the same.
Below are the screenshots of the new tabbed view:
Wordnet output
Wiktionary Output View

Then, I started working on the games frontend. I took inspiration from kwordquiz. I put the flash card and the multiple-choice-question in a tabbed view. I am also recording the number of correct responses given along with the attempts made on a particular word in both the games : flash-card and MCQ. This will help the user to identify the words that are difficult to remember for him. Thus, he can pay more attention on those words. Below are the screenshots for the games module.
Flash-Card
MCQ
Have to improve the GUI for games. The functional code is almost done. Now, remains beautification.
I request readers of this blog to give their kind suggestions to make the UI better.
To test the games module, you can do :
$git clone git://gitorious.org/wordgroupz/wordgroupz.git
$cd wordgroupz
$python wordgroupz.py
Note: Now you can add some words to wordgroupz
Note: run the games module
$python games.py

The post is brought to you by lekhonee-gnome v0.9

Resuming work on wordgroupz

For some days, I have not been able to work on wordgroupz. I was sufferring from fever. Apart from that, I came back to Durgapur yesterday. I am, kind of, well now. 

Now, I started working on the saving the various details from wiktionary. Still having some problems regarding customizing wiktionary view. Some trivial issues like :
* webkit.WebView.load_string(), the backward_forward list doesn’t work nicely. Rather, if you jump to a new link, you cannot come back to the original load_string page.
* opening and editing html with beautifulsoup disables the javascripts.

The post is brought to you by lekhonee-gnome v0.9

wordgroupz development news

For some time now, I have been working on wordgroupz. Since version 0.2, I have added some new features.

The new features include dictionary support: online webster dictionary from dict.org and offline wordnet. For implementing the online dictionary support, I used the server interface of dict.org. For offline, I used the dictionary databases of the wordnet application and the python-nltk library.

I also included wiktionary support this time. I used to find it tedious opening a notebook, browser to search wikipedia/wiktionary, copy-paste notes. That’s why I decided to get them all together under one hood – wordgroupz. I include a gtkNotebook : 1st page for showing, editing details of the selected word and the 2nd page for browsing through wiktionary and downloading pronunciations if available. I had to study urllib2, BeautifulStone, pywebkitgtk for the purpose.

I also worked on the new interface, added some custom buttons to the interface. I studied gtkNotebook, gtkToolbar, gtkStockImage, etc. I also improved some logic for the interface. Now, wordgroupz allows to add words without any groups and such words are put in an “no-category” group. Now, there is a “details” field for group-words. Groups can be deleted. I have to write the code to move the words to the ‘no-category’ group once its parent group is deleted.

I released wordgroupz version 0.3b today. I have to work on machine generated pronunciation for words whose wiktionary pronunciation are not available. I have to design the games and quizzes for wordgroupz. Lots of stuff to do.

Please feel free to try wordgroupz and suggest any improvements to be done.

Details of how to get wordgroupz was given on my previous post.