inpycon09 the success story

When the first discussions happened, everybody doubted it might become just another conference discussion that will never happen. It has taken the support and sheer determination of quite a number of people to make it happen. We just wanted to try it once, to at least see how the Python community responds to such initiatives and it has ended up being more than encouraging to make this a yearly event. This is the simple story of inpycon09.

When I landed at the IISc campus on a not so chilly morning, the posters were up and I could find a few people waiting here and there in the corridors. When I entered nothing was up yet, other than a few volunteers running around putting posters and direction notices. Slowly people started turning up and I could see more known faces. By 9 AM, there were enough crowd to start the registration counter and soon a long queue got formed.

The conference kit consisted of a notepad, ID tag, a pen and a pycon tee. It was a simple white tee, with a caption in the back. Unfortunately we ended up having a spello in it, which indeed made the tee more special ;-) Halls were fast filling up and when Prabhu Ramachandran was delivering the keynote the benches got filled and people started filling up the foot steps as well. It was a very interesting talk, encouraging everyone to go and give a shot with Python. He had also included his associations with ILUGC and how it helped him. He advised people to become a part of an active LUG. His talk was mostly around SciPy and Mayavi.

As the keynote ended, talks in other two halls started, kicking the normal proceedings of the first day of inpycon. Every hall was running full house and we would’ve had around 300 people attending the conference, especially a big bunch of students of REC, Chennai. Kenneth and Noufal took the Introduction to Python talk, leaving me for the second day. There was actually a balance of talks, not just focusing on web development. And the lunch was really good.

A lot of #linux-india guys had turned up and it was surprising to meet them before the normal foss.in season. The first day ended up quite satisfactorily and gave us hopes for the second day to run smoothly. Though we did not have a huge crowd on the second day, and it being only a half day of scheduled talks, it too went calmly. I took the beginners’ introduction to Python, following by Kenneth taking some advanced topics. There was a white sheet posted with post-it notes to be used to express the feedbacks from delegates and we ended up getting some quite interesting, even contradicting opinions posted about the conference. We welcome the criticisms as it helps us to know our holes and stop it from appearing next time.

On the whole, the beta release of inpycon was a satisfying success, leaving my weekend to have not been wasted and giving us the encouragement to come back better next year, may be in Chennai ;-)

ILUGC Monthly Meeting June 2009

The monthly meeting of ilugc, which usually happens every second Saturday, for the month of June 2009 happened yesterday. There were two talks, Emacs’ org-mode by Ashok Gautham and CUPS configuration in the Configuration Series by Raman P.

As we did not have projector this time, both of them had to resort using the white board, which made them actually finish the talk sooner than expected. Although Raman managed to make the talk interesting by including real life situations he had faced, thanks to his experience, Ashok struggled a bit as his was more a practical demonstration. We should try our best to get the projector for the meet from next time, as well as the speakers should be prepared to do without one.

There was a lot of first timers to LUG meet this time, and one of them is involved in a project developing custom made embedded boards, which they plan to make available for a cost of 3ooo INR so that students can buy and play with them. He will hopefully be demonstrating the board during the next meet, so embedded fanboys mark your calendar in advance.

Here are some snaps from the meeting,

Ashok Gautham during his org-mode talk

Ashok Gautham during his org-mode talk

Raman speaking about CUPS configuration

Raman speaking about CUPS configuration

PyCon India 2009 Discussion #1

DateTime: 03 Mar 2009 9.00 PM (+5.30 UTC)

Location: #bangpypers at irc.freenode.net

The first IRC discussion for the PyCon India proposal happened in BangPyper’s IRC Channel. A large number of Pythonistas participated in the discussion and contributed invaluable ideas, suggestions and concerns during the course of the meeting. To our own surprise, the channel recorded it’s highest ever head count even before the officially announced timings. A quick summary of the topics and points raised during the meeting is as follows,

What?

The important topic of discussion was the theme for the PyCon India. People shared their views on what they wanted PyCon India to be.

  • A few people also raised concerns about using the name PyCon, as the name carries a huge value among the international community and any attempts to even make a localized version of it should stand up to the same quality.
  • The target audience for the conference was also discussed. Most people felt that the need for catering to newbies can not be neglected, but at the same time it’s should not just be a beginner level event as well. The conclusion was more on the lines of addressing the interests of already existing python programmers, let them be beginners, novices or seasoned hackers.
  • There was also a stress on giving importance to Indian speakers as this being an Indian version of the PyCon
  • The rationale behind the conference is to encourage Python and to display how PUGs help to spread Python within India (quoting Ramakrishna Reddy).
  • Baiju suggested having each day of the 3 day conference for one type of audience, the first day catering to beginners with tutorials, workshops and beginner talks; the second day filled with developer talks for audience who are already working full time with Python, and the third day being a code sprint.
  • The next main topic getting discussed was whether to have one talk after another or to have parallel talks running at same time.
  • There was also suggestions to have separate tracks for Python for web, system programming and for developing desktop applications.

When?

While it was unanimously decided to have the PyCon India during the first half of September, a majority vote went to 3rd, 4th and 5th of September leaving out the Sunday for people to get back to their real life. This now becomes the tentative dates for PyCon India, to start with looking up for venues on these days. Depending upon further developments happening on other related fronts, the date will get finalized.

Where?

