PROJECT DESCRIPTION
We need a cross-platform desktop application that is able to submit articles to article
directories. There are already a number of such programs in existence, eg Automatic Article
Submitter, MassSubmitAuto. In many ways we want to clone Automatic Article Submitter (we will
give you a demo version), but there are several important differences.
Like other programs, we need to have a friendly user interface that allows people to upload an
article, sign up for membership to the various directories, and submit their articles to those
directories. Users will need to be able to manage their articles - moving them around between
different folders (projects), and choosing which articles to submit to which directories at
what time. They will also need pen name profile management; media management (audio, video,
graphics) and be able to attach them to the articles.
We would also like the process to be as automated as possible, including email confirmations
of accounts, etc. We realize that there will be some sites that use captcha; some that
require some manual input; and others that can be handled automatically. So the program
should be able to group those accordingly.
Article submissions must come from their desktop (ie their local IP), and there needs to be a
mechanism for handling any captcha's that might be required prior to submission. The most
logical method would be to submit to those sites first, and present the user with the captcha
so that he can answer it. Once all the captchas are done, the application can then continue
the other submissions in the background on 'set and forget'.
Most of the above functionality is already provided by Automatic Article Submitter, and is
best understood by looking at that software.
However, there are some key differences that need to be in place for our version:
1. The desktop application will not store the user's articles locally. Instead it will act as
a front end interface with our central online database. User's articles will be stored on our
MySQL database and as flat files. The DB is not yet created, so you will need to structure it
as best suits the needs of this application. Note, since this application will end up storing
hundreds of thousands of articles, the text of the articles should be stored in flat text
files, while other meta data about the article can be stored in the db. You will also need to
build the API to communicate between the desktop submitter and the database.
2. In addition, as well as the ability to upload articles through the desktop app, users will
also be able to access articles that they have previously uploaded to a different db that we
own, by means of an API that has already been built.
3. The details of the article directories to which the application will be submitting will
also be stored on our central database - this is so that we can easily add and update the
information. Submission to these directories will, in most cases, be done by a POST submission
to several web pages in sequence - eg First login, then submit article, then select pen name,
then select category etc. Since each directory uses a different process for receiving
articles, you will need to devise a system to store the needed meta data for each site
(Actually, we can help you with this as we have a system that works pretty well, but may need
some tweaks.)
4. Since the destination directories may, on occassion, change their submission process, we
need a built-in system that will notify us if submissions fail to particular directories.
There needs to be a method so that we are not notified about failures due to temporary
connection problems etc, but only if a site consistently fails.
5. Following on from 4, and along with the need to be able to add new directories, we need a
wizard that makes the importation of a new directory (or the amendment of an existing one) a
simple and quick process. This can be done using either a web based system or a desktop one.
We have an existing PHP system that could be adapted for this purpose.
6. Most directories will require that the user set up an account before articles can be
submitted. Also they normally require the email address to be confirmed. We will need a
'sign-up' module that automates the process for the user: the user simply enters all the
needed info in one profile page, and the module then submits the appropriate information to
each directory to create a new account. In many cases a CAPTCHA will need to be completed. The
software should present the captcha to the user, and then continue with the signup process.
We also need a tool that will allow us, as admin, to signup to directories on a user's behalf,
using their profile details.
7. The software also needs to ability to log into a user's POP3 or IMAP email account, find
the confirmation emails, and 'click' on the confirmation link ( and not the unsubscrible
link!). To do this, the directory DB will need to have stored the format (regex perhaps) of
the confirmation links for each directory so that the appropriate link can be found.
8. Use of the software will require an active membership with us, so the software needs to
check their membership status with us (along with the existance of any software upgrades) on
loading up. On failure it should direct them to our online signup page.
9. The number of directories (ranging from 5 to 200+) to which the user can submit will be
determined by their subscription level privileges - free, bronze, silver, gold etc.
YOUR SKILL SET
Excellent English is essential. Ability to communicate through Skype would also be important.
We would prefer a team of programmers with a lead person/ project manager that has good
English skills and will be able to discuss the project requirements and progress in detail and
at regular intervals.
We will need programmers with excellent skills in Java or Adobe AIR (the language for the
application) and graphic design (to provide a pleasing and attractive Web 2.0 user interface),
and experience in using Java or Adobe AIR to interface with websites (to communicate with our
API and to submit to those hundreds of sites).
FURTHER DETAILS
We have a powerpoint presentation which explains in detail the functionality that we require
of the front end user interface. We also have some thoughts about how to structure the
database in which the mechanism for submitting to the various sites is stored. However, this
is open to further discussion. What we do need, however, is a robust system that makes it easy
to add additional sites without have to do any re-programming of the interface.
BEFORE YOU BID:
Please ask questions through the PMB to make sure you fully understand the project. Any bids
made before discussion will just be removed.
Provide as much detail as you can on previous projects; how long you estimate this project to
take based on the rough outline we have given (this can be discussed further through PMB.
Please don't put up an unrealistic time frame that cannot be met); a rough estimate of the
cost of the project; and most importantly, make your application stand out by giving us some
creative ideas as to how you can make this software function the most efficiently.
This is 'work for hire': On completion of the project, once fully paid by us, all copyrights
will pass to us. If you use anyone else's code or graphics, please ensure that you/we have the
rights to do so. On completion you will need to give us both the completed compiled
application(s) AND the source code and graphics.
We will place funds in escrow. We will not release funds until the project has been completed.
Please be careful on the time frame you quote to us: If the project is completed on or before
schedule, we will normally pay a significant bonus. On the other hand, if the project takes
more than 50% longer than we agree at the outset, we reserve the right to cancel the project,
with no money owing, or to renegotiate.
Note that 'completion' means the project has been fully tested by you, and is working. Do not
give us something saying 'here, this should work' only to waste our time testing something
that does not work.
We look forward to working with you.