Category: Ramble
Saturday, Feb 16th, 2008
Templating System Concepts (the evolution)
Templating Systems are extremely important in web development. They allow us to manage our designs to make them more usable for the user, and more efficient for developers and designers to work with.
Recent developments such as Jaxer (AJAX Server) will allow us to take this to the next evolutionary step. Refer to my previous post Jaxer, the silver bullet for more information on Jaxer and Templating.
I have published a “report” that I have been working on the past few weeks, that details and provides examples of the evolutionary steps of templating systems.
Here are the levels that are included in the report:
Level 0 - Static
Level 1 - Includes
Level 1 - Conditional
Level 2 - Shortcuts
Level 3 - Population
Level 4.0 - Separation
Level 4.1 - Separation (Defaults)
Level 4.2 - Separation (Mixture)
Level 5 - Dedicated Solutions (Templating Engine)
Level 6 - Client Side Templating (Not Fully Functional)
Level 7 - Dual Side Templating (Separate Installations) (Not Fully Functional)
Level 8 - Dual Side Templating (Single Installation) (Not Fully Functional)
Templating Engines Used:
Smarty and JSmarty.
To view and download the report visit here:
http://www.balupton.com/sandbox/templates/
Thanks.
Note (16/02/2008):
Unfortunately, JSmarty is still not in a position to be usable, hence the “Not Fully Functional” notices. Hopefully this project will gain more attention and reach that stage. But for the purpose of showing a concept, it still works well.
Update (17/02/2008):
I decided to make my own javascript smarty template engine, you can check it out it’s progress here:
Balupton’s jQuery Smarty Plugin
Tuesday, Feb 12th, 2008
Jaxer, the silver bullet
Jaxer, the world’s first AJAX server, is what I believe is the silver bullet to the epic battle of web development technologies.
Jaxer allows you to run javascript server-side, client-side, and both. It provides database interfaces among other things. But the kicker is that because it is javascript, you can modify the DOM server side before sending it to the client.
This means that templating systems can finally move into the web 2.0 scene. A template system is a way to split design up into something more mangeable, the most basic example being html files, then moving to php includes, then a dedicated solution like Smarty.
JSmarty is a project out currently that is trying to bring Smarty client side, so there can be a universal server and client side templating system. Although it has it’s problems (still being in early development), and you still face having different implementations of the same templating system (smarty + jsmarty).
With Jaxer, you have the ability to use just one. So use JSmarty server and client side, instead of using Smarty on the server. The benefits of this are huge, as there is a single templating system, so one thing that needs to be managed, developed, and used.
Now the benefit of bringing templating systems to client side is that it enables true web 2.0 solutions. So instead of AJAX returning populated HTML to be used as output, it will fetch the data in JSON and then populate the HTML template to be used as output.
Now why would we want to do this? Way less overhead. Say for a table with 100 rows per page, you can fetch a JSON object containing all the row data, and a single row template. Then populate the row template 100 times for each piece of row data.
I will be publishing a report soon enough that will detail the evolution of template systems, and show were Jaxer fits into this.
Update (16/02/2008):
Michael Mahemoff has made a post on Dual-Side Templating, so it is great that I am not the only one believing in this silver bullet.
Update (16/02/2008):
I have published a “report” that I have been working on the past few weeks, that details and provides examples of the evolutionary steps of templating systems. Read about it here:
http://www.balupton.com/blogs/dev?title=templating_system_concepts
Thursday, Aug 09th, 2007
Windows Live OneCare 2.0 crashed my machine
Been using the OneCare ever since it came out, the 1.0/1.5 beta and final version treated me quite well. I installed the 2.0 beta 1 or 2 months ago, and things seemed to be going smoothly… until today that is. I turn on my PC and login, after logging in, nothing happens, I’m staring a blank screen with my mouse cursor there. So I ctrl+alt+esc to open task manager, that worked, and only 4 or so processes are running. If I tried to open more, they would just freeze the computer (forcing a ctrl+alt+del and restart), or just not work. Disabling UAC made it so explorer worked correctly, but still had the other problem of no apps working. So I safe mode, and that works (kind of) but I can’t do anything usefull in it. In the end to resolve the problem, I did a diagnostic startup and uninstalled onecare, which was my only suspect, as what else fucks with your computer that deep besides a antivirus program. So once that uninstalled it was smooth sailing and back to being amazed, astonished, bedazzled, flabbergasted, at how great this wallpaper of Herminey looks on my desktop.
![]()
Tuesday, Jul 24th, 2007
ERS: Securing the Product Distribution/Deployment Methods
This post will contain the how/why/what/when/where of the what is mentioned in the title.