Again it was unanimously decided to have it this time in Bangalore. Future PyCon(s) might happen in other cities, but the first one is surely to happen in Bangalore considering the fact that BangPypers is leading the effort, as well as concentration of organizing Pythonistas seem to be maximum in Bangalore comparatively (agreed, this is debatable on other fronts).

How?

The later half of the discussion was taken up by what are the things to be done to move forward. It was decided to have a formal CFP being made soon, as well as having an Open Review process for the submitted proposals using the software used for PyCon. Ghose B has been put responsible for getting the software in place, while Svaksha and Ramdas share the responsibility of Media and Publicity.

Other points which popped out during the discussion are,

  • Whether to have stalls? If so who all can be given a stall?
  • Whether to have delegate fees? If so, what would be the ideal fee?
  • Corporate presence during the conference

As this was the first ever discussion on the idea of having PyCon India, no conclusive decisions were taken other than few stances. Each of the above discussed topic will be subjected to further iterative discussions as things mature and progress further.

The next meet of IRC discussion is currently to happen at #bangpypers in irc.freenode.net on 10th March 2009, 8.230 PM IST. If you want to participate in the discussions, please be there. We are open to all kinds of ideas, suggestions, concerns and criticisms. Please feel free to poke us at #bangpypers anytime or drop a mail to BangPypers mailing list.

Even if you are not a Pythonista, please help us by spreading the word among your friends, colleagues, your HR and your company. Some of them might be really interested at some aspect of this conference.

i stopped eating omelettes

Ya, there is little pun here. I have stopped eating omelettes about an year ago. But that doesn’t directly relate anything to this omelette, though am in a confusion like many people I know are.

It is great to know that team foss.in is more determined to take foss.in in a way that it is not any more just another FOSS conference in India, but rather an incubator to fuel up things getting done, code churning up at the end of the event. This sounds great if you’re a code contributor to a FOSS project, or you’re running your own pet project or contributing to one of your friend’s pet project, or at least have an idea which needs to be coded to life. If so, this would be a great opportunity to get some people into it, work together and bring out something solid out of the 5 days. Having a place with wifi, food, coffee and resources (meaning people who can write code like you, may be even better code than you) for full 5 days is awesome opportunity and has never happened in India (or at least my two little ears have never heard of).

This is indeed an experiment which the team foss.in is bold enough to indulge into, considering the popularity they have with almost all walks of the community, from geeks, to nerds, to novices, to users, to students, to.. it goes on. It has also been a place where we had put names/nicks to faces, groomed of our friendship which was otherwise been restricted to mailing lists, irc and LUG meets. It was one place to find the real people behind what they are in the irc world. It was also a place for transformation, change of ideas and views about others and things, and a lot more. That’s why most people I know in the community has always been making it to this event for last 5 years.

There are two things to understand, first that the team foss.in has the right and freedom to determine how their conference should be developing into; if they want it to be an event at the end of which a recognizable amount of code comes out, then they can. I don’t want it to call a bad idea or a risky experiment or anything of that sort. In fact, they are experimenting, as good as playing with a knife, but you can’t learn to use a knife without cutting your skin once to twice, and unless you are going to be bold enough to try it out, learn to do it right, you are never going to do it. I wholesomely agree to their PoV that we indeed need such an event in India which fully concentrates on code, code, code.

Secondly, we always go to a place which has something for us. If it doesn’t we don’t go. It is as simple as that, if you find a reason to go, then please so. If not, may be you have better things in life to get done. But don’t criticize others for being a place not for you to go, even if it was in the past. Find an alternative which satisfies your interest and expectations.

Time to look at other side of the coin. If you have understood and somewhat agree with the above two points, all you have left out is introspect whether you need to be there this time. You need to find out whether you have a reason to be there. If you have, then go to next step and decide what you want to do when you’re there. But the problem (er, sorry I didn’t find a better word) is the diff between the reason to attend last year and reason to attend it this year is so large that a lot of people feel to have been neglected, even disregarded of their mode of contribution. This was fueled by the unfortunate comment that contributions such as localization, packaging and bug management are low hanging fruits, and the further justification of the same. This indeed left a bit of bitter in the mouth for many as they have been fully involved in these modes of contribution.

For the fact, half of the people I know in the Indian FOSS community are mostly non-code contributors and trivial code-contributors. If I consider myself, I haven’t done much other than my contributions to Ubuntu Bugs being a triager. Even if I don’t mind the PoV that what I do is a very very low hanging trivial fruit, I still have to wonder what am I to do if I decide to attend foss.in (other than being a volunteer, i.e.)? Also, I might be missing people who are also similar low-hanging-fruit contributors whom I had been with during the previous foss.in(s). The answer can be: write some code too, but it is not a wholly sensible reply to someone who himself chose to contribute through low-hanging-fruits. I do code, and that’s how I earn for my food, clothing and shelter. And this is one of the reasons I rather chose one of the so called low-hanging-fruit(s) as the way to contribute.

I have a month and 3 weeks to decide, so does many others and their decision might be having an influence on mine. Even if I find some better-things-to-get-done, I wish all success for the team foss.in and all those attendees of it who are going to work together for 5 days and get things done. Good Luck and would love to see this experiment of yours succeed. Go Rocking Guys!! :)

One day for freedom, for software

Most countries celebrate Independence Day to celebrate some kind of freedom associated with their countries history, a liberation from something which had been keeping them under chains, something which had been restricting them, confining them under the rule and wishes of someone else other than their own men. Indeed, Indians know the better of this story and we still feel proud of the freedom fight that a forefather (a few generations ago) participated.

