Posted on November 25, 2009 by trilancer
Dieter Rams “Less and More” Exhibition @ Design Museum



Dieter Rams’ ten principles to “good design”
- Good design is innovative
- Good design makes a product useful
- Good design is aesthetic
- Good design helps us to understand a product
- Good design is unobtrusive
- Good design is honest
- Good design is long-lasting
- Good design is consequent to the last detail
- Good design is concerned with the environment
- Good design is as little design as possible
I deem myself mostly a developer and hardly a designer, but I find myself constantly getting hints and inspirations from design communities which more or less influenced my technical design and implementation. And I believe most of Dieter’s principles can be applied to software domains without problem.
There’ve been lots debates around “less is more”, or “more is more”. My take is that, take such ideas seriously, not literally. Just like what Einstein said, “Everything should be made as simple as possible, but NOT SIMPLER”.
Filed under: Architecture, design | Leave a Comment »
Posted on November 25, 2009 by trilancer
Actually this one is a bit late, since the interview took place almost a week ago. Anyway you can get a lot more background info regarding JPolite.
http://openvoice.ossreleasefeed.com/2009/11/wayne-lee-on-jpolite-lightweight-jquery-based-portal-framework/
Thanks a lot to Schalk Neethling!
Filed under: 1 | Tagged: jpolite | Leave a Comment »
Posted on October 31, 2009 by trilancer
Weeks of headache, cough, sneeze finallycoming to an end, luckily no signs of fever at all.
Will resume normal working next week.
Filed under: 1 | 1 Comment »
Posted on September 7, 2009 by trilancer
Now a popup menu module and dropdown navigation menu support has been added with simple markup syntax and style settings.

Try out the updated online demo as well as the code :)
Filed under: jpolite, jquery | Tagged: jpolite, jquery | 3 Comments »
Posted on August 11, 2009 by trilancer
beta
Check it out!
Features Done:
- Integration of BlueTrip CSS framework, with Grid System applied on column layout
- Intregration of Gritter as an utility function to notify users
- Integration with jQuery UI controls plus themes, as well as module drag-n-drop
- Complete rewritten of code structure, a smaller core with a strong customization system
- Module Types – various types of modules can be included and applied on modules easily
- Theme Support – three sample themes with a switcher, ”Modern”, “Sliver” and “Classic“
- Comprehensive Customization guides
- Layout Persistence – cookie based layout persistence sample, can be customized to save remote store
- XDO – A RESTful resource presentation layer powered by Chain.js, with messaging and event handling
- Documentation online
On-going:
- A generic Theme Builder based on LESS CSS is being developed
Filed under: jpolite, jquery | Tagged: javascript, jpolite, portal | 6 Comments »
Posted on August 5, 2009 by trilancer
beta
Check it out!
Features Done:
- Integration of BlueTrip CSS framework, with Grid System applied on column layout
- Intregration of Gritter as an utility function to notify users
- Integration with jQuery UI controls plus themes, as well as module drag-n-drop
- Complete rewritten of code structure, a smaller core with a strong customization system
- Module Types – various types of modules can be included and applied on modules easily
- Theme Support – two sample themes are given, “Sliver” and “Classical”
- Comprehensive Customization guides
- Online documentation
On-going:
- A generic Theme Builder based on LESS CSS is being developed
- XDO – A RESTful resource presentation layer with message processing and event handling, powered by Chain.js
- Layout Persistence - sample code will be provided on how to save and retrieve module layout data
Filed under: jpolite | Tagged: jpolite, jquery | 3 Comments »
Posted on August 1, 2009 by trilancer

A preview finally!
Features Done:
- Integration of BlueTrip CSS framework, with Grid System applied on column layout
- Intregration of Gritter as an utility function to notify users
- Integration with jQuery UI controls plus themes
- Complete rewritten of code structure, a smaller core with a strong customization system
Ongoing:
- XDO – A restful resource presentation layer with message processing and event handling, powered by Chain.js
- Layout Persistence - sample code will be provided on how to save and retrieve module layout data
- Theme Support – two sample themes are given, “Grayscale” and “Classical” which can be switched from Firefox View menu
- Module Types – various types of modules can be included and applied on different modules easily
- Comprehensive Customization samples
- Documentation …
Notable feature: when you first open the page, you will be prompted to pick a navigation tab style, Kwicks, LavaLamp or “Traditional”. That is, you can pick your favorite look and feel for the main navigation tabs. Which also means you can easily include jQuery UI plugins and customize JPolite2 without touching the core!
The content of the modules are now just for testing purpose, please note not to be misled
Filed under: jpolite | Tagged: javascript, jpolite, jquery, portal | 1 Comment »
Posted on July 27, 2009 by trilancer
After some investigation and tryout, I’ve decided to include cool iQuery plugins like Gritter, jqModal as well as Chain into JPolite 2, and some initial integration work have gone smoothly. And these libraries are actually jQuery plugins, that I think it good to build a mechanism for smooth integration of various plugins in a manageable manner.
BlueTrip CSS framework has been chosen as the foundation of CSS where I’ll leave the original framework code untouched and provide only JPolite native customizations. Although JPolite was originally designed without a grid system in mind, I’ll try to align with the grid system to provide better control over the layout.
Filed under: jpolite | Tagged: css, grid, jpolite, jquery | 2 Comments »
Posted on July 7, 2009 by trilancer
When moving an old Rails 2.2.2 based application to Rails 2.3.2 environment, I came across the InvalidAuthenticityToken error constantly in all Ajax form requests on all browser platforms. The settings were nothing special at all, a session_key with secret and a mere protect_from_forgery statement …
After numerous attempts it occurs to me that a few requests were successful at times. So after some look and search I realized that the algorithm of form_authenticity_token seems to have changed from Rails 2.2.2 that lots special characters like ‘/’, ‘+’, ‘=’ are included, e.g., “vfbzRs6tLb0xZ/cxaML85y+JODOE+P4klbzue0CIef8=” which I didn’t encode at all in the old code. Reverting back to Rails 2.2.2, I got my hypothesis confirmed, all authenticity_tokens use alphabetic and numeric letters, e.g., “757942043a3b2509365263ef66ff4589e61c2eaa”, no encoding necessary.
So after introducing the JavaScript encodeURIComponent function to encode the authenticity_token before sending out via Ajax, all InvalidAuthenticityToken errors fade away
A two-hours lesson!
Filed under: Ruby on Rails | Tagged: encodeURIComponent, InvalidAuthenticityToken, javascript, rails | Leave a Comment »
Posted on June 21, 2009 by trilancer
Initially, JPolite was designed as a starting point for web application building that all modules are supposed to be loaded via Ajax, which make most content invisible to search engines. Now that limitation has been broken with just a few lines of JS code. Just put an module into any of the existing containers, c1, c2 or c3, with an id in the following format {module_id#tab_id}, where the module id must be defined in “modules.js”, so as to enable reloading of the content.
Check out the demo here at: http://www.trilancer.com/jpolite/index1.html as well as the updated code at http://code.google.com/p/jpolite/source/checkout
BTW: a preliminary solution to integrate external Netvibes UWA widgets with iframes has been demonstrated as well.
From now on, my focus will be JPolite 2 that no major updates will be thrown into JPolite 1 except for bugs-fixes.
Filed under: jpolite, jquery | Tagged: jpolite, Netvibes UWA, seo | 5 Comments »