14 ms·
Browserball
- deleted 10y ago[deleted]
- ethana 10y agoI remember this demo when Chrome first came out. I thought that was the coolest thing. edit: I found the original site that I linked to this. Courtesy of archive.org: http://web.archive.org/web/20120214090814/http://blog.insicdesigns.com/2010/02/mind-blowing-javascript-experiments/ http://web.archive.org/web/20120214090814/http://blog.insicd...
- 21 10y agoWhat's the reason for allowing web pages to get absolute screen coordinates? This is a privacy leak. I have a 24" screen, and I don't keep the browser window maximized because it would be too big. I presume other people do to, and I'm pretty sure most have a preferred size and position.
- nxzero 10y agoRight, never max out your window, it's a known data leak used to fingerprint users.
- gnur 10y agoI'd say that maximizing is more general then having a custom sized window. There are only so many resolutions in use (and I would guess 50%+ is either hd, full hd or qhd). Resizing your windows yield nearly unlimited options for browser sizes.
- Retric 10y agoIt's a question of consistency. A few version numbers + window sizes are going to stay the same every visit. It only takes 33 bits of information to uniquely identify everyone on the planet and you likely can get more than 1 from a maximized window.
- aidenn0 10y agoYou can get screen resolution from JS, so I don't see how maxing out the window makes any difference.
- detaro 10y agoA screen resolution is less unique than the size of a maximized window.
- samirm 10y agoHow so? Wouldn't there just be a one to one mapping between resolution and maximized windows size? The only way to prevent this is to not maximize windows and instead have custom sized ones, but that just makes identifying you even easier.
- detaro 10y agoThe laptop I'm using right now has a 1366x768 screen, a maximized browser window is 1306x768. I bet many other users of of that size are going to have browser windows that have the full 1366 px width, but then some height <768 px. Details depend on the OS, the size and position of the taskbar/dock/whatever, ... It's not much, but it adds a bit or two of data. Custom sized ones make you easier to identify only if you don't change them.
- sleepychu 10y agoHow do you know the coordinates are absolute? It seems like the child windows are 'special', perhaps the web page can obtain the relative coordinates of these child panels?
- Cpoll 10y agoIt's using window.screenY (and screenX, of course,) which gives absolute coordinates. https://developer.mozilla.org/en-US/docs/Web/API/Window/screenY https://developer.mozilla.org/en-US/docs/Web/API/Window/scre... I don't think the method you're describing exists. If you want child coordinates relative to parent coordinates, you would use both the parent and child's absolute coordinates.
- sleepychu 10y agoThanks to you (and others who've provided this information), so I guess my question now is what is the privacy leak described. I understand that the browser is confessing information about the machine to the web page but I don't understand why that represents a private piece of information. I feel like the information about where the window is located on the screen is useful for implementation and I can't think what it says about me as a user.
- nommm-nommm 10y agoNothing on its own. However it is one of the pieces of information used to create a unique fingerprint for your browser which can be used to track you as you travel across the web. IIRC Tor browser recommends never resizing the window from the browser's default window size.
- softawre 10y agohttps://github.com/Valve/fingerprintjs2 https://github.com/Valve/fingerprintjs2
- 21 10y agoGo to https://jsfiddle.net/hj697tbg/ https://jsfiddle.net/hj697tbg/ and move the window around for a demo.
- phkahler 10y ago>> What's the reason for allowing web pages to get absolute screen coordinates? Web developers have always pushed for more access to information about the user and their environment. Browser and tool developers are happy to provide that access. There's always some use case that sounds reasonable, but you're right that it's just a security issue waiting to happen. These holes are also being talked about in the new Wayland display server on Linux. Warping a mouse pointer, color picking, knowing your apps place on the desktop are all security violations. They are being very careful with that stuff because it's an insecure free for all with X. Every time I upload an attachment to gmail or a picture to facebook, I wonder how secure things are. Those seem to require user action, but do they really?
- TeMPOraL 10y ago> Web developers have always pushed for more access to information about the user and their environment. Browser and tool developers are happy to provide that access. There's always some use case that sounds reasonable, but you're right that it's just a security issue waiting to happen. I'm torn. On the one hand I understand the privacy implications; on the other hand, if you'd want to be serious about those, you'd have to get rid of JavaScript and half of CSS. Every interesting feature can be turned into a privacy/security violation; how far are we willing to go in removing them?
- digi_owl 10y ago> These holes are also being talked about in the new Wayland display server on Linux. Warping a mouse pointer, color picking, knowing your apps place on the desktop are all security violations. They are being very careful with that stuff because it's an insecure free for all with X. I know the quip about how in IT paranoia is not a sickness but a job requirement, but damn it... As for web developers pushing for more information. No surprises there, its so they can more precisely fine tune the layout of the "app" (notice how they refer to what used to be called a site with a term that used to denote something running locally). That it also can be used to fingerprint the computer, and by extension the user, is a side effect, not a goal.
- vesinisa 10y agoJust use NoScript if you are concerned. JavaScript allows a large number of other ways to identify you as well. Direct ways of course include cookies / local storage / Web SQL, but other indirect ways include localization preferences, OS / browser / plugin / extension fingerprinting, HID inputs, side channel profiling etc. etc. – some combination of these allows uniquely identifying at least 80% of web users.[1][2][3] Allowing a site to execute JS in your browser is equal to trusting them, like it or not, and browser vendors are definitely in the business of adding new APIs rather than reducing attack surfaces. [1]: https://wiki.mozilla.org/Fingerprinting https://wiki.mozilla.org/Fingerprinting [2]: https://github.com/Valve/fingerprintjs2 https://github.com/Valve/fingerprintjs2 [3]: http://noc.to/ http://noc.to/
- ErikRogneby 10y agoMight as well say don't use the web. Disabling javascript will break most sites with a few rare exceptions. (like HN)
- anc84 10y agoIt's actually quite the opposite. Most sites will become lightning fast and distraction free.
- beeboop 10y agoI have use NoScript consistently for years and I disagree with you. Essentially the only thing NoScript does is make it so when you haven't visited a website before, it doesn't automatically trust it. For the most part every single website I go to needs to have JS enabled for anything to work beyond just reading content. And even then, I would say 70% of the time, some critical piece of content on a website does not work with JS disabled, be it images or text or video or etc.
- danielweber 10y agoAnd then starts the crazy hunt for the one thing you need to turn on to make the page work. I was trying many years ago to create a public DB/wiki telling us which things we need to turn on to get the page to work, but it got abandoned before I really started.
- TazeTSchnitzel 10y ago> What's the reason for allowing web pages to get absolute screen coordinates? Back in the 90's, Microsoft and Netscape were all too happy to give JS developers the world with almost no regard for security consequences. We've spent the last 20 years trying to fix their mistakes.
- neerdowell 10y agoWe only spent 15 years trying to fix the mistakes. The last 5 have been spent repeating them.
- TazeTSchnitzel 10y agoOn the contrary, I would argue that most new web platform features have been designed with more thought for security. We generally ask for user permission first before divulging data, for example. Some new features help mitigate past mistakes, too, like Content Security Policies.
- goblinking 10y agoare you SURE? because WebUSB and other abomination are a rising tide of diarrhea
- zbjornson 10y agoI've used it to automatically position auxillary windows adjacent to the main window in a data analysis application. I don't see how it reveals anything private about the user... my screen resolution and window location are not secrets to me.
- catmanjan 10y agoBut they may be unique to you, making you more identifiable/trackable. The TOR browser warns you when resizing the window that it reduces privacy. Personally I don't care either, just thought you might want to know!
- hashmymustache 10y agoBut just because it's unique, why does it make it trackable? The overwhelming majority of devices have one of a few common display resolutions, so what's there to link across sessions for identifying users?
- zodPod 10y agoThe idea is not that your resolution is unique it's that the maximized window size is unique. They can then track that you have more than one monitor, what size that monitor is, and, probably with some easy math, a jist of how many you have. That setup is probably a lot more unique than expected. That plus possibly some canvas finger printing or something similar could probably keep pretty good tabs on you. I have 3 identical 21 inch monitors and I'm browsing on the left-most monitor. Anyone else have that same setup?
- empath75 10y agoJust out of curiosity, what can someone do with this information?
- nommm-nommm 10y agoCreate a unique fingerprint for your browser used to track you through the web.
- startling 10y agoCorrelate your visits across unrelated websites.
- bshimmin 10y agoI think the thing I like most about this is how it's evidently very imperfect - the ball sometimes goes missing, the rules for what velocity it needs to bounce from one window to another seem hazy, etc - but none of that really matters: it's fun and cool to play about with for a minute or two, it doesn't at all take itself seriously, and you know that any real implementation of this sort of thing, if there were an actual need for it, would be implemented more robustly anyway.
- deleted 10y ago[deleted]
- nxzero 10y agoYouTube Demo: https://m.youtube.com/watch?v=XmH2QF92Jwo https://m.youtube.com/watch?v=XmH2QF92Jwo
- mavci 10y agowhy so serious?
- tjtate 10y agothey did this with the birds in the wilderness downtown experiment like 5 years ago right? http://www.thewildernessdowntown.com/ http://www.thewildernessdowntown.com/
- tokenizerrr 10y agoI just wanted to try that since it seems interesting. Sadly it tells me to enter the address of the home where I grew up, but then promptly refuses to recognize anything that I put in. It also says I can try schools, but does not recognize any of those either. Maybe it only recognizes American addresses or something, but I don't know any of those. edit: Ok I got it working by putting in Amsterdam, which happens to be a city and not an address.
- junto 10y agoThis is one of those awesomely pointless conceptual experiments. Love it.
- visakanv 10y agoThe internet Ig Nobel!
- neogodless 10y agoEverything was made to be broken. Got this neat effect where the ball was spinning rapidly in the corner of each spawned window! http://imgur.com/gmwQOCb http://imgur.com/gmwQOCb
- cyphar 10y agoI remember playing with this at least 8 years ago. It's really scary that there's enough information disclosure in browsers that it's possible to do this.
- zbjornson 10y agoWhat do you see being disclosed? The origin has control over the windows it creates and nothing else.
- beeboop 10y agoYou can very uniquely identify people based on browser positioning and sizing. This tester uses it I believe: https://panopticlick.eff.org/ https://panopticlick.eff.org/
- softawre 10y ago> really scary This is really scary to you? I get that you can do fingerprints, and honestly there's a LOT more than just browser window position/size in them, but "really scary"? Maybe we need to stop exaggerating on this sort of stuff if we want people to take us seriously.
- cyphar 10y agoFine. It's scary that browsers allow for so much fingerprinting. This toy webapp is an example of a larger picture of "things that we really shouldn't allow to happen". So "really scary" was referring to the issue of browser fingerprinting as a whole, not just one toy webapp.
- ptibbetts 10y agoI can't remember the last time I was so happy to have 3 screens
- krolow 10y agoremembers one project that i did 4 years ago https://www.youtube.com/watch?v=NgA5EvOryU0 https://www.youtube.com/watch?v=NgA5EvOryU0
- DonHopkins 10y agoI am frustrated that it's 2016, and we still can't tilt windows diagonally.
- agumonkey 10y agoMeaning ?
- DonHopkins 10y agoThen you could make the ball roll down towards the corner and drop into another window, of course! The NeWS window system let you reshape the entire framebuffer to any orientation or clipping, as well as individual windows and sub-windows, in the late 1980's. Why shouldn't I be able to lay down on my side next to a laptop and read a web page off the screen sideways, or adjust the rotation of the window to match the inclination of my pillow? The other thing I want the window manager to support (which NeWS couldn't do since PostScript only supports 2D affine transforms) is estimating my head position relative to the screen, and projecting the window in perspective so it looks rectangular from an oblique viewing angle, so I can watch a movie on an extra screen off to the side. If you could rotate windows around on the screen, Browser Ball should be able to use the laptop accelerometer to detect the true direction of gravity, and bounce the ball accordingly as you turned the windows and the laptop itself around. Unfortunately Apple stopped putting accelerometers in laptops with SSD drives, since they were only used to retract the heads when falling. You can do a lot of fun things by modeling and tracking the positions of multiple people's heads and multiple devices in augmented reality! Here are two people using two tablets, two laptops, and a desktop computer together with Pantomime: [1] [1] https://vimeo.com/149319403 https://vimeo.com/149319403
- agumonkey 10y agoWhy did I not read your nickname .. :) The pseudo billboard idea is cute, but I wonder how it fares in readability on non HD screen (font rendering in 3D space may impede it, then viewing angles.). I'd love to see it done anyway, it's cute idea. Another 'this is <year>' rant, we should have way more sensors on usb or i2c and have our laptops integrate with the real world more.
- kirkbackus 10y agoI made a project in college like this that utilized the Windows API to enumerate the rectangles of the windows and you could create shapes and other things that you can throw around your desktop https://www.youtube.com/watch?v=38qWXZ0hDv4 https://www.youtube.com/watch?v=38qWXZ0hDv4
- tambourine_man 10y agoThis is amazing. Kind of like when I first dragged a window across multiple monitors in the 90s. We are so used to content being stuck in artificial containers that it's kind of crazy when it transcends them.
- Pxtl 10y agoThere was a clever game called Metal Marines back then that exploited this idea - the game was a 1v1 base-building RTS where each player's "base" was on its own map in its own window. When you fired missiles or launched APCs from one base into the other, the missile would fly out of your base window, over the desktop and into the other window to hit his base. The effect was jaw-dropping even though it was a simple and cartoony game.
- zyxley 10y agoThat game was amazing. I wish I'd gotten good enough at it to ever get past the first few levels.
- viraptor 10y agoThank you! I was looking for that game a few days ago, but couldn't remember the name at all! And it looks like there's a reboot of it on Steam: http://store.steampowered.com/app/335940/ http://store.steampowered.com/app/335940/
- markmahoney 10y agoI built this in like 2009 or 2010. Super curious how it managed to resurface now.
- mjs7231 10y agoIs the full ball rendered behind an overlapping window? The world may never know.
- stevep98 10y agoReminds me of the Amiga Boing Ball demo from 1984. https://www.youtube.com/watch?v=-ga41edXw3A https://www.youtube.com/watch?v=-ga41edXw3A
- ahabman 10y agoSecurity issues aside, has anyone tackled how to intentionally span multiple monitors using similar techniques? e.g. A dedicated four monitor web-based media dashboard.