Re: About writing new apps from scratch



hi Sébastien;

On 16 February 2014 17:23, Sébastien Wilmet <swilmet gnome org> wrote:
Hi,

I think it is a waste of effort to start writing new apps from scratch,
instead of improving the existing applications.

I'm sorry, but you're starting off from a fallacy: volunteer work is
not fungible, so if somebody wants to work on another application you
can just tell them to "work on improving the existing ones instead".

if you could direct volunteers to work only on established applications, then:

  • we'd all be using a single set of apps
  • we'd never had any new apps to begin with

after all, why work on Rhythmbox when you could have been working to
improve x11amp? or why are people writing Shotwell when everybody
could have just picked up F-Spot? why does the average Linux
distribution ships with 30 text editors, 10 IRC clients, 12 email
clients, or even 10 different window managers?

people work on the projects they want to work on, regardless of what
other people think. GNOME, as a project, cannot (and would not, to
begin with) direct people to work on specific issues, infrastructure,
or applications.

To give two examples:
- GNOME Music, instead of working on Rhythmbox or Banshee (or …);
- GNOME Photos, instead of working on eog or Shotwell (or …).

(a side note: EoG is an image viewer; Photos and Shotwell are photo
managers. the use cases for both are pretty different, so I would not
conflate them)

The existing applications have more features and a more mature code
base. If the code is a bit old and have too many hacks, a better idea in
my opinion is to improve the existing code, instead of starting a new
project from scratch. And if old code are never cleaned up, the same
problem will happen with the new applications in 10 years.

to be fair, I fully expect people to keep writing new and different
apps in the next 10 years, just as I expect that the design team will
keep submitting new designs for existing use cases.

Creating a new design is nice, but if it means to rewrite applications
from scratch, there is a problem somewhere.

you're assuming that the new designs happen in a vacuum, and that new
applications are developed from scratch in opposition to existing
ones; again, it's a fallacy.

as far as I know (and I've been hanging around the design team long
enough to have seen this happen multiple times), authors of existing
applications are approached first to talk, discuss, and review the
designs. that's why Totem has been ported to the new "Videos" designs,
and Bastien didn't just rewrite a video player from scratch. the same
applies to the gedit redesign, for instance.

in some cases, maintainers don't want to change the UI of their
projects; it's perfectly fine: they are in charge of their projects,
and they do what they think it's best of their users. some designs
don't even get picked up: we're still missing an implementation of the
Transfers app, or the Usage app; in other cases, somebody picks up the
designs, decide to implement them, and iterate over them with the
design team — that's the case for Music and Photos, but also for the
Calendar and IRC client Polari.

another reason why more applications is a good thing is that it allows
the whole platform to improve; if you have only a handful (or, worse,
one) application using a specific part of the platform it's easy to
modify the platform to fit the needs of the application; if you have
more than one application you need to balance the needs, use cases,
and decisions of all the users; this usually results in a better API,
fewer bugs and side effects, and a better experience for application
developers.

I hope this answers your question.

ciao,
 Emmanuele.

-- 
W: http://www.emmanuelebassi.name
B: http://blogs.gnome.org/ebassi/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]