jewelfox: A portrait of a female anthropomorphic fox, with a pink jewelled pendant and a cute overbite. (Default)
[personal profile] jewelfox
In my last entry, I asked a few questions about the New GNOME User experience:
  1. A novice programmer learns to write GNOME apps. What does she do? Where does she go? When does she give up in frustration?

  2. 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?

  3. 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?
Let's look at a hypothetical scenario for that first question, to get an idea of the kinds of challenges new application developers face.

Goal: Learn to write apps

This hypothetical person knows what an app is, that people called "developers" write them, and that she can use her distro's package manager to get them. She may have dabbled in HTML, but she doesn't know how to program beyond that. It's only now that she's decided she wants to learn, because she wants to write an app for her favourite platform. She's not interested in "contributing to GNOME" beyond that ... yet.

  1. Start on Oh, hey, there's an "Applications" option right there. Let's click on it.

  2. It's talking about "the great applications that you can use on GNOME", but doesn't say how to make them. Maybe "Get Involved" says something about it?

  3. That talked about "contributing code," which sounds sort of like writing an app. It linked me to the GNOME Love page, but this is talking about mailing lists and patches and IRC and stuff. It says there are a few tutorials, but they're all years out of date. Oh wait, it says something about a "GNOME Developer Center". Is that what I want?

  4. It has a carousel of shiny "10-minute tutorials," which looks reassuring. The text underneath says I need to download developer tools to get started. But the page for that stumped me. I got the Software Centre to install Anjuta, DevHelp, and Glade like it said, but which is my "favourite programming language"? How do I know? Who's going to tell me which one is best or where I can learn it at?

If our newb is especially perspicacious, she may just pick one at random and go from there. Or she may do like I tend to do and spend hours reading comparisons between each language. Either way, she's hit a speed bump, if not a brick wall, and it took her awhile to figure out how to get here.

If she does click on one of the 10-minute tutorials? This is what she'll see, no matter which one she picks. Even if the carousel worked, the tutorials aren't sorted by programming language. She might've settled on Python, only to find herself faced with C.

  1. Why doesn't the Applications page have a link to our Developer Centre? Outside of the one in the footer. Do we assume that nobody visiting wants to learn to write GNOME applications, or that everyone who wants to already knows how?

  2. Why do we assume that newbs already have a "favourite programming language?" Are we wishy-washy about recommending one to beginners, or do we assume that there are no beginners consulting our Developer Centre?

  3. Why do our tutorials suggest installing Anjuta and Glade when they simply don't work with the latest GNOME technologies? JavaScript can't be debugged in Anjuta, and Glade doesn't support ApplicationWindows, IIRC.

I feel we could do a lot better here, and I'm open to suggestions for what I can do. Personally, I feel that the biggest change we can make beyond modernizing our tutorials would be a direct link to our Developer Centre from the Applications page. Even if someone didn't go there wanting to learn to write apps, we can put the thought in her head that "Yes, you can do this if you want to," and she'll be more likely to take a closer look.

Feel free to discuss in the comments! If you don't have an OpenID to leave a comment with, I can be reached @jewelfox on

Date: 2012-07-28 11:34 am (UTC)
From: [identity profile]
What about making it like this when you click on tutorial?


What programming language do you want to program in?

Vala *Recommended


This way we can both recommend programming languages to people with no programming background and allow people who already have programming background select their favourite language. We could also add descriptions to each language, explain difference between dynamic and static languages, etc.

Date: 2012-07-28 11:50 am (UTC)
From: [identity profile]
Recommending one language for beginners is good, but I don't like hiding the fact that GNOME can be programmed in different languages from them.

Date: 2012-07-28 11:55 am (UTC)
From: [identity profile]
I also feel that the only "wrong" choices for beginner out of ones currently present are C and C++. What about making an "Advanced" section for them with this description: "These languages can be used to write highly optimized, high performance code, but are difficult to program in and need to be used with great care."

What is a Gnome application anyway?

Date: 2012-07-31 05:50 pm (UTC)
From: [personal profile] ladysegfault
Hi! Just wanted to give some feedback on my impressions.

As a "not-real-newb" (I have a computer science formation but I have been away from programming for a while and don't know much about Gnome internals, yet I still know emacs a bit, C, and stuff like that), I was really thrilled when I discovered Vala and I was like "I finally want to develop some stuff". And I started quite well (by my standard, that is I haven't given up after 2 weeks), despite the relative lack of documentation (and all autoconf/automake stuff), but I still really don't understand the difference between a Gtk+ application, a Gnome application, if a gnome app must be approved by Gnome and how the process looks like.

I also considered translating some Vala documentations pages to french, but I really still don't understand if I am supposed to contact the Vala team, the french translation team (which apparently seems to translate software, but maybe I am wrong), and while I might do it eventually my initial impression is indeed that it could be more clear...

Re: What is a Gnome application anyway?

Date: 2012-08-01 08:58 pm (UTC)
From: [personal profile] ladysegfault
Thanks for the answer!

I am aware that I still have a lot of doc to read on the Gnome website, and yes, I guess it's easier for me to discuss here than on "traditional" channels (IRC, mailing lists) which I find quite intidimating :) (I guess there is some part of just not being used to those media much, and some not-so-great experience in asking newb stuff in free software community, though I have the impression that Gnome community is relatively welcoming and some efforts are really made on that topic...).

Re: What is a Gnome application anyway?

Date: 2012-08-03 09:17 pm (UTC)
From: [personal profile] ladysegfault
Yes, I saw this existed, and Gnome Women, that's parly why I think Gnome can be more welcoming than some past experiences where there was no effort to include (or even no effort not to exclude) women (or lgbt people, or other "minorities"...)

Re: What is a Gnome application anyway?

Date: 2012-08-04 04:20 am (UTC)
From: [personal profile] ladysegfault
"How come minorities is in scare quotes, there?"

I wasn't sure it was the most appropriate term in english (I have the misleading tendency to use quotes when I am not sure if that's the precise english word I should use, sorry)

"It's not hard to get into the program at any rate, and if you wanted to work on documentation or JavaScript things I would possibly be mentoring next year. I don't know much about internationalization though."

I am currently a bit wary of the durability of my involvement into projects, but why not? :)

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 ~


Style Credit

Page generated Oct. 21st, 2017 03:02 am
Powered by Dreamwidth Studios