Tuesday, November 27, 2007

Freedom

I find it highly ironic when people who claim to value freedom tell other people to shut up.

That is all.

Monday, November 19, 2007

Clueless Users

GNOME, and GNU/Linux, will forever be a niche desktop/OS until it is substantially better than Windows and OSX. Being free (either as in beer or freedom) is, evidently, not enough.

What is the road to such superiority? History has shown that technical superiority is no guarantee of market superiority. History has shown that marketing can help.

What is marketing? I have been thinking about that a lot lately. Here's a starter for 10:

Marketing can be encapsulated by a pair of principles. They are:

(1) Make good products / give good service / co-create good value; and
(2) Respect your customers (both current and potential)

That is all.

So, kudos to the Evolution team for including a way for customers to give feedback when they are having trouble (Help -> Report a problem). But simply punting that information to community forums or pointing to a FAQ is a waste of incredibly useful information. If someone asks a question with a known or "obvious" answer, you have a UI design problem. And usability is bug number 1 is most software these days.

But developer time is limited. Where should priorities lie? Adding more functionality or making simple things simple? Bling or ease of use? And why do I have to drop to a terminal and go "sudo chown me /dev/raw1394" in order to see video from my handycam? Every time?

Sigh.

In other news, thanks to all the Free software developers for making an OS and Desktop that is, in the main, at least as good as the major non-free alternatives. You guys and girls rock. Hard.

May all sentient beings achieve nirvana,

John.

Thursday, August 09, 2007

Counting GNOME and Linux Users

One of the impediments to the success of GNOME and Linux is the perception by hardware and software vendors and developers that there is no market for their products and services. Perhaps this is even the major impediment.

This is a classic chicken-and-egg situation. I experienced this with OS/2 in its heyday. Users don't want to use the OS because there are no apps, application developers don't want to write or port apps because there are no users. Same with hardware and drivers.

The problem with convincing vendors and developers that there is a market is that quantification of the market is characterised by very poor estimates. Simply, we cannot count sales and therefore there is no easy way to compare market share figures with Windows and Apple OSs.

There have been attempts to address this issue in the past. With respect to GNOME we have previously debated the issue, but it has now become dormant. Other projects, such as Linux Counter, have also tried, and failed.

The problem seems to devolve into two potential solutions:
  1. Some kind of "phone home" software, probably opt-in rather than on by default
  2. Encouraging people to visit a web site to "stand up and be counted"
The first has option is not so great in the sense that it would have to be approved by distros, who may not want it; and secondly they may want to keep (i.e. not share) the data.

The second option suffers from the problem of publicity. This is a classic e-commerce problem: it's no use having a great site/service if people don't know about it, and know how to find it.

Up until lately GNOME and the Linux community in general has not had the resources to mount an information campaign asking users to stand up and be counted. But now we do.

Google (and maybe others).

I would venture a guess that every internet-connected individual in the world would hit google.com at least a few times per year. If we could convince them to (based on some detection system that could identify potential GNU/Linux or other Free OSs) offer a text ad pointing people to a counter, it would be problem solved as far as I can see.

The remaining problems would be purely technical (e.g. how to prevent "vote-stuffing", bots and so on).

I have no experience at dealing with global mega-corporations. Would it be best to develop the solution first (i.e. register a domain and set up the counting software) or just float the idea to them as-is?

By the way, www.linuxusers.org seems to be available and www.linuxusers.net is parked.

If you have thoughts on this issue, please leave a comment, or perhaps edit the GNOME "Counting Users" page.

Thanks,

John.

Friday, July 20, 2007

Free Services

OK, I've been a huge fanboy of GNU/Linux and GNOME for about 10 years now, and during that time I have also been a hobbyist programmer. But I have finally realised that I will never have the mad skillz to contribute in any meaningful way to GNOME.

During that time I have also considered other ways to contribute, but I don't seem to have the time, motivation and energy to write quality documentation or provide friendly help to newbies on IRC. I work in a University and teach Marketing in general and Marketing Research in particular, so I joined the GNOME Marketing group, but I don't think I have been very helpful there either.

So now I am going to try something new.

