If you check under the hood of the Workplace Shell on ArcaOS 5.0.1 you will notice some thing that are not complete organized.
Problem 1: The WPS Classes
Workplace Shell is based on objects created from WPS Classes. IBM's Workplace Shell has a well defined naming convention for that WPS Classes that starts with WP*, and xWorkplace (The open source desktop enhacement) also tries to have a naming convention with XWP*.
But when you check inside the WPS Classes you can find that there are a lot more.
The Awesome thing is that this is complete transparent for the user. The system may have 4 different WPDesktop childs and it works without the users to know about it. You may disagree with me and say that it is exactly what WPS should do, you can have a lot of childs of different classes, but as a consolidated OS it should try to reduce the complexity.
The problem begin from the development side if you want to extend WPS objects, it starts to look bad.
Possible Solution for Problem #1
It would be interesting to try to merge the functionality of the childs into the xWorplace classes.
Santa's Wish list will be to try to consolidate the classes and only have the "WP*" (IBM's one) with the "XWP*" (xWorkplace ones) like:
- Rename XFldObject to XWPObject
- Merge WPPngObject (Close source) to XWPObject if a deal can be made with the developer.
- Rename XFldDisk to XWPDisk
- Merge CMMMDisk (open souce) and WPPngDisk (close source) to XWPDisk
- Merge AMouse (open source) to XWPMouse and check if WPStickMouse is still relevant.
- Merge WPPngProgram and DTProgram (both close source) to XWPProgram.
- Rename XFldSystem to XWPSystem.
- Merge WPPngSystem (close source) and WPFOCSystem (Close source) to XWPSystem
- Rename XFldWPS to XWPWPS
- Merge WPPngFileSystem (Close source) to XWPFileSystem
- Rename XFldDataFile to XWPDataFile.
- Merge WPPngDataFile (Close Source) and CWMMDataFile (Open source) to XWPDataFile.
- Open source WPPngProgramFile and turn it into XWPProgramFile.
- Rename XFolder to XWPFolder
- Merge CWProgFolder (Open source) and WPPngFolder (Close source) to XWPFolder.
- CWMediaFolder (open source) and it child's should be renamed to XWPMediaFolder, XWPCDFolder and XWPM3UFolder
- Rename XFldDesktop to XWPDesktop
- Merge WPSSDesktop (open source) to XWPDesktop
- Merge WPPngDrives (close source) and WPDrive2 (??) to XWPDrives.
- Rename XFldShutdown and XFldStartup to XWPShutdown and XWPStartup
Some issues with this solution:
- Not all developers will like to give their source code to be merged to xWorkplace
- Users want more features, and this will be like organizing the home, but no new stuff will be saw by the users.
- This requires efforts from a developer that understand WPS and xWorkplace.
In general terms idea can be interesting to consolidate the goal of xWorkplace to be a complete/extendable enhancement of the WPS desktop.
Problem 2: The xWorkplace Project is getting to big and hard to manage
There are complains that not everything can be merged into the xWorkplace project and repository since the complexity of that project is growing up.
Possible Solution for Problem #2
Instead of looking to xWorkplace as a single project, maybe it can be interesting to see XWorkplace as a brand that shares the same notations. With that you will start creating "XWorkplace Friendly Projects".
For example if we grab Lar's Hardware Manager WPS extension (HWman) and start using the same notation of XWP like naming the class "WPHwManagerEx" to "XWPHwManager" and also start using the method names like "xwp*" it may fit the goals of the XWP project. It will be part of the "xWorkplace Friendly Projects" without increasing the size of the xWorkplace repository but sharing a same vision for WPS enhancement.
People that want to make open source WPS classes will be welcome to join the XWP naming standard. Also the WPS classes will look fine together when it is consolidated on ArcaOS.