5 ms·
The density and type of ads masks well presented information. I don't see the ads but am left unwilling to share links to the site where I sure would otherwise.
by crancher 5y ago
The density and type of ads masks well presented information. I don't see the ads but am left unwilling to share links to the site where I sure would otherwise.
- pininja 5y agoI agree, without reading your comment I thought the map fingerprints were linking to a tabloid weather report. I went back and realized the pages have very well developed interactive data visualizations.
- jacobn 5y agoYeah, the ads are a double-edged sword. We've been running this site for... ten years? And for the longest time it languished with some Google Adsense ads on there, making enough to keep the servers running, but not enough to invest more effort in it. Then we recently switched ad provider, and the site grew a bit as covid started easing up, revenue doubled with the potential for more, and boom it's worth it to invest in it again. I don't like the ads. I'd rather offer the site without them. But without them the site wouldn't be up - I'd have to turn off the servers, and there wouldn't be a map of temperature fingerprints at all. I really wish there were a better solution. But so far there just isn't. At least we don't do anti-ad-block ;) (I'm one of the site creators)
- tenuousemphasis 5y agoA developing alternative to advertisements is micropayments using HTTP 402 status and Bitcoin over the Lightning network. https://github.com/lightninglabs/aperture https://github.com/lightninglabs/aperture
- vlovich123 5y agoI'm curious. What do the hosting costs & tech stack looks like? I'm assuming you're mostly just serving some static content & some server costs to generate the images periodically? Is there anything else?
- jacobn 5y agoEvery page & image (they’re all embedded SVGs) is generated from scratch using raw data on every request - with the number of languages and units supported it gets quite unwieldy when pre-generating (we had a mediocre experience w that on statisticalatlas.com). In order to render in a timely fashion the sections & graphs are rendered in parallel on a decent sized instance.
- jhugo 5y agoA middle ground could just be adding some caching?
- jacobn 5y agoTypically 80-90% of our traffic is search engine bots crawling the site, which is not very amenable to caching. So even if we cached all user traffic the overall load wouldn't move much. That said, it might make sense to cache to protect against load spikes on specific pages, but unfortunately those don't happen a whole lot.
- sharps_xp 5y agohmm i wonder if a site like this would be a good candidate for cloudflare pages where bandwidth is unlimited (even though they have a 20K file limit). Then servers wouldn't need to serve any requests, and every time the source weather data is updated, you rebuild the files and push to cloudflare. love the site despite the ads. who/what did you use for i18n?
- vlovich123 5y agoDisclaimer: I work on Cloudflare Workers so I was thinking about how they might be able to drastically cut their costs. Conceivably you could put up Cloudflare pages & put the assets behind a CDN with whatever TTL makes sense for how long the assets are expected to not expire for. I don't know how much that might save but certainly a cheap experiment to run. If you wanted to experiment with a completely alternate architecture, generating them on-demand for each page's needs might be free/significantly cheaper on Cloudflare Workers. That might be a larger rewrite of the stack though and maybe worst case there are SVGs that take longer than 30s to fetch the underlying data + generate the graph. That being said, I couldn't really tell which specific SVGs actually even needed to be generated realtime. It seemed like most of the assets would be largely ahead-of-time generated SVG w/ some localization that happens in the frontend but maybe the axis for the graphs/text within them are part of the SVG which could be something that's optimized by moving that out to HTML/JS land in the browser so that the underlying assets can have an improved cache efficiency. Certainly nothing on the front page seemed like it needed that since the map itself isn't localized & all of the heatmap summaries seem like they would be statically generated. Not trying to push our products, just got nerd sniped by the problem. [1] https://devclass.com/2021/04/14/cloudflare-goes-live-with-workers-unbound-for-serverless-apps-that-need-a-little-more-time/ https://devclass.com/2021/04/14/cloudflare-goes-live-with-wo...