Freedom is not just associated with this political or social liberation, but with technology as well. When the technology we used is controlled by a single company or individual, then that single entity starts controlling us indirectly through that technology. Think of a situation when someone says he owns all the water is this world. It may seem funny, stupid, but still if that situation becomes reality then the entire human race will be under the control of one single person. Thankfully it won’t be happening with water, but it might be happening with something else that has managed to become a part and parcel of our lives. Yes, computers have become very much crucial to all our lives. It’s there in our life in most objects we interact with, starting from mobile phones, to consumer electronics, in education, in hospitals, in banking, in our national security and what not.

It was in 1983, that this invisible thread was realized and an effort was started to educate humans about this threat and the solution to prevent it from becoming reality. A movement was started in the name of Free Software Foundation to this cause and been striving hard for the past 2 decades to make the freedom in software a reality.

As a part of this strive towards liberating the world from crutches of proprietary software, we celebrate one day for spreading the awareness of software freedom and it’s importance. This day is called as Software Freedom Day and it comes every year on September 20th. I have been participating in it for the past 4 years, in those celebrations which were organized by ILUGC.

This year, as am away from home turf, I was wondering where to join and thankfully Vincent Vikram called me up today and invited me to join FSUG Bangalore’s SFD celebrations in Christ College. There are indeed lots of other planning various things in India, like some Ubunteros organizing one in Mysore, ILUGC organizing a Demo Day at Kamban Engineering College, Jaya FOSS Club organizing SFD celebrations in Jaya Engineering College. Also a friend of mine, a fellow Ubuntero and an Ubuntu Tamil Team member Sri Ramadoss is releasing some of the RMS’s work in Tamil. This will help more local language readers to know about the Free Software movement and its ideologies in their own language and hence they can understand the importance of software freedom more effectively.

Looking forward to SFD @ Christ College and will keep you all updated on that :)

the surprise sunday meet

My weekends have either become boring with housekeeping chores or traveling to villages meeting my relatives. But this one was different, with 4 of my Ubuntu Indian Team buddies turning up at my house for almost half a day. Aanjhan (tuxmanaic), Onkar Shinde (slytherin) and Roshan (ubunturos) made it to my home by 1 PM, soon followed by Barkha (baks17) who managed to come close to my house and then lost the way. It was a farewell meet for 2 of them and welcome (to Bengaluru) meet for another one ;) (I leave it as homework for you to find who is who :P )

Then as all of us were quite hungry, we made a little walk to Nandini at R T Nagar and managed to get a table for 5 within 5 minutes. The poor thing was all of us were vegetarians :( and hence we ended up ordering Andhra Full Meals for 3 of us while the other 2 resorted to Naans and Rotis. The food was very good and we were half asleep when we came out of the restaurant. Onkar then picked up some sweet corn on the way. We came back home and starting preparing for the hackathon/bug jam. Aanjhan and I managed to fix my router to work without fiddling with my modem and thereby all the laptops got some wireless internet.

Aanjhan and Onkar started working on some GNUSim8085 stuff while I was trying to hunt some bugs. Barkha was busy buying train tickets for her trip tomorrow to Chennai. There was some fun with Barkha booking wrong train and getting confused with her plans. It was followed by much funnier “Install Linux without messing my Vista” adventure, with Fedora not having a back button during the installation process and hence we succeeding in making Barkha resort back to Ubuntu. As she wanted to shrink a NTFS partition, we decided to give her the helping hands of GParted, but as the partition was too big to be shrunk to half its size it took tooo long that it didn’t even finish when she left my home in the night.

In the mean time, Barkha got some milk (and some biscuits which nobody ate) and everygot got some hot cup of Bru coffee ;) Also, thanks to Barkha for the sweets which she got from Mumbai :)

All together it was fun with 5 Ubunteros meeting on a Sunday and after a long time I had some visitors at my home :) I won’t be meeting Aanjhan and Barkha for <unknown-value> months as they are both flying out of the country. Looking forward to one such meet sometime someday :)

The Universal Crime of Killing Bugs

On a wonderful August weekend, passionate men and women joined together as partners in crime of killing bugs and helping a wonderful Linux distribution get better. Though crimes are generally considered against humanity, this was indeed motivated by humanity and helping humans with better software to use on their computers. If you haven’t heard it before, I would like to update your database made of neurons and electrolytes packed safely within your skull that there was a worldwide effort to kill a 1000 bugs that was reported in Launchpad by it’s wonderful users for various software and components of Ubuntu.

The wonderful part of an Open Source community is that you are free to complain when you find something not working the way you want. The more important part is that your complaints are rather considered as contributions and hence welcomed with a big smile. Secondly, your complaints are attended by a wonderful team of people, who call themselves members of the bug squad, that it doesn’t go unheard, into dark matter. They help you to provide more information about your problem that it makes sense to the developers, who can then work on solving your problem and release them in the next update for the software. These people are those who put themselves as a bridge between users and developers, helping both the sides to help one another.

Though bug squad been working day and night for a long time, we are still an under-powered team when you consider the amount of bugs people are able to find in software. Also, we there will be times when the user thinks differently from what the developer expected him to be thinking, resulting in a misunderstanding of a feature or lack of one as a bug. These things need to be sorted out too. The team has also been trying to motivate a lot of users  and passionate contributors to join the bug squad and help them make Ubuntu better. As an opportunity to show case this, we decided to go for a global display of bug squashing. Thanks to Daniel Holbach and his wonderful idea of Global Bug Jam, we are satisfied that we did a good job.

