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
