Customizing Web Apps: Beyond UI
One of the most fantastic things about desktop software is that it's completely editable. If you get inside the source code you can change variables, edit displaying content, change the way it looks, and add any number of features of your own to create an amazing experience for yourself. The main reason why the computer science industry thrives is because programmer's like to mess with other programs. We are at a point in our industry where the web should come this way to us as well. Extending the web world could in fact be the next age in our software industry. Let's take a look at a few examples and how we might want to change a few things or add a few things about it.
Google Presentations
Now, I'm no expert, but I've made use of javascript for quite some time now. And like any developer, I know how to modify code and change it do what I need it to do. Wouldn't it be great if we could do this in the way we modify desktop applications to create mods?
There's more to creating a euphoric web than just allowing custom themes... etc. One reason why any product will never be able to please the end-user to their very perfect needs is: our needs are always changing!! Making an application extensible and customizable is going to take more than building a plug-in framework with some theme templating system. It's going to take code, all of it realistically. Once more, getting to the point of complete modification of our online applications will mean that the community as a whole can come up with far greater additions to the web application than the original developers could ever think of.
I'm not saying open-source ports for web-applications, what I'm actually saying is that we can provide this kind of a system on our existing technologies. All it takes is a few new approaches in development.
- Component Based Development
if each component can function on it's own, adding components should be just as easy. - Create a well written MVC design.
having a separated view allows for the modifications to become even easier to the community. For instance, adding animations to the presentations would be really easy if the model allowed it. All it takes is another view that can resolve to a presentation item of some kind.