jewelfox: A portrait of a female anthropomorphic fox, with a pink jewelled pendant and a cute overbite. (Default)
[personal profile] jewelfox
This is in response to Benjamin Otte's post, which I thought was extremely insightful. It both voiced some concerns that I have, and validated them. I recommend reading the comments as well, as there are a lot of interesting perspectives there.

What is GNOME, and what is its future?
In fact, these days GNOME describes itself as a “community that makes great software”, which is as nondescript as you can get for software development.
Agreed.

I was trying to think how I would describe GNOME to anyone. How do I explain to a non-technical user what a "desktop environment" is? I've been telling most people I'm "working on Linux," even though I love the GNOME project and want it to succeed. I'm just not completely sure what it's supposed to be succeeding at.

I found that commenter Richard Brown summed up my feelings about GNOME, however, when he said
GNOME 3 is a fine choice for a developer/techie who wants a clean, clear UI with minimal distractions (a role I personally think it excels in)
And this is why I choose GNOME over Unity, or any other "desktop environment." I like things that are simple and clean. I like having few distractions or annoyances. I love GNOME 3's direction, and I fully support it and want to help people make awesome GNOME apps that take advantage of its new features.

Which is why I take things like romu's comment as personal failures:
I’m looking at how I can develop Gnome apps. My preference comes to Javascript because if I don’t really love its too free syntax, it seems an ubiquitous language.

I’ve read all tutorials on the Gnome Develop web site. And know, I’m at the point where I don’t even know how to write the code to just create a simple text file. So I’m trying to digg into the Gnome source code to get some examples, but honestly, I’m getting close to give up. Unfortunately searching the web doesn’t work as there is too few very simple tutorials for Gnome which covers a wide range of use cases.

Another comment from a developer point of view, is the lack of a good development environment. I’m not a big fan of M$, but just consider how you can make a simple working “hello world” windows app with 3 mouse clicks ! Making possible to write apps in Js with GJS is a step forward to ease the Gnome dev, but Anjuta doesn’t support Js debbuging (I failed trying to make it work), and Gedit, even if simple and stable, lacks some modern IDE features.
Those are the docs that I'm trying to work on. They're still not complete. We're at the halfway point now, and a lot of the code samples are documented, but there's still a ton of work to get done and until it's finished, people like him are going to be left out.

But while I feel personally responsible for this, I also feel that the GNOME community at large does not place outreach as a high priority, awesome internship programs notwithstanding. And I feel that this is largely because we don't understand -- or value -- other people's perspectives.

Some people, like romu, still make fun of "Micro$oft." But there was an article in Vanity Fair about "How Microsoft Lost Its Mojo" that we may ought to pay attention to:
Sometimes, though, the problems from bureaucracy came down to a simple reality: The young hotshots from the 1980s, techies who had joined the company in their 20s and 30s, had become middle-aged managers in their 40s and 50s. And, some younger engineers said, a good number of the bosses just didn’t understand the burgeoning class of computer users who had been children—or hadn’t even been born—when Microsoft opened its doors. When younger employees tried to point out emerging trends among their friends, supervisors sometimes just waved them away.
Here in GNOME, I feel our division isn't between old and young. I feel that it's between established desktop Free Software users, and people who have grown up in an entirely different computing world but want to contribute to (and use) Free Software. And when they try to do so, there's an enormous culture shock, because the desktop Free Software world right now is set up to meet the needs of a very specific audience -- and, in many cases, only that specific audience.

Earlier on Identi.ca, I lamented the lack of a decent Free Software notetaking app that would sync between all my devices. In response, one of my friends suggested using emacs and orgmode, and waxed enthusiastic about how "Since it's plaintext, [it's] easy to sync between laptops via git!" In short order, he revealed a number of assumptions that I feel are common in the Free Software community:
  • "Syncing" is something that happens between laptops, not between desktop and tablet computers and smartphones.
  • Recommending the use of emacs and git to solve a particular problem is a reasonable solution.
  • Recommending the use of emacs and git to solve a problem that most people would use a dedicated, well-maintained, thoughtfully-designed application for is also a reasonable solution.
I feel that the vast majority of potential contributors are discouraged from participating by assumptions like these. Which insist on a high degree of technical knowledge and a high tolerance for frustration in order to contribute to or enjoy Free Software ... on the desktop. Which is one reason why the hackers and idealists inside much larger and healthier Free Software communities, like Mozilla's and WordPress', largely use Macs.

Likewise, romu was looking for a modern IDE and developer tutorials -- prerequisites for almost any new developer. But there simply aren't any. There haven't been for years. Anjuta hasn't kept up with the times, because "everyone" using console mode text editors. And the tutorials haven't kept up, because "everyone" knows how to program already and is comfortable looking at source for "documentation". Is the impression I get.