With loco teams participating from around the world, including the Indian team, the mega event took place during this weekend. As every hours passed more and more bugs we getting squashed, and more bugs were moving towards an improved state that they could be killed someday completely.

Let me stop my story telling and fill you up with some facts to prove how effective it was. First check this out to know where we stand at the end of GBJ August 2008.

Global Bug Jam Meter

Global Bug Jam Meter

Now to know more statistics about the bug jam and how each triager and team performed, check out the stats at 5-a-day stats page

Hope you got an Idea of the effort that the Ubuntu community has put in to make the lives of Ubuntu users better by making Ubuntu better. Thanks to all fellow GBJ participants, my fellow bug squad members, my loving Indian team members and all users who filed those bugs. We have made a conscious effort to improve things, and we will continue to strive make Ubuntu better, and ahem.. may be kill bug #1 someday ;)

The post will remain incomplete without talking about the dark side, not about the GBJ itself but about the extent of participation from the Indian team. As tuxmaniac had already blogged about it, I will just put things in my own simple way,

  • We need more passionate participants, after all this is a chance to contribute however small it may be, an opportunity to interact with other contributors and fellow users, understand what goes wrong, how to find what went wrong and how they are getting fixed (which really helps you in understand how much effort it requires to run a project like Ubuntu, and keep it in mind when you rant next time ;) ) and finally it’s a window to move to next level and get into the community.
  • Though we had pre-bugjam session, we need more consistent efforts to motivate people to come out of their shell and contribute. I heard some people reason that they had no clue what to do, especially without knowing to write some code. In spite of our explanation that there are lot of things to do without writing a single line of code, they still feel comfortable not to break the ice.
  • We need better planning and more stronger organization. We need plans to motivate people, even if it has to be done through incentives. Things don’t just work if we call “hey! we have a bug jam, why don’t you come and kill some bugs along with us”. They aren’t impressed and we need to find ways to impress them to join us.

In addition, almost at the end of the GBJ, we had a long time user complaining that one of the triagers who commented on his 2 year old bug wasn’t polite enough. We had a long discussion following it, concluding that the Bug Triage HowTo documents should stress more on being polite to bug reporters, whatever the circumstances be. Even if the bug sounds of no meaning, even if it’s not a bug at all, we need to be polite and explanatory on why we are taking a specific stance on the bug. There is something to learn at our every effort, and we learnt one this time for sure. Now it depends on how it gets moved on and implemented.

I would hereby wind up this report on Global Bug Jam August 2008. If you missed it this time don’t worry, dholbach is conspiring about another one soon. Don’t think twice to join us, and though these are wonderful opportunities to break your shell and contribute, you are always welcomed to poke us any time to know how you can help us. Never think twice to bug me on these matters :)

Waiting for the next Bug Jam..

my experience with bug triage

I have been always wanting to contribute to Ubuntu since the day I joined Ubuntu India Team. But, other things happening around me always kept me from converting this wish into action. It was this new year that I finally took a resolution to start some solid contribution to the Ubuntu project. The most viable options was to Ubuntu Bugs at Launchpad, which in better terms is the bug tracking system for Ubuntu.

The formal way to help with bugs (not formal as it literally means) is to join the bug squad, the team of ubunteros whose sole motive is to check bugs filed by the users, help the users provide as much information about their problem as possible, assign bugs to related packages, find earlier reports which is very similar or sometimes the same (duplicate bugs), assign status and importance for bugs and finally make it all ready for developers to work on them. This process also filters out reported bugs which are not bugs but user end mistakes, which are rather feature requests (wishlist) or merely misunderstood normal behaviors. In addition, we can also file patches for the bugs if we know how to fix them, which actually reduces a lot of developer time (which is precious).

So, where did I get started? Actually two places, one is Launchpad Bugs for Ubuntu and second is the bug squad team channel #ubuntu-bugs at irc.freenode.net. When I joined the team, the irc channel was both a place to discuss about bugs as well as where the bug announce bot was running, announcing the channel whenever a new bug was filed. Later, the bug announce was moved to #ubuuntu-bugs-announce channel, while #ubuntu-bugs became a complete discussion channel for the bug squad. Then I started reading the docs in the wiki, especially the following,

  1. How to Triage
  2. Debugging Procedures
  3. Standard Responses
  4. Bug Importance
  5. Bug Status

Apart from reading docs, I started observing how triagers respond to bugs. When I got an idea of the basics, I started triage with some newly filed bugs, easy ones which I could make sense of from the description. All I did was find bugs where I can ask for more information from the reporter. This is the easiest way to start as most filed bugs lack in one information or another, and it’s the primary task of the triager to get as much information from the reporters as possible.

Most people miss out the Ubuntu version they are reporting the bug against, the related package for which the bug is filed and it’s version. These are minimal information required in the bug report. The next important thing is how complete and meaningful is the bug description itself. It is not uncommon for people to be in a tensed mood when they file bugs and their description is quite unclear about their problem. Minimal requirements of a good description are what is their problem and how to reproduce this problem. Some reporters also specify things they tried to fix the problem, and surprisingly sometimes this ends to be round about solution for the problem. Some people take more responsibility of getting into the problem, finding a fix and submitting a patch to the bug as well (which is amazing btw). Now bug triage doesn’t seem to be simple all together, but it offers various levels of participation fitting with one’s level of interest and skills. I know of a few in bug squad who are specialist in dealing with duplicates, which is nothing but a reporter filing a bug which already someone (or even many others) have filed already.

Filing a same bug doesn’t help much, rather what would be welcome is looking at existing bug and adding additional information to it if possible. Similarly, one can also check existing bugs and if the problem can be reproduced at our end we can indeed confirm the bug reported by someone else.A bug also gets confirmed when the triager feels that the bug report enough information for the developer to deal with it. There is no hard and fast rule, but some guidelines on what makes a report complete (which you can find in link 1 above) and is often acquired as a trait by experience.

There is not much for the basic level of bug triage. As I got involved doing these basic things, I started learning more. Sometimes I have done little mistakes, but as I always refer to people in #ubuntu-bugs for doubt, my mistakes got immediately corrected. Am still in the lower levels of bug triage, but learning a lot. One wonderful endeavour regarding bug triage is 5-a-day project started by Daniel Holbach. It is nothing but a team of bug triagers who make sure they at least triage 5 bugs a day. This has really been working and if you would like to see some stats check this one out.  One handy link for every new triager is the Checklist.

So, when can you join us? Anytime anyday and if you are looking for special time to join then Hug Day and Global Bug Jam could be a nice opportunity :)

Usability by Celeste

I made it yesterday though it was late into the midnight, attending Kubuntu Tutorials Day at #kubuntu-devel. The session I was interested to catch up was the second one by Celeste Lyn Paul aka seele on Usability. I have heard about her, her work, KDE-HIG and openusability.org a few months ago after I attended the HCI workshop at IIT Bombay. The following are the brief notes from my scratch pad on what seele said during her session. Official logs from the Kubuntu Tutorials Day should be available soon (or am not yet aware of the link yet..) and will update when I get it.

( Questions from seele are in italics, with related links I managed to get by Googling and my own comments. A little bit of editing to make it look a bit “blog formal” and readable. Comments are welcome, especially if you find something wrong :) )

In 20 words or less, what do you guys think usability is? (and no cheating on wikipedia)

If we take this from an ISO standard, usability means that a product must be,
1.learnable
2. efficient
3. memorable
4. prevent errors, and
5. be satisfactory to users

Learnable
This is the one no one usually picks when i ask the “what is usability” question. A product (in our case software) doesn’t have to be so easy that you don’t have to learn it. For a simple task, then you expect it to be simple but for a complex task, it is OK to expect learning.

Efficiency
This probably shouldn’t be #2 even though it is listed in the ISO spec this way, because it is related to learnability and memorability. But it is exactly what the word means, an appropriate use of time and resources in relation to the complexity of the system. Even if you made a simple printing function an easy to use 10 step wizard, it isn’t very efficient if you need to do that every time you print. Clicking one button will get the same amount of work done than stepping the user through all the options and clicking 10.

Memorability
This is what I think should be #2 because it is closely related to learnability.

Have you guys ever heard of the term Information Scent? It is an Information Science Theory

Information scent is a search behavior theory. Information scientists believe we search using the “gathering” skills of our “hunter-gatherer” basic instincts. What it turns in to from a UI perspective is how easy it is to find information (functionality or options) from it’s surface presentation. So, what options you expect to be under menu X before you open menu X? By having good information scent (good labels, structure, etc.), you can use the UI more efficiently because you can stack layers of information.

Basically you are leaving hints to the user to find the information on their own, they don’t need to Remember where options are, but only follow a logical path. This saves the user’s cognitive resources to go on and solve more complex problems instead of using them on the UI. Remember that a UI is a tool to solve a problem, the UI shouldn’t be the problem.

Error Prevention
Have any of you guys heard of Jef Raskin?

He was a famous designer who worked at apple (i think he was employee #12 or something close). He was a true user advocate in the sense that he believed no matter what the circumstance, the computer should do no harm. Also, many of you are probably familiar with the practice of confirming actions, particularly destructive ones, yes? Error prevention is more than just confirming a destructive action. It is preventing the user from having to make that decision to start with.

We dont see this too much in the desktop environment because we model a lot of our work-flows off of existing software, but i see this a lot in other expert systems. “Are you really sure you want to do that? It will cripple the system and you will lose all of your data” (Well then, the user should have never been able to choose that option from the top level of a UI). Even so, there are a lot of confirmations we do in the desktop environment which could be prevented if we shaped the work-flow differently; the user should never have to select Cancel.

Satisfaction (keeping it consistent ;)
Satisfaction is the quality many people tend to identify with usability. But it is also the last dimension in the spec (and i believe the least important of all we’ve talk about). Satisfaction is important. If a user finds a system pretty or cool, they will want to use it more than the other system that is not. Users will sacrifice ALL of the other parts of usability (learnability, efficiency, memorability, error prevention) for satisfaction. our goal is to help them not make sacrifices.

I’ve seen users in usability tests take 3, 4, 10 times longer to complete a task in a terrible UI that looked pretty, and complete the same task in a different not-as-pretty UI much much faster and they still like the pretty UI.This is an advantage and disadvantage: it gives us room to experiment because users will be forgiving if we give them options they want or other cool toys; but at the same time, we should use eye candy as a crutch to solve problems. We should solve problems and make our solutions beautiful.

Have you guys ever heard of a one-time learning event?
Often when you are reviewing a new UI or work-flow, one of the questions you may ask yourself is “will the user figure this out”; and the first time around, sometime the user doesn’t. they can’t find the options, they don’t know the label, they can’t figure it out. But,if they have someone show them how to do it, they find the solution on a webpage, or painfully figure it out, it makes sense to them and they remember it for next time. We call this type of experience a one time learning event

They won’t figure it out the first time, but if they can do it once, they will remember how to do it. This is something that is often forgotten in UI design. You can break users out in to different dimensions – one of them being problem solving skills and related motivation, some users are not afraid to try something and fail, other users will not try new things in fear of failing and the users who do not explore are at risk of never exploring options hidden behind a single-learning event.

That’s why doing user research on your product and understanding who your users are, their motivations, environment, and their skill (it’s not JUST about their skills) is important. This leads me in to a discussion about universal usability.

Has anyone heard this term “Universal Usability” before?

Universal Usability is the belief that any user, no matter their skill, background, motivation, experience, etc. should be able to pick up and use a product. In cases where products must serve the general public (such as e-voting machines), this could be a valid argument, but there are very few products that focus on EVERYONE. Even so, the concept of universal usability would be extremely difficult to achieve, especially in expert systems or systems which knowledge workers use

The ipod, why does everyone use that as an example of universal usability? The ipod is an excellent example of very sexy tech that people forgive its shortcomings for. It doesn’t do everything everyone wants, and not everyone can use it or figure it out, but because it is so damn beautiful, most people don’t care.

Universal usability forces designers to lower the bar of the average user to accommodate more people. This is why it hurts expert systems. If there is a pocket of experience or information that a certain group of users may not have or be able to attain, it must be removed.

[ To a question about apple and the point mentioned above...]
Yes, but apple traditionally does not follow a user-centered design approach. they believe that designers know better. It’s only been recently that they’ve done usability testing.. everything before was market research (which is very different).

[ We seemed to digress a bit, so I tried bringing it back on track with question :P ]
There are three domains of usability i work in: User Research, Design, and User Testing. Together, these are part of the user-centered design process (UCD). It is a design philosophy which keeps users in mind while creating a system for them.

User Research is often linked to the Requirements stage of software development. So when you developers are thinking of new features to integrate in to a software, or a new software to develop from scratch. Here are some things you should be thinking of in addition to your functionality spec and other things,

Who are your users?
Try to come up with some example users who you are building the software for. Even if you are a user, try to keep yourself out of the list, it makes it too easy to do what you want instead of what they need.

What will you users be doing too many times?
Not all of the functionality is documented or fully planned. A single function might be discussed and mapped, but the other functions of a system aren’t thought of until afterwards. What happens is you don’t have a complete picture of how your users are using the system, and if the functions are integrated properly mapping out screen flows before you begin coding will help document your functionality (so you aren’t trying to squeeze or force options in later) and give you a reference for when you code.

What problem are you trying to solve?
This is the big one, your Vision Statement. Having an idea of your goals before you start will help development. It is related to the “What are my users doing?” question. If you don’t know what problem you are trying to solve with your software, you can’t know what to provide users or what they will expect? Plus, in larger projects, it is a good idea that all the developers are on the same page. It prevents a lot of road map issues later on

Being able to answer those three questions will give you a head start. On KDE Techbase there are user research templates to help guide you.

I guess we will get in to Open Source Usability 101 now,

First step: Contact the project you want to work with and express interest in working with them.
You dont want to surprise developers by dropping a usability report in their inbox. It will just make them angry, even if the work was good.

Second step: Start small. Open source is a community based on commitment and trust (after the getting work done thing).
Start with a small activity such as interviewing users, conducting a survey, or doing a small UI review. This will help developers get used to your methods, get used to you, and know what to expect from your work.

Third step: Maintain your relationship with the project.
Design is an iterative process, just as open source is iterative development. Developers are wary of seagull designers: designers who fly in, poop on their software, then fly away. Developers are in for the long hull, they are committed to their project and want to see it succeed. They don’t want to work with a designer who will ask them to change a bunch of things, then disappear and not be able to comment on the results.

Obviously I don’t want to see any unhealthy marriages, but keep in mind that you will make a bigger difference in one project than doing a bunch of little activities for a bunch of projects. Design is a VERY iterative process; it is important for both you the designer and the developer you work with to understand this.

[ To my question whether we have something similar like KDE-HIG in Ubuntu/Kubuntu to which we can contribute.. ]
For Ubuntu designers, you will want to look at the GNOME HIG. It might be a little out of date, but one way to get started with contributing would be updating it!

For Kubuntu designers, you will want to look at the KDE4 HIG and the KDE3 User Interface Guidelines.

These are under active development, and so if you have any questions it would be best to ask me or Ellen Reitmayr who sometimes lurks in #openusability.

Other Resources:
Look at other interfaces that do similar things, not just in your own environment but in windows, KDE/GNOME, Mac OSX. You’ll find similar and very different solutions. You will want to look closely at the context of the solutions and make sure it is a good fit before you use it as a mode. Copying a solution will not solve a problem, the goal of reviewing other software is to get inspiration when you have no other better ideas.

[ The End - Applauds!! ]

miss it this time

Due to unforeseen circumstances, personal reasons, financial crunch and “leave” reasons, am not going to join the party at FOSS.NITC this time. It was fun last year with pradeepto, kushal, aanjhan, vivek, jace, kiruba, atul, shreyas, tejas, praveen and lot of known faces joining for a promising FOSS meet. This year, a majority of the tribe will go missing. I fear this was mainly due to the postponing of the schedule a couple of times, from feb end to march end and again to april first weekend.

For me with little penny left in my pocket, mother to be taken back home and morally can’t take successive weekends off from work, I mailed them that am dropping off. They felt so bad, am sorry, so did I. Hope you still rock on this year and we all can join you next year. Good luck! :)

fossconf chennai 2008

Chennai chapter of Indian Linux User Group had geared up for their new avatar as conference organizers. Their long standing stint of not conducting a conference of their own was going to end. The discussions were happening for months, new logos getting designed, new conference management system getting developed. NRCFOSS joined hands with ILUGC and finally Madras Institute of Technology, the premier and historical institution which created leading professionals and world famous technologists like Dr. Abdul Kalam, was selected as the venue.

The conference was focussed on being a platform for first time speakers to come out of their shell and get an experience of speaking in a FOSS conference. Their audience will be a blend of experienced FOSS community members, students and academicians. In addition to just talks, there was also demo stalls as usual. This time, in addition to usual demo stalls on various topics, we had student present their final year projects. This was an opportunity for them to interact people who were doing similar things in their professional life, thereby they could get the valued feedbacks from the community and improve their projects.

The lectures happened in the Lecture hall, while the demo was in Hanger I (where Carte Blanche used to happen every time). Various colleges who have been interacting with ILUGC and NRCFOSS had sent their students as volunteers, participants and delegates. The core volunteer team was formed by the enthusiastic MIT Computer Club students, the one who conduct Carte Blanche every year (supported by ILUGC).

We had around 109 talks spread over 3 days (actually 2 days) and 863 registered delegates, while the registration desk reports the total attendance was above 1500. The attendees were mostly students from colleges and a few from nearby schools, academic community from the participating colleges, a few from the industry and representatives of the community. There were around 10 physical volunteers from ILUGC and another half a dozen from NRCFOSS co-ordinating the entire conference.

The conference formally began at 1.00 PM on 1st February, 2008 and was formally closed with Brian’s talk at 2.00 PM on 3rd February. Though there were few talks without enough audience, the beginner level talks were running houseful. May be the speakers should consider the focussed audience group before selecting what they are going to speak on. Or, may be we had too many of new entrants getting enlightened about FOSS that they choose to stick with beginner talks. We will be careful next time when we accept talks.

Though there were initial glitches and confusions during the first session on Day 1, with a speaker going missing while the alloted room was filled with audience, we managed to straighten up things as soon as possible. We had lots to learn from this experience of conducting a FOSS conference, when the major audience was students pretty new to the topic. There was also some logistic issues due to miscommunication or lack of proper communication channels. But on a whole we managed to walk across the rope, from one end to another without falling down and bruising ourselves.

We had people from few other LUGs attending the conference and they were really surprised to know that the entire show was run and supported by the students, with the LUG just standing behind and giving them a shoulder when needed. They also appreciated the idea of displaying the student projects which were actually nothing but final year projects for their B.E. degree.

What I wish to do now is to join hands with some of my friends (if they like this idea), with the students themselves and help them have a hosting space where they can properly host their projects. This means they will have a version control system, a issue tracker and project management tool and a weblog for them to blog as they proceed with their development. A few, with whom I talked about this, were really interested with this idea and said they will help in this. Hope, I get a few more helping hearts from those who read this post ;)

The fossconf chennai has ended and we are contented of performing to our best, and accept the mistakes we made, taking them as a good learning experience to improve ourselves next time. Thanks for those who supported us, who participated and those who have a shoulder and hand in making this happen :)

Bangalorians from ILUGChennai

Following lawgon‘s mail to the Chennai LUG mailing list a few days back, stating that there is no single point of contact for FOSS patrol in Bangalore, especially those belonging to ILUGC, have started a new Google Group named “Bangalorians from ILUGChennai“. Though this group is mainly for Chennai LUGies who have now settled down in Bangalore, it is also open to Bangalorians and Non-Bangalorians who would like to participate along with us.

live from foss.in

Day 2, 5th December 2007,

Here am, from one of India’s premier FOSS event’s 2nd day. Yesterday was awesome and the Debian/Ubuntu Project Day happening fine. Today am watchdog’ing KDE Project Day along with other volunteers who are helping it to run smooth. I actually see a lot of foss.in volunteers around, making me feel a lot of us are indeed Ks ;)

Being a part of volunteer team had been interesting, with some running around, heavy lifting and more importantly sitting in the registration desk all along half of yesterday. Again, I got the opportunity to meet a lot of guys who I usually see in #linux-india, as well make some new acquaintances. So far it has been really interesting though I have been missing some of the talks on being a volunteer. As the main conference starts tomorrow, we expect more delegates, more talks and more work to do :)

At last I found some power socket to comfortably keep my system running and as every ubunteros does, have started dist-upgrade ;) With only a few things to fetch, it should be done in another few minutes. Pradeepto is talking about creating the setup for KDE4 development. I tried to svn fetch the source and build kde4 over my system, but some freaking dependency (the required version is not available stopped be in my endeavor. tazz told me that he has found a work around, additionally promising me to write it down somewhere and make it available for others to follow.

Day 3, Main Conference Day 1, 06.12.2007,

Had an amazing day with Main Conference kicking started. Spent my first few hours in the registration desk as usual. As it had rained today and was much colder than previous days, the delegates arrived a bit late. Then catched up with jace and Zope guys on a RDBMS with Zope talk (was really useful as we are trying to do similar thing at work). Went around and helped guys with random stuff here and there. A bit of my butt got burned as no one was manning the Debian stall and some foo guy has taken the place to setup some electronic things all over. Missed baiju’s talk as I got caught in some random stuffs. Now sitting with sankarshan and ramki, with sankarshan making me update the blog ;)

I have two important things from last 2 days to tell about. First is the mess-up at the last talk of Debian/Ubuntu Project day. When we were in the process of finalizing the list of talks, Kart me and few others wanted the “Java Packaging in Ubuntu” talk to be not there as it doesn’t seem to 100% ok for the project day concept of encouraging new contributors to Debian|Ubuntu. But there were a few others who said we need to have the talk as they themselves are Java programmers. So we finally ended accepting the talk (and also we did not have another talk alternative).

What happened in the last few days was the original speaker wasn’t able to attend foss.in and hence he had sent a replacement which we thought was ok. But when I was helping the speaker to get his laptop setup for the talk, I noticed it was running vista. Though I wondered how one can deliver a java packaging on Ubuntu talk over a vista laptop, I did not want to interfere so I silently left the place (so did a lot of Ubuntu-In guys). Later I came to know that the talk was nothing to do with the intended topic was and there was a lot of complaints about it. I heard Kartik has written an apology kinda post, but I think its not just him who is responsible. Though its *us* who had to be responsible for accepting the talk at the first place, but still a Java packaging on Ubuntu talk is not a way to OT or way out of the conference’s purpose. But this turned out to be a good lesson for us to be doubly careful next time when we are with such an opportunity to select something to represent the team in such a premier conference. We are sorry guys, if it had disappointed you, its has hurt you in any way, we are sorry for choosing a wrong talk for such an occasion :(

Second thing is about the surprise “K”onqueror party thrown in by Ramki, Sankarshan and co. last night at R-R, Church street. Actually this became a complementary party to the Mozilla party attended by a lot of other guys and the foss.in team. We had a lot of K guys attending the Konq party and as it started to rain, the hot south indian thaali happened to be the right kinda dinner ;) Thanks to Ramki for the idea and for adding me in into it ;) (We guys managed to put ourselves in a single car and go there :) ) (Hope Sankarshan is now satisfied with me blogging about two things he had asked me to :P )

Will try to keep this post updated along the 5 days, so keep checking for updates :)

printing tees

Its only a couple of week more before foss.in 2007 begins. Every team participating in Project Day are preparing something or other for the event, mostly are T-shirts and stickers for their project. Though ubuntu-in team had been discussing this for some time, we hadn’t actually put anything in to action. When we and tuxmaniac met this weekend in barcampbangalore, we decided to start some action.

We were pretty impressed with the stickers distributed during the barcamp. Instead of giving tags and coupons, they had print different kinds of stickers which can be stuck on to the shirts. There was sticker to write names, there was “this is my [nth] barcamp” sticker, there was “i am barcamped” sticker and there was a barcamp laptop sticker as well. We felt this idea was cool and we can also make use of it for the project day. We made some enquiries and found out it was well within our financial capacities. So we decided to print the stickers and sought Niyam’s help in designing one for us, as he had been desgining logos for foss conf chennai of late.

We might also be printing some Ubuntu posters to put up in the stall and around the venue. We had come out with a handout pamplet during Carte Blanche which we might use for this occasion as well. All we need is someone who can take a laser printout of the handout and make nice xerox copies of out, some 500-1000 nos will be enough.

We also were thinking about printing some 20 T-shirts to be distributed to the speakers and enthusiastic contributors. Initially there was Yahoo! interested in sponsoring us for the T-shirts. But there were lot of fluster as Y! is not a sponsor for this year’s foss.in and giving a T-shirt sponsored by them might be not welcomed, even might drag us into some unwanted problems. So, we have decided to make a pool of as much as we can and print some T-shirts for the speakers of Debian/Ubuntu Project Day. We are also enquiring whether it is monetarily feasible to print some mugs as well, may be replace t-shirts with mugs as every other team is printing tees.

To print T-shirts, we are looking for people to contribute to the money pool. As the Loco Team has to take care of itself and its needs this time, we are looking for contributions from the team members, from enthusiastic Ubuntu users as well as people from the community to help us in creating a pool so that we can print some nice t-shirts for those people who are speaking for us during the Project Day. We may also use the extra tees to reward people for their contributions and volunteering for various ubuntu-in activities (we do not promise this, but we will try to :) ).

Looking for your helping hands… :)

Python BoF at foss.in

I was enquiring Baiju about the Python Collective at the Bar Camp Bangalore 5, which is scheduled for this weekend, as I hadn’t seen any discussion about it in the BangPypers list. This is when Baiju asked me about having a BoF during foss.in, which I readily seconded and as per his advice, start the discussion in BangPypers list for the same. And thats why this post comes out.

We plan to have a “Python BoF” during foss.in 2007, organized by BangPypers (the Bangalore Python User Group). The discussions will happen in the BangPypers Mailing List to decide the day and time, after which I will update the tentative date and time here, as well announce it in both BangPypers and foss.in mailing lists. Hope to see a lot of Pythonians at the BoF and interesting discussions happen :)