A NOLOH Refresher - Oh, And Just One More Thing!

The NOLOH guys recently presented at Confoo. As you may recall, I’ve been using NOLOH for just over a year and in that time, have become used to the awesome power that is available for very little effort on the developer’s part. However, it was really refreshing to see NOLOH co-founder Asher Snyder put NOLOH through its paces in a fast moving demo that reminded me of just why NOLOH is so cool and unique in the world of PHP frameworks.

Asher shows some simple basics, like instantiating controls, adding them to NOLOH container controls via their Controls arraylist, and some of the syntactic sugars provided by NOLOH like the ability to Cascade an object reference and therefore allow the ability to chain property assignments, call functions and assign Events, all from the initial construction of a NOLOH object. I use these things everyday and believe me, they are real time-savers.

Asher also demonstrated the power of NOLOH’s Shifts. Shifts are simply awesome and the demo shows some neat Shift-based “acrobatics” achieved in just a few lines of server-side code that would take absolutely oodles of client side Javascript to achieve in other systems. Shifts are a typical NOLOH “low hanging fruit” feature that allow you to achieve client-side resizing and dragging of simple or complex patterns of interdependent client-side objects without writing a single line of Javascript. Asher’s demo only really scratches the surface of Shifts and other incredibly powerful features but even so, you can get a real sense of the goodness that is NOLOH.

So as not to be outdone by Steve Jobs, Asher produce one of those “Oh, and just one more thing …” moments by revealing a new NOLOH killer feature in the form of the Listener object. This does exactly what it says and listens to “things”, server-side. It provides server-side push capability right out of the NOLOH box all implemented with typical NOLOH simplicity, consistency and efficiency. To demonstrate, Asher used the Listener to monitor newly published Flickr thumb-size images and download them into a small NOLOH application. He added each image into a NOLOH Panel object, calling the static Animate::Opacity function with the image, using an animation constant of Animate::Oblivion. This assignment reduced image opacity until the image was no longer visible but then did one more trick – it automatically removed the image control from the Panel’s Controls arraylist. The effect was amazing! New images discovered on Flickr by Listener are added at the end of the queue of images in the Panel. As soon as they are added, they start to slowly “fade away”. The “oldest” images in the Panel that are at the end of their Animate::Opacity duration are then removed by the action of the Animate::Oblivion constant and consequently give up their space in the Panel. The net effect is that all of the images in the Panel dutifully shuffle backwards to occupy the vacated space of the auto-deleted images whilst newly “listened-for” images are added and the end of the Panel’s contents. I was really intrigued by this example of total power with elegant simplicity

Even though I was aware of many of the things Asher demonstrated, a lot of the features I had forgotten about and it was great to be reminded of them, along with some very cool new features, too. All in all, I can honestly say I was totally inspired by the demo and thankful that I had discovered the NOLOH framework in the first place. If you have a little spare time, check out the video that you can find here . You won’t be disappointed.

Short URL for this post: http://tmblr.co/ZG04QyRGZF7