"Why didn't I think about this earlier..." moment
Recently I was doing research on some stuff when I came across this article: Web-Based Real-Time Application Analysis. I gave it a read through, modified the code a little, and tested it out. Sure enough, it worked.
Suddenly, the light bulbs in my head started lighting up.
Why didn't I think about this earlier?!
See, in the past, I've only through to use my application to generate web friendly log reports (an example) or used my application front end to communicate with a server back end.
Never have I thought to make the application itself the back end and the web browser the front end. I mean it sounds simple enough, but this represents an entirely new thought process that I've never had before on my own. I've always looked at using the technology the other way around. With this new perspective, I think I can finally come up with some useful fun stuff for application debugging and reporting that I've never been able to accomplish before.
I've been teeming with excitement all day (well, only been awake <4 hrs now) as I work on getting a prototype done. Some people might wonder why this is a big deal, so let me give some examples of what I am visualizing here.
1. Extensible real time reporting. Since the web browser is the front end and everything is being done through the HTTP protocol, the embedded server can generate html/javascript and stream it to the web client in a manner that is easy to interpret. I.e., no more log file parsing and custom applications to sort and display what you want, you can do it all through html/javascript (*some restrictions apply).
2. Real time debugging. Since everything is operating over the TCP/HTTP protocols, all a user has to do is worry about logic. There's no need for custom GUIs to be coded as much as just scripting simple but flexible HTML GUIs rendered by the web browser. If your project utilizes Lua, then you can easily pass Lua commands to the application from a web browser using a form, for example. With such a setup, you can actually modify stuff as the programs running from the web browser without having to really do anything since everything is in place.
3. Costless, lightweight, simple, proven technology (http protocol, tcp protocol, html/css/js/ajax/etc...) that anyone can utilize really. Everyone has a web browser and as long as you don't get too fancy with css/js/ajax, you won't have that much work to do to get it rendering correctly across different browsers. Adding the custom embedded server to your project will be pain free and can easily be removed if needed (still working on the design though).
For a multiplayer game, having a built in web based administrator console seems very useful. You could also easily integrate it with a database to further provide more flexibility. I think I'd throw in sqlite to the application as well. The idea is to get out of the 'norm' of things programming wise and start to look at alternatives that might not be in use. I know the phrase, "if it ain't broke, don't fix it", but if we just stuck to that, we'd never see any improvements in the field. I mean it's 2010, it seems we are still fighting with design issues that have been around for decades. It's time for something new.
Anyways, I think there's potential here. Maybe there's none. I guess I won't know until I find out. I'm going to make a good effort to try and come up with a Leadwerks specific application of this idea. I should note, since it might be mentioned, this idea has nothing to do with the current Leadwerks Editor (which I'm still anxious to use). This idea is more general and for things that don't already have a means to easily interface with a program externally. Perhaps it's something that could be turned into a product even. Who knows, I'm getting ahead of myself.
Well, that's what I'll be working on now. Sorry CEGUI Layout Editor, but you're on hold for the moment. Thanks for reading!
1 Comment
Recommended Comments