[{"data":1,"prerenderedAt":523},["ShallowReactive",2],{"project-13579656":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":47,"post_text":49,"what":50,"said":101,"maker_in_thread":255,"shape":267,"grid":271,"attempts":486,"same_week":487,"maker_shows":33,"maker_hidden":515,"reader_version":516,"card":517},"13579656","Scaley","Simple image resizing\u002Foptimization service","title","Show HN: Simple image resizing\u002Foptimization service","https:\u002F\u002Fscaley.io\u002F","scaley.io","hoahluke",1486391341,2017,171,81,211,2242,10,"notable","infrastructure","image processing service","api",[24,25,26,27],"image resizing","image optimization","image cdn","url image transformation","curious",-0.245,{"positive":31,"neutral":32,"mixed":33,"critical":34},5,27,1,15,48,{"execution":37,"performance":39,"pricing":40,"idea":42,"design":43,"privacy":45,"docs":46},{"positive":33,"critical":38},2,{"positive":33,"critical":38},{"positive":33,"critical":41},4,{"positive":33,"critical":41},{"positive":44,"critical":38},0,{"positive":44,"critical":44},{"positive":44,"critical":33},[33,31,44,44,48,31,44,33,33,48,44,44,33,48,33,44,44,33,48,31,48,48,33,44,48,48,48,48,33,48,48,33,48,48,48,33,31,48,48,33],3,null,{"problem":51,"audience":49,"pricing":62,"motivation":78,"time_to_build":49,"stack":82,"openness":99,"stage":100,"team_size":99},{"value":52,"source":53,"evidence":54},"Resizing and optimizing images without running image processing software","maker",[55,58],{"id":56,"by":11,"text":57},"13579795","I made this mainly because I wanted a service to use for my own projects - but the existing solutions were either prohibitively expensive or didn't have uptime guarantees. The…",{"id":59,"by":60,"text":61},"13580747","chatmasta","Here the only binary program you need installed to scale the image is curl. If you want to do it yourself, you need a whole bunch of image processing libraries installed. Because…",{"value":63,"source":64,"evidence":65},"Free plan plus paid tiers; refunds for downtime","commenter",[66,70,74],{"id":67,"by":68,"text":69},"13582199","callmeed","Well, from first glance, you're lowest plan is more expensive than imgix's $10\u002Fmo minimum. I see now that you have a free plan and I get that you're following the SaaS pricing…",{"id":71,"by":72,"text":73},"13580255","aarondf","This looks like a great service, but the 3x, 5x, and 10x refunds make me very very nervous for you. 100% uptime is practically impossible. Good luck!",{"id":75,"by":76,"text":77},"13580274","tobyhinloopen","Its based on the time being down, not rounded up to a month. Downtime of an hour equals a dollar or something",{"value":79,"source":53,"evidence":80},"Maker wanted a reliable, affordable image service for own projects",[81],{"id":56,"by":11,"text":57},[83,87,91,95],{"value":84,"source":53,"evidence":85},"Node.js",[86],{"id":56,"by":11,"text":57},{"value":88,"source":53,"evidence":89},"sharp (libvips)",[90],{"id":56,"by":11,"text":57},{"value":92,"source":53,"evidence":93},"Cloudflare caching",[94],{"id":56,"by":11,"text":57},{"value":96,"source":53,"evidence":97},"Google Cloud autoscaling group",[98],{"id":56,"by":11,"text":57},"unknown","launched",{"praise":102,"objections":124,"requests":158,"questions":190,"alternatives":220},[103,113],{"value":104,"source":64,"evidence":105},"Simple URL-based usage",[106,109],{"id":107,"by":11,"text":108},"13580072","The main thing I've tried to focus on is simplicity - you can just use it by changing some URLs. There are definitely other services out there which address the same thing, the…",{"id":110,"by":111,"text":112},"13579918","dk8996","Looks nice. Is the service smart enough to figure out the file type, for example, image from facebook…",{"value":114,"source":64,"evidence":115},"Clean presentation",[116,120],{"id":117,"by":118,"text":119},"13580294","donut","Nice features and presentation. Looks great. But those aren't URLs. Do you document how images are retrieved, http or https?",{"id":121,"by":122,"text":123},"13580067","kejaed","Pretty slick. Have any signups yet?",[125,133,144,151],{"value":126,"source":64,"evidence":127},"100% uptime guarantee is unrealistic",[128,132],{"id":129,"by":130,"text":131},"13583727","nodesocket","I'd like to echo the sentiment that offering 100% uptime and 3x, 5x, 10x refunds is a dangerous decision and actually will not increase paid signups. I've been doing…",{"id":71,"by":72,"text":73},{"value":134,"source":64,"evidence":135},"Cloudflare terms prohibit caching non-HTML content at scale",[136,140],{"id":137,"by":138,"text":139},"13580040","adityapatadia","Cloudflare does not permit storing just images in any of their plans. Their terms state that serving disproportionate amount of image or video via their service will be violation…",{"id":141,"by":142,"text":143},"13580705","jgrahamc","It's not bandwidth that is restricted by our terms of service it's... SECTION 10: LIMITATION ON NON-HTML CACHING You acknowledge that Cloudflare’s Service is offered as a…",{"value":145,"source":64,"evidence":146},"Free unlimited CDN bandwidth is risky for costs",[147],{"id":148,"by":149,"text":150},"13580113","jimaek","CloudFlare doesn't allow this kind of use of their service. Once you start pushing enough bandwidth they will ask you to go away. And since you offer free unlimited CDN…",{"value":152,"source":64,"evidence":153},"Resize output has gamma\u002Flinear color blending errors",[154],{"id":155,"by":156,"text":157},"13580162","leni536","My acid test for image scaling software: http:\u002F\u002Fi.imgur.com\u002FX9vKa2s.png https:\u002F\u002Fi.scaley.io\u002Fpng-256x128\u002Fi.imgur.com\u002FX9vKa2s.png This means that you don't use a linear color space…",[159,165,176,183],{"value":160,"source":64,"evidence":161},"Use linear gamma by default",[162],{"id":163,"by":156,"text":164},"13580549","Nice! I think it should be the default. Some software might treats as a compromise between correctness and cost (doing the rescaling in linear space is usually more costly). In…",{"value":166,"source":64,"evidence":167},"Smart content-aware cropping",[168,172],{"id":169,"by":170,"text":171},"13580024","jastanton","Fun feature you should add: the ability to crop around faces. I.e say you have a long and tall image and you need it to be square, you could pick the center, top, or bottom to…",{"id":173,"by":174,"text":175},"13588990","mderazon","My problem is usually making the cropping \"smart\". I need a content-aware cropping so that the resulting image looks good. It doesn't seem to come up too often as a known and…",{"value":177,"source":64,"evidence":178},"Rotate from EXIF data",[179],{"id":180,"by":181,"text":182},"13580005","GoToRO","Maybe you could implement Rotate from EXIF data.",{"value":184,"source":64,"evidence":185},"Implement IIIF",[186],{"id":187,"by":188,"text":189},"13582464","acdha","Have you considered implementing IIIF? That's an emerging standard for constructing image URLs which has a growing amount of existing client support: http:\u002F\u002Fiiif.io\u002Fapi\u002Fimage\u002F2.1\u002F",[191,202,209],{"value":192,"source":64,"evidence":193},"How does it compare to Imgix",[194,198],{"id":195,"by":196,"text":197},"13580174","hashkb","Looks really well done! Can someone compare\u002Fcontrast with Imgix?",{"id":199,"by":200,"text":201},"13584345","dbbk","How does this differ from Imgix?",{"value":203,"source":64,"evidence":204},"How to prevent abusive uploads",[205],{"id":206,"by":207,"text":208},"13583837","mgottein","As someone who has never hosted an image service like this, what actions do you have to take to stop \"bad\" people from using your service? For example, uploading inappropriate \u002F…",{"value":210,"source":64,"evidence":211},"Is the URL protected against DoS via looped requests",[212,216],{"id":213,"by":214,"text":215},"13581961","tonmoy","This is the tester\u002Fhacker in me talking, but have you checked for cases where one can loop your own images hundreds of times? (e.g.…",{"id":217,"by":218,"text":219},"13588413","wingerlang","Theoretically, I could sign up then DoS the site myself for a nice payout.",[221,226,233,240,244,248],{"value":222,"source":64,"evidence":223},"imgix",[224,225],{"id":67,"by":68,"text":69},{"id":199,"by":200,"text":201},{"value":227,"source":64,"evidence":228},"Filestack",[229],{"id":230,"by":231,"text":232},"13580017","ferrantim","Very cool! How is this different from some of the alternatives like Filestack https:\u002F\u002Fwww.filestack.com\u002F. I'm not trolling, genuinely curious.",{"value":234,"source":64,"evidence":235},"Kraken.io",[236],{"id":237,"by":238,"text":239},"13582661","karim79","Related: https:\u002F\u002Fkraken.io",{"value":241,"source":53,"evidence":242},"rsz.io",[243],{"id":107,"by":11,"text":108},{"value":245,"source":64,"evidence":246},"Cloudinary",[247],{"id":67,"by":68,"text":69},{"value":249,"source":64,"evidence":250},"Transloadit",[251],{"id":252,"by":253,"text":254},"13580325","pag","Related: https:\u002F\u002Ftransloadit.com\u002F",{"comments":256,"answered":38,"key":257},9,[258,261,264],{"id":259,"text":260},"13580406","I didn't think this would come up so quickly! This can actually be fixed with an undocumented option 'gamma'[1] I didn't include it in the website, admittedly because I didn't…",{"id":262,"text":263},"13580642","Thanks for your detailed feedback on this, I appreciate it!",{"id":265,"text":266},"13580829","Thanks - I've reached out to them to discuss",{"commenters":268,"max_depth":31,"maker_replies":256,"first_comment_mins":269,"lifespan_hours":270},64,14,30,[272,274,276,278,280,283,286,289,293,296,300,304,307,310,313,316,318,320,322,326,329,330,333,336,339,340,341,343,346,349,350,352,354,356,358,361,362,363,366,370,374,377,382,385,387,389,393,394,398,401,403,405,409,410,413,416,419,422,426,429,431,435,437,441,445,447,449,453,455,456,460,462,464,467,469,472,473,475,478,481,483],[155,44,33,273,156,44],"project\u002Fcritical\u002Fexecution",[259,44,44,275,11,33],"project\u002Fneutral\u002Fexecution",[163,44,31,277,156,44],"project\u002Fpositive\u002Fexecution",[262,44,44,279,11,33],"commenter\u002Fneutral\u002Fnone",[281,44,44,279,282,44],"13580671","zzzcpan",[284,44,44,279,285,44],"13581236","mark-r",[287,44,44,279,288,44],"13581361","XaspR8d",[290,44,44,291,292,44],"13587607","other\u002Fneutral\u002Fexecution","arcameron",[294,44,33,273,295,44],"13580563","Arnt",[297,44,31,298,299,44],"13580576","project\u002Fpositive\u002Fnone","throwaway2016a",[301,44,31,302,303,44],"13583858","project\u002Fpositive\u002Fperformance","devy",[305,44,48,275,306,44],"13583957","tedmiston",[308,44,44,309,156,44],"13585114","other\u002Fneutral\u002Fnone",[311,44,44,309,312,44],"13585055","dvt",[314,44,44,309,315,44],"13585680","JorgeGT",[129,33,33,317,130,44],"project\u002Fcritical\u002Fpricing",[217,33,33,319,218,44],"project\u002Fcritical\u002Fperformance",[148,38,33,321,149,44],"project\u002Fcritical\u002Fidea",[323,38,48,324,325,44],"13580539","project\u002Fneutral\u002Fidea","igordebatur",[327,38,44,328,299,44],"13580646","other\u002Fneutral\u002Fpricing",[141,38,44,309,142,44],[331,38,44,309,332,44],"13582320","michaelt",[334,38,44,279,335,44],"13584383","kbar13",[337,38,44,309,338,44],"13582984","_ao789",[265,38,44,309,11,33],[213,48,33,319,214,44],[56,41,44,342,11,33],"project\u002Fneutral\u002Fnone",[344,41,48,342,345,44],"13580009","VeejayRampay",[347,41,48,342,348,44],"13580278","anc84",[137,41,33,321,138,44],[351,41,44,309,11,33],"13580093",[353,41,44,309,138,44],"13580163",[355,41,44,309,142,44],"13580188",[357,41,44,279,11,33],"13580232",[359,41,33,317,360,44],"13581129","sfeng",[67,41,33,317,68,44],[169,31,48,324,170,44],[364,31,48,324,365,44],"13580115","stachenfeld",[367,368,44,309,369,44],"13582630",6,"inka",[371,368,31,372,373,44],"13582743","project\u002Fpositive\u002Fidea","codegeek",[375,368,44,309,376,44],"13583962","bcjordan",[378,379,48,380,381,44],"13580657",7,"project\u002Fneutral\u002Fdesign","traviswingo",[383,379,48,380,384,44],"13582593","rayboy1995",[386,379,44,279,381,44],"13585612",[195,388,48,342,196,44],8,[390,256,33,391,392,44],"13582688","project\u002Fcritical\u002Fdesign","0XAFFE",[252,18,44,309,253,44],[395,18,44,396,397,44],"13580900","other\u002Fpositive\u002Fnone","markplindsay",[399,18,44,309,400,44],"13585155","kvz",[110,402,48,275,111,44],11,[404,402,44,342,11,33],"13579969",[406,407,48,324,408,44],"13580625",12,"mpweiher",[59,407,48,324,60,44],[411,407,48,324,412,44],"13580894","bluedino",[414,407,44,309,415,44],"13581351","stephenr",[206,417,48,418,207,44],13,"project\u002Fneutral\u002Fprivacy",[420,417,44,309,421,44],"13589276","stdio_h",[423,269,33,424,425,44],"13580016","project\u002Fcritical\u002Fdocs","niklasrde",[427,269,48,342,428,44],"13580074","SnaKeZ",[430,269,44,342,11,33],"13580124",[432,34,48,433,434,44],"13580609","maker\u002Fneutral\u002Fexecution","samblr",[199,436,48,324,200,44],16,[438,439,33,321,440,44],"13592590",17,"fiatjaf",[442,443,33,391,444,44],"13583463",18,"artursapek",[173,446,48,324,174,44],19,[187,448,48,324,188,44],20,[450,451,48,324,452,44],"13586155",21,"franciscop",[230,454,48,324,231,44],22,[107,454,44,324,11,33],[457,458,48,324,459,44],"13583394",23,"time4tea",[71,461,33,317,72,44],24,[75,461,48,463,76,44],"maker\u002Fneutral\u002Fpricing",[465,461,31,466,72,44],"13580460","project\u002Fpositive\u002Fpricing",[180,468,48,324,181,44],25,[117,470,48,471,118,44],26,"project\u002Fmixed\u002Fdocs",[237,32,48,324,238,44],[474,32,48,342,303,44],"13583821",[476,477,44,309,149,44],"13581338",28,[479,477,44,279,480,44],"13584215","pdimitar",[121,482,48,342,122,44],29,[484,270,33,321,485,44],"13588695","johnflan",[],[488,493,498,503,507,511],{"id":489,"name":490,"points":491,"category":492},"13552376","CommitPrint",235,"creative",{"id":494,"name":495,"points":496,"category":497},"13596434","Bdash",100,"data",{"id":499,"name":500,"points":501,"category":502},"13587909","Milanote",99,"productivity",{"id":504,"name":505,"points":506,"category":502},"13601391","OneView Calendar",96,{"id":508,"name":509,"points":510,"category":492},"13550176","voxel",78,{"id":512,"name":513,"points":514,"category":492},"13553224","AutoMIDIFlip",75,false,"v2",{"id":518,"name":5,"line":6,"ai":515,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":519,"top":18,"kw":520,"maker":11,"domain":10,"tier":19,"attempts":44,"strip":521,"url":9,"mix":522,"praise":104,"objection":126,"sub":21},13579656,-0.24,[24,25,26,27],"1500350113001310013533103333133133315331",[31,32,33,34],1794036552358]