Review my weekend HTML5 project: DropMocks (dropmocks.com)
I had an itch to scratch around making it easy to share sets of images with other designers and thought that I could use the new drag and drop file support to solve it. DropMocks was the result after a quick weekend of hacking.
It's built on an App Engine backend, and the uploader relies on the PushState and the File API from HTML5, so it only currently works in Chrome 6 and Firefox 4*; supporting other browsers would be the first post-hack step if I were to take it further.
An example gallery can be found here: http://www.dropmocks.com/mSER
114 comments
[ 803 ms ] story [ 3728 ms ] threadBut for a 'weekend' project, that's pretty impressive.
Nightly WebKit builds may work.
Excellent job.
----
Edit: upon further inspection, it seems Gmail indeed does use Flash [1], just for a different part of the upload process (progress bar?).
Drag and drop is only supported in Chrome and Firefox [2], so I suppose this is HTML5.
[1] https://mail.google.com/mail/uploader/uploaderapi2.swf
[2] http://gmailblog.blogspot.com/2010/04/drag-and-drop-attachme...
In particular, you know what would make this rock*10^6? facebook/dropbox integration.
I just posted the source: http://github.com/glenmurphy/dropmocks
Also, to my phone. When I take a picture on my phone, I want it to sync to a dropbox folder.
Also, with facebook. I want each of my picture galleries to sync with a mock (and, optionally, to a dropbox).
Let's say a mock is synced with both dropbox and facebook. Then adding a file to the folder locally on a machine, it should push to mock, then from mock to facebook.
Meta-question: if a Chrome extension uses significant server-side resources, should one ask the site host first? (legally, I think the answer is "no")
What did you write it in?
I had an itch to scratch around making it easy to share sets of images with other designers and thought that I could use the new drag and drop file support to solve it. DropMocks was the result after a quick weekend of hacking.
It's built on a simple Python App Engine backend, and the uploader relies on the PushState, File, and FileReader APIs (I realize that some of these aren't strictly HTML5), so uploads currently only work in Chrome 6+ and Firefox 3.6+; supporting other browsers would be the first post-hack step if I were to take it further.
An example gallery can be found here, it should be viewable in all modern browsers: http://www.dropmocks.com/mSER
Seriously, what a great project. If this is just a weekend project and a start for HTML5, I can't wait to see (and build) what's next.
http://www.dropmocks.com/mtfA
Cool domain name; wish I'd thought of something that short.
Your shadows look very odd with the very horizontal screenshots I dragged in to test it.
Love the project!
I hope there is a NaCl version :)
http://code.google.com/appengine/docs/python/blobstore/overv...
It takes a bit more work but you could store the original file since it has a 2GB limit. You can only fetch 1MB at a time but it should still be doable.
// HAMLET HAMLET HAMLET
function isValidBrowser() {
edit: oh, and you might want to make sure the images in the "back" are (proportionally?) smaller than the ones in front - if you shrink your window a lot they're actually bigger.
edit 2:
Gets stuck occasionally, though so far only while loading, and doesn't seem to respond to any interaction. The drop-down still works though, so it appears it's not just spinning.
Anyone else, and/or any info I can provide to get you info on why?
In any case, gorgeous work :)
I created a client-side image shrinker - demo at http://kimsal.com/shrinker - github at http://github.com/mgkimsal/jsclientshrinker Perhaps integrating this functionality for images that are 'too big' (whatever file size you decide) would be a nice enhancement? :)
Let me know how it works out for you :)
"Original file was: 137724 bytes Transmitted size was: 844176 bytes (due to base64) New file is: 633131 bytes"