I wanted to share the current development status with BorderSkin.
There will be no development for new features like Aero Shake and Aero Snap in BorderSkin, but BorderSkin will have support for 64Bit windows, I am still haven't tested it on Windows 8 though.Backward comparability
Before anything, I just wanted to say that any changes that I have done takes in consideration backward compatibility with the current themes, nothing will be affected (I hope (A) ).Converting from VB.NET to C#
I originally developed BorderSkin in a scripting language called AutoIt but this version wasn't released then I rewrote the whole the program in VB.NET because I had some experience in it at that time, but now I can't stand developing using VB.NET so I converted the code into C#, the conversion wasn't 100% correct but I managed to fix problems and the code is currently all in C#.
The best converter I found which I used was converter.telerik.com/
.Refactoring source code
Considering the fact I wrote BorderSkin in high school gives you an idea of the how the source code was, so I am still in the process of refactoring the source code so that it is maintainable, easier to develop and allow new features to be developed without breaking some of current features (which happened lots of times in older versions). part of the refactoring was to extracting some reusable components out of BorderSkin in a seperate project.Reusable components
BorderSkin contains so much functionality that other people can use, so why not extracting these functionality in external components. and of course extracting reusable components also makes development easier.
Currently there are two components that have been extracted:Windows Hook
: a .NET component allows you to receive notifications about changes in all windows like Location Changing and Size Changing, what makes this component unique (challenging in development) is its support for both 32Bit 64Bit windows at the same time which I am still facing problems at.LayeredForms
: a .NET component allows you to create forms with PNG transparent background images and add controls with also PNG transparent background over it, under the hood it uses layered windows
, it doesn't support windows forms controls but comes with some basic controls like LayeredButton and LayeredTextbox which are the ones used in BorderSkin.Performance
Refacotoring done on the source helped me identifying and fixing lots of issues issues that was reducing performance, you will find BorderSkin performance improved with Blur Enabled (Top blur only of course) without the laggy movement of windows while moving or resizing.Stability & Bug fixes
This version unfortunately won't have many stability improvements of bug fixes, the reason is I am focusing to make this version a foundation I can build upon in the next versions, if I made a good foundation in this version, fixing bugs in the future will be easier and faster.Open source
With the release of 0.3, BorderSkin and all the reusable components will be open source, most probably I will use both github and codeplex to host the project at the same time since they both have nice communities. I wanted to do this from long time but I didn't release the source code with its problems. In addition I was really afraid of what happened to Paint.NET
, but after I've thought about it for a while, I've decided I will release it anyway. This might happen and it is one of the cons of having an open source program, but there are lots and lots of pros for it too.
Developers, what do you think about these updates ? do you think you may need these reusable components or BorderSkin going source code will be something good ?
Users, do you agree or disagree what's done so far in 0.3 version ? maybe there's something I am missing during the development ? or there's something that is an absolutely need in 0.3 ?
ThanksMohamed Kamal Kamaly