My first open source project

Introduction

I’ve started building my first open source project back in November 2017. I actually thought to write it for fun, I didn’t know that I’ll be extending this idea, It was supposed to be a 30 min project. But many ideas came to my mind and this is how it’s started. Also, Pixi (this is how I named it) was a closed-source at first.

Heavy Squares.

When I was learning Microsoft’s GUI Framework called WPF I decided to make a very simple program to color pixels on click. Yes. Something very similar to MS Paint, but on a smaller scale, like a 3×3 grid. This idea came to me when I was reading about rectangles from WPF’s toolbox. Young stupid me thought “What if I’ll connect 9 rectangles and color them on click”. I quickly started to construct my brilliant idea. It was working. I can even say, that it was working perfectly. But don’t forget that it was just 9 rectangles. I saw potential in this project, so I started expanding it. This is when It’s getting funny, when canvas with squares began to be bigger (1024×1024 for instance) program was eating resources like stupid. A huge amount of ram (about 3 GB) just to create a 1024×1024 grid with squares. And of course, the code was messy too.

Refactoring

I started having troubles in understanding what was going on in the code. It was caused by my unconcern. Quality of code caused my fear to do any changes, so I stopped working on Pixi for half a year. After that time I got motivated again, and I started refactoring the code. In fact it wasn’t refactoring, it was rewriting program from scratch. I took me about a month to finish rewriting it, I’ll write more about refactoring in other post.

Current state

After successful refactoring, I decided to publish PixiEditor to github. You can contribute, download and modify the code. First usable version is available on releases page. Stay tuned!

Screenshot from first release of program

Leave a comment