From CDOT Wiki
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.

Thunderbird Bug Fix

Bug: bug report
Patch: patch.txt
Blog: read here


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.

Speaker’s Point of View on Open Source Software:
In the case of Dave and Jay as speakers, I had a feeling that both these speakers genuinely supported the Open Source community because not only did their presented examples criticized the corporate built software company’s dedication in building user friendly software but they also sincerely advised the attending people to take an active part in open source software community. Also both these speakers have long history of helping small companies in standing up on helping these companies creating advanced and friendly user interfaces. Jay and Dave also pointed out that they think open source community is such a big success now days because their community really listened to their users and created every piece of software based on user expectations and requests, just like the friendliness of Firefox browser with the tab feature.

In the case of Mike Beltzner as the speaker for open source community, I can tell from listening to his talks that he has spent an enormous amount of time in the open source community and this gives him the greater and better ability to understand all sorts of workings that takes place in the open source community and he has evaluated the pros and cons of open source community in his career and supports it 100%. Mike is sort of a person that supports open source community because he has seen first hand what a great gift it is and how it can do wonders for the users and the developers involved in its process. If you would have listened to Mike’s lecture, he emphasized an enormous amount of importance on “listening to the community” factor and how open source community has gotten in right on their first step towards development and achievement and that’s what makes them stand apart from close proprietorship software that ignores their user input.

Comparisons of points made by Speakers:
The picture that David, Jay and Mike tried to paint with their “Usability Anonymous: A 12 Step Program for better User Experience” and “Product and User Experience Design in Open Communities” presentations was to inform their audience that open source community makes simple and user-friendly software from the first get go, so that none of the user required features existing in the software are wasted or hidden away. All three speakers were coming from same background and had a shared view in how they looked and perceived the open source community. Both the presentations themselves were tightly twined together in their concept and final message. Also all three speakers took an informal approach of dealing with their subjects but keeping the light humour in their talks and making the audience feel at ease.

Also the speakers pointed out the main difference in the way the open source community differs from the close proprietorship commercial software, in case of UI designing, is that open source community takes and considers input from their users to be the top most priority for future designs of newer versions of their software where as it is a different case for closer proprietorship software. Also developers of open source community are the users themselves and the source code is all open for everybody, so from the basic user to expert developer, anyone can find themselves the hidden feature in the software if they are not obvious or change it to their will to bring out the presence of each feature. Especially at one point Mike pointed out that 37% of source code that came for development of Firefox browser between November 2006 and April 2007 was from the outsider user contributors community and not the internal developers, which shows the strength and the unity of open source community and their appreciation for the open source concept that benefits their requirement and needs. All the three speakers shared a great enthusiasm for being part of the open source community and contributing to it.

My own views about Open Source Software:
After attending these talks, my views and perceptions of open source were exactly the same as they were before. I may have gained a lot of insight from different talks and sessions but nothing changed my mind about how I looked at open source before and how I perceive it now. For me open source is still the biggest achievement in the software and application development industry for the last 10 years or so. Although, I did gain a lot of insight and knowledge from attending these two talks and understanding how exactly does everything fits together and how the open source community works internally because the stories and tales these speakers told us are first hand experience tales without any bias and dogmatic opinion and this sort of information is worth a lot for people that wants to be part of the open source community. The FSOOS symposium was a great event for learning and gaining a lot of knowledge, a sort of “walk into the light” experience. It gave me first hand look at the leaders that are leading the open source community and the future in which open source is directing itself into. I hope to become an active part of this software revolution and contribute all I could.