Jun 26

Rhtml in Ruby, Template Toolkit in Perl, Python’s Django templates, Java’s JSP or Freemarker, and ASP .Net files. All have the same philosophy – render HTML with data streamed from the corresponding web framework ‘controller’ modules.

It’s a great concept – lets you refactor View Templates and come up with ugly looking prototypes quickly. I say ugly since most enterprise programmers tend to have little or no web design skills. Learning effective UI Design is not trivial and asking your programmers to come up with slick UI is a lost cause.

Then you hire Graphic Designers and UI Developers. And your slick RHTML model starts to break horribly.  Web Designers’ tools such as DreamWeaver etc do not understand the server side Templating languages or they understand parts of it. The Web Developer has absolutely no interest in learning the weird syntax And it’s MUCH harder to design and test web pages in Dreamweaver with pages refactored in mutliple files!

When faced with the stalemate, we went back to basics. Separation of concerns!! Divide and Rule. Let two teams work with their favorite tools and we’ll connect the bridge with good old JSON transport. No need to do server side templating, rendering and refactoring. The backend developers had no need to mess around with HTML, CSS, Gifs and PNGs!

So, here’s our setup which keeps everyone happy. For now.

The only connection between Developers( including  Javascript developers) and designers is via <div> IDs. Once those container blocks are placed in HTML pages, the Programmer renders the UI widgets and takes care of AJAX communication with back end.

The Web Designers can continue using Dreamweaver and it’s associated parameterized templates to manage refactoring.

Going pure JSON also means, we can do away with massive rendering Engines in Rails, Merb or other frameworks and work with much simpler Data Delivery Engines which are REST compliant and serve pure JSON. We’ll talk about building such an Engine using Rack in a separate post.

Tagged with:
Jun 12

Most of core software developers tend to brush off ‘user interface’ thingies. ‘HTML developers’ are looked down upon by people working on the cool backend technologies. The mere fact that UI designers get paid far less than their backend counterparts is a proof of my assertion.

Goes on to prove the geeks have it all wrong when it comes to selling!

Good, slick user interface is quite hard to achieve. It requires vision, imagination, training in human psychology AND a quite a bit of technical wizardy. Try navigating all corners of CSS and then make yourself cross browser. You’ll know what I’m talking about. Apple is where it is today simply because of it’s fantastic user interface. There’s nothing one could not do with good old PCs before Macs made a comeback. Yet people rushed to pay extra dollars to get the coolest computer on earth. Ease of use ? Stylish? Marketing? Status Symbol? Be different syndrome? You can call it what you like but if it were not for the beatiful interface, Apple wouldn’t have survived it’s comeback for this long.


Contrary to popular wisdom, Looks ARE everything. People are shallow. The managers controlling the money purse are technologically shallow and ill-informed. Show ‘em your multi-threaded, fault-tolerant, highly scalable database which has an inferior look and feel and you’re sure to lose that sale. Absolutely. It’s guaranteed.
Pay attention to usability and some amount of eye-candy right from the beginning. Even your prototypes have to look slick, even with reduced functionality, if you’ve any hopes of raising capital or generating interest. Don’t discount the shallowness of the masses.

Tagged with:
preload preload preload