Easy to use: It's vital that this tool be
very user friendly and simple to operate and navigate. It must be easy for people who are non technical
to use .
A graphical "drag and drop" interface:
Uploading and downloading content should be easy to do with just drag
and drop.
A graphical upload and download view:
Users should be able to see the upload/download status of the items are being
moved.
Easy to install: The program should be
easy for non technical users to install.
Written in a popular programming language:
Ideally it will be written in one or more languages that are fairly well
known. Because this is an open source project, it's best if we pick a
language that many programmers can code in.
Multiple platforms: This should run on the
basic 3 platforms. Windows, Mac, and Unix/Linux.
Multiple types of data and content: We
want this to work for a vast number of different types of content and
data.
Synchronization: The tool needs to be able
to synchronize content and data across multiple sites and the local
machine.
Development approach
Start simple: Some parts of this program/project
will be complicated. At first we want to keep it as simple as possible
and leverage existing code as much as possible. Initially it's better to get this
working in a simple way rather than taking a long time in order to get out a more
full featured version.
Start with sites that have an API
Start with the sites that are the most
popular
Don't do synchronization at first
We can leverage other open source projects: There are other Open Source projects which might be able to help jumpstart this project.
If we can build off of the work of other open source projects, that's good.
Security matters: We need to make
sure that the code is never changed in a way such that somebody can snag another
users passwords. We need to keep a careful eye on the part
of the code that deals with passwords to ensure that this information
is only used in the intended way. In many ways this is easier to do with an open
source project than a closed source project, since there are more people who can
help find and fix possible problems.