Wednesday, June 4, 2008

Style/Size

Hi..

Well i have not blogged on anythign technical so far. Well here now i will speak on some feature that i had worked on in my recent project. The problem is very peculiar and is generally specific to apparel industry.

Say an enterprise manufactures a product which comes in combination of different colors and different sizes. So instead of showing all the colors and sizes individually it would make sense for an enterprise to ask the customer to choose the color and size that he wants and show the final piece. My job was to find how to present the user with a UI which helps him in choosing the color and size that he wants. Thus finally selecting the product.

Other constraints that my model supposed to do was to allow the user to select either the size or the color first and based on that show what are available for the selected combination. This model should also be scalable. That is if we take the example of a computer it would be more clear. When purchasing a computer a consumer has to take care of Processor, Compatible Mother Board, Hard Disk, RAM, removable storage devices to be choosen like DVD-RW or DVD-ROM, the OS, and various other choices. Best example in apparel industry for modeling would be gap website. And for Computer industry configuring computers on dell website.

But the fundamental difference between configuring a computer on Dell website and making a purchase by selecting choices in Gap website is that for a computer, the product is not already built. The customer builds it. So we model this using bundles. The components can be sold individually too. But in the case of GAP it is one single product. It cannot be sold in pieces.

I was asked to model for GAP scenario. Where the product is readily being manufactured. And the customer will be shown various options in various categories which he wants to choose to arrive at the final product. One constraint that i had while working was not only should this model be scalable and have n-level's but it should allow the customer to start from any level. Say we are modelling a Polo Shirt with Super Sizes Regular, Tall and colors available as Red, Green, Black and sizes available as S, M, L and XL. Now the user should be shown an UI where he can start of with either selecting size first or color first.
(as an example try to choose a shirt on gap link .)

Now if you see the way things are modelled here, we have choice already made for us and it is a solution based on just one-dimension at any point of time. But my model should be n-level. And i could not make any choices. But i had the choice of not tweaking with the image. The final design did not have requirement for showing the expanded view of the image. So that was not on my cards. But the best part was to differentiate what are the available choices and what are not. The database would not give me data directly like the available colors, supersizes and sizes. It would only give me the items that are available and each item has the attributes which tell me how it is modelled.

So I would not speak on how i have modelled my model yet. I am just leaving the constraints and the way data is available. If you have any doubts on what else is available, i would say assume they are not available. I have given you all the required information which is required for the modelling. Anythign else which you think as required assume it is not available and proceed to solve it. Think about model that you would maintain and how you would retrieve data after you recieve it from the database.

I wil present my solution in after a week.

No comments: