From what I have seen till date, I believe that the people using Ubuntu can be classified into this set of three distinct people
- Developer base (people who are knee deep into development process)
- Pro-user base (Ubuntu users who know stuff but are not in any way contributing to Ubuntu)
- New userbase
Grievances of New User Base
First, let me represent the New User base. Their main problem is lack of information and the overwhelming nature of the information. I have personally met more than 10 people in my college who are fascinated by something other than MS that could make them look geeky (partly because of my promotion). And I have successfully converted around 10 people into Ubuntu users. I have installed LTS, gave them Ubuntu restricted extras and told them that this is the software center and use it to do anything.
I have experimented with the newbie section a lot. For the ones who I have installed Ubuntu, almost all of them quit the next day. Except for a few brave hearts. And there is a good reason for that. I will be telling the reason in another post.
http://aveemashfaq.blogspot.in/2014/12/my-experience-on-kde-and-takeaways.html
My room mates use Ubuntu (as a result of me) on a regular basis. They use the stock system with the stock theme and stock everything. The reason why they stick along is that, I am their room mate. I am always there to help them out with any error message that they get. I mean even the basic of things. For example, my friend broke his system because he was doing a software update and the software updater was taking it's time in unpacking the data. The progress bar was not moving and he thought that his Linux has gone wrong. So, he shutdown his laptop. Then, I guess, I did a dpkg --configure -a and he is now not only happy, but very fascinated that I used one command and it coughed out all the problems. He wants to learn to use terminal. Yeah, the same person who did not click the details to see what was being unpacked now wants to learn this mysterious terminal commands.
I know that the new users are scared the hell out of getting into uncharted waters without any assurances of help. Hence, they abandon using Linux (mostly as I have seen).
On this, I wanted to add a note.
Solution to the New User Base
I believe that we need a centralized archive of information. And that information that is known to them. It was during the time of writing this article that I have remembered seeing an Ubuntu help. So, I explored it and found it in a good state. But the thing is that, since in other OSes the help is not useful, we naturally assume that this would be rubbish as well. so, no one cares. Remind them that you can use this help. Have a first boot up opening video. Something like this. Ofcourse with a lot of other information as well. For reference, watch what gnome did. Their intro video.
The written instructions do not usually be much helpful as videos. That is because the in the videos, they can actually see that he has a similar issue and they relate to it. Whereas in the writing, you have to read a lot, you do not post screenshots for every step and it is not soothing. Remember people panicking and shutting down their PC just because they felt that the software updater is not working fine.
Then, they will slowly grow up into Pro-users and we can lure them into contributing.
Problems of Pro-users
This is a great chunk of the user base. They are the ones who know, participate in google plus, askubuntu etc. We (I mean Pro-users) know the basics of Ubuntu, how it is working and what services are etc. We know how to add a PPA, how to edit a system file (example /etc/default/grub), all the software. And there are a lot of us. And the interesting thing about us is that most of us are interested contributing to Ubuntu at some level. But the reason is that we are alien to the development processes. We simply run in tangents to the development process by bugging all the g+ forums and writing on askubuntu.com until someone in the development team picks it up and implements it.
I shall admit that after a month or so of being in the community team and browsing through all the pages, I can only claim to know 50% of what Ubuntu is. I mean that I know there is Ubuntu on air, Ubuntu flavours, Mailing lists, Ubuntu clouud, QA team etc. But I am not sure whether I know all about what I need to know about Ubuntu. I want to help the people of Ubuntu with Project UbuntuNewbie. Daniel Holbach said to me Good. Get some like minded people and make the scripts and produce the videos. I showed him the mockup of website. He said, Yeah I like the direction that you are heading in development of the website. But the question is, I will design. But how will I be able to edit the community website. I don't want to create another website with these instructions ( I mean I don't want to make ubuntunewbie.com) because several attempts have been made and are also being made. My complete moaning is here.
http://aveemashfaq.blogspot.in/2014/11/bridging-gaps-in-ubuntu-user-base.html
So, we lack a general direction of heading.
Solution to the Pro-Users
Make an app. We have been past the years of mailing lists and separate accounts for every other activity. We are living in the world of integration and convergence giving the end users have a lot of simplicity. Today, to contribute to Ubuntu, you have no commonplace to be. For example, I am a pro-user wanting to come into Ubuntu development. I want to experiment all the ways possible and choose the best one that suits me. I am willing to learn whatever it takes to work in the position I look out to myself to be in (trust me there are people who want to learn whatever it takes to be in that position).
Firstly he does not know what ways there are to contribute in Ubuntu. The community website is not properly designed. My side of the argument is here.
http://aveemashfaq.blogspot.in/2014/11/my-design-ubuntu-community-website.html
Then, he has to create multiple accounts and use multiple sites to get into helping the community. For example, he would get into the google plus community when he wants to help out. Then get into askubuntu.com (which is stackexchange), setup launchpad account for contributing translations and I have recently discovered that Kubuntu team using something else blah blah blah. My point is clear.
Then the tutorials are not so clear. Documentation is boring. And the new environment looks scary. Trust me it is scary. Try doing a task which you have no knowledge of sitting beside an expert. For instance, try changing your car piston rings. You will know what I mean. Here is my experience with KDE.
http://aveemashfaq.blogspot.in/2014/12/my-experience-on-kde-and-takeaways.html
And then setup an IRC and whatever is required and all.
Instead, why can't we create a small app that can integrate all of these functions. An IRC client running in the background. Instead of the mailing lists, get the topic lists. In which the main content would be there. When a person clicks on the space after the line, he can add a comment which would have spacing. Something like giving a tab space after programmers create a loop. People can show their interest with a promote or demote system like in askubuntu. Hot trending topics will be displayed. And we could also have the launchpad Ubuntu projects linked or matched somehow. So, the latest needs for the projects can be posted so that someone can jump in. Like, I am making a video. I will be asking for helpers in general as well as specialists in animation creation. There will be a creative team which will be publishing articles so that people are hooked up (I mean a substitute for newsletter). Then there could also be that askubuntu.com is linked to it so that the questions are answered here. An integrated interface. And the most active person will be getting karma and bounty and all. And since I have been listening to the mailing list, I suggest you can select the top 10 karma people every year and send them some Ubuntu merchandise or whatever.
My aim for inviting the users is
- Make them aware of how to contribute (We do not have the exhaustive list of how to contribute. Even the website is a bit out of shape. Make an app)
- Make small tutorial videos for them to know how to do like the one given above.
- Create a bounty system to lure them and make them stick to the ecosystem.
- Integrate all of them into one place (one app).
- Finally, bring all the flavours together. More helping hands, more number of people, more inter-disciplinary work and faster development of the platform (the app and the resources behind it).
We know that the developer base is more of an alien environment for me. But from the past experience that I have gathered, let me tell you the problems of the developer base. The basic problem with the developer base is the lack of co-ordination and support to the new ones. Let me make the issues clear point by point.
It seems that the idea of linux concept that you do whatever you want to do without asking anyone is the main issue. Let me narrate this as a story. A person decides to write a piece of software (assume that gtk on mir is written by one person) all by himself. Another piece of software is written by another guy (say suru icon theme is written by another one). The problem is that firstly, suru icon theme will get more praises in the non-developer base and a lot of accolades. The other guy who did the gtk on mir will be getting a lot of questions telling him that his gtk is broken or some feature is not implemented. A thousand mails, then he will have to do all the bug fixing and then in the UOS, a lot of negative comments on how you should not be getting a new server or you should be integrating with wayland etc. The best example of this is the debian guys on systemd.
Now, the second issue is that a person decides to maintain his own software. So, he is a part of the testing squad. He does a lot of testing, he is anxious and tries his hardest to break the software, get the bug fixes done in time. What does he get? He is just another guy. No one cares for him, no much effort is recognized. The best part of recognition is that he will be mentioned as bug fixer. yay. But the fellow who came up with the plan of having a scope and has written say those 5 scopes of unity 7 will have more fame because he is the writer of something.
Let us also assume that a person is very actively involved in the development of Kubuntu. I guess it has smaller userbase than ubuntu. Now, they do not have the fame to match the Ubuntu guys and they do things differently. We all know that Ubuntu has a trouble finding contributors. I can only imagine how hard it could be to get somebody into the development of allied flavours.
None of this issue is much of a problem. But, all of them together are impactful in demoralizing the developer. Then comes the fact that most of the developers are overloaded with work. It makes no sense that developers do the task of small things forcefully (I mean a person has written juju charms and he is good at writing them. Instead of making an effort to test every case of it's working, it is simpler to teach people how to use juju charm. They will generate the test cases by themselves). So, we need a proper governance team to ensure that efficient participation is taking place within the development process and that the developers are not demoralized. They can also perform the additional task of distributing the work and guiding people, motivating them etc.
Solution to the developers
Get a development app so that everyone is measured on the same scale. Even developers need motivation. AND being the top developer is the biggest motivation. Get a management of resources team so that more efficient work can take place. Trust me on this, they can make work far much happier to the developers than it is. And far more efficient and also very motivating.
Complaints with the current set of line of action
FIrst of all is the transparency paradox. I know that this is the first UOS I have attended. But, the biggest problem with them is that the transparency paradox. I have seen that in the verge of making it transparent for people to participate, they are having hangouts session stored on the internet. You are idiots to do that. No one wants to listen to an hour of hangouts in which half the time, you are typing something or half the other time, you are saying the word "um". WE are in the age of talk shows and all kinds of refined media. We are bored and confused(pro-users) as to why the hell they have these things. I know that this is the place where I have come in. But I cannot fail to forget that I have played some other videos during my time in the ubuntu google plus community, waited for the 1st minute where you were asking questions am i online, wait let me set this up, and then moved forward to the middle of the conversation and then some things spoken on tangents and using high level words. Let me make this clear to you. It is supposed to show transparency. Not show people that the developers know a lot of technical terms. And not cutting off the first bit does not help. Instead, if you have a consolidated and concise video report of what has been happening along with a Q&A session where people who have registered questions over weeks have been answered, that would be lesser transparent and more successful. The only reason why you have people getting into development after stumbling into UOS is that because there is no better way. The community website is crap (no offence meant) and for the lack of other ways, the only way people actually get into Ubuntu teams is from the UOS. That does not mean that UOS is the best practice. It is still deeply flawed and is not meeting the the requires standards.
Now, coming to the second biggest complaint. Your attitude that when you want to contribute, just grab a chair and start contributing. That is one of the stupidest things to do. Get some mentors. Guide them through the various steps of the development process. Put some points for good mentorship as well in the app (that i have just proposed). Let them discover their interests in those things. When you know all of something, then it is easy for you. But when you know nothing, you would be stuck even at small things which are universally accepted as easy. For example, when I was a child, I always wondered that when you turn the key to start your car, does the key get stuck in the start position or does it spring back (as it actually comes back when left). Pretty dumb huh. But true. We need good mentorship as well. I mean as of now, we need mentors to create a batch of mentors so that the newly formed mentors, i.e newbies who have become mentors can help out to let the cycle going.
All your argument and rambling. It is a community. We need to have a conversation thread instead of mailing list with a voting up feature. So that the others know about the hot topics and the most supported conversations so that soemone else if interested can get things done. Like Project Ubuntu Newbie. I have seen that the days following it, I have had almost 20 to 30 messages about showing support, commenting and improving it. Then it just died out (because it happened during a weekend and the people who ignored the mail in the weekend got new ideas and this became history). I whole heartedly wish that someone would say, "OK. Lets make Ubuntu Newbie. I will ask whether people like your ideas. Then, I can design the website on the mockups you have made (because I have never done a website editing) and you can make the videos."
PS: I had exams till now and have not followed the conversation that happened on #ubuntu-on-air as of the time of posting. I will be watching all of those soon.