26 Nov 2014



Explorer Shell Merged

To all the community members, we of the ReactOS Project present an early Thanksgiving present in the form of the merging of the explorer_new branch into trunk. It has been a long road with explorer_new's development having stretched many years. It is only fitting that we also celebrate the people who contributed so much to bringing this to fruition, some of whom we pay specific thanks to below.

The first such person actually never touched explorer_new, but his contribution should not be overlooked. Martin Fuchs was the one that answered the call when ReactOS needed a graphical shell for its 0.2.0 release. The challenges he faced at the time were immense as ReactOS was considerably less mature. Martin was forced to effectively recreate much of the functionality that the OS was supposed to provide in the shell itself to create something usable, but he succeeded and his shell has been with us up to this point.

Eventually however the very methods by which Martin achieved a usable shell meant that that shell was becoming more limiting. ReactOS' development had advanced to the point where some of the missing holes were now filed, while others existed that the project did not completely understand. Into this void came Thomas Bluemel, who decided to to develop the new shell in Windows itself so that he could be certain of the segregation between what the shell should implement and what the OS should provide. Thomas actually made considerable progress and his shell was actually very usable on Windows, but ReactOS was still missing a great deal.

Next came Andrew Hill, who took on the task of refactoring the libraries that ReactOS needed. Many of these were derived from Wine, but Wine had no real need for full shell support and so there was little chance of getting the needed development from them. Andrew thus broke off the relevant libraries and did a clean up, reorganizing them to better suit the needs of the ReactOS Project and adding a few bits and pieces as he could.

Giannis Adamopoulos was next in line and was in fact responsible for much of the research that produced the information needed to duplicate the data structures and interfaces used by the shell. He also continued the work of Andrew and Thomas, taking advantage of Andrew's reorganization and Thomas' existing solid codebase to begin the arduous process of getting explorer_new to run on ReactOS in addition to Windows.

Onto this scene came David Quintana and Huw Campbell. David dug into the shell libraries that provided functionality like menus and processed data and requests in the shell, the basic foundations that explorer_new needed to do anything on ReactOS. Huw on the other hand focused on user interactions with the shell, adding complex yet end-user expected functionality like drag and drop. Together with Giannis the three have been responsible for beating into shape the explorer_new branch.

And of course quite a few other developers and community members have also lent their hands, from giving suggestions to tracking down bugs in other parts of ReactOS to performing tests of changes and providing data for analysis. The shell that will be going into trunk today is ultimately a monument to all of the people that helped in its development.

Finally, needless to say, more work remains to be done. Everyone is invited to test out the latest ISOs to see what has changed, what has improved, and of course what might still be missing. We've taken one more step on the road, but there will be many more to come.

News Type: