So finally the new ReactOS Explorer has arrived!
The new ReactOS Explorer is much more compatible, stable, and comes with more features than the current (and now old) explorer. We expect it to be a big quality jump in terms of usability, and the rockstar feature of the upcoming 0.4 release. Just keep reading to discover more about it!
Our first paid developer.
As you may know, a year ago, and thanks to an old fundraising supported by all our fans and users, we were able to hire our first developer: David Quintana. His main objective was to finish the explorer-new implementation. Explorer-new was the “codename” of our tries about creating a new implementation of the Explorer in order to improve its usability while being less “hackish” than the current one.
The Shell32 and Explorer
Probably saying that explorer(-old) was hackish is unfair. Explorer, as you already may know, depends heavily on shell32.dll and co, but around 0.2.0 release those components’ implementations with regards to Explorer were almost nonexistent. That forced ReactOS developers to squeeze their brains trying to create an explorer implementation able to run in a greenish 0.2.0 ReactOS that lacks most of the needed APIs. A task that probably was a nightmare to get working properly! A task just for a brave guy: Martin Fuchs. Thank you Martin!
However a ReactOS Dev, Thomas Bluemel, realized that the current implementation(at that time), although useful, would have to be inevitably rewritten in the mid/longterm. First because it was preventing alternative shells from working in ReactOS, but also because the workarounds implemented were limiting its own usability.
So Thomas started creating the Explorer-new project with two objectives in mind: Developing Explorer-new against Windows 2003 to ensure perfect compatibility, and splitting correctly the features between Explorer and Shell32 instead the workarounds and glue placed. His work was amazing, and soon he had his baby, the explorer-new, able to work in almost a decent state in Windows.
But as you can correctly guess, the shell32 APIs were (still) not there so explorer-new was not working in ReactOS yet.
Some years later, after Thomas, Andrew Hill went into the Explorer-new project. Several libraries were picked from Wine, cleaned and refactored, and at the same time several new pieces were added to try to support explorer-new properly. This effort was nice, but still a lot of work was needed to even think about having an almost usable Explorer-new in ReactOS.
Giannis Adamopoulos come later into scene. He is the man responsible of documenting how Microsoft Explorer was working in Windows. As you can see in the picture Giannis made, the mess of classes is a nightmare. Documenting properly these classes was a hard work but it was absolutly needed. We could have decided to find an alternative implementation but that would have led us towards new incompatibilities such as, for example, incorrect theming support.
And finally, thanks to your donations, David was hired later last year. The objective: Developing any APIs and fixing any bugs needed to have Explorer-new perfectly running. During his work, a lot of bugs were found that vaey from message handling issues to focus and z-order ones. The whole ReactOS Team cooperated with David to fix them. Giannis expertise has been very helpful during these coding months.
Special thanks to Huw Campbell, the man responsible of developing drag and drop support in explorer-new, and to all the ReactOS Donators, Supporters, Fans, Testers, and Lovers who have been actively helping with their patience, money, code and feedback to make it real.
Bye, Bye Explorer! Welcome Explorer-new!
We’ve just merged the explorer-new into ReactOS, so from now on, daily build will be using explorer-new as the default user interface. It has been widely tested, however it’s pretty normal to find odd bugs happening or potential issues until it reaches the “99% perfection” state. Please report any issues you discover, so we can address them as soon as possible.
We hope you can really enjoy this new “toy”.
ReactOS Community Edition is now one step closer 😉