Closed

Windows desktop application

This project was awarded to Deimand for $3000 USD.

Get free quotes for a project like this
Employer working
Awarded to:
Skills Required
Project Budget
$1500 - $5000 USD
Total Bids
1
Project Description

Scope:

This document will outline the feature set and technical requirements for DesktopDater, a downloadable software application for Windows.

DesktopDater is designed to make it easier for users to get the most out of online dating services by implementing a number of features that are only practical in a downloadable application.

The headline feature, and the one for which most users are expected to purchase the application, addresses a simple problem faced by users of online dating services: it is far preferable to contact other members when they are online rather than when they are offline. However, the only way users are typically able to monitor who is online is by repeatedly refreshing a search results page, which is highly inconvenient.

DesktopDater will provide a better way: a light software client that monitors your favourite dating websites and displays periodic photo alerts whenever matches come online.

In addition to this, DesktopDater will offer a number of other features to help users manage and improve their online dating experience.

Please note: All UI graphics in this document are PLACEHOLDER ART. Final mockups and assets will be produced by a professional designer.


DRM and Registration Management
The [url removed, login to view] website will offer free download of an unregistered trial version. Before registration/purchase, certain features will be limited or disabled.

Armadillo SoftwarePassport ([url removed, login to view]) will be used for client-side implementation of DRM and registration functionality.

Digital River RegNow ([url removed, login to view]) will provide billing, key delivery and affiliate tracking functionality.

When this software and these services are combined, it is possible to implement in-application purchasing, whereby the user enters credit card information inside the application, and the key is directly injected into the application. It is required that we implement this functionality.

There are three possible states that the application can hold, as follows:

Trial Period:
The application is still within the time-limited free trial period, but has not been purchased/registered.

Trial Expired:
The application is no longer within the free trial period, and has not been purchased/registered.

Registered:
The application has been purchased and is fully unlocked.

Unless stated otherwise, when a feature is discussed, assume that it will be present in ALL versions of the application. If a feature is to be limited when the application is in Trial Period or Trial Expired state, it will be specifically mentioned.





Features and Interface
Main UI

The Main UI is presented to the user on startup. It acts as the primary control panel for the application from which all major functions are accessible.

If the user hovers the cursor over any of the buttons, a tooltip containing an explanation of that button should be displayed.















CONFIGURE SEARCH:
This button brings up the Search UI.

TOGGLE MATCH VIEWER:
This button shows or hides the Match Viewer.

The Match Viewer should slide smoothly up on to the screen/down off the screen when being shown or hidden.

ONLINE STATUS LIGHT:
The online status icon should be green when the service is logged in, and red when the service is logged out.

SIGN IN/SIGN OUT BUTTON:
The Sign In button, when pressed, will sign in to the selected service and carry out the currently configured search. It will then begin populating the Match Viewer and turn on the new match notification process.

If the selected service does not have login/password authentication details stored, pressing this button will pop up the Authentication Dialog:




DELETE SERVICE:
The Delete Service button will prompt the user for confirmation when clicked. If confirmation is received, details for the selected service will be deleted.

OPTIONS:
This button brings up the Options UI when pressed.

HELP:
This button brings up the Help interface when pressed.

UNLOCK FULL VERSION:
This button only appears in unregistered versions of the application. When pressed, it begins the payment/unlock process.

HTML TEXT LINK:
This is a text link that can be updated independently of major software updates. The application should check with the DesktopDater server once a day when connected for changes to the text and the destination URL.

You should include a basic server-side web form that allows for simple updates to the text and destination URL.

CHECK FOR UPDATES:
When pressed, this button will initiate a check for new versions of the application and updates to the parsing engine. The update process should be as simple, seamless and easy as possible.


Match Viewer
The Match Viewer is a separate window that will appear by default in the bottom right hand corner of the screen above the system tray.

The user should be able to drag the window to another part of the screen if desired, and the application should remember its position and restore it to that position in future uses.

The Match Viewer displays all the matches that are currently online, and allows the user to interact with them in a variety of ways.



NICKNAME:
When in Free Trial or Registered state, this area displays the nickname (or headline in the case of Yahoo Personals) of the current match.

When in Trial Expired state, the nickname text is hidden and replaced with ‘Nickname displayed in full version’

SOURCE:
This area displays the name of the dating service the current match has come from.

AGE AND LOCATION DATA:
This area displays the age, gender and location information of the current match.

EMAIL MATCH:
When in Registered state, pressing this button opens the URL of the dating site page used to send email to the current match.

When in Trial Period or Trial Expired state, pressing this button will prompt the application’s register/purchase process.

IM MATCH:
This icon should only be displayed for matches that come from sites with support for IM. For sites that do not support IM (such as [url removed, login to view]), this icon should not be displayed in the Match Viewer.

When in Registered state, pressing this button opens the URL of the dating site page used to send IM to the current match.

When in Trial Period or Trial Expired state, pressing this button will prompt the application’s register/purchase process.

