A JSConf 2014 talk visually breaking down algorithms behind everyday UI patterns, such as dropdown menus that vanish when the mouse drifts and picking the nearest target to the cursor. It shows how these are implemented in JavaScript.
Why Hacker News points people here: HN links it whenever menu hover problems or nearest-to-pointer selection come up, and as proof algorithms matter in front-end work.
“Algorithms do play an important role as you can see in this great presentation”HN comment, 2015
“This video was linked from it, fascinating stuff”
Fascinating talk linked from a bug report.
Full comment
Am I correct thinking you are talking about this bug? link If so, then yes they are aware of it and treating it as critical. Edit: Reading into this bug is so cool. This video was linked from it, fascinating stuff: this video
RecommendsdkannanAug 2014
“relevant section starts at 4:13 rest of the talk is good as well”
Relevant section at 4:13; rest of talk is good too.
Full comment
Mark DiMarco gave a talk at JSConf 2014 called User Interface Algorithms which touches upon this this video relevant section starts at 4:13 rest of the talk is good as well
Recommendscipher0Dec 2014
“There's also a great talk that discusses this from JSconf2014 [1]”
Discusses selecting nearest target to the mouse position.
Full comment
Great work! It might be cool if you could use voronoi diagrams to select the closest path to the mouse's position like the NYT did [0] because without really zooming in, the lines on some terrains appear to be very thin which makes hovering over a specific one a little harder. There's also a great talk that discusses this from JSconf2014 [1] [0] link [1] this video
RecommendsjsteenkampJul 2015
“Algorithms do play an important role as you can see in this great presentation”
Shows algorithms playing an important role in front-end work.
Full comment
I think you make an excellent observation that FE is a system engineering challenge. Algorithms do play an important role as you can see in this great presentation by Marc de Marco ( this video ) However I think it's fair to say most FE engineers apply existing solutions and the system design is a bigger part of their role. I differentiate between UI Engineering and Front-End Engineering. The former emphasises design integration (pixels) and performance (rendering). The latter is broader scope and emphasises the systems engineering. Both have to deal with system design. UI is about components and messaging across the components with the front-end application being the "system". FE is about components that integrate the front-end application with what have traditionally been back-end APIs and services. In many cases when people say FE they mean both FE and UI. I would not get hung up on these but they help to clarify what you are talking about and who you are trying to hire. In the case of design and pixels there are specific challenges around dealing with layout and CSS and achieving 60fps. Creating UI components is an exciting area. For example see Pure UI ( link ) by @rauchg. Mess in Web Components ( link ). Challenge of style encapsulation... So there are a lot of unique challenges and skills and experience required in UI engineering. There are also exciting developments that start to push more overlap between UI and FE. For example GraphQL - the UI is "language" that "pr
Cites itgorhillNov 2014
“Same solution is also useful for other more serious applications”
Shows serious applications of finding the closest item to the pointer.
Full comment
Look beyond the funny app. Think of the challenge of finding an efficient solution to the original problem regardless of its "unseriousness": finding the optimal picture according to pointer position. Same solution is also useful for other more serious applications: this video Edit: Sorry, I missed the "me" in your "entertain me".
Cites itcurrysausageJun 2018
“solving the famous problem that when you accidentally hover another menu item while moving the cursor to the right”
Explains the diagonal-hover menu problem that Bloomberg's menu solves.
Full comment
The original implementation at bloomberg.com is really well-executed, even solving the famous problem that when you accidentally hover another menu item while moving the cursor to the right, you might activate the adjacent menu item. [1] It took VLC ages to get rid of this issue, but it is solved as of VLC 3.0.3 (relevant Qt bug: [2]). [1] this video [2] link