Prayer Clock 1.0.0
Finally I release the Prayer Clock with version 1.0.0. For the internal engine, there is not much change. For the deployment, I tried to make several changes.
Firstly, I am using autotools (autoconf and automake) for the project, so that it is easier for me to maintain the project. Because this project targets for cross platform. Yes, I learnt quite a lot of things about autotools, really nice to use.
Secondly, I continue maintaining the Debian package. Actually, I target on Arch Linux, but I found that Debian and Arch Linux is binary compatible (for my project, I am not sure for others). So, I use Arch Linux to package it in Debian using dpkg. And I also make the PKGBUILD for Arch Linux package build. I choose Debian (not RPM), because previously I used Ubuntu. Besides that, I also follow the freedesktop.org specification for the icon and desktop entry. As a result, after installation, we can run the application from the menu item (just like Windows start menu). Because of this deployment, I change the file hierarchy based on Linux/Unix, which I am not familiar about this before.
C, C++, Java, Python, Mono (C#)
Cross-platform programming language, is still a little bit far away from me. Recently, I ported Prayer Clock to other programming languages. One of the reasons is to learn more programming languages, another reason is trying to solve the cross-platform problem.
C and C++, my most preferred language(s), with the help of GTK+, can perform well in Windows and Linux. But I didn’t tried on Mac OS X. This is because it needs to be compiled on the OS, rather then cross-compilation. That is why, I ported it to Java before. Though Java claims be WORA (write once run anywhere), yet running in different OS might produce “some” problems, such as minimize to system tray in Linux. And, running on Mac OS X also does not minimize to the system tray as expected.
Prayer Clock 0.1.4 released
Prayer Clock 0.1.4 is released, together with JPrayer Clock. Not many changes.
The important change is to solve the relative path problem. This is because if create a launcher on the desktop on Ubuntu, one cannot launch the application. This is because the application will load the XML files in the current working directory, where the current working directory might not be the directory of the Prayer Clock.
Click here to download.
Soul is important, yet do not neglect the body (software development)
I say this statement in the sense of software development. If a software application’s engine is a soul, then the user interface will be the body. You have a good engine, but without a good user interface, people will not use the engine that much, cause not everybody see the soul without looking at the body.
So, if the engine and the user interface is a soul, then packaging will be the body. Your software application has a graphical user interface with a good engine, but they are not packaged. However, package it, so that the user can install and uninstall easily, then, everything will be better.
Move my projects to SourceForge project hosting
I just move my Prayer Clock project to SourceForge.net project hosting. Have a look here.