AMIGIFT Documentation

Browsing /Introduction

AMIGIFT is a p2p file sharing application for the Amiga® platform and AmigaOS® compatible systems (AmigaOS v3.x, AmigaOS v4.x (PPC), MorphOS, ...), Unlike many others applications, like Kazaa or Limewire, it connects to several peer-to-peer networks at a time and it contains no spyware and no adware. Its based on a derived work from the GNU's giFT project originally written for the Linux platform.

It uses various software components to consolidate the system, The central application, giftd, is a daemon which uses a plugin-based architecture capable of using multiple networks simultaneously through GiFTMui: the user interface.

AMIGIFT was originally created around the end of the year 2003, at that time it used the ixemul.library which a unix-kernel's based shared library for AmigaOS® that makes porting stuff from the unix world quickly and easy, with the disadvantage that programs works somewhat slower.   Todays, as of version 2.x, the whole core have been greatly improved being ported to be a 100% AmigaOS-native application, that includes conversion of Linux's .so library files to Amiga's .library and plugins on the same way, so that they are no longer linked with the daemon binary making updating each component lots easy and fast at less, creation/implementation of new p2p networks should be now just at your hand.   As you can think there are several other areas which had to be adapted/rewritten because the available C link library(s) for Amiga (e.g: libnix or clib2) wasn't enough for the job, we are talking for example about to implement - or better say, replace - the infamous fork() function. In the other hand, we have finally opted on using our own made C link library, but for debug purposes mainly though, there shouldn't be currently any reason why we wouldn't use clib2 which the best C link library we - amiga users, and developers - can use atm.

About the Graphical User Interface (aka frontend) available for AMIGIFT, It have been created from scratch using MUI (Magic User Interface).   To strict users out there we have to admit it was a big programming lesson.. since at time of creation (at 2003, as above mentioned) there was nearly (or full) zero knowledge about coding MUI, or almost of C/C++ in general, to be honest!   Todays, as of version 2.0 build #16x, the whole code (~50000 lines, ~2.0MB) have been revised and re-structured, being the 80% or so optimized and/or rewritten, e.g: the application is now created using MUI's Custom Classes (OOP) for everything rather than "static objects".   Sure the gui design has some objections from some of you as it's still being developed under an AGA system and therefore could look a bit weird under RTG systems, sorry about that, but at least what we have always in mind is functionality rather than design, (even when unfortunately looks like when a program hasn't a good esthetic design all the rest is forgotten, may just a personal feel...)

As a final introduction step, this documentation assumes you have (at least) a basic knowledge about peer-to-peer file sharing, if isn't your case there are several places on the net where you could find information about, e.g.: Google or the Wikipedia

go to index
Core Components

 $Id: index.php,v 2.0 2009/08/06 22:47:32 diegocr Exp $