VIEW MATCH:
When in Registered or Trial Period state, pressing this button opens the URL of the dating site page used to view the profile of the current match.

When in Trial Expired state, pressing this button will prompt the application’s register/purchase process.

THUMBNAIL IMAGE CANVAS:
The thumbnail image of the match is displayed here. The image canvas dimensions should be 100x100. Images should be centered on the canvas and resized to fit, ensuring that image aspect ratio is preserved.

To the left and right of the main thumbnail, the edges of the previous and next image to be displayed should be visible.

Matches should be displayed in from left to right in the order in which they were added to the match viewer by the parsing engine – the first matches to be added to the parsing engine should appear at the far left of the strip, and the newest matches to the far right.

When the Match Viewer is closed, the application should remember which match was being viewed, and restore itself in the same position. If the match that was being viewed is no longer online, the Match Viewer should select the next newest match in line.


SCROLL FORWARD/SCROLL BACK:
These buttons are used to navigate forward and back between the matches in the Match Viewer.

Note that when a button is pressed, the Match Viewer should scroll smoothly between matches, not just flick instantly from one to the next.

DISCARD MATCH:
Pressing this button tags the match to be discarded, which has the following effects:

1) The thumbnail image is greyed over to give a visual indication that the user is not interested in that match.

2) The Match Viewer automatically scrolls to the next match.

3) This match will no longer trigger the new match online notification

4) This match will no longer appear in the Match Viewer starting from the next time the Match Viewer is opened

The user can undo the Discard Match tag by clicking the Discard button again.

New Match Notification
For a match to be considered ‘new’, it must satisfy the following criteria:

1) The match must not have been viewed inside the Match Viewer during the last 24 hours
2) The match must not have been discarded

When the program detects a new match, it will display the New Match notification above the system tray:




When the New Match notification is clicked, it will trigger the display of the Match Viewer.

Users will be able to configure the appearance and text contents of the New Match notification in the Options UI.

System Tray Icon Behaviour
The DesktopDater System Tray icon should work as follows:

On single left click/right click:
List the following options:

Open DesktopDater
Show Match Viewer
Quit

On double left click:
Show Match Viewer

Application Window Behaviour
Pressing the Minimize button should minimize the application and leave it in the Task Bar.

Pressing the Close button should minimize the application to the System Tray.

Authentication and Session Management
The application will store multiple login/passwords on the user’s behalf, allowing them to monitor and manage matches from several dating services simultaneously.

The application will need to maintain an active login session with all dating services it has been configured for.

This information must be passed seamlessly to the web browser when the user performs an action that requires direct interaction between the web browser and the dating site, such as viewing a user’s profile. The user should not have to manually log in and authenticate in the browser.

It may be necessary to send some sort of ‘keep alive’ signal to the services via HTTP in order to maintain the session: a key part of development will be carrying out testing with each service in order to determine what is required.

Parsing Engine
The Parsing Engine is a set of software processes that will handle communication with the dating services, retrieval of information from the services, and management of that information locally within the application.

The engine should be coded with enough flexibility such that adding support for additional services or modifying the configuration of existing services can be done relatively easily. It would be preferable for the user to be able to download updates to the parsing engine without re-downloading and re-installing the program - the experience should be as automatic and seamless for the user as a virus checker downloading a new virus definitions update.

Querying
The Parsing Engine will authenticate with dating services when the user signs in. Once it has authenticated, it will perform a query of the service using the search parameters that the user has specified within the Search/Authentication UI.

The format of these queries will vary from service to service – details can be found in the Compatibility section of this document, but testing will obviously need to be carried out once development begins.

All queries should look to the dating website as if they are coming from a normal web browser.

Parsing
Once a query has been performed, the Parsing Engine should download all results pages and parse them in order to extract relevant information to be displayed within the Match Viewer and the MiniViewer.

Currently, it is expected that the Parsing Engine will need the following information on each match:

a. Nickname
b. Photo thumbnail
c. Age
d. Location
e. Online/offline status

State Monitoring
Data returned from the search query will obviously change on a second-by-second basis. The Parsing Engine will therefore need to repeat the search query periodically and analyze the results for new matches, and for changes in the online/offline status of existing matches.

The search query should be repeated at randomized intervals of between 60-180 seconds in order to minimize predictability (and possible detection) for the dating site. Take great care wherever possible to minimize load placed on the dating site servers.



Search UI

The Search UI will consist of a number of free text/numerical entry fields, check boxes and drop downs that will allow the user to configure their search.

These are fully described in the Search Field Master Excel sheet that has been included with this brief.

The application will make use of a single, unified search interface which will be translated into multiple queries across all dating services. The relation between the DesktopDater Search UI and the dating service search interfaces is explained in the Search Field Master.

The Search UI will contain multiple pages that will include all advanced search options. The user will navigate to between them using the arrows.





Options UI
To be confirmed.


Deliverables:

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online