Javascript debugging

CLOSED
Bids
2
Avg Bid (USD)
$94
Project Budget (USD)
$10 - $30

Project Description:
Debug and modify the attached new.html which is based on the attached (working) original.html. It is the client-side HTML5/Javascript code to get a photo from a mobile phone, shrink it, rotate it if necessary and upload it to a server. Testing on iPhone is required. (I have an Android phone that I can test it on.) It can naturally be tested on a PC during development. (Not IE!) The code is about 95% complete.

Original.html correctly reads a photo and rotates it if necessary based on the exif data, but does not include the server upload code. That is in new.html.

The project involves the following:

1. Debug new.html so it works like original.html. (basically I want it procedural instead of OOP and without jquery) DO NOT use jquery, AJAX or any other external bloatware.

2. Rotate photo if required based on EXIF Orientation field (code already done)

3. Call the included drawImageIOSFix function as necessary to correct the iOS6 vertical squish bug (see comments and code in new.html plus the links below.)

4. Extract latitude and longitude from EXIF and convert to decimal. (PHP code to convert to decimal is included. Has to be converted to javascript. See also link below.)

5. Submit form to server containing user entered comments plus the new (base64) file and latitude and longitude.

5.Once that is working, rewrite and combine [url removed, login to view] and [url removed, login to view] to delete everything except for the bare basic code to get Orientation, GPSLatitude, GPSLongitude, GPSLatittudeRef and GPSLongitudeRef from the exif. I would prefer the code rewritten as procedural instead of objected-oriented, without callbacks. I want it to be one script with no more than 100 lines of code if possible, to reduce download time to mobile.

Two sample photos are attached which can be used for testing. One is in portrait mode (Exif orientation = 6) which can be used for testing the rotating of the photo (preview should show it correctly in portrait mode). The second contains latitude/longitude in the exif which the code has to extract.

The following links may be useful as references. (The code currently uses the first two):
[url removed, login to view]
[url removed, login to view]
https://github.com/jseidelin/exif-js

http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios
http://stackoverflow.com/questions/17583984/possible-to-resize-an-image-client-side-on-an-html-form-before-upload
http://stackoverflow.com/questions/12554947/mobile-safari-renders-img-src-dataimage-jpegbase64-scaled-on-canvas/12615436#12615436
https://github.com/stomita/ios-imagefile-megapixel
http://stackoverflow.com/questions/10333971/html5-pre-resize-images-before-uploading
http://stackoverflow.com/questions/20040513/shrink-file-server-side-and-upload-via-form
http://www.codeforest.net/html5-image-upload-resize-and-crop
http://www.html5canvastutorials.com/tutorials/html5-canvas-image-size/
http://stackoverflow.com/questions/14270574/extract-exif-orientation-data-from-image
http://blog.chariotsolutions.com/2013/03/take-and-manipulate-photo-with-web-page.html
http://stackoverflow.com/questions/1140189/converting-latitude-and-longitude-to-decimal-values
http://isabelcastillo.com/convert-latitude-longitude-decimal-degrees
http://www.rfcafe.com/references/calculators/[url removed, login to view]

Skills required:
Javascript, Software Architecture
Additional Files: new.html original.html portrait.jpg latlong.jpg
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


$ 133
in 1 days
$ 55
in 3 days