# Tuesday, 30 April 2013

User Experience (UX) seems to be quite the hot topic now, everyone seems to be talking about it. And all of a sudden instead of just saying “Let’s think of a proper User Interface (UI) for our web application!” People start saying “Let’s build a great UX!” Cause as you should already know, anything with the letter X in it sounds cool! (Why else would Apple not want to learn to count to 11?) To me UI and UX are somewhat similar, whereas UI only applies to software you can use UX to explain anything that involves a user. ie. Physical shopping flow.

As a programmer, you might think that designing the UX is a job for the designers and the client. Then you’re dead wrong, the designers might be able to paint a great picture for the client to see but that’s just half of the job! Who is responsible to make sure that the design can actually have data bound to it? Who is the one that has to be the voice of reason and mention that you can’t just bring down the whole product database JUST to make a *seamless* scrolling experience?

The programmer! Who else?

So when you’re working on that next big thing, the following pointers should help you make a positive contribution to making a great UX for your application/web site/whatever.

If You See Yourself Hating The Use Of It, It’s Probably Done Wrong.

The first most obvious rule is that if you look at the proposed UX and the only thing you can see is how painful it would be for you to use it, it most likely not a good idea to begin with.

Don’t Design A UX For YOURSELF, Design It For the USER!

This might sound like it’s conflicting with the first point since it’s mentioned that you shouldn’t hate using it, but it isn’t. Cause the first point states that you mustn’t HATE using it, I didn’t say you must fall madly in love with it!

Most of the time, everyone would think that they’re designing the UX for the CLIENT (I’m talking from the role of an ISV here) That the UX is supposed to meet the client’s requirements. WRONG! The client’s most important requirement is always make something people want to use. Always keep that in mind when making your UX, but how do you know what’s the best solution for the user? Do you conduct usability testing? Customer interviews? Well if you have the time and money that’d be great! But most of the time you wouldn’t, so you go for the next best thing.

You make up your users.

This act of creating personas isn’t anything new, people have been doing it for a long time in the creation of various things. I don’t actually practice the creation of named unique personas, but rather one of the concepts in the use of personas which is :-

Know who your users are and what they’re capable of.

If you feel that your website is likely to be used by tech savy people, then maybe you can put more effort into your search capabilities since they’re more likely to use it to find what they want.

Or if you feel that your users are more of the browsing type, then you need to put more effort into designing the best way to rub promotions in their face or make it more likely for them to stumble upon it.

Ends CAN Justify Means

Sometimes there just doesn’t seem to be a way to make something have a good UX, the process might take too many steps, or a form might have too many input boxes, or maybe the data source you’re validating the user’s data against just isn’t fast enough. You client keeps hounding you over the various internet articles that say how every extra SECOND in processing results in HUNDREDS of lost sales, this problem was described by an article my colleague once forwarded to me as “The worry that every one of the users have an attention span of a squirrel” Instead of trying to argue how it doesn’t make sense that one SECOND can give HUNDREDS more sales, the question that should be asked is.

What is the end result of this flow and how important is it for the user?

Because depending on the results, the user WILL be compelled to jump through all the hoops of even the worst UX in order to reach the end. The best example to give is the online plane ticket website AirAsia, I find that the UX can be vastly improved since it’s unpleasant and complicated even for me. And yet everyone uses it because the end result of a cheap air plane ticket justifies the means of having to slog through a poor UX. Let’s not even talk about what happens whenever they have one of their crazy sales!

Another fictional example is of course, if you told your users that they’d have to finish a test that needed 2 hours to complete in order to BUY an iPhone at 25% of the price would they not be willing to do it? Even if you’re told that the scenario isn’t comparable to what you’re trying to achieve, the point is that users are willing to take extra effort if the end is important enough to them.

And that’s enough for this time around.

Tuesday, 30 April 2013 22:16:06 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Monday, 22 April 2013


Decided to do a catalogue of the gear which I carry on me most of the time.

  • Duct tape – Does this need any explanation?
  • Swiss Card – A gift from the Semi Pro Indespensible to have a knife and scissors in your wallet!
  • Mini LED Flash Light – Cause some situations just calls for a real light!
  • Swiss Tech Screwz-All – Read all about it here
  • A Pen – Yup… a plain, normal pen, You’d be surprised how much this thing is used!
  • Small length of rope – This is a recent addition to the old utility belt, not sure what I’d use this for!
  • Leatherman Squirt – Wait.. how long have I had this? Other than the fact that the Phillips screwdriver has the potential to be destroyed by tight screws this thing has seen me through a lot of tricky situations!
  • 2 Caribiners – Surprisingly sometimes you just need a quick hook, got 2 of them because I forgot one of them was already in the pouch. Smile with tongue out
  • USB Thumbdrives – One is encrypted (in case I plug it into something and forget about it… AGAIN) and used to shuttle sensitive data. The other is used to shuffle whatever junk that’s needed.

