Extending the system.

Henry Minsky writes in a comment on a previous post of mine: I believe the new Laszlo component classes do make some significant strides in addressing the issues you raise, such as how can classes be extended and customized, and how can some of the well known grunt work be handled by the system instead of by the developer for each app.
In a broader context (and not talking about Lazlo specifically), having a consistent, straightforward way to customize and extend the system is key.
IMHO, the lacmus test for extensibility is the exclusive use of public extension mechanisms in the system itself. I’ve seen numerous systems whith great extension mechanismns. However, most of them feature some “private”, non-documented, “highly discouraged” extension mechanisms, too. If you need private extension mechanismns or if your own code features some elaborate ways to work around deficiencies in the system, revise the system. Even if you break compatibility.
While you’re at it, eat your own dogfood and use your own UI framework to create helper apps etc.
And if you want to make the job of UI developers easier, provide the source code to the UI framework/subsystem/helper apps etc. or however you may call it. Judging from my experience, having access to the source code is extremely important. No amount of documentation, sample code etc. can make up for access to the source code.

Comments are closed.