15 ms·
Great idea. Thought One: Your biggest barrier to adoption will be speed as you scale. If your API returns the modified image too slow, developers will quickly
by zupreme 14y ago
Great idea.
Thought One: Your biggest barrier to adoption will be speed as you scale. If your API returns the modified image too slow, developers will quickly abandon you. So you'll need to invest heavily in RAM, processing power, and code/db optimization.
Thought Two: I suggest, if you have the storage to support it, that you take a checksum of all original images and cache the original and modified versions of them. As you scale you will find lots of people submitting the same images (celebrity pics, scenery, etc) and you could save alot of time and bandwidth by doing a checksum client-side, AJAXing it back to your server and, if there is a match, just return your cached version (if the client requests the same filter) or processing the cached version. In either case you eliminate the need for the upload, and you speed up processing server-side.
Just my 2 cents.
- samstave 14y agoBetter yet - you should be leveraging IMGUR to store and server the files. The API should apply the filters, but let IMGUR do all the storage and gallery-ing.
- Smudge 14y agoWhy would you need gallery pages for an API? Wouldn't it make more sense to just use something like S3 to store raw files?
- samstave 14y agoMaybe that was worded poorly: What I meant was to have two galleries on IMGUR, ORIGINGAL and FILTERED. The API should be used for applying the filters, but why build all the image hosting and gallery capabilities when IMGUR has solved that problem. Use IMGURs API to push the originals and filtered versions to the right spot. Pay the $30 for the annual sub and you can have unlimited photos in your account.
- Smudge 14y agoI see. I still don't quite get how that addresses zupreme's idea, which had nothing to do with displaying galleries. He was suggesting that instafilter implement a potential performance optimization by caching images as they come in, so the same operations (to the same images) could be more quickly returned from any subsequent calls to the API. In terms of leveraging IMGUR for hosting and gallery capabilities, yes that would work if all you need is a place to dump original and filtered photos. But my impression was that this API would be used by apps that integrate images into their existing service (whatever it might be). Imagine taking a picture in Instagram, choosing a filter, and being redirected to an IMGUR gallery with the result...
- pwf 14y agoIt would make the most sense to store nothing. As far as I can tell, it doesn't return a link to the filtered image or anything, just the binary. RAM would be the limiting factor here I think. The images would need to be decompressed to filter them (unless they're doing something very fancy). Edit: welp, I totally didn't read the OP of this thread. Still, I think the storage costs outweigh the cost of just applying the filter each time. Also, people like to filter their own images. Nobody I know of shoves existing pictures into Instagram.