Maybe I should catalogue my backpack contents as well… though even I wonder what I might find in there if I did that!

Monday, 22 April 2013 00:05:03 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Tuesday, 02 April 2013

After the whole fiasco with the Hori FPS Assault Pad and the spectacular failure of the Razer Onza part of me was a bit cautious about getting another ‘Better than the standard controller’ controller. But I did.. and here it is.. the Razer Sabertooth.


One of the reason I decided to even consider buying the Sabertooth is the fact that unlike the Assault Pad and the Onza, no where in any of the reviews online did I see the line “It’s kinda big.” in their reviews. It was also proven to be correct when I first picked it up and my hands didn’t feel like cramping up!

When I first held it in my gaming grip, it had the familiarity of the stock Xbox 360 controller, didn’t feel too big or small. Felt as if I was holding the stock controller.

And that’s a GOOD thing, because the stock 360 controller has a very good feel when you hold it.

The other immediate improvement was with the position of the extra mappable buttons, you get 2 on top nested deep inside between the bumpers and the triggers.


And FOUR under the controller


Basically the bottom switch is a loose see saw that can tilt towards either side so you can 2 buttons for each switch.

The impressive thing about these buttons is the fact that previous pads like the Onza put the extra buttons too close to the normal buttons, which meant that by sheer muscle memory it would be VERY LIKELY for you to hit the buttons when you didn’t want to.

But on the Sabertooth, it less of a problem depending on how you press the bumpers. For me I’d hit the bumpers using the middle of my index finger, I don’t actually press it with my finger tip. The extra top button is positioned in such a way that it’s at my index finger tip instead of my knuckle so I wouldn’t accidentally press the extra button.

The bottoms buttons have no standard buttons to get in the way of, and I don’t feel that they get in the way of my small hands. Might be a problem for those with bigger digits, so I guess that’s why Razer provided the ability of removing the bottom buttons if you don’t need them.


Once you remove the button, you get a hole like the indention on the left, Razer was nice enough to give some rubber stoppers to block the holes like the one on the right. The problem is that I just couldn’t seem to press them into the hole tight enough and kept feeling that they were going to fall off. The other interesting issue was that as I was squeezing the stoppers in, the joystick gave out loud creaking noises…

Like the Onza the face buttons of the Sabertooth are still the good old caps ontop of micro switches with minimal travel distance


The D-Pad is now four normal looking buttons instead the weird pie slice on the Onza.


Unfortunately because it is still four separate buttons, it still doesn’t work very well for sweeping motion ala Street Fighter. Basically it’s hard to get a Hadoken on, let’s not even talk about a Shoryuken!

The analog sticks on the Sabertooth feels just right to me, not too loose, not too tight. The caps have a slight bumpy dot texture on them.


But if you really want better grip on the tips, Razer was kind enough to provide two grippy silicon joystick caps for you so you can have a better grip on the sticks if you want.


Let’s talk about the special features of the Sabertooth, the first thing to talk about is of course the OLED screen that sits at the bottom of the stick.


This is probably one of the reasons why the Sabertooth is so expensive! But it allows for some interesting features to be implemented because the screen is used to show more information to the user.

The first obvious function is the ability to map the six extra buttons to any other BUTTON on the stick.


Yes, you heard right you can map ANY button to the extra buttons, including the Start and Back buttons as well as the triggers. Very useful indeed!

You are also able to adjust the sensitivity of the thumbsticks.


You can set sensitivity in the range of –10 to +10. As I mentioned in my Hori FPS Assault Pad review, joysticks report values as how far it’s pushed to the edge where the center is 0% and the edge is 100%.

To further explain how joystick sensitivity tuning works we’ll need some diagrams!


The picture above represents how far the joystick is from the edge, so the left edge is the joystick in the neutral position, and the right edge is when you push it fully to either direction. The picture above depicts how a normal joystick reports how much it’s pushed to the game, so normally when the stick is at rest it reports 0% and when it’s pushed to the edge it reports 100%.

When we set the sensitivity to +3 this is what happens to your joystick range


The point where the joystick tells the game that it’s been pushed to 100% get’s drop to around 70% of its full range. This in theory would let you hit full turning speed in FPS games much more faster. Would this give you a edge? Well I’m not that competitive a gamer to know. Smile with tongue out

Then if you set sensitivity to +7 you get the results below


So all you have to do is nudge the joystick a little and you get to move at full speed!

So that’s what the POSITIVE sensitivity values do to the stick, so what about NEGATIVE values? Let’s take a look at the setting of –3


What happens when you set the sensitivity to a NEGATIVE value is that the maximum reported distance of the joystick gets dropped, so even though you might be pushing the joystick all the way it’ll only report 70%. This is helpful when you need to move something slowly and you can’t trust yourself to not just slam the stick into the corner ie. When you’re staring down a sniper scope.

