From CDOT Wiki
Revision as of 10:31, 3 November 2007 by Arehman4 (talk | contribs) (FSOSS REPORT FOR DPS909)
Jump to: navigation, search

Welcome to AJ's Page

My Name's AJ; I am currently in the eight semester of BSD and enrolled in DPS909.

Contact Info

Name: AJ Rehman 


My Blog

The Open Source Project

I am currently working on a project that requires me to document Interface Reference Documents over the MDC website.


The two talks that I attended at FSOSS 2007 which I decided to write about in this report are “Usability Anonymous: A 12 Step Program for better User Experience” and “Product and User Experience Design in Open Communities”.

Session 1: Usability Anonymous: A 12 Step Program for Better User Experience

Summary of the Talk:
The first session that I attended was called “Usability Anonymous: A 12 Step Program for better User Experience”. The presentation was carried out by Jay Goldman (President, Radiant Core, Inc.) and David Crow (Senior User Experience Advisor, Microsoft Canada, Instigator, BarCampToronto and DemoCamp, Radiant Core, Inc.).

The presentation was in regards to building a successful user experience by coding and designing good quality usable applications through the understanding of many common user interface mistake examples and also understanding and studying the pre-existing proven good design patterns samples. This can be achieved by carrying out the proven 12 step program underlined by the speakers for making good usable applications. Those 12 steps basically included set of principles and practices to help the developers build a better and more engaging user experience for software and web applications.

Both the speakers were highly professional and talented in their fields and they knew exactly what they were talking about. Jay’s background information included being the co-founder of the Radiant Core Inc. and leading professional services team on a wide variety of engagements across industries like financial services, pharmaceuticals, travel, software, etc. On the other hand, David is a passionate advocate for Toronto’s technology community, reinforcing his belief that openness can spark innovation – “the community is the framework”. David also recently joined the Microsoft community, where he is responsible for bringing together the design and technology communities. David is an experience designer, consultant and a software developer.

The first 5 to 10 minutes of the presentation were humour filled as David Crow spent those first couple of minutes apologizing for taking a job at Microsoft and at same time rest assured that the audience knew that he uses a Macintosh Apple computer for his daily basic computer needs. The whole presentation was very well handled and presented by making the audience take active part into the discussions and presentation. For example: The case scenario when David and Jay showed three different design shapes for park benches and asked everyone which one would they choose to sit on due to level of comfort and leisure. That was a great way to make audience take active part in the talk at hand and at same time, learn something brand new from the whole presentation experience. They basically did a really good job of mixing knowledge and humour into one central topic of “Better Usable Design”. I personally learned a lot from this presentation; as it was really insightful into learning how to make a better usable UI design and at the same time, make it obvious enough for users so that they don’t feel lost during their use of software.

One point that the speakers made that really surprised me was in regards to existing features in the Microsoft Office package that users were unaware of. Basically, out of every 10 requests that Microsoft receives in regards to new features addition into their software, 5 of those requested features already existed in the Microsoft Office package and more astoundingly, these features have been there for more than 1 or 2 version. Users of MS Office just didn’t know where to find these features because most of the time, these features were buried under layers and layers of toolbars and options that they were really hard to discover. In one case, the feature was buried under 11 or 12! Menu options, this is practically insane. This is a true case of discoverability and nothing else.

Session 2: Product and User Experience Design in Open Communities

Summary of the Talk:
The second session that I attended was “Product and User Experience Design in Open Communities”. The presentation was carried out by Mike Beltzner (Director of User Experience, Mozilla Corporation).

The presentation was in regards to building successful end product software, which reflects the needs of the people that use that software in the open source community. It is really easy to build and code a wildly successful open source product with a loyal user and contribution base but it is the planning and designing for v2.0 of that same software that requires a lot of brainstorming and analyzing the history of other successful v2.0 releases of other software before one can build their own successful v2.0 of the software. The reason behind this difficulty in releasing v2.0 of any software is not the lack of idea’s that designers and developers have, it is the surplus of those ideas that confuses them. The designers and developers get overcrowded by many suggestions and ideas from their user community, each idea with its own passionate lobby and most of these ideas and suggestions are in sharp contrast to each other, so how a developer or designer does decides which one to implement and which one to toss away for future implementations. How does a product leader pick and choose without alienating part of the community that is the product's lifeblood? How does one design a coherent product from a random bag of ideas? In this presentation, the speaker shared some ideas on how to deal with these questions by building on experiences learned from planning and delivering Firefox 2.0 and the upcoming Firefox release.

The speaker for this presentation, Mike Beltzner, is a very charismatic and talented speaker. Mike Beltzner is a teacher and a cognitive scientist by training, a skeptic and pragmatist upbringing, and an optimist and compromise-seeker by nationality, and a usability specialist and product manager by employment. He holds the title of Phenomenologist at the Mozilla Corporation, and lives in Toronto with his wife and his cat. Mike handled the presentations very nicely, by filling them up with humour and knowledge one after another. He made his audience laugh and join in on the fun of his presentations and after every 5 to 10 minutes, he will take a break and ask the audience if they had any questions because some questions are best answered in the middle of the topic rather than to be dragged to the end of the presentation. Mike is a sort of speaker that captivates his audience with his personal passionate interest in the subject, his presentation style and overall humour used for his presentation.

This presentation was an example of another great talk on the concept of Designing open source software by taking input from the user community that uses it because in reality that is the main strength of the open source software, the community that backs this methodology and supports it whole heartedly. The main theme of the Mike presentation rested in 3 summary points that he made:

(1) Listen to your community
They are the users of your software and their input is very important in the development and success of your software, listen to their feedback, suggestions and inputs because alienating them can make your software suffer in the long run.
(2) Lead your community
Leading the community is hard one but it is most beneficial because it makes you as product leader to develop standards and set examples by which the work would be done and completed and this is how your community evaluates the quality of your work and take active part and interest in it. (3) Let your community play and experiment
This is where the strength of open source community lies in, the ability to experiment and play with the software as the user desires. To create some new extensions for self and accumulated needs of the community for new added features and requirements. This sort of ideology builds a strong community which supports and trusts its developers because there is no hidden agenda in their products, everything is out in the open for everyone to see and experiment with. And open source community benefits the most from this sort of trust and user experimentation because it results in some marvelous and strong applications.

Now, this is one of the most interesting advice I have every heard and it is very true on many levels of designing a product that reflects your user needs and requirements. Mike referred to as form of embracing the chaos of open source. Also Mike pointed out in the start of his presentation how “Designing in open source is not something that is ready for primetime”, or something among those lines. Which made me think about it for a while and I later on talked to him about it and basically what he meant is that open source is a great way of constructing and coding applications and building products but in corporation-ruled world that we live in, open source is a sort of new comer into different kind of world, underdog if you may which isn’t ready to take over the software world right now but it is getting there. Many major corporations have to embrace the open source community before it would be ready for primetime and its rightful position on the top of the software development domain.

Another interesting topic that Mike talked about was in regards to bringing order to chaos which is a problem for many contributing communities. The outline that Mike came up with for such kind of problem was divided in the following steps:

1. Create small teams, led by strong contributors and give them responsibilities to complete.
2. Always offer data to elevate discussions about topics of concern or importance.
3. Never treat disagreements as an adversarial notion. Instead look at it as a negotiation to attain the ultimate goal.
4. Use an onion layer model for releasing. Different input from user community and different priorities and evaluation.