# Saturday, 18 July 2009

When Blend 2 SP1 was launched along with Silverlight 2.0, I had one problem with it. While the new visual state manager concept was great in allowing designers to define how the controls looked there was still one problem. There was no way for designers to do things like dictate that clicking a button started an animation, or moved to a different place in the application. This means that if you were creating an RIA application, the programmer would first had to create the basic navigational and behavioral skeleton of the application before the designer could start work. And also if the designer wanted to test some simple flow changes it be a bit of a trouble for them to do any changes unless they happened to know a little bit of .Net programming.

If we compared Blend 2 SP1 with Adobe Flash’s development environment, Blend 2 was at a disadvantage because of this. Since there wasn’t any way for a designer to complete their ideas without asking the developer for help. And now.. we have Silverlight 3 along with the RC version of Expression Blend 3. And I’m LOVING IT!

What’s there to love? For one thing, in order to solve the problem I described above I would have accepted it MS would have just written in some more event triggers in Silverlight instead of just having the useless ONLOAD that we had in SL1 and SL2. But MS went above and beyond that. Instead of defining additional triggers, they now allow the DEVELOPERS to create their own TRIGGERS. And instead of defining additional actions to the base elements. The DEVELOPERS themselves can create their own ACTIONS that can be attached to TRIGGERS to make them functional.

Ok, I’m not making much sense without an example. Basically a TRIGGER is an event, it could be something like on mouse click, on mouse move, etc. etc. And an ACTION is well… an action that does something. Let’s explain with the earlier example of a designer wanting to add some functionality to the app they’re designing. For example:- once a button is clicked, start an animation. This was not possible in Blend 2, and in order for the designer to see the results of this effect a developer would have been needed to write the code to wire up the logic. But in Blend 3, the designer would drop a MOUSE CLICK TRIGGER onto the button and then on the trigger he would drop a PLAY STORYBOARD ACTION and set the target storyboard to the name of the storyboard they wanted to play.

But that’s nothing new to Flash users, and I wouldn’t be making it sound like a new innovation if that was just the case. The fun part about this is that because the DEVELOPER can make new TRIGGERS and ACTIONS it means that if the base ones don’t work for the application and logic you require for YOUR APPLICATION, JUST MAKE SOMETHING that YOU NEED!

And the coolness doesn’t stop there yet, other than triggers and actions. You can also develop and drop BEHAVIORS onto your elements. And this is where it gets interesting. A behavior is exactly that, it tells the element it was dropped on how to behave. An example of a behavior is like Drag To Move, Shrink On Click etc. etc. And.. the most extravagant example of behaviors comes straight from the Blend 3 samples. It’s called BeeHive and is essentially a BreakOut clone, but what’s special about it is that the whole game was written by dropping custom game behaviors like collision behavior, movement behaviors, etc. etc. onto simple Image elements and poof.. GAME!

This just makes me wondering.. when creating a SL application (or WPF for that matter) it almost seems as if that I should write my application logic as behaviors so that designers can just drop the behaviors onto the elements which they see fit so they can easily change how the UI looks without going through me.

Wow.. what a long post.. and I haven’t even talked about sample data generation… and SKETCH FLOW! Another time then.

Saturday, 18 July 2009 22:32:27 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Tuesday, 14 July 2009

This is a waste of a blog entry, but I need to remind myself that I paid parking today so the parking company can't scam me if I don't do it for the next few months... AGAIN :P

Tuesday, 14 July 2009 12:05:40 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Thursday, 09 July 2009


Such concentration... so serious in what he's doing...


In order to play a video!

Thursday, 09 July 2009 21:53:59 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Wednesday, 08 July 2009

Been crazily busy for the past few weeks but just had to put this up before I forget to celebrate the event.


WZ is now capable of using the mouse to guide the (extra large) cursor, and use it to double click on the video he wants to watch. Then.. once he gets bored, he'll close the video by clicking on the X, click on the start menu, fire up paint and start scribbling with the various tools.

He has absolutely no idea of what actually does what though, so he's been dragging and messing up stuff up over the desktop.

But.. yup.. he's definitely growing up and learning stuff. Once I have time I'll write about the things that are fed to WZ by the family. :P

Wednesday, 08 July 2009 00:16:56 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Saturday, 27 June 2009

I was over at the Section 14 Digital Mall to see if anything interesting popped up during their sale. And then in a mobile phone kiosk near the entrance, they were having an offer on external battery packs. Or... Portable 5V Power Supplies as I'd like to call them. So I decided to see what they were offering since I was looking for a replacement for my old 5V pack which had died a few months back. They were products from a company called Lenmar, the products of interest are those on this page.

They were having an almost 50% sale on their products, so.. the small 700mAh was RM55, the bigger ~2100mAh one (can't remember the exact capacity but it's around 2000+ mAh) was RM99 and the big ass one that outputs enough DC current to recharge notebooks was RM349. Then there was on more thing that was also at RM99. It was a 2100mAh battery, but... it had a solar cell on it, so it's rechargable by the power of the sun as well as any other 5V source.

Oh well.. it is the same price as a normal one, so I thought why not?


As you can see it's roughly as big as my Diamond 2, and you can see the front carries the solar errr.. collectors. Other than that, there's nothing much spectacular to talk about.


It has a charging LED, and an output LED. The 5V in port is just a USB Mini A port, which is always a good thing, and the 5V out port is just a USB socket, which is DEFINETLY what a 5V power supply should have.

UPDATE : Mother farker! While the charging light is a normal soothing green LED, and IN USE light is a BLINDINGLY BRIGHT blue LED! It blinded me when I plugged something in to charge for the first time!.

I have never had a good experience with solar cells, they just never seem to work for me. The last one I had, I left out in the sun for the WHOLE DAY but in the end it just powered the phone for 2 minutes before being exhausted...

Let's see if this one turns out any better.

On a side note, after I paid for my battery, the fair organizers rolled out the "ROBOT" for people to take photos with....

If that IS a robot, then I better gear up for a robot invasion soon.

Saturday, 27 June 2009 17:20:38 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  |