Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Monday, December 14, 2009

qsFOX - My Level 3 Project



Project Description

(skip this part if you have already gone through it at http://qsfox.mozdev.org/)

qsFOX is an extension for Mozilla Firefox which enables Sinhala Unicode Reading and writing capability for Firefox. Most of the machines at internet cafes and some labs do not have Sinhala Unicode installed.

In order to install Sinhala Unicode we have to go through series of steps which takes too much of time. And lack of privileges makes it even tough for the normal users.

So it is always good to have a quick way of enabling Unicode without administrative user privileges since time is a highly considerable factor for the users who browse internet in those places.

Even though it is possible to read Sinhala Unicode text using a small trick, not being able

to write in Sinhala has become a great problem for the users who work with Sinhala Unicode (ex. Sinhala bloggers).

From qsFOX I have given a solution for this by providing both reading and writing capabilities in Sinhala Unicode for Firefox.

qsFOX comes as an extension for Firefox. Here I have developed the standard Wijesekara Sinhala keyboard.

So I hope it will be a great tool for the Sinhala Bloggers and Blog readers who are having problems with working in Sinhala in those constraint environments.

And there is an option for those who like to use the Phonetic style (singlish) keyboard.

User will be provided a UI with useful information (ex. Keyboard Layout).

The Story

For level 3 course module Programming Project (3200) we were asked to develop a plug-in for an existing code base (like Firefox, Thunderbird, Open Office, etc).

Initially I thought to develop an extension to record statistics of downloads/uploads. I asked some of my friends (Bhanu, Pahan, Nuwan) for a project idea.

Pahan came up with this great idea (I believe it is great) of developing an extension which allows users to use Sinhala Unicode in a constraint environment (without administrative privileges) which was in his mind for a long period of time. He has already created a portable Firefox with Sinhala reading capability which has some draw backs. He explained me how his portable Firefox works.

My project proposal got approved and I started the development. Initially part of the project is full of documents. Level 3 project runs very much similar to a real world project. Software Engineering course module which is conducted by Dr. Shahani Weerawarana was very helpful to gain knowledge to do the initial part of the project.

Initially I had to put some effort to learn JavaScript and XUL (XML User Interface Language) since I am very new to those two technologies. Luckily there are lots of online resources available.

First I developed the Wijesekara Keyboard functionality. It was not that easy as I thought. ‍ෙ(”Kombuwa”) caused series of troubles to me :-).

Lack of familiarity with the Wijesekara keyboard layout became a problem. Once again I got the help from Pahan to test the Wijesekara keyboard. He chats with me in Sinhala by using the extension to identify bugs.

Finally I succeeded in creating the entire Wijesekara Keyboard layout including “Rakaransha” and “Bendi Akshara”.

Implementing Sinhala reading functionality was a challenge. I created my own XPCOM component in C++ to access windows API. I am not going to describe more on that.

But you can get some idea from the following Logical view.



GUI



I think I am always good at GUI designing. I got some good feedbacks for the GUI and for the logo. I tried to make it attractive and user friendly. You can decide whether I am successful or not.

Finally I ended up all the development phases successfully on time.

If you like to create Firefox extensions I can give you a small guidance according to my knowledge.

Mozilla Developer center (MDC) is a good online resource to learn extension development.

And if you have any problems during the project you can get the help from the Mozillazine forum members. I got a good support from them (most of the times they give code snippets)

Credits

Pahan Sarathchandra for project idea, supportive ideas and testing (I can definitely say that if he is not there I will not get this chance to contribute to Sinhala Blogosphere. He deserve a very big credit for his concept and for the support he gave me throughout the project.)

Creators of Unicode Real Time converter

Creators of Malithi Web Font

Authors of articles at http://siyabas.lk/

Still there may be some unidentified bugs in this extension. If you find a serious bug please let me know.

And please add your reviews here


Sunday, April 12, 2009

Virtual Floppy Drive


This is a simple tool which creates a virtual floppy drive in windows. You may ask what the use of a virtual floppy drive is while floppy drives are getting out of the business these days. Actually this may not be useful to everyone. But for me this is a great tool. People who are interested in dealing with bootable CDs/DVDs are facing a problem in editing floppy images since the absence of floppy drives in modern machines (specially in laptops). So this is the solution. This small application contains almost everything we needed. It supports many image types including img and ima. And it is a freeware.

You can download it from here


Hope someone will find this useful :-)

Saturday, April 4, 2009

Multimedia Builder - Creativity is the limit



This is about an application which I use to build multimedia applications.

Multimedia builder is a great design tool which can be used to design multimedia applications run on windows environment.

You can use this tool to design mp3 players, video players, autorun applications for your Disks and many more.

If you are creative enough, you can even design a virus from it!!!!

It comes with a scripting language which is pretty much similar to modern programming languages. And you do not need to spend much time to lean its scripting language since there are wizards to build your scripts. A good help document and many sample applications make your life easier.

It comes with variety of tools to build your application with an attractive user interface. Support for Macromedia Flash makes it even better.

The most interesting thing is you can design applications in custom shapes with B/W Mask.

The following link contains a simple media player which was designed using this tool five years ago.

http://download93.mediafire.com/cc0htyumtbjg/4omzzgdltj4/SIHASARA.zip

I used MMB 4.9.0.1 to design this media player. Current version is 4.9.8.

For more info visit mediachance at http://mmb.mediachance.com/