Write some Software
$250-750 USD
Paid on delivery
Create a fantastic look and feel embeddable javascript sketchpad.
The sketchpad should create the feeling of lifelike drawing and sketching with a UI that is currently unavailable in the javascript world.
The sketchpad SHOULD use html5 canvas as a display. It MUST work in all modern browsers including touch devices.
The vision:
It must be easily embeddable $.collsketchpad('someCanvasId') for example.
It must be clean code, for later improvements. Make Uncle Bob proud!
It's dependencies must be managed with grunt or gulp.
The CSS part SHOULD be SASS.
It must be thoroughly unit tested.
It should be created in a communicative agile manner.
It must be vector editable, avoiding the common pitfalls of an unusable UI.
It must be easily zoomable, rotatable and pannalbe (with touch gestures as well) eg.: [url removed, login to view]
It should have multiple drawing tools (ball pen, fountain pen, rotring, felt pen, paintbrush)
It SHOULD provide tools for mathematical drawing (calipers, protractor)
It MUST provide an easily parsable output (eg. json) and MUST be easily fed with the same kind of data.
This info will be sent through a websocket to another (or many other) client(s), so it MUST provide incremental bulidup of an object. By that I mean if we have a start state, and a new line is drawn, only the new line data should be sent through not the full state.
As an example I would recommend sketches app for ipad or iphone. ( [url removed, login to view] )
The UI plans WILL be provided in the requested format (Fireworks PNG preferred)
Upon drawing with some tools the curves MUST be connected with variable with bezier curves. (Quadratic or cubic interpolation, not simple straight line connect)
Upon drawing with some tools it SHOULD use store brushes, or particles.
The colors of paintburshes and felt pens should mix with eachother like they would on paper)
Upon erasing it COULD use particle animation with web-gl like iwatch dissolve effect. ( [url removed, login to view] )
It COULD provide layers.
The websocket communication and the socket server is not part of this project.
I would require an agile apporach, an continous communication, and incrementally releasable and testable product.
Project ID: #6944007