A value of –7 would yield the following range


And for some reason, the setting of –10 yields a range of 0% to 0%. It's either that, or because the reported range falls within the deadzone region of the games I was testing on.

Since you might not want the sensitivity as –5 all the time, the Sabertooth have 2 profile slots for settings. Swapping profiles can be done easily by pressing the profile button. But if you’re going to do it on the fly while playing, note that you’ll need to press it TWICE to swap. The first push brings up the profile menu, the 2nd actually changes the profile


One more not so obvious feature which the Sabertooth has is the ability to access a diagnostic menu and display the current values reported by the analog sticks (Reported values are not influenced by the sensitivity settigns)


This is important to competitive players, because after time the analog sensors on the sticks might deteroriate and give false reading or values, or they might be worried that they’re victims of a slow-turn joystick. So with this onboard test menu it’s extremely easy to confirm that your stick are all working properly.

Having used the Razer Sabertooth through Bioshock Infinite, I must say it’s not too bad at all. Not having a cramp inducing shape helps alot of course, but the fact that the mappable buttons are pretty much out of the way and being able to quickly and accurately adjust joystick sensitivity. I would definitely recommend the Razer Sabertooth without reservation…. if only it didn’t cost so much! The price will definitely cause concern to potential buyers and the features while great still doesn’t make it an absolute must buy yet.

That said if the only other controller you’re thinking of getting is the Razer Onza? No man… just say no to Onza!

Gaming | Gear
Tuesday, 02 April 2013 10:18:00 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Sunday, 31 March 2013

You could download some free open sourced sample site, or can even hammer out a simple catalogue and ordering system via code if you’re capable of doing so.

But the thing is that after the customer has paid for their order then comes the REAL WORK, it needs to get the PHYSICAL item to be delivered to the customer and that’s not something the website can actually do!

“How hard can it be to package something up and send it to the post office?” You might ask? The answer to this question is determined by the scale of operation. If it was just a housewife trying to sell some things through a blog, then yes it’s a simple matter of her logging on to check on pending orders, pick all the orders HERSELF, pack all the orders into boxes HERSELF, send it to the post office HERSELF, and then update the order status with tracking number HERSELF. Then yes, it’s not complicated at all since it’s all done by ONE person, and only ONE person needs to know about the state of the order.

Now imagine if it’s an online store of a public company, when an order comes in, the Order Processing department would verify the orders, send it to the Storage Warehouse to pick the items in the order deliver it over to the Delivery department for actual packing and delivery then update the delivery status of the order. All this while that this is happening, the Customer Service department must have enough visibility of the process to be able to answer any customer enquiries that pop up.

Different companies and organizations would have different workflows and auditing requirements than the simplified scenario which I listed above, the most important thing to understand is that the work required to build an Online Store Website ISN’T limited to just making a website which the customer can buy stuff from. Depending on who’s running the online store, the backoffice to support the entire process might turn out to be just as complicated as the online store website itself!

Sunday, 31 March 2013 13:37:29 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Friday, 22 March 2013

I found this Battery Case for my Nokia Lumia 920 at Brando.com


Looks like your typical phone jacket style case.


Just that it adds about 1CM to your phone, and it’s weight is almost doubled as well. Dropping the Lumia 920 into the case is done by extending the top a little.


So the Lumia 920 can then be snugly plopped into the case.


The hold is pretty tight but the fact that it is still just plastic probably means that it’ll eventually loosen to a point where it’d be unusable. There’s also a little kick stand in the back of the case which you can use to prop the phone in landscape movie viewing mode.


You’ll also find the ever important power button and charge indicator at the back.


Each of the lights represents 25% of battery content, to start charging your phone all you have to do is press the button, the lights turn on and you’re good to go!

Unfortunately probably due to the fact that there’s only a very small battery in the case I’ve only been able to recharge the Lumia 920’s battery for about 50% through the battery case. Also, while recharging it gets QUITE hot since now you have TWO batteries which are undergoing a power exchange close to each other.

Another thing to point out is that the battery case is recharged via a Micro USB port at the bottom of the case, should you wish to charge your phone’s battery before charging the case’s battery, you can press the power button on the case and power will be diverted to the Lumia 920 first. This DOES NOT redirect USB data though, so if you want to connect the phone to your computer you must remove it from the case.

In conclusion, due to the fact that it can only provide 50% back to the Lumia 920 this might not be the extra battery solution you’re looking for. You might want to go for a traditional battery pack which provides larger power content instead. What a battery case DOES give you is the convenience of not needed to have a cable tethering your phone to a battery pack when you need a charge. If that’s what you’re looking for then you can give this battery case a shot.

Friday, 22 March 2013 00:02:30 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  |