Show HN: I make my family postcards every year. Here's this year's.
postcards.lekevicius.com
postcards.lekevicius.com
Kaleidoscopic IFS fractals are also based on this concept. (8 axis symmetry + some simple transformations), and look at the result: http://www.youtube.com/watch?v=renxaQZfsdk
It's after clicking on "Gallery" that I understood you could draw on the postcard, maybe a hint on the landing page would be nice
edit: oh, I get it. On my FF, the "family postcard draw it" thingie flashes too fast.
edit: also, line breaks are not saved.
It's somewhat surprising to continuously encounter such (seemingly) simple projects/proof-of-concepts like this that fulfill a need many of us didn't realize we had. If you haven't yet, consider writing about how you came to the idea for this particularly iteration and the process of creating it. I know I'd enjoy reading something like that.
I do this every year. Last year, I experimented with Meteor.js and made a Christmas forest: http://kaledos.lekevicius.lt (sorry, in Lithuanian). Made that in about 10 hours - idea, design, development. It's a fun thing.
This year I did the same. You couldn't have heard about it days sooner, because it did not exist yesterday, just yesterday I wrote "rails new christmas_2013". And I have no intention of maintaining it: next year it will be another thing made in a day (:
http://en.wikipedia.org/wiki/Spirograph
commercial http://www.youtube.com/watch?v=VoSECiRl-pI&t=8m49s
Hacks for desktop only is understandable but increasingly a niche area to target first.
Well, it's a hack - for pretty much one day, mostly for our family friends. If something doesn't work, really, I would have no problem saying "Oh, sorry, just use Chrome on desktop. Merry Christmas!"
Really, tablets don't matter much here (:
Basically, it's just a Rails app. No front-end framework, just jQuery. Canvas is converted to base64, sent to server, server uploads to S3, user gets URL. Very simply, one day hack.
Using Google Chrome Inspector, you can find out the line that is triggered in the Javascript code when the "SAVE" button is pressed (inspect the "SAVE" button element, and it will tell you what part of the code is executed when it's clicked). By looking at the code, you see that what happens is: the previous HTML5 Canvas where you draw the snowflake is rendered into JPEG and encoded in base64 (.toDataURL("image/jpeg")), then the data is appended to the <form> element inside the "value" attribute of an <input> tag. Then, the form is submitted via POST.
So if you set a DOM Breakpoint (using Chrome's Inspector) to watch for subtree modifications of the <form>, you will catch it when the <input> tag is appended. Then, you go take your own custom .jpeg, encode it into base64 (for example here: http://base64.wutils.com/encoding-online/image-to-base64/), and then paste your custom image data inside the the "value" attribute. Then you resume the script, and the server will receive your custom image data, instead of the original one.