31 comments

[ 1.6 ms ] story [ 72.2 ms ] thread
Just added London, Singapore and Amsterdam to the free offering. Please post any questions/feature requests here.
I'm guessing it's either my Privacy Badger or uBlock Origin, but the site's broken for me on Chrome 52 Ubuntu.
"The site's broken" on Hacker News, really? Put some effort into reporting the problem!
If "Privacy Badger" blocks cookies, then it's probably the old "The operation is insecure." That's what I see. A message says "Please select up to three locations," but there is no list of locations.

People, please use a try/catch when feature testing for localStorage. If cookies are blocked for the domain, trying to access storage will throw a security exception. This exception will almost definitely hose whatever behavior you were trying to add. I see this on probably 60% of Show HN projects, but sometimes even on large sites.

Your core competency is testing web sites, right? I'd suggest making one of those 200 locations block cookies. You'll find 10x as many defects.

(edit And I'm assuming that localStorage is almost never really necessary for these sites, but that some bit of the framework tests for it without the developer even realizing it. So yes, I consider that a defect.)

...for example, the first Show HN on the front page right now. Doesn't work at all when cookies are blocked—it just renders some stars and some chrome.

But okay, I'll run it in another browser. Wow, it's a really cool WebGL visualization of global temperatures. And what is it using localStorage for? It sets one key called `runOnce` to `true`. I think that could be considered optional. Easy to fix, if they knew about it.

I'm looking to see if I can fix this now but I don't want to make risky changes while a few people are watching. Will look into it though - Cheers.!
If you're too scared to make changes to your application, that's a great reason to start making sure you have test-cases, and a test-suite.

My toy side-project has a full regression test which is executed before any (automated) deploy/upgrade, for precisely this reason.

I think this is for a different app, could you please move the comment there?
My app uses cookie-based sessions (as does HackerNews), so the authenticated section will not work if you have cookies disabled.

I tested in Chrome Win 10, with cookies disabled and privacy badger on and the capture page works fine. I want to debug the issue further to see whats preventing the locations from being displayed.

Have you tried clicking on the gear icon? That shows a list of locations.

Tried but always got "Encountered Problem"
I like what you're offering, but I just get an "Encountered Problem" error in the latest version of Chrome on Windows 10. And I was testing a very minimal site with just the London location, so load should have been low. Load from my one test, that is. You may be getting a lot of other traffic.

If it can be made to work reliably, I could see my company paying for it.

Hi Andrew,

There was a spike about 2 hours ago and the app exceeded an hourly quota. It should good to go now.

Please contact me at contact@geoscreenshot.com with your needs, I offer custom solutions for companies.

Cool idea.

Your marketing site's pricing page breaks on mobile.

Also seems like you could automate this and run the check every 5 minutes, and then compare the screenshots to see if any of them are different, then alert the users.

For what purpose? It should be easier/lighter to check if the HTML, CSS or JS has changed if you'd like to detect a defacement or a site load issue (actually, the HTTP status code would be different for one or more resources; 404, 500, etc)
Visual consistency checking is more comprehensive than source code diffs. For example, errors in third party services (a region-blocked ad, a youtube iframe, etc...) may not show up in error logs or HARs.
That sounds like a good idea on paper, but I think rotating or animating content (especially advertising banners) would heavily complicate that strategy.
Fair point.

I don't deal with a lot of sites that serve ads, but I do deal with a lot of sites that are on CDNs. Was more my target user group.

There are also pop ups (like the EU cookie warning), self-triggering modals, A/B testing experiences, and newer patterns like feedback widgets that give false positives.

I am working on a visual diff engine that will account for all of these, you can sign up for updates here:

http://geodiff.launchrock.com/

Thanks dbg31415, I have pushed that fix. That is an excellent feature suggestion.
Not working on chrome & win 10
I am using it on Win 10 and Chrome, and it looks fine. Could you describe what is not working?
If you got the "Encountered Problem" error, there was an unexpected spike and traffic a few hours ago, and the API was blocking requests. The server is back up now.

I would really appreciate it if you could send me any bugs, screenshots, suggestions to contact@geoscreenshot.com

This looks similar to:

https://geopeeker.com/

I did a quick price/feature comparison and it appears to be a toss-up depending on what you need. Any thoughts on how you plan to distinguish yourself from this other service? Selecting your location is definitely a cool idea- good work!

We have more locations, a simpler product and more options for the advanced plan.

GeoScreenshot has a simpler and more intuitive UI so you can go back/forth between new captures and your history without having to reload pages.

Our pricing model is also simpler, we give you more locations and options for the plus plan. The free account with all the "plus" options enabled, so you know what you are paying for.

At the time of this writing, we offer 7 free locations and > 60 plus locations. For our advanced plan, you can select from > 420 cities from nearly every country in the world. We will set up a dedicated worker in that region.

Some examples of advanced locations:

https://www.geoscreenshot.com/country/united-states https://www.geoscreenshot.com/country/saudi-arabia https://www.geoscreenshot.com/country/china

---

I would also like to add:

The main advantage of using GeoScreenshot over buying a proxy list or a VPN is convenience and efficiency. To minimize the headaches and man hours spent on website testing.

There are significant man hour costs and technical barriers with using VPNs/proxies, changing view ports, clearing cache, shifting browsers, system settings, locale settings, time zones.

Thanks for your response- I'll definitely keep this service in mind in the future!
We use Hotjar recordings to see what people see from various regions. It's pretty useful in that we can see how the page loads for users outside of the US. But beyond that, we can see what they interact with on the page.

This seems useful from a very high level, but if someone wants more data points I'm sure they would use something more robust.

As of right now, we provide uptime and visual testing. If you have advanced functionality that varies by region, something like IP spoofing might work best for your needs.

But for most companies use GeoIP targeting for things like:

Currency and Dynamic Pricing Locale (date time formats, languages), Dynamic translation functionality Determining visitor origins Custom ads/messaging Redirection to local websites (Amazon, Google, Craigslist use this) IP-based blocking (for cyber attack protection)

I would think that something like Hotjar is more useful for studying user behavior (how it varies across regions) than testing website functionality.

I will have to to more digging to see if they do the actual recordings from servers in those particular regions, or if they just map geo-filtered data over a standard video recording (with the assumption that it renders the same everywhere)

Looks like it still is encountering problems, I get a 403 error from London an ny. Might be cloudflare blocking it?
Thanks for that. I caught a 403 in the logs for PriceHipster, logs confirmed that CloudFlare (nginx/cloudflare) blocked it.

If it is yours, thanks for reporting it, I have pushed the fix down the pipeline. Its not giving a 403 anymore, but still doesn't render properly.

I have tried to debug it with a different engine but it looks like the site has JS based browser detection (not based on user agent strings). Since its a headless browser, some JS functionality is unavailable, and super dynamic sites break. Another limitation I am working around.