counter customizable free hit

www.ZhouWenhan.com

About Zhou Wenhan

Archive for March, 2009

Mar
14

Systems Engineering

Posted by Wenhan

For myself, I can’t really differentatite between Modularity, Decomposition, Abstraction and SoC.

In my mind, Modularity is the over arching princinple. Abstraction is the depth of modularity and SoC is the width of modularity

Anyway there are a lot of similariteis between software design and organisational design, so much so that when the design is wrong, the same errors occur. Today I am going to do a paraody of design gone wrong because I feel like doing something relaxing on a sat night.

As we know exceptions have to be caught and thrown in Java, but what happens if an exception is raised in a organisational context?

So The 5 key ingredients are:

1. Abstraction and Information Hiding
Try{
        Approach wrong person to do task A
}catch{
        If boss
                This is a minor detail, ask XX to handle it.

        else

                I have to ask my boss. I have no decision power on this. 

}

2. Separation of Concerns (SoC)
Try{
        Approach wrong department to do enquire about how to do B
}catch{
        I do not handle this. You have come to the wrong department, I can’t help you. Please hold, Let me transfer you to XX department
        Call Function SoC(enquiry that will never get anywhere);
}

3. Modularity, Decomposition
I can’t think of anything for this? COntributors?

4. Generality
Try{
        Never follow instructions to the letter.
}catch{
        Argh, I told you you have to give me the original and 2 photocopies. On the photocopy you must chop certified True copy. This is wrong, I can’t process this.
        Application.Quit;
        Windows.Exit;
        Process.kill;
}

5. Design for Change
Try{
        Explaining to top management that the company needs a facebook app.
}catch{
        ”This is not the way that we do things. We have done it this way for 10 years. Anyway people can go to our website.”
        ”What’s this new facebook thing? Why spend money on something no one will use.”
        Sender.demote();
        Sender.paycut();

}

 

eof!

Mar
03

Objective UI Design

Posted by Wenhan

 

UI design Case Study

UI design is important but how do you get feedback from your users? One could do user testing sessions and users will tell you what they do not like. However how do you quantify which UI is better? So this blogpost is just an awareness blog post to let you know that AB testing exist and is used in many large websites (especially with e-commerce sites)

This is where testing comes in. Web A/B testing in short is dynamically changing some parts of the website and measuring the users’ responses towards a goal.

Example: Shopping cart

Goal: Increase click through for add to cart

Measure: Number of clicks on add to cart

Change: buy button color (red/Blue)

Software like google web optimiser helps you do this. Basically it helps you randomly swap the 2 images (red Add to cart vs blue Add to Cart) over a sample size and meaure the page conversion.

In this way you will know which the BETTER approach is.

Art vs Science

Measurement and testing is the science part. But before there is the ART part.

Art part (use common sense)

1.      At least a working system

2.      Need to determine what your goal is

3.      Determine what the measurement is

4.      The variations