Monday, February 16, 2009

Pet Project

A geek is not that “geek” if she/he ain’t having pet project. So based on that judgement, this time I would like to share my plan for my pet project.
Ever since I graduated I always wanted to rewrite my final project application that I wrote for my graduation. The application was a very simple image processing application. It implemented the Exemplar-based image Inpainting. Although it was a simple application but I think the implemented algorithm is so damn interesting. The application lets the user choose an image and a part or object that user wanted to remove, and the application with some unique algorithm do the “magic”, regenerating those empty part that being left by the object that being removed. The result will be just like a background of the image. Burrrb… enough already with the geeky explanations… I’ll just show you the example:



I got this interesting topic from a friend of mine, than the introduced me to his friend who’re working on it for final project for his graduation. Thanks to him because of his help, I managed to finish it and graduated in time :P

Alright, let’s back to the pet project geeky stuff. The previous application was written in Delphi programming geek language. And for sure the application wasn’t written in a good way. It was only written to kill the job. No compile error and the program ran as expected… than the job is done… he3x… :P

As I mentioned, I want to rewrite the application to the .NET technology. To make it look more professional fancy, the design for the application is described on the following simple diagram:

As you all can see… the front end for this application is going to use Silverlight 2.0 technology, and it will consume a WCF Service. The service will process the image based on the user input and then send back to the client to display the result.

There are some obstacles for developing this application. Apart from the issue of learning curve to get familiar to those new technologies, here are the issues that currently I have in mind…

  • • On the front end,
    I haven’t seen any component that helps the development of the image processing application, such as: “marching ants” selection tools. If I have to write this tools by myself, for sure it will take a lot of time… :P

  • • On the back end,
    Finding a free web hosting that support Silverlight and WCF service isn’t that easy. I quick browse on the net and found these two options. Aspspider offers free hosting for 6 months trial only. And for the, I’m not so sure if it supports the WCF service

I wish that those obstacles do not make my spirit down, to start working on this pet project.

Any information, suggestion or even comment that can help me to finalize this pet project is positively welcome.