Developer Experience

Paul W. Frields stickster at gmail.com
Tue Jun 15 14:14:32 UTC 2010


On Thu, Jun 10, 2010 at 03:23:19PM -0400, Luke Macken wrote:
> On Thu, 2010-05-06 at 10:13 -0400, Paul W. Frields wrote:
> > We actually have a few people in Fedora who are examples of this --
> > such as Luke Macken, who develops Moksha[1].  I think Luke currently
> > uses vim, but it might be worthwhile to find out what sorts of
> > features would appeal to a developer like him.
> 
> As far as development apps go, I could do my job at runlevel 3 with vim,
> git, and python.
> 
> I don't think that there will ever be a one-size-fits-all solution for
> developers.  Everyone has got their own custom environment that they are
> comfortable in, however, I think we can still put effort into
> solidifying the story of each of these language development
> environments.
> 
> Take a look at what a developer has to go through to setup their
> environment after a fresh install.  Ok, I want to install an IDE and a
> some library/framework.  Fire up PackageKit, click Programming, and you
> get an INSANE LIST OF PACKAGES.  I think we could really improve this
> situation by having a list of per-language/framework groups that can
> easily be installed (eg: Python development, Ruby on Rails development,
> etc).  We kind of have this with `yum grouplist`, but it's far from
> ideal.

IIRC the browser and PackageKit support a "click to install" feature.
It's possible to use a metapackage to do this in an ad-hoc way, or
possibly even kick off a "yum groupinstall" for that matter if we have
the groups defined.

> I also think most developers want their desktop to just get out of the
> way so they can focus on their application.  Productivity is key, and
> thus having a great suite of productivity apps is a win.  I personally
> use vim-vimoutliner, but we have a lot of other great tools like gtg,
> hamster-applet, gnote, that we should be encouraging developers to
> checkout.

Are you talking about documentation for this stuff?  Like a Fedora
Developers Guide?  This existed a loooooooong time ago, but went
unmaintained and died as soon as the distro had gone through a few
changes (back around FC4 I want to say).  Fedora changes so fast that
having that content on the wiki seems like it would hold up better
over time, or at least let lots of devs easily keep it up to date for
their areas (Python, Ruby, C/C++, etc.).

> Earlier, Dave mentioned "good integration with EC2", which sounds
> interesting.  Not only making it easy to develop/run/debug your
> application locally, but making it easy to seamlessly deploy it to a
> cloud.
> 
> Didn't we used to have a Developer Spin?  Even if that got revived, how
> can we provide a better development experience aside from just
> installing a bunch of packages?

What's standing between developers and getting into the actual work of
development?

* Is it knowing where and how to get tools, and which tools and
  methods are recommended for their use?  Or are we missing a preset
  environmental setup?

* If it's a knowledge problem, how can we give them a clear route to
  that knowledge from the moment they install?

  * Does the way we show that route differ from how we would show it
    to non-developers?  Or is this a common problem that can be solved
    for a handful of types of end users at once?  (Get started
    surfing, get started developing...)

* If it's not a knowledge problem, there still might be easier ways we
  can expose groups of common or recommended tools and libraries for
  something like one-click access, or make that the nutshell version
  that comes before any explanations ("I just want to get started").

-- 
Paul W. Frields                                http://paul.frields.org/
  gpg fingerprint: 3DA6 A0AC 6D58 FEC4 0233  5906 ACDB C937 BD11 3717
  http://redhat.com/   -  -  -  -   http://pfrields.fedorapeople.org/
          Where open source multiplies: http://opensource.com


More information about the desktop mailing list