Ian Clarke skrev:
> On Tue, Nov 25, 2008 at 3:04 AM, Zero3 <zero3 at zerosplayground.dk> wrote:
>   
>> but assuming Linux is the future, and Linux apps ought to be packaged 
>> anyway, we only have Windows
>> and Mac left, leaving less reason
>>     
>
> An unwarranted assumption.
>   
True. But don't you agree that Linux is gaining market share at the 
moment, that these new users prefer the easy GUI-based distros like 
Ubuntu, and the de-facto standard of installing software on these 
distros are via packaging systems? Getting Freenet packaged (and 
prepared to be such properly) and available in the Debian/Ubuntu 
repository seems like a great step towards a more user-friendly 
installation on Freenet on Linux. A quick roundup on advantages/features 
for Freenet (just to sum up):

- One-click installation (any real settings should be handled by the 
first-time wizard)
- Integration directly into the OS via "Add/Remove programs" (in Ubuntu, 
for example) and the package manager (which also means free publicity 
and more users)
- Automatic, fail-safe downloading and updating with checksum and 
signature checking (no need for the manual update scripts and 
maintaining them)
- Less maintenance for the installation maintainer
- Depency handling (e.g. require a specific version of the Java runtime 
and other required libraries)
- ... probably more if you think about it.
> As open source fans we all want to see Linux do well on the desktop,
> but we can't allow our hopes for Linux to lead to sub-optimal decision
> making when it comes to maximizing Freenet's adoption.  Windows *is*
> the most important OS for Freenet adoption.  Whether Macs or Linux
> come next is up for debate, but at the very least, a simple and
> elegant installation is important on all three platforms.
> Really what we need are dedicated maintainers for the installers on
> Windows, Mac, and perhaps a few of the major Linux distros.  An
> installer that works on all three platforms has many advantages, but
> will never be as smooth or intuitive as platform-specific installers
> because people have differing expectations of each platform.  For
> example, Windows users tend to expect a Wizard-style installer.  Mac
> users expect a DMG containing an executable App that they can drag to
> their Applications folder.  Linux users expect to be able to use
> apt-get, yum, or something else depending on their specific distro.
>   
I completely agree about the importance of Windows users and the appeal 
and simplicity of the installation procedure in order to meet the user 
demands. The reasons for sticking with the current installation 
procedure are, if I remember correctly, easiness (if that's even a word) 
to maintain and cross-platform support. While this might work "okay" at 
the moment, I personally think splitting the installation process up to 
be platform-specific is the way to go - especially because of the huge 
differences in installation procedures between the platforms, as you 
mentioned.

> Next, we must identify anything that can be improved in Freenet that
> would make writing these installers easier.
>   
 Random example on top of my head is the downloading of the plugins 
*during* the actual installation process, from the Freenet website. 
Surely they ought to be packed into the installer next to the other 
files? (The question on whether to *use* the various plugins ought to be 
asked during the first-time wizard IMHO. Atm. it seems like all 
installed plugins are automatically loaded?)

To make proper packaging possible on Linux, and to properly support 
multi-user environments on Windows, Freenet also needs to separate the 
identity, machine settings and eventually the cache, from the program 
files. Quick example of where different things probably ought to be 
located in Windows and Linux (sorry, don't know anything about Macs):

- Windows:
Program files: "%ProgramFiles%\Freenet"
Machine-specific settings: Same location as program files, or in 
"%ALLUSERSPROFILE%\Application Data\Freenet", or if run as a service, in 
the service's appdata folder.
User-specific data: "%AppData%\Freenet"

- Linux:
Program files: "/usr/lib/freenet" (and executable in "/usr/bin"?)
Machine-specific settings: "/etc/freenet"
User-specific data: "~/.freenet"

At the moment, everything is throw into "%ProgramFiles%\Freenet" on 
Windows and "~/.Freenet" on Linux.

Another thing to solve is the disagreements on how Freenet should 
operate on Windows. Atm. Freenet creates its own user account and 
installs itself as a service, as opposed to running as a normal 
background application as the logged in user.

- Zero3

Reply via email to