Free Research Consulting and Data Analysis



I love research design and data analysis. I adore multivariate statistics. This stuff is recreational for me (as well as paying the bills). So, if you are planning to do some research and are unsure how to proceed, drop me a line. Or if you have some data and can't get your head around:
  • t tests
  • Chi-square tests
  • Multiple regression
  • Logistic regression
  • Factor analysis
  • Cluster analysis
  • Multidimensional scaling
  • Conjoint analysis
  • Choice modelling
  • Structural equation modelling
  • ...
Drop me a line. I'd love to contribute to GNOME in some meaningful way.

Love,

John.

http://live.gnome.org/JohnWilliams

Wednesday, June 27, 2007

Implicit Associations

Dear lazyweb,

I have a need for software that implements the Implicit Association Test, but I can't find any Free software that fits the bill. So I suppose I will have to write it myself. I am looking for recommendations for which language to use. My criteria are these:

  1. I am an amateur coder. I have coded in C, C++, Perl, PHP, Java, Javascript and (ugh!) Visual Basic. I am willing to learn a new language for this project (thinking about Python). However my skillz are somewhat basic, and I have never written a GUI application, which this would have to be.
  2. The software needs to be cross-platform (GNU/Linux and Windows XP at least)
  3. The functionality I need is as follows: It should display images and text to the user, and record the response latency, i.e. the time between when (a) the image/text is displayed and (b) the user hits a specific key in response. Timing to the millisecond level is needed.
Any and all suggestions will be gratefully received.

Thanks in advance,

John.

Saturday, April 21, 2007

Enhancing the User Experience

Federico is the business. Why? Because he is working on removing some of the annoying things about interacting with computers. This projects excites me more than almost any other that I can think of right now.

That is all.

Thursday, April 19, 2007

Branding

So, Elijah brings up an interesting point about GNOME (or Gnome) branding. I suppose I shouldn't really have opened that particular can of worms (the literal meaning of the acronym) in a post that was essentially about something different. But it is telling that most of the feedback I've had has been about this, rather than the whole "the Network is the Computer" idea.

It seems that anyone who has an opinion believes that we shouldn't take the meaning of GNOME literally. And many other people believe that because that is so, we shouldn't capitalize it, so it should be written Gnome.

I don't really care about these issues, except that from a branding perspective:

  • consistency really helps
  • if there is no compelling reason to call it Gnome, why do we call it Gnome?
This is not meant to be a troll. It has been said in the past that it's kind of a dumb name (because of the meaning of "gnome" in English), and that we could probably survive a name change without too much grief.

What would happen if we changed the name? All the people who currently use Gnome would either say "great" or bitch and moan. I doubt that current users and developers who would bitch and moan would then abandon Gnome because of a name change.

But all the people who do not use Gnome (or had never heard of it) would now have a (hopefully) more attractive and meaningful word/symbol to attach to this very abstract concept ("What is Gnome?").

What are your opinions on Gnome branding? When Gnome 3.0 is released, should we call it something else? What's wrong with Topaz? ;-)

Monday, April 16, 2007

The GNU Network Object Model Environment

I was initially attracted to GNOME because of the meaning of its acronym. Wouldn't it be great, I thought, if my "Desktop" was an interface to the network? This was around the time where I first heard the phrase "The Network is the Computer". I want to explain a bit more about that.

The Network is the Computer

I don't know what was originally meant by this slogan, but I take it to be about distributed computing, rather than the client-server model. Note that this concept is not just about thin clients or mounting users' home directories over NFS. That is multi-user Unix, or client-server computing, and has existed for as long as Unix has. The "Network is the Computer" is something else entirely.

Dude, Where's My Stuff?

Distributed computing in this sense means that some of your apps and data are on the computer you happen to be interacting with at the moment, some are on some server somewhere (possibly belonging to a company or other organisation that you have some affiliation to; and possibly behind significant security barriers) and some are on (possibly many) other servers. Think of it like this:
  • The Unix way: everything is a file
  • The GNOME way: the Unix way, plus every file is on the network (everything is a "Network Object")
I know that that's not the GNOME way now, but that's what I thought it was when I first heard about it, and that's what I still wish it could be in the future.