Is there hope for us?

The reason I like GNOME 3 so much is because it's a radical, modern redesign, that takes into account the best practices that have been learned and demonstrated by Other Popular Computing Platforms (without aping them shamelessly). It's clean. It's simple. It's beautiful. It's something to get excited about.

But I feel that as long as we're making the desktop more accessible -- to the impaired, to people from different cultures, and to people with low tolerance for frustration -- we should also make the community itself more accessible to such people. If anything, I feel that this should be a higher priority for us, especially after we've lost so many who were displeased with GNOME 3's direction.

We should be asking ourselves things like
  • A novice programmer learns to write GNOME apps. What does she do? Where does she go? When does she give up in frustration?
  • A GNOME user notices an error in the documentation, or a bug in an application she uses. How does she correct it? How does she find out how to correct it? How far out of her way does she have to go to correct it once she finds out?
  • A GNOME enthusiast wants to ask a question, or share something she's learned with her friends. Where does the conversation happen? What medium does it use? Whose needs was that medium designed to meet, when?
Because as someone who's just getting started in the GNOME community, even after years of using it on my personal desktop, it takes a lot of frustration and dedication to learn how to use mailing lists, IRC, git, Bugzilla, and other such things. Everyone seems to assume I know something I don't, and everything from the plaintext interfaces to error messages like "Zarro boogs found" sends me the message that I don't belong here. Or that I only do if I'm willing to put up with frustrations and cultural assumptions that I wouldn't have to, if I wanted to channel my passions in a different direction, or even into a different (web-based) Free Software project.

I'm working to change this, because I believe in GNOME. I'm trying to improve the JavaScript docs for the next romu. What can you do? Who's being left out, and how can we help them?

I agree, actually!

Date: 2012-07-28 02:40 am (UTC)
From: [identity profile] http://identi.ca/cwebber/
Hey TarynFox,

I'm glad you made this post, even though I've gotten called out in it. :)

I actually agree with you; when I made the emacs + orgmode + git suggestion, I made the suggestion both seriously and with the knowledge that it's kind of ridiculous (at one point I synced orgmode between my laptop, desktop, and phone via git and emacs, but on the other hand I know that's totally absurd, even if awesome and hilarious in a sense). Let me put that more clearly: I think the suggestion I made *is* awesome. But I also think if that was the only option available to everyone in free software, then we've failed for all the reasons you've laid out above. I'm a big believer that free software needs to expand beyond the traditional hacker base... and that includes beyond me! I believe free software is for everyone, and that lowering the barrier to entry is critical.

That said, I *do* think the tools I've laid out above are pretty awesome, and I love using them every day. Is there a middle ground? I think actually in some ways Gnome 3 is a *great* middle ground in its design: it provides a beautiful desktop right out of the box that's easy for people to pick up and has great, user friendly ideas built into it. But it's also scriptable and extensible if you *want* those things. Similarly, is it okay for me to have orgmode and emacs and git and love those things? Is using them... or recommending them... themselves an affront to diversity? In a sense of course not, having tools isn't a problem. But of course also deluging someone not familiar with enough of that set of tools with overly verbose technical information is a surefire way to turn that person away. Is it possible in other ways to have both beautiful tools that don't require oldschool hacking mindsets and also have beautiful tools that are well fitted for those of us who like those things?

I hope I didn't upset you with my suggestions... How to hit the right middle ground? I'm not totally sure, but I'm definitely thinking about it.

Thanks for the post!

I think you're right

Date: 2012-07-30 02:01 pm (UTC)
From: [identity profile] ole-laursen.blogspot.com
Oh, this reminds me of a conversation we had back when I was new to GNOME: https://mail.gnome.org/archives/gnome-list/2003-March/msg00080.html :) Most of the GNOME API was completely undocumented back then.

If you really want to see this change, and you have the energy to follow up on it, I think the most realistic way is if you yourself take the initiative and lead the way. If you're successful (and maybe you should see if you can measure your success), you can perhaps convince more people to help.

Otherwise I think you're right - most of the core team just want to hack on whatever they're hacking on, it's not that they are not friendly, they are just not that interested in helping newbies out, at least not unless someone pokes them. There has to be one person or team in charge of making sure the questions in your bullet points are always answered.

About us

~ Fox | Gem | Rei ~

We tell stories, paint minis, collect identity words, and share them all with our readers. If something we write helps you, let us know.

~ She / her ~

Tags

Style Credit

Page generated Oct. 17th, 2017 07:44 am
Powered by Dreamwidth Studios