We are looking for one or two senior programmers who can develop an advanced mobile application on Windows Mobile 5.0 smartphones and Symbian S60 devices with built-in camera to synchronize/upload pictures to our server over our proprietary HTTP-based protocol.
Here are the high-level requirements:
1) A program that can be downloaded over the air (OTA) and installed on Windows Mobile 5.0 and Symbian S60 devices respectively.
2) The program keeps track of user-selected picture directories on the phone, so that after a user takes new pictures using the built-in camera, the program automaticlly upload the new pictures to our server (via HTTP and our protocol over the cellular data network, e.g. GPRS/EDGE/UMTS/[url removed, login to view]).
3) The user can add multiple directories from both the phone's built-in memory and the SD memory card with the program's UI, and the program can sync pictures from these directories to the server.
4) The program can identify newly-added pictures in each user-selected directory since the last sync, so that it only upload new pictures to the server. The program can also identify which pictures are deleted in each user-selected directory and send the changes to the server (so that it can delete those pictures).
5) The program needs to transcode the pictures to reduce its size to our specification before uploading them, in order to save round-trip cost and latency. The program generates two images for each picture: one for thumbnail and one for full-sized picture, to upload them to the server.
6) The program will allow the user to enter the web site credential, encrypt it, and send it over the air to the Web site for authentication. The program can save the encrypted user credentials on the device.
7) The program has a simple UI that is native to the respective device platform. It needs to support soft keys.
8) The program also allows users to preview pictures in selected directories, and select pictures to upload to the Web site.
9) The program keeps track of each upload event in a file and displays the events on the UI for the user to view. The user can clear the events. The program only keeps track of a fixed number of events, and when that number is reached, the program gets rid of older events to make room for new events in the log file.
1) Detailed specification with UI wireframes will be provided by us.
2) The server protocol detail will be provided by us. The server will be hosted and maintained by us.
3) The programming language should be in C/C++.
4) The acceptance tests will be conducted on 5 popular devices of each platform to ensure compatibility and comformance to the respective platform.
Successful applicants need to demonstrate the following:
1) Substantial device software development experience on Windows Mobile smartphone (preferrable 5.0 and above) and Symbian S60 platform.
2) Proven experience in developing successful consumer mobile device software.
3) Solid references (not just reviews on the site, but customers we can call to verify information).
4) Be willing to present detailed resume of past achievements.
5) Proven commitment to quality - we don't want someone who is working on multiple projects at the same time. If your business model is based on taking on many projects and juggling your developers on all of them at the same time in order to maximize your profits, please do not bother to apply.
6) Commitment to delivery in 4-5 weeks on both platforms. Penalty will be assessed for late delivery. Bonus will be awarded for on-time delivery.
7) Only serious bidders who are confident to deliver should apply.
8) Successful developers may be offered long-term contract.
9) Individual freelancers are welcome to apply. If you can only work on one platform (WM or S60), we can also consider your application.