My Stuff Follows Me Around

Many people interact with more than one computer, and many people spend significant time using that computer as an interface to the Internet. I suppose the largest number of people who do this use a computer at work or school and another at home. This leads to duplication of effort, and worse, duplication of data (and revisions of data), meaning that data synchronisation becomes important.

The "network is the computer" is all about (insofar as is technically possible) device-independent access to my stuff. If you can run the GNOME on a device, it should (screen and input device limitations aside) look and act the same as on any other device. The same data and apps should (device limitations aside) be available. Google apps on mobile phones show some ways in which this can happen.

The GNOME Online Desktop

There are a number of GNOME or Freedesktop.org projects underway that go some way to addressing the issues faced by the type of user described above. They inclu
  • Conduit: file sychronisation and conversion
  • Telepathy: abstract interface for messaging (not just IM)
  • Mugshot: Keeping up to date with what your contacts are doing on the network. Also application usage statistics (and "Click to install" functionality of apps, across distributions)
  • Galago: presence of people on the network
  • Big Board (in its current version) and/or Gimmie (in future versions?): GNOME GUI to the above functionality
These are projects that seem related to what has been called the "GNOME Online Desktop", which seems to be not so much a focused effort but rather an emergent theme. Also, I am just learning about these projects, and may (actually, probably) have got the sound-bite descriptions of the projects wrong. If so, please correct me.

The Future

Where to from here? It seems to me that if the projects listed above reach maturity and are fully integrated with one another, then we be much closer to true "Network is the Computer" functionality and could probably call the resulting version of GNOME 3.0 (or ToPaZ?).

What are your thoughts? In particular, are any of the pieces of the GOD missing? In particular, if you are a developer involved with one of the projects discussed above (or one that I've missed) would you be interested in participating in an interview (or helping write an article) about all this stuff for The GNOME Journal?

Tuesday, March 27, 2007

Re-visioning GNOME

Recently Murray called for "more visions" for GNOME (in addition to "GNOME is People"). Well, I've got one.

GNOME is the GNU Network Object Model Environment. We have some really good network object features (e.g. the ability to browse remote directories using ssh:// URIs in Nautilus) but none that really set it apart from the other desktop environments. (As far as I know.)

What about making the GNOME environment more fully a network object? By this I mean that, no matter what physical machine you are running your GNOME session on, you have access to all your settings and configuration data?

Of course, this is trivial in the case of a managed/corporate environment where you mount your home directory over the network. But this relies on each GNOME-machine having access to an always-available server.

What about a user that has GNOME installed on several machines, but can never guarantee that any given machine will be powered up or network-visible at any given time? And what about bandwidth-constrained situations where exporting huge amounts of data over the network is impractical?

I suppose what I have in mind is something like this: All GNOME applications get their configuration and state data from a central source and cache it locally. The GNOME foundation supplies a network resource for people who do not have access to an always-on location for that data. Then when you get your shiny new hardware and install GNOME on it, all you need to do is type a URI for your configuration data and Evolution, Epiphany etc. are all set up automatically.

Obviously storage and synchronisation of actual application data (e.g. mail messages) is problematic, but we may have some application domain-specific solutions to this (e.g. IMAP for email).

I suppose I am kinda brainstorming here, but I'm so impressed by the available-anywhere-on-any-platform service that Google offers (mail, calendaring, word processing, spreadsheet, photo storage and management, general file storage, ...) that I can't help but think that we can do more in this regard.

Thoughts?

Wednesday, January 17, 2007

Zarro Boogs?

I was reading http://live.gnome.org/GnomeGoals just now, and a thought struck me. I know that for some people (particularly admins) the six-monthly release cycle of GNOME is too frequent. They have just managed to iron out the issues with the last release when the next one comes along. How about devoting every second "release" to bug fixing and documentation?

Imagine what six months of bug-report and patch reviewing (and, of course, bug-fixing) would do for the quality of GNOME. Think TeX.

Remember kids: users don't really want features. They just want their software to work. (If you really must implement a new feature, please consider doing so by a plugin framework rather than monolithic releases.)

Thoughts, anyone?