Monday, March 10, 2008

Platform Independent File Search

I have been working on a platform independent hard disk search software for the past two days. Finally it has taken shape. Also it passed the initial testing successfully. Let me share my journey till now and also how Netbeans saved my day.

Screenshot 1

Screenshot 2

Motivation:


The motivation of this project was to tap the potential of Java's platform independence. Also I wanted to create a fast search program, which would be light weight and with a simple interface. I think I have achieved my goals relatively well.

Logic:

The logic behind the search engine is a combination of DFS(Depth First Search) and BFS(Breadth First Search). To penetrate each path DFS is used and inside each path BFS is used to locate the file. A new thread has been used for the search process, which runs parallel to the user interface thread.

Versions:

Initially I had created the project as a command line one. Then I thought of implementing it as a GUI. The final version is a GUI, with command line logging taking place simultaneously. With the implementation of the GUI I faced a huge hindrance of managing the interface layout. It is very cumbersome to manage the layout by simple coding.

NetBeans to the rescue:

After wasting more than an hour putting the layout in place. I decided to download NetBeans. My computer is quite an old machine (PIII 750Mhz, 256MB RAM), so didn't install NetBeans before. After installing NetBeans the speed was good considering my machine configuration. I started the NetBeans GUI Builder(formerly Matisse) and my layout was up and running in 8mins sharp. Wow! Kudos to NetBeans for saving my day. I won't say it was a breeze working with NetBeans, rather it was tornado.

NetBeans GUI Builder at work
Download:

Coming soon! Keep watching this space.


0 comments:

Disclaimer

Experiment with the things mentioned in this blog at your own risk. The author shall not be held responsible for any damages caused to your system by the things mentioned in the blog.

Notice

All logos, trademarks, images used are property of their respective organizations. If any organization has objection to any post regarding use of their property I will happily remove it.