Tuesday, August 21, 2007

AnatomicRig 0

The user is now required to supply both the mesh and the (bound) skeleton (automatic skinning is still an option to be discussed later). Detailed studies of existing character types (such as primates, canines, felines, deers, cows etc) are to be made with results to be entered in a database. The purpose is to find correlations between known character types (eg. how manys ways cows are similar to horses), and to derive common parameters for these categories of characters (within or across different categories). With this knowledge, the input supplied will be analysed and matched against the database to determine which category of characters it belonged to (or categories, given a centaur or mermaid). Thereafter, the input would then be updated (adding more bones or mesh, altering positions, etc) with regards to the common parameters identified earlier to add realism and improve anatomical correctness of the model. Users can also specify within their character values for other attibutes that is identified with the particular category (eg weight, mass, agility etc), which would alter the model based again on the database created.

Tuesday, August 14, 2007

AutoRig 1.5

How do i generate a skeleton and embed it into a given mesh? Procedural adding of joints and orienting them is really a matter of scripting but the problem here is to analyse the mesh itself. For decent deformation the skeleton must be placed appropriately and well away from the mesh boundary. Suppose i went through all vertices of the mesh to find extreme points, i would still be unable to find positions for elbows hips n knees because these are not extreme points in the anatomy, and the method would probably take too long should a smoothed mesh be given. Default poses of the given meshes would also likely compromise accuracy. The simplest (and by no means easy) method i can think of now is to decompose the mesh into parts and analysing their volumes, then connecting the joints for every part. There are 2 papers on skeleton extraction from National Taiwan university that rather interest me, but currently im trying to figure out the paper from Grégoire Aujay1 Franck Hétroy1 Francis Lazarus2 Christine Depraz1 on Harmonic skeleton for realistic animation, which shows a fast, automatic skeleton generation that can adhere to anatomic characteristics.

Sunday, August 5, 2007

AutoRig 1


Primitive rig -- no colours were used to differentiate between right and left


Polygons are used as iconic controls (instead of nurbs curves as most commonly seen).


Details were left out: footrolls and toes, fingers, jaws, etc.


IK/FK switching options was not implemented. The arms was rigged with only FK controls (experts online says arms are better left FK for precision).

Been slow in implementing the primitive rig. There are many ways to go about doing it and i pretty much ended up trying out everyone of them. Had tried using constraints first, and then moved on to setting driven keys (and adding extra attributes then controlling them with slider bars) and then resorting to the connection editor and finally the expression editor. I have to say the expression editor should be the best way to go about it because the executed steps are clearly shown (hypergraphs can get rather confusing because of the way the nodes are being displayed). Still, there were bugs everywhere. In the end the primitive rig is a combination of all the methods stated above. I had also written a mel script for a simple user interface to select the controls but it seems my copy of maya could not source the script no matter which directory i placed it in. Next up would be procedural bone placement (to be done within the next week or 2) and then procedural skinning (notice my model did not go through proper skin weights painting and areas under the armpits and shoulders deformed unnaturally). So far the main area of concern is still the skin weights and my new concern is the rigging of the high-range-of-motions areas (shoulders and thighs). Forums and websites i have gone to have done things ranging from adding influence objects (muscles?) to actually constructing the entire shoulder girdle (5-bone structure http://www.animationartist.com/2003/08_aug/tutorials/rigging_anatomy.htm#, whereas im using a 2-bone girdle representing only the clavicle and the shoulder) to allow for more realistic influences over the shoulder area. Apparently, Maya does not have event handlers (such as onMouseDown commands in Actionscript).

To be done: procedural bone placement and skin weights painting, shoulder and thigh rigging research(1 week).
Edit: found out why i couldnt source my script.

Monday, July 23, 2007

AutoRig 0

Back from 2 weeks of reservist and another 2 weeks of settling personal agendas.

Been exploring Maya tools for sometime. Read up on steps in character setups particularly in the setup of joints, IK/FK switching, smooth vs rigid binding, IK splines, various constraints, setting driven keys, 'iconic' rigs (Maya Character Animation by Jae-Jin Choi). Facial rigs seem out of the question for the time being. Had spent sometime on soft/rigid bodies and fields (turbulance, uniform, ...) though i'm unsure of their neccesity.

My main concern at this stage has to do with skin binding. Given user inputs of models and geometries, we are supposed to create a skeleton, bind it and rig controls for the model. Character setup is a highly individual process for each different model (i think jovan popovic said something about this in 1 of his papers), though the same rig might be reused for similar models. Using both rigid and smooth binding methods in Maya seem unable to allow user the precise control of vertex weighting (such as painting skin weights in smooth bind, or using deformation lattices in rigid bind, as well as creating joint flexors and manipulating them precisely to give the best animation possible; these are, in my opinion, processes better done manually than automatically). We might be able to create sliding bars for users to adjust the drop-off rate and max influences for each vertex in smooth binding. I guess i would need guidance too on the inclusion of setting driven keys in automatic rigging because it is, according to what i've learnt, a matter of user preference also.

I have also come across few ways of rigging a character but i still find the iconic representation to be the most intuitive of all. I'm trying to rig my own character but apart from IK in the knees
and elbows, and splines in the spine, along with constraints applied to the joints, i am unable yet to replicate the full body rig as achieved in Motion Builder. My idea of autorigging is rather similar to Motion Builder's because it allows users to input preferred settings. The difference would be that Motion Builder requires an input skeleton, whereas we could implement a system that generates it. Perhaps it could be modelled after Jovan Popovic's idea of using a given skeleton. Then again, the weights applied to each vertex could potentially be done by machine learning.

Tuesday, June 5, 2007

Knowledge-driven character rigging

This is what has been agreed on the project so far.
This project is about creating controls for user-supplied meshes dynamically. This process ("rigging") covers various aspects of character setup, such as creating animation controls for the skeleton (which is to be created by the computer with inputs from the user regarding joint designations), character extensions, soft/rigid bodies and secondary motions (in particular determining various keys to control them; set-driven keys as mentioned can be used to control multiple attributes, exactly how is to be determined later). While a working end-product would be expected, the larger aim of this project would be to develop a practical framework/methodology which can be applied or modified for other similarly based projects. The process by which we can achieve knowledge-driven character rigging is therefore more important.

Because this project is oriented towards creating a tool for beginners (some of the papers ive come across are similar in this aspect), it is expected that the rigs created be generic enough to be applied to other meshes with some variations made. The process should be highly modularised as well. This makes it easy to spot and reduce errors and unwanted influences. There should also be a learning mechanism in place that can detect "dangerous" parameters from user inputs and come up with a best learned solution. This is to prevent users from committing errors (especially since it is aimed at helping novices). Lastly an intuitive HCI is to be developed. Current offerings in the market have highly unintuitive HCI due to their extremely complex functionalities. For now the focus would be on bipeds.
I found that MotionBuilder from Alias is rather similar to what we wish to achieve, but it requires the skeleton as an input from the user,which it then rigs according to user preferences.


User input parameters


Rig is created with user inputs

There is existing research on generating skeletons generic enough to fit different meshes. They only work on bipeds, however, and the mesh must have a certain general shape or the rigging would fail. DreamWorks discussed how difficult it is to dynamically "shift" a rigged model from a biped to a quadraped with their character Puss-in-Boots.

RELATED WORKS
Automatic Rigging and Animation of 3D Characters by Ilya Baran and Jovan Popovic

Morphable Model of Quadraped Skeletons for Animating 3D Animals by
Lionel Reveret, Laurent Favreau, Christine Depraz, Marie-Paule Cani


The Chronicles of Narnia: The Lion, The Crowds and Rhythm and Hues from Rhythm and Hues Studios


Art-Directed Technology: Anatomy of a Shrek2 Sequence from DreamWorks 2004


Synthesizing realistic spine motion using traditional rig controllers by Jabbar Raisani


Physically Based Rigging for Deformable Characters by
Steve Capell, Matthew Burkhart, Brian Curless, Tom Duchamp, and Zoran Popovi´c


Interactive Skeleton Extraction for 3D Animation using Geodesic Distances by
Takuya Oda Yuichi Itoh Wataru Nakai Katsuhiro Nomura Yoshifumi Kitamura Fumio Kishino

Misc
Style-Based Inverse Kinematics by Keith Grochow1 Steven L. Martin1 Aaron Hertzmann2 Zoran Popovi´c1


Rigging a Horse and Rider: Simulating The Predictable and Repetitive Movement Of The Rider
by Jennifer Lynn Kuhnel


Grove: A Production-Optimised Foliage Generator for The Lord of The Rings: The Two Towers"
by Matt Aitken Martin Preston

Sunday, April 22, 2007

Reflections: Farting in the mirror

The term 'user experience' comes tagged with a multitude of definitions, all of which cannot fully explain the term but all are correct nonetheless, because experience can refer to functionality, or aesthetics, or perceived pleassure or any combination or all of them. This shows how varied experience can be for every individual. It is important to understand the needs of each individual user, yet it is impossible to design for only one person. We have to design products for the mass market, yet to design for everyone is to design for no one. Such is the contradiction that exists within the discipline of UX that forces us to keep an open mind over strategies to employ.

Current market practises are increasingly geared towards the individual consumer because that is the vital point of differentiation for their product. Increasingly, marketing strategies are placing more importance on branding and user experience creation than on the product itself. An example would be the Ipod. Functionality-wise, it is no match for the Creative Zen, but Ipod sales far exceed that of Zen's because of the marketing strategies that it took: heavy advertising and creation of perceived user pleasures. Even though functionality accounts for part of the overall experience, Ipod's focus on visual qualities proved to be successful. Looking at Apple's success it is not difficult to understand why user experience is gaining popularity as an academic discipline.

The greatest gain from this course is the identification of human behaviours and traits of emotions. For example the 4-pleasures framework could accurately describe most circumstances that people would feel pleasure in. Pleasures of need and appreciation are also personally valued, as is discovering the 3 attributes of emotions. Understanding human needs and psychology was something that would benefit me for the rest of my life.

Because of my background from the school of computing, i realised that creating functionalities alone does not really count towards creating an 'experience'. In my course of study i've come across various chances to develop small scale softwares loaded with functionalities implemented to the best of my knowledge. These softwares that i've created, though functional, does little to create unique experiences for users; they work, but you won't feel a rush of pleasure using them. They are just like any other similar utility software you might find anywhere, and there's no differentiation. That's why in my final project my team mates and i decided to try and create an experience that truly evokes emotions (all 3 attributes of it hopefully) and appeals not only to our visual faculties, but also to our cognitive faculties. Truth to be told, we had several projects already done and, in fact, we could have handed those up if we had chosen to go for functionalities. But this is not a CS course, and functionalities are not the biggest concern here.

Then again, UX is also about creating functional products (not just websites, but the priciples are the same) that makes an impact. Its no mean feat man. The LG Prada is a functions-loaded phone, but it is really more than just that, combining technology with aesthetics. Shit, it looks cool. Looks better than me. Its cool to use. Hell its cool to own it. The overall quality of experience interacting with this product, be it aesthetics or functions, is undeniably good. But which phone today isn't a pleasure to toy with? The age of user-centred strategies is upon us. Gone are the days when everyone owned the same damn pager (even then they made an effort to make the damn pager look trendy, who could forget the gold chains hanging about?). Catch on the wave or be washed away forever.

It is my opinion that this module has helped me realise the subtleties of designing for users. Consumers are not forced to buy products anymore. Their choice is their power. If we want to chase their skirts we have to let them feel the difference. Exactly how that can be done is rocket science. But, well, what i've learnt here is a first step.

Saturday, April 21, 2007

Final Project: KNEON

An interactive project was set as the final project for this module. The initial idea was to set up a website introducing existing products (the Samsung D900 slider phone). We hoped to build an experience of sleeked sophistication around the product,evoking emotions of desire within audiences, and making a visceral impact on them to achieve the intended experience. This was, however, a mistake as the experience would be built around the existing image of the product, itself already fiercely marketed through UX, branding and marketing strategies of the parent company. Since an experience was already built for the product, and we are only focusing on one product without considerations for others in its range, the project would be severely lacking in depth; we would basically be imitating (or plagarising) existing works.

Thus the concept of KNEON was born. Alcohol is a product that creates strong experiences with its consumption, either through the socio-pleasure of socialising or the physio-pleasure of the 'high' that it gives. In fact all 4 pleasures can be addressed duely. Although we are promoting a drinking culture in our project, alcohol consumption is no longer seen as a social vice today, but rather as a 'tool' towards a multitude of objectives from stres relieve to building social networks.

In conceptualising and creating our product we need to know who we are creating it for. Thus target user segments and profiles are identified and drawn up, using surveys and face to face informal interviews. From the information collected, needs and wants of our primary and secondary target users (market segments) are listed and analysed. We also identify our purpose in creating the product, which is to introduce a drink that would appeal to all senses of drinkers. Current offerings on the market such as Martell carries a 'stuck-up old man' connotation. With KNEON we hope to make drinking fashionable and trendy again and inject greater vibrancy into the nightlife scene. Such is the market potential of our product. Intrinsic needs of our target users, image-conscious professionals and executives aged between 18 to 50, are to gain social recognition, be noticed and to derive pleasure from consumption (to name a few). They are the influencers and early adopters who are status and action-oriented in their attitudes towards consumption. Apart from the social drinkers, KNEON also aims to attract th lone drinker who consumes for personal pleasure. KNEON provides for this with the assortment of flavours in its labels. Tastes would generally sweeter than most existing offerings, so we hope to attract non-drinkers to try out our product as well.

Packaging of KNEON would be done in bold colours with special features such as an LED light at the bottom of the bottle. Because KNEON comes in various colours (primarily red, blue, green), the LED light would make the bottle glow, treating consumers to a visual display of colours and improving the overall experience for them. We aim to evoke a sense of awe and mysticism with our glowing bottles, as well as fun and thrill with our bright colours and flashy labels.

The deliverables for this project are the fully interactive website for KNEON, as well as the physical product itself (bottles of KNEON filled with coloured drinks). Being the only group with a physical product, we spent considerable amounts of time creating the look and feel of our bottles to evoke the right kinds of senses and emotions. A heavy focus was also put into our website. Considering the fact that our website was a shallow one with at most 2 levels in the information structure, our focus was not on creating functionalities (like other groups), but with aesthetics of the web layout and graphics. The website is meant as an information site, so presentation would be important in conveying our intended experience across to our users. After user reviews and paper prototypings, we finally set our presentation on rotating panels atop a reflective black surface, to create a sense of dark sophistication. The colours used are primarily in tune with nightclub lightings. Finally it is our intention to build the website so users may immediately recognise it to be a symbol of trendiness and associate KNEON with that kind of quality, and allow rapid adoption for KNEON, a newcomer in the market.

Emotion Design Probe - Learning experience in the LT

If memory serves me right, we were one of the few groups that defined the exact area of concern, that is:
1. Students’ level of concentration in lectures - deals mainly with the physical and emotional state of students
2. Students’ ability to comprehend lectures, or both – deals mainly with the cognitive aspects of learning

We also defined what a good learning experience would be.

In terms of methodology, every group had different sets of frameworks and data collection methods. Our group used field observations, interviews, questionaires and laddering while some other groups also included surveys, some form of cultural probes as well as environmental inference (Feng Shui).

In terms of frameworks, we oriented our questions towards fundamental questions of "What the students thought", "What they want", "How they reacted and Hidden reasons for their responses". As for analysing the data, we looked mainly at the factors that influence an experience: Environment, Time, Place, Other peoples’ interpretation and Previous experience. Some other groups brought in a modified version of Maslow's Hierarchy of needs to be applied to the situation which was quite interesting. Some groups also tried to adapt the "Four pleasures" framework for this case. However, we felt that this was a case of force-fitting since the framework's purpose is to analyse one's sources of pleasure and the LT learning experience in itself cannot be assuming to be inherently pleasurable to begin with, at least for most people.

Our observations and results were structured to look at both the humanistic and technological factors that influence students' level of concentration as well as the effect of different lecturer styles on students' ability to comprehend lessons. Our findings pointed towards comfort levels as a major determinant to level of concentration. From poorly designed furniture, over-enthusiastic air-conditioning, overly early/late lectures to the LT location, a myriad of different complaints were suggested. Many distrations also occured due to the misbehaviour of other students. As for presentation style, students generally disliked lecturers that read off slides and many cited unintelligible lecturers as a major concern. Other problems identified included the lack of equipment and organisational proficiency.

Most groups bought up many of the same problems highlighted, including the lack of legroom in some lecture theaters, the poorly designed tables, lecturers with poor communication skills and so on. These common issues are probably the most obvious to all of us as students and thus become the most salient.

While most groups were able to come up with numerous recommendations to overcome hardware flaws such as increasing legrooms, or installing padded seats and rubber padded doors, most would agree that disturbances from other students were difficult to stop. Through our observations, disturbances from students were extremely common, ranging from chitchats to food consumption. Although rules are made regarding student behaviours in lecture theatres, they are conveniently ignored. The most potentially viable recommendations, however, was to have teachers make better lesson deliveries. Some of the groups have brought up the same issue of conducting more interesting lessons (such as having a lecturer with a good sense of humour) to make the learning experience a pleasurable one. Our interviews and surveys reveal that students prefer lessons with value added extras such as multimedia presentations of videos, audios, interactive software and images, rather than just powerpoints and transparencies. Other elements such as animations can also help students understand difficult concepts better than just verbal explanations. Students have reflected that ‘if the lecturer is good, even if the LT is bad, at least the lecture can be made interesting.’ Our recommendation is thus to have enrichment classes for lecturers, so as to work towards that target of giving students an interesting and pleasurable learning experience for every lecture.

Saturday, January 27, 2007

Four Pleasure

Subject: Candy, 32, senior designer at a local advertising firm.

Candy has been working in this line for close to 10 years. Despite her good grades at the A' levels, she decided to attend design school instead of university; she thought university was a waste of her time, which she should spend pursuing her true interests.

She is confident both in character and in the work she does. Her creations are daring and avant-garde, well-liked by her company's clients. For that she is highly recognised by her superiors and that is reflected in her position and monthly salary.

Candy is currently single. She has had a few relationships in the past but believes it is not essential to her life. She is happy to be single, hangs out with her close friends for movie dates and afternoon tea breaks whenever possible, plus the occasional shopping sprees (not forgetting the weekly pedicure and body massage sessions). She cherishes the independence of her current lifestyle, and lavishes herself with expensive, flashy designer accessories from upmarket brands.

She attends hip hop dance lessons every week. She enjoys grooving to the beat, and appreciates the dance lesson to be a way of keeping her body, heart and mind young always; she believes this is very important for her work.

Candy lives alone in a rented condominium apartment. She loves the style and decor of her apartment, having spent quite abit of money to decorate the place with beautiful display accessories. She often visits her parents who lives in Kovan where she grew up. Her parents are proud of their independent and capable daughter who can achieve what the couldn't. Relatives and friends alike all admire her for her independence and her carefree, uptown lifestyle. Candy is proud of what she has achieved and of her successful-career-woman image. She believes that if she puts her mind to it, she can achieve much more.

_______________________________________


Physio-pleasure: Hip-hop dance classes which are physically demanding balances Candy's lack of physical exertion due to constraints of her work --> need
Pedicure and body massage sessions that rejuvenates her spirits --> appreciation and need

Socio-pleasure: Tea-sessions and movie dates with friends helps reinforce her relationship with her close friends, arising from a need to belong --> need
Being admired for her achievements and lifestyle, and all her expensive accessories --> appreciation

Psycho-pleasure: Candy enjoys her work tremendously. It is a creative outlet for her mind and it defines her importance in the society --> need
She likes to decorate her place and takes pride in it --> need and appreaciation

Ideo-pleasure: Being an independent woman in a male-dominated society is very important for Candy. She wants to prove her worth to everyone else --> need
She wants to achieve ever greater heights and be the envy of every man, woman and child in (at least) Singapore --> appreciation
She believes in her own brand of style and wants to be recognised for it through her choice of clothing, craftsmanship and brands --> need to portray envious image of herself

_______________________________

Candy's phone is a personal tool to her, therefore it must portray her character and conform to her ideologies of beauty. Her handphone must be of a recognised brand, be avant-grade in its design, and reflect her status as an independent career woman (and therefore it must at least look expensive). In short, the phone must complement her urban tastes and sophisticated lifestyle.

Candy's work is very important to her, and she needs to communicate frequently with clients and source for information. Thus her handphone must possess relevant applications and technologies for this purpose (preferably 3G). As she is quite in love with herself, Candy's phone must have decent camera functions (to take pictures of herself and for her work).



Product closest to expectations: NTTDoCoMo handphone. Expensive. 3G enabled. Strong communications and camera functions. Sleek, stylish and advanced design. Hard colors and reflective surfaces confers upon it a masculine yet refined look, describing our independent yet cultured subject. Too bad its not available in Singapore.

Sunday, January 21, 2007

Toys for pleasure

Who says toys are for kids? I, for one, am never sick of toys, nor do i feel too old to own some. Here are some toys that boys and men alike won't ever grow out of.

Before that, i should state the purpose of this entry: to find products that roughly fall under 3 attributes of emotion, namely visceral, behavioural and reflective attributes. My chosen category is toys, and i'll be using the Spawn, Gundam, Transformers series as examples.

SPAWN



Visceral: Stunning impact of artwork. Detailed crafting and colouring makes it an eye candy (to me at least). Sure-fire attention grabber.

Behavioural: Nothing much to it; it is meant to be used as a display. But it makes a good display for enthusiasts.
Reflective: portrays the self-image of the owner, reflects the owner's interests and character.


GUNDAM



Visceral: Beautiful designs that generally appeal to everyone.
Behavioural: Tremendous pleasure derived from construction of the model. Adjustable poses allows for many possibilities in usage (but mostly for display as well). Customizable look and feel of it creates different experiences everytime.
Reflective: Feel good factor derived upon completion of model (boosts confidence). Reflects certain qualities of owners (patience, eye for detail, etc).

TRANSFORMERS


Visceral: Not immediately liked by everyone. Looks like any other toy, but theres an enduring quality about it that won't fade away.
Behavioural: If you actually play with it (make it transform and stuff), you can still have a decent experience reliving the good old days when grades were the last thing on our minds.
Reflective: Vintage stuff man! Shows the owner's exquisite taste for truly valuable collectors' items.

Monday, January 15, 2007

Leaving my mark...

I was here..

我到此一游...

Saturday, January 13, 2007

Griping in session

I'm supposed to find a badly designed product and here it is. No other product has made me so eager to bang my head against the screen of my laptop. As an undergraduate of the school of computing i've come across countless softwares that threaten to shorten life spans, but this product i'm about to gripe on really takes the cake.

I'm talking about Alias' Maya 6.5 (as if the version number really made a difference). This 3D software is well known in the field of computer graphics, and has been known to churn out some really fantastic (hollywood) stuff. Thus it scores high on delivering results. What really bothers users like me is the experience of mastering the software. Makes users feel like retards who can't tell keyboard from the mouse. Sure, new users look upon the product as the necessary choice where creating fabulous work is concerned. Most users would agree that Maya is a good tool for professional, quality-assured results. Show anyone completed works of Maya and it would be easy to draw praises and compliments. But what goes on behind the scenes is a horror story.



The user interface for Maya is highly intimidating for new users; one look will turn you to stone. Row after row of buttons and controls line the interface, half of which have names most beginners won't immediately understand (what the hell is IK?). Adding to that is the symbol for each button; totally unintuitive, and in any case its too damn small to even make out what it is. Even worse, for every button that you press, an options panel lined with (again) buttons, checkboxes, textboxes, and full of technical terms appear by the side, asking for inputs.

But the most frustrating aspect of Maya is not understanding the functions, for you can just ignore the irrelevant ones; you can die trying to adjust the view of the object under creation. Shift, alt, ctrl, left mouse, right mouse, middle mouse, mousewheel. Every damn finger is needed to control the interface. Press alt-left mouse to rotate view, alt-middle mouse to pan, shift-left mouse to select, .....Psycho-motor nightmare.

What users quickly learn from their first experiences with Maya is that the help section provided is very very important. Unfortunately, even with the help manuals repeated attempts of trial and error still has to be carried out before decent work begins to take shape. This all contributes to an extremely frustrating experience with the software. Head banging begins. If you are feeling extremely irritated reading up to this part of my post, its much worse dealing with Maya. Patience is the key. Most users would go through the same steep learning curve and infinite rounds of trial and error.

Naturally, this leads to the formation of a rather unfriendly impression of Maya to users. What Maya can deliver is truely awe-inspiring; what it takes to deliver is truely fear-inspiring. This product was not designed for the new and intermediate user in mind (as if experts were natural-born freaks). It goes for functionality without sufficient considerations for usability, and it leads to a really hellish experience trying to figure things out. Every new user would have to go through the same fiery trial of frustration and despair, and its not surprising how many aspiring 3D artists were turned off by this product. If any emotion can be evoked from the interaction, it can only border on pure bloody hatred for the designers of the software.

Where software tools are concerned, its very important to leave your users with a pleasant experience interacting with the software. A good experience handling the software gives the necessary confidence to scale greater heights, and it is this experience that separates the good softwares from the truly great softwares. Good softwares allow you to create fantastic work. Great softwares allow you to create fantastic work without biting your head off.