Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube - <AUTHOR> https://www.thurrott.com/google/207371/google-now-forces-microsoft-edge-preview-users-to-use-chrome-for-the-modern-youtube-experience <comment><USER2> Most likely a user-agent check to ensure compatibility. I don't assume any ill intent.

That being said, what does annoy me is that we've known for _years_ that feature detection is preferable to user-agent detection, and I would kind of expect one of the biggest web development companies in the world to be following best practices.

This isn't my local pizza shop, Google engineers should know better. Have they already forgotten the dumb "best viewed in IE" banners that magically vanished as soon as the user-agent changed? Heck, even more recently the original version of Edge had to literally start lying to websites about its user-agent just so they would stop serving alternative IE hacks. Yeah it's easier in the short term to do browser-detection and whitelisting for rendering quirks and bugs -- it's just unreliable and error-prone over the long term, and hurts the overall web browser ecosystem.

Google should be setting an example for ordinary developers here, not encouraging hacky shortcuts. If Google isn't going to take the time to think about progressive enhancement from the very start of their experiments, who else is going to?

<comment><USER3> Disclaimer: I work at Google but not on YouTube, also speaking just personally.

This isn't practical at all in a latency sensitive environment. Feature detection works once JavaScript has loaded on the page, which means we either have to serve you a giant bundle of stuff you may not be able to use, or we have to degrade the experience of the latest browsers by detecting features and fetching more HTML/CSS/JavaScript once we know they will be able to handle it.

Feature detection absolutely is used for some things, but it's unreasonable from a latency perspective to serve the bundle of all possible sites and make all these decisions on the client. We aren't talking about polyfills here- A lot of these features mean we are shipping a totally differently lay out because this webkit uses flex box 2009, or mobile safari 8 has a layout bug, or IE has a quirk around event bubbling in video elements, etc.

Feature detection stops being better when a) your supported browser list stretches into the early 2000s around the world and b) you are in a latency sensitive environment where it is unacceptable to degrade performance of the latest browsers. If you aren't bound by those constraints, or the detection has a cheap fallback so it isn't meaningfully impacting latency, I agree with feature detection.

<comment><USER4> It's Youtube, not high frequency trading.

<comment><USER2> The logic is apparently that we can't do progressive enhancement because it would force us to make a second network request, but we can rely on unstandardized APIs that force us to ship polyfills that make our site slow on every other browser that's not Chrome.

Every decision, from progressive enhancement to supporting bleeding-edge features comes with tradeoffs. Youtube is still choosing tradeoffs, it's just choosing them based on what will work best in Chrome specifically.

<comment><USER3> I agree there are just a bunch of trade offs, and this shows you can't please everyone. If you ship large bundles of polyfills people are sad they get some slow JavaScript, and if you give them fallback html and JavaScript that renders quick and supports their feature set, they are sad they didn't get the same feature set as chrome latest. You have to minimize the fallback sadness as well as keep pushing better and better cutting edge experiences. This demanding environment is one thing I do like about the job even if it makes me feel constantly unqualified and doomed to fail :D

Speaking personally from my time before working at Google, the second network request is definitely the worse of the two options if you can't do anything until it completes for most people- the round trip time kills you in the median US case I am familiar with.

At Apple for my small project we didn't have these constraints so we just shipped a giant JavaScript bundle with feature detection and browser-side re- rendering that worked alright.

<comment><USER5> No, this shows you're not interested in pleasing _anyone_. There is no universe in which instructing the user to _change browser software_ is preferable to adding milliseconds of latency at pageload. This attitude is so wrong it's almost sinister.

<comment><USER3> I am not defending YouTube redirecting a UA it hadn't seen to download chrome when that UA explicitly went to /new for the new experience. I don't know what happened there, and if I did I probably couldn't say.

I am defending using the UA to tier responses based on the principle that it lowers the latency before the page is useful to the user, and I don't see how that is a sinister practice.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> User agent for Edge-Chromium is a bit of a mess. Usually it identifies as "Edg", sometimes as Chrome, and sometimes as Edge (the old one).

Specifically, that old Edge agent comes up for streaming sites because old Edge has different DRM systems and was able to serve 4K streams from Netflix and others, which Chrome did not do. New Edge still has those capabilities, so it doesn't want to be served the Chrome compatible version.

I wonder if YouTube somehow ended triggering legacy Edge user agent on account of being a video site?

<comment><USER7> This is probably it, the user agent detection library likely got updated to include the new Edge chromium build as "Edge browser" and so YT doesn't know the difference between Chromium-based and Trident-based edge.

For reference:

Automatic user-agent in Edge (Trident engine):

        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362

Automatic user-agent in the Chromium version:

        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3739.0 Safari/537.36 Edg/188.8.131.52

<comment><USER8> Oh man, what a mess! The UA string mentions almost every browser except the one it actually is...

I understand the reasons, but I think it might be time for a big "reset", and for browsers to stop lying about who they are.

<comment><USER9> > but I think it might be time for a big "reset", and for browsers to stop > lying about who they are

The problem is, you can't do this unless every website also "resets" at the same time, because the bad UA detection code will still be out there. The vendors aren't any happier with this situation than we are, but they do it because they have no choice.

<comment><USER8> Who still does user-agent sniffing? I can't remember the last time I saw UA- detection code. Feature-detection and polyfills have been a thing for more than a decade at this point.

EDIT: Just for kicks, I'll try it. I just downloaded a User-Agent extension, and I'll set my UA to "Chrome 74", and see if anything breaks.

<comment><USER10> I was working on a product that did user-agent sniffing to figure out which image formats were supported (when to serve WebP). A feature-detection based approach is substantially slower because it breaks the preload scanner: [https://www.jefftk.com/p/why-parse-the-user- agent](https://www.jefftk.com/p/why-parse-the-user-agent)

<comment><USER11> That was true in 2014! But since 2015 we've had the <picture> element to pick different versions of an image based on screen or capability.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Google employees in these threads: quit Hanlon razoring your own company. Google has done this repeatedly with Microsoft, from blocking Maps and YouTube on Windows Phone to this. The blocking is always specific and based on badlisting Microsoft version strings, and demonstrably has not affected Firefox (even ESR versions!), Safari, etc.

I've posted elsewhere in this topic ([https://news.ycombinator.com/item?id=20033057](https://news.ycombinator.com/item?id=20033057)) a way you can test this yourselves. They're badlisting Chromium based Edge, _not_ , as so many seem to assume, using a goodlist of browsers they tested.

I'm sure it's difficult to imagine the "Don't Be Evil" company doing malicious, anti-competitive things, but that's what's happening here, as it's happened many times before. Punishing and deterring Microsoft Edge users is a thing that someone at Google made a conscious decision about. Test it yourselves.

</comment><comment><USER13> Google has one of the best QA in the business.

As one of the Firefox developers said a few weeks ago, Google will keep "accidentally" introducing lots of pointless little changes to create glitches and irritations into the experience when using rival browsers.

It happened savagely to Windows Phone, no one cared. I remember trying to browse Gmail on a Windows Phone it was like going back to the 1993.

It happened to EdgeHTML: youtube videos just simply didn't play on Edge.

And i'm sure this will happen to EdgeChromium. Why? because EdgeChromium is a small threat.

Only a small threat because everyone uses google search and not Bing. And astonishingly in 2019 Google search is still even Microsoft's own sites than Bing... in 2019. So the moment you try EdgeChromium you are confront with that

</comment><comment><USER14> > Ironically, the same page states "We support the latest versions of Chrome, > Firefox, Opera, Safari, and Edge."

it shouldn't be that difficult to understand that the latest version of edge means the latest production version, not the brand new complete overhaul of the browser on a different platform that's currently in preview mode.

<comment><USER15> The completely new overhaul browser should be detected as Chrome, or the new Edg, they had to add code to disable it.

<comment><USER14> The edge preview sends a different user agent string depending on the website. Maybe edge has just started sending a new UA that YouTube doesn't recognize?

</comment></comment></comment><comment><AUTHOR> From [https://twitter.com/gus33000/status/1133402355267977216](https://twitter.com/gus33000/status/1133402355267977216) .js for youtube has html5_vp9_live_blacklist_edge=true Chromium Edge is fully detected and has flags assigned to it [https://t.co/9TLibSDHqS](https://t.co/9TLibSDHqS)

</comment><comment><USER16> Another example to show why we need to get Firefox at least on the 20% market- share... Google is doing with Chrome exactly what Microsoft did with IE...

</comment><comment><USER17> The abuse by the Google Chrome team never ceases to amaze me. I feel trapped on chrome simply because of my reliance on Google drive/docs, which are handicapped on browsers like Firefox.

<comment><USER18> On OSX, Firefox and Google Drive work fine, but Gmail is a whole other kettle of fish. I don't know what UI change they implemented last year or so, but it is nearly unusable on Firefox, from absurdly long load times, to a 2-3 second wait for contextual options to appear when you right click.

Switched to ProtonMail's free tier and will gradually migrate everything there aside from newsletter and software beta signups. Those emails are mostly trash anyway.

<comment><USER19> You can change email forwarding in Gmail to forward everything to the Protonmail. That's how I initially transferred. A year and still changing email addresses, I have a ton of accounts to go.

<comment><USER18> The free tier has 500MB storage, so this gives me a chance to think about what's worth migrating and what's not.

</comment></comment></comment></comment><comment><USER20> Basically Google doesn't allow development build Edge users to browse the preview YouTube?

Doesn't seem like someone at Google hates Edge, just looks like they didn't test their brand new YouTube on every browser yet so just limited it to heavy Chrome users.

Or am I wrong?

<comment><USER21> Edge Preview runs on Chromium

<comment><USER22> I thought it was only "based on" and distinct from Chromium?

<comment><USER15> It uses the Blink web engine, pages themselves will render exactly the same.

</comment></comment></comment></comment><comment><USER23> Almost certainly unintentional. They're likely confused by a new User-Agent string or some feature detection gone wrong.

<comment><USER24> That's almost definitely the case. But there is such a thing as maliciously unintentional, and this seriously keeps happening with every browser that isn't Chrome.

For example; Google is a technically advanced company, so they must have a CI check somewhere in their Youtube release process which confirms that a suite of browser tests pass before a greenlight is given on release. Do you think Chrome is one of the browsers included in this test? Do you think Firefox, Edge, and Safari are as well? Given all of the external evidence we have that they continually break the experience for non-Chrome users, even if they were just oversights.

Maybe Edge released an update that changed a UA string, Youtube is too strict, and it had nothing to do with a new release. Now ask yourself: Is there _any_ chance something like this could happen with Chrome? Of course not; they coordinate and ensure the experience is Perfect on Chrome. Is that less evil, given Google's overwhelming control over the internet?

<comment><USER15> The new useragent has a later Chrome/version, and changed from Edge/version to Edg/version ... in this case Chrome and Edg align. In any case, they'd have had to ADD additional detection to _not_ detect as chrome in this case.

</comment></comment></comment><comment><USER25> Having a whitelist of tested browsers you officially support is understandable.

Having a blacklist of tested browsers you know to be so incompatible that the site is unusable for them would be even better.

But the optimal course would be that if a browser is not on your whitelist, you show a warning but allow the user to decide to give it a try nevertheless and have an option to go back to the degraded but more compatible legacy version of the site.

I understand building your intranet tool to only work in a small range of handpicked browsers or devices. But we're talking about a public video platform by a multi-billion dollar company with billions (well, 1.9 bn last I heard) of monthly active users.

<comment><USER26> The currently agreed best practice is to detect if a feature is supported and gracefully degrade if it isn't. Do this on a feature by feature bases so that users gradually get better experience as they upgrade their browsers.

However, as other comments have pointed out, feature detection is not always optimal—or even possible—so a whitelist is sometimes needed. This is where YouTube fails. It wrongly doesn't add the new Chromium based Edge browser to their whitelist. And even then the site doesn't progressively enhance as it detects supported features.

</comment></comment><comment><USER27> Good old google [https://twitter.com/johnath/status/1116871237240852480](https://twitter.com/johnath/status/1116871237240852480)

</comment><comment><USER28> [https://files.catbox.moe/8a4psl.jpeg](https://files.catbox.moe/8a4psl.jpeg)

Wonder if they see the irony of blocking adblockers.

<comment><USER29> They're not blocking adblockers, they're blocking users (or browsers) who use adblockers. I don't see it as irony, they're just trying to protect their revenue stream, which I think is fair game, they're free to decide if they want to serve the data to some client or not.

</comment></comment><comment><USER30> > randomly disabled the modern YouTube experience

Sounds like an experiment designed to measure the effect of the new version vs. old version for the new browser.

> it's very odd that Google would prevent users... from using the modern > YouTube experience

Not odd; experimentation is very common.

> This is most likely an error on Google's part

More likely author doesn't understand what they're talking about.

</comment><comment><USER15> It's really time for Anti-Trust regulators to start looking into Google, YouTube, Facebook and Twitter already.

<comment><USER31> Why on earth is Twitter on this list? Including YouTube and Facebook is already questionable, but Twitter? Anti-trust? What?

</comment></comment><comment><USER32> This is the fifth or so site that Google has broken for Chromium Edge in the past month. It's clearly no coincidence - it's the same constant stream of "oops" that plagues Mozilla, never ending "teehee we don't support beta browsers (while working fine with chrome canary)" or "teehee accidental UA detection mistake (when Microsoft specifically made the new Edge user agent different from the old)" incidents.

Microsoft should make the new Edge pretend to be Chrome, full time. Just never mention Edge or Edg or Microsoft in the UA at all.

I'm sure they can tell Netflix to detect their fancy 4K DRM differently. Of course that can be used to detect new Edge still, but then at least it's just that much harder to say "oops" when you have to go out of your way to detect a specific feature.

</comment><comment><USER19> This is really ugly in terms of practice (get MS to use Chromium and then blacklist them from new YouTube) but I specifically disable the polymer (new) YouTube theme. It makes it look bloated. Some features aren't even available in new YouTube. Only downside is no dark theme.

</comment><comment><USER33> I am using Version 184.108.40.206 (Official build) dev (64-bit). I can watch YouTube videos no problem. Chat does not work. In my opinion: YoueTube, please disable chat for all browsers. It is a useless feature that causes problems. Thank you.

<comment><USER31> Chat on YouTube is incredibly important. Maybe you don't see value in it, but it's integral to the community feel of the site.

</comment></comment><comment><USER34> Update from YouTube:

"We're aware that users of a preview version of Chromium-based Edge are being redirected to the old version of YouTube. We're working to address this issue. We're committed to supporting YouTube on Edge and apologize for any inconvenience this may be causing"

[https://www.bleepingcomputer.com/news/google/google-says- the...](https://www.bleepingcomputer.com/news/google/google-says-they-are- committed-to-supporting-youtube-on-edge/)

</comment><comment><USER35> Shame I don't have the screenshot anymore, but Facebook used to actually blacklist links2. Changing the user agent to a random sequence of expletives allowed me to view the content...

</comment><comment><USER36> Many here claim that this is just an innocent mistake by the Youtube team. If it is, it will be corrected. I'm going to set myself a reminder to revisit this story 6 weeks from now. If you send an email address to the email address in my HN profile, I will send you exactly _one_ email 6 weeks from now describing briefly what I found out about the evolution of this story over the next 6 weeks, then delete your email address from my records.

</comment><comment><USER37> I'm going to assume this is accidental, not intentional.

<comment><USER38> This is what Google is counting on, former Mozilla exec has a strong take on Google's constant use of "Oops": [https://www.zdnet.com/article/former- mozilla-exec-google-has...](https://www.zdnet.com/article/former-mozilla-exec- google-has-sabotaged-firefox-for-years/)

To me, this story (and the previous ones about all of the other Google apps breaking for new Edge, despite being Chromium, and not an issue for almost any other company on the web), is going to show Microsoft what happens when they get in bed with a scorpion.

Switching to Google technologies is almost always a mistake.

<comment><USER39> How would continuing to use their own browser engine have helped them in any way? You imply that other options would have better outcomes for Microsoft without having thought through what they would be.

</comment></comment></comment><comment><USER40> Of course this is all an accident and Google will later promise to change their workflow to ensure it never happens again (until next week).

<comment><USER41> At what point does a company consistently make enough "mistakes" that you just take them at their word that they are incompetent and stop trusting them?

<comment><USER40> Obviously not before they have completely taken over the market with no effective recourse remaining!

</comment></comment></comment><comment><USER7> The polymer UI does seem to work perfectly if you set the user-agent to Chrome Windows in devtools -> network conditions.

<comment><USER42> I'm surprised Google still uses useragent parsing for browser detection.

<comment><USER43> Everyone still uses browser detection. There's no other way to determine a specific rendering engine, feature detection solves a whole different set of problems, it doesn't solve for rendering quirks. In this case the browser is unknown, so they use the most compatible version of the page.

<comment><USER44> If by "the most compatible version of the page" you mean they deny access, you have an unusually generous definition of compatibility :)

<comment><USER43> It doesn't deny access. I just tested it, it just gives you a version of YT with fewer features and a dated UI.

</comment></comment></comment></comment></comment><comment><USER42> I wonder if they are using browser detection instead of feature detection. I don't know when YouTube started feeling so sloppy with it's coding (Gmail has also started feeling this way as it went very JS heavy). I am sightly biased against most JS in the presentation layer

<comment><USER45> It didn't help that much of Google went all-in on Polymer when it was originally built on standards that nobody else was interested in implementing, ensuring that non-Chrome browsers got a laggy polyfilled experience. It remains an awful framework, and YouTube's tooling has been incredibly slow since migrating.

</comment></comment><comment><USER46> This appears to be a simple user agent issue. I doubt this was intentional and/or conspiratorial.

</comment><comment><USER47> I spoofed my user agent as chrome, and it works fine. I'm using the latest Edge Canary

<comment><USER48> This kind of shenanigan is why everyone should have a user-agent spoofer on their browser. I even think Firefox should ship with it natively.

Far too many sites ban non-Chromium (sometimes even non-Chrome) browsers.

</comment></comment><comment><USER49> The irony that Microsoft sold out the web and jumped into bed with Chromium because they didn't want to fix their video playback, only to have YouTube kick their new browser back to a worse experience is beyond amazing on this.

</comment><comment><USER50> I am surprised we still rely on browser agent, if HTTP2 is supported on the client side, i'd consider that as a modern browser and the rest can be done in javascript.

</comment><comment><USER51> Isn't this obviously anti-competitive?

</comment><comment><USER52> Google has a track record of "uuups, it wasn't intentional" issues.

</comment><comment><USER53> Looks like a new browser war is beginning.. I wonder if Brave can work with it

</comment><comment><USER54> I hate this, though it is a kind of poetic justice for the way Windows 10 fights tooth and nail to keep you from switching your default browser away from Edge.

<comment><USER55> What exactly do you mean by "fights tooth and nail"? I had to reinstall my laptop a few months ago, and the experience was "navigate to Firefox download site, download, install, set default browser"... Same as it has ever been.

<comment><USER25> Off the top of my head:

* when switching default browsers, Windows suggests you give Edge a try instead

* at some point I got a Windows notification suggesting that I try Edge instead of the browser I was using

IIRC they used to nag users more in the past but I think the notification I got also included an option to not be reminded again.

<comment><USER56> Literally every Google website tries to get me to download Chrome whenever I use firefox or ie. Every. Single. Time.

2 attempts from Microsoft... not so bad.

<comment><USER25> I agree that two attempts isn't so bad. I think most users are upset because the notifications happened a lot more frequently in the past and using notifications from the OS for ads comes across as pretty slimy (because you only expect the OS to tell you when something important happens).

<comment><USER41> iOS, at least, sends just as many "Tips" notifications that also border on being ads for Apple and trusted third party applications, and I've never seen anyone near as harshly complain about "ads in iOS".

</comment></comment></comment></comment></comment></comment><comment><USER57> They have been doing this to Firefox and Edge for ages. See [https://www.theverge.com/2018/12/19/18148736/google- youtube-...](https://www.theverge.com/2018/12/19/18148736/google-youtube- microsoft-edge-intern-claims)

And check out the embedded links to similar accusations by the Firefox CEO among others. It's hard to believe this isn't intentional.

What's hilarious is that the new Edge IS essentially Chrome, making their BS more obvious than before. Chrome is the new IE</comment>


Apple launched a website to prove the App Store isn't a monopoly - <AUTHOR> https://www.cnbc.com/2019/05/29/apple-launched-a-website-to-prove-the-app-store-isnt-a-monopoly.html <comment><USER2> "84% of apps are free, and developers pay nothing to Apple.

Like any fair marketplace, developers decide what they want to charge from a set of price tiers. We only collect a commission from developers when a digital good or service is delivered through an app."

I believe it is 99 USD per membership year to have apps in the app store.

Not exactly what I consider to be nothing.</comment>


Show HN: Solid, a free and MIT licensed design system / UI kit for Bootstrap 4 - <AUTHOR> https://docs.vantage-design.com/solid/demo/ <comment><USER2> The fact that even the header parallax is janky on a laptop, not to mention a phone, doesn't instill the feeling that this is built sturdily. Looks aren't worth much if the page is laggy even with what's essentially static content. As another example, when ticking a box for the first time, there's a visible delay on state transitions. Toggling back and forth after that doesn't seem to be an issue. The crosses in badge removal look off, the corners are doubled as if there's two icons overlaid with a small position difference. The links in the site footer are practically unreadable with dark purple on a dark gray background.

Don't get me wrong, I don't mean to put your work down. Building a whole UI library from scratch is far from being a small feat and making it open source is definitely admirable. At the moment it feels like it could use some polish, though.

<comment><AUTHOR> Thanks for your feedback. It's really weird though because for me on a laptop, everything is butter smooth. Even the parallax in the header. So I wouldn't know where those performance issues originate from. Would you know a way to troubleshoot these and solve them? It's mostly pure Bootstrap CSS with the addition of CSS animations. Nothing fancy or strange. Except for the parallax, but that's another story. Inputs and dropdowns should all be very smooth and reacting instantly.

<comment><USER3> FYI: I'm having the same problems. Especially the click effect on buttons is really laggy (Testing on Chrome). That's really annoying as you see it all the time.

Having a 2017 MacBook Pro, 2,9GHz I9, 16GB RAM and an Radeon with 4GB. So my Hardware shouldn't be the Problem. Maybe some Chrome/MacOSX Bug?

<comment><AUTHOR> Could be it, I'm on a i7-4770K with Win10 and Firefox and no lag at all anywhere.

I don't have a Mac so I can't test it on MacOS I'm afraid..

</comment></comment></comment></comment><comment><USER4> Looks nice!

Some feedback: if I saw those disabled buttons without an active button next to it, I would have no idea they are disabled and would wonder why the button isn't working. I recommend using gray for disabled, instead of just a lighter color scheme.

<comment><AUTHOR> Thank you! Appreciate that feedback, I'll look into that. Sounds like it might be a good tweak to the styling. However, I also like it when a button, even when disabled, may still convey meaning of success, for example. So that I know that I want that button to become 'active'. At least, that's my view on it.

<comment><USER5> Perhaps keep a border color.

</comment></comment></comment><comment><USER6> Feels really sluggish on mobile. There's a noticeable delay when interacting with components. It's easiest to see with the dropdown but seems to apply to all of them. I tried both Brave and Chrome, using a Pixel 3A.

<comment><USER7> Same on this Pixel 4. Feels like maybe a 200-300ms delay before any animation is triggered

<comment><AUTHOR> Could you check how it is now? (With a cleared cache :) )

</comment></comment></comment><comment><USER8> Looks very nice. Bootstrap and material design were married before in mdbootstrap. Don't really understand the choices for pro items (some very basic components are part of the pro package). I would personally not use it because it's not a drop-in replacement for Bootstrap currently (so I could validate its usefulness) and then decide whether to buy or not

<comment><AUTHOR> Thanks!

I agree, and this was done intentionally. The free version offers a solid and complete foundation for most projects. The pro version offers that extra edge of functionality, along with templates for sections and pages.

Think of the free version like a demo, but not crippled in functions like most demo's, and the pro version being the full swiss army knife toolkit for your project.

What do you mean with not a drop-in replacement for Bootstrap? It builds upon and extends Bootstrap, so it could replace it (as it includes it) and has more to offer (selects, tags, better carousels, etc.). You could try out the free version and see if it is up to your requirements, and buy the pro version if you want the extra functions.

You're welcome to email me or join my Slack to have a chat, both links can be found at the bottom of every page on the main website :)

</comment></comment><comment><USER9> Bug: "A beautiful design system powered by Bootstrap 4. by Vantage Design" has a higher z-index than the block beneath it so it floats above it.

<comment><AUTHOR> Yep, I am aware of that. Going to fix it asap! Thanks :) EDIT: it's fixed!

<comment><USER10> Also a typo in "SUCESS".

<comment><AUTHOR> Fixed, thank you! Kinda ashamed of all these spelling errors.. lol

</comment></comment></comment></comment><comment><USER11> That bright green looks quite strong in pair with white text. Have you tried to run your colour palette on a tool like [https://medialab.github.io/iwanthue/](https://medialab.github.io/iwanthue/) and see how they score on the accessibility axis ?

<comment><AUTHOR> Yes, I have looked at the WebAim WAVE accessibility report and that's something I'm going to address with an update soon. Though, I do not believe all contrast issues are a huge problem in all cases. Thanks for that link, will check it out!

</comment></comment><comment><USER12> On the Download/Buy page, there's no good indication of bundle sizes or dependencies, nor do I see it obviously in the docs.

Bundle size and sub-dependencies is something really important to me when I choose tools and it's part of why I really like Spectre and Skeleton.

<comment><AUTHOR> Fair point, I'll try to include that on the page! Thanks for your feedback :)

</comment></comment><comment><USER13> Nice work! Is the orange outline on the left/right carousel (once you click, near "gradient controls") meant to be there? See: [https://imgur.com/a/bEawxZz](https://imgur.com/a/bEawxZz)

<comment><AUTHOR> Thanks! Nope, it's not. And I've never seen it before so I don't know where it could come from. What browser are you using?

<comment><USER13> Android/Chrome 81.0.x

You do have to click on either the left or right arrow to see it.

<comment><AUTHOR> Okay thanks I'm going to check it out. I think some browsers add an outline to indicate it being selected, it might be that. I believe Firefox has a slightly visible dotted line around each element.

<comment><USER13> Also happens on current Chrome on Windows, though it's blue. Adding "outline: none;" to the below button element fixes it.

      <button type="button" class="slick-prev slick-arrow has-ripple"">...</button>

<comment><AUTHOR> Okay I'll see if I can apply that fix in a future update, thanks! It's probably a Chrome specific thing then.

</comment></comment></comment></comment></comment></comment><comment><USER14> I like it! Only issue I have though are some less than accessible design decisions. A lot of them could be fixed based on implementation (including `for` in the labels), and including a label with the select dropdown, but other than that I like it.

<comment><AUTHOR> Thanks! Will definitely take that into account and fix that. I plan on making it more accessible in the next update, including some screen reader only labels and such.

</comment></comment><comment><USER15> While I'm fully supportive of making a choice to not use current trendy frameworks... putting out a jQuery-based design system in 2020 doesn't feel like it is going to find a large target audience.

<comment><USER16> Maybe not the big, funded websites. But I'm sure a lot of people doing small, static-y websites for MVPs, personal websites, or small products will use JQuery for a long time to come. JQuery is a no-brainer for anyone with small website with limited interactivity.

JQuery is like the PHP of front-end - inexpensive to build with, easy to use and loads of information available on stackoverflow.

<comment><USER17> Unfortunately I couldn't disagree more. You do not really need JQuery any more, as JS has matured. I just see it as wasted loading time.

<comment><USER16> I agree with your opinion that you do not 'need' JQuery. I'm saying that people will use it nevertheless, even if better alternatives are available.

</comment></comment></comment></comment><comment><USER18> Looks nice, but how is this _" free and MIT licensed"_?

\- 50% of components are in a pro-version, which is not free

\- [1] The license in the Github repository is not MIT

Isn't this super misleading? Or am I missing something?

[1] [https://github.com/vantagedesign/solid-design- system/blob/ma...](https://github.com/vantagedesign/solid-design- system/blob/master/LICENSE.md)

<comment><AUTHOR> The license in the repo is a mistake and should be fixed soon. I probably mixed up the files. But yeah, the standard free part of the design system already offers a lot and is fully open source and MIT licensed. If you feel like there's not enough free stuff in there for you, then I'm sorry but thats up to you :)

<comment><USER18> Fair enough good to see the license is corrected.

It's not the fact that there's a pro version, I don't have a problem with that. I just didn't like the way it was marketed to seem like an open-source project. You can't actually sell MIT licensed software _and_ keep it open- source right?

That would defeat the purpose of permissive open-source MIT licenses...

<comment><AUTHOR> I partially agree with you. The demo page is for both the free (open source, MIT license) version and the Pro version. Just for the sake of simplicity and to show that there's more if people want that, but its not forced anywhere.

I might consider making two versions of the demo and documentation, and keeping them separate. I didn't think it would matter. I value your input :)

</comment></comment></comment></comment><comment><AUTHOR> Hi all! I'd love to know what you think of this design system. Feedback is highly appreciated and will be taken into account for future updates!

<comment><USER19> I was a bit confused with the pricing and licenses. All three licenses seemed to be the same price when I added to cart (although it says "from 49€", so I expected the licenses above standard to be more expensive).

I generally found the licensing to be a bit confusing tbh (but that probably due to them all being the same price).

<comment><AUTHOR> They shouldn't be the same price: as soon as you select a license it updates the price. Do you have JavaScript enabled? Perhaps my ecommerce software is a bit wonky in that regard, and I'd love to know more about your situation so I can fix that :)

Did they show the correct price when they were in the cart?

<comment><USER19> Not sure what happened, but it's fixed now.

</comment></comment></comment></comment><comment><USER20> I don't like the "material design" text inputs. Always found them confusing.

<comment><AUTHOR> I personally like them and I think many people do. Nevertheless, I'm curious to what you do like. What would you like to see?

<comment><USER21> I think they've iterated on the design a bit over the years, but my primary criticism is that it can be hard to distinguish that an input is, in fact, an input. I think Google has since changed their design to have a filled background or border, which definitely helps - but this particular implementation doesn't seem to do that (except when the input is disabled, which sort of defeats the point).

There's also a lot of problems around how the placeholders and labels work - particularly in distinguishing them from each other.

<comment><USER22> I think it strongly evokes a line on a paper form, which indicates a place where the user must fill out a field (and fits with the recurring paper metaphor). If I'd never used a computer before, I think I would figure this out based on the context clues.

So while it may not fit current UI paradigms, it might be better? I applaud Material Design for attempting to move things forward in this way.

<comment><USER20> The issue is that the computer screen is not a paper form. You can't just fill out forms wherever you see dotted lines/horizontal rules(hr tags). Unlike paper pages, most of the HTML pages are read only / not content editable.

</comment></comment></comment></comment></comment><comment><USER23> Looks like a neat UI Kit. What are you using for tags and select?

<comment><AUTHOR> Thanks! For tags I'm using "Bootstrap 4 Tags Input", and for select I'm using "bootstrap-select". I've custom styled these plugins to fit them in perfectly with the design language of the system :)

</comment></comment><comment><USER24> The links in the footer are not very visible to me.

<comment><AUTHOR> Thank you for your feedback. I agree, and I plan to fix that in an upcoming update :)

</comment></comment><comment><USER25> Looks nice but typo in "accordion"

<comment><AUTHOR> Oops :) Fixed! Thank you for pointing this out</comment></comment>


Startup Law 101 - What it means to own x% of a company - <AUTHOR> http://www.grellas.com/faq_business_startup_010.html

<comment><USER2> This is a good concept to understand before you start chopping up the company :)

George represents my company TrailBehind.com, and I'd recommend his firm to anyone looking to found a start-up. George's firm deals only with founders (and not VCs), which is not so common a thing in the valley.

He gives good practical advice (like you can read in this article), and the firm bills very fairly and transparently.

</comment><comment><USER3> Great article. Precise and still void of legalese.

Another way to reason about ownership of a company where two founders have 1 million shares each out of 10 million authorized shares goes like this:

The company owns the remaining 8 million shares. So when a founder has N% of the issued shares, he indirectly owns N% of the shares owned by the company (remaining authorized shares), bringing his "effective" shares to 1 + 4 = 5 million. 5 out of 10 million shares, so he owns 50% of the company.</comment>


Dave Morin answers the critics of Path - <AUTHOR> http://techcrunch.com/2010/11/15/dave-morin-on-why-smaller-networks-are-better-and-photo-apps-arent-last-weeks-news-tctv/ <comment><USER2> I just don't like the whole wall-garden, limit sharing thing...

But I'm happy ten walled-garden apps that each work really well for a particular purpose appear. Eventually it will make the model look silly.

I wonder if Facebook will let you import all your friends' Path photos but refuse to let you export your friends' Facebook photos ... and/or vice- versa...

</comment><comment><USER3> cliffs for those of us who don't have flash?

<comment><USER4> In short.

* MacBook Air doesn't do well w/ video calls.

* They did a bunch of research to see how many friends people have and what people wanted from their phones.

* They believe they're different than Instagram or Picplz because their product more-closely maps to how sharing works in the real-world.

* Product uses an asymmetric sharing model, which is new and interesting intended to apply how many people a user is "meant to share with".

* Mid-interview screen-savers popping up are hilarious.

* They spent a lot of time on time on tagging "so people can understand who they're interacting with every day".

* Their value-add is that they let you share things with people that are important to you.

* They're iPhone only for now, but plan to expand to Android & Blackberry.

* In response to question about the number of people they're staffed with, they're proud of the talent they've attracted.

* They believe the work they're doing is really important.

* Silicon Valley is the place to be for innovation.

* Nobody knows how to pronounce February.</comment></comment>


Goat Grazing by Amazon - <AUTHOR> http://www.amazon.com/dp/B00UBYDXXQ/ref=vas_sf_GoatGrazing <comment><USER2> I assumed this was an early April Fools joke, but it appears to be a real service! One of many in their recently-released "home services" platform [http://www.amazon.com/b/ref=dp_bc_3?ie=UTF8&node=10192834011](http://www.amazon.com/b/ref=dp_bc_3?ie=UTF8&node=10192834011)

</comment><comment><USER3> Amazon trying to undercut Google once again: [http://googleblog.blogspot.com/2009/05/mowing-with- goats.htm...](http://googleblog.blogspot.com/2009/05/mowing-with-goats.html)

</comment><comment><USER4> BBC article: Goats fighting America's plant invasion [https://news.ycombinator.com/item?id=8883964](https://news.ycombinator.com/item?id=8883964)

<comment><USER5> This is by far the most relevant comment. I can't count how many times I've seen goats grazing in parks and other public/private property lately. In San Francisco, no less.

</comment></comment><comment><USER6> I'm holding out to see this combined with their drone delivery program.

</comment><comment><USER7> Seems pretty dangerous for the goats. Where I grew up, if you let the goats free graze, they'd just eat mountain laurel, poison themselves, and die...

<comment><USER2> Hence why the page explains in detail that a pro will first be sent to your property to determine if the goats are a good fit there.

</comment></comment><comment><USER8> April fools joke released 1 day early.

<comment><USER9> I don't know if this is a "thing" nationwide. But hiring/renting goats is a fairly common thing in the Seattle area as they will eat back large amounts of difficult to remove brush.

They are particularly useful here because there are large amounts of protected "wetland" scattered throughout the area. This means you aren't legally allowed to bring in heavy machinery to modify the landscape. You are though, allowed to have animals do it for you.

<comment><USER10> +1 not an April Fools joke. I rented a few goats to clear a big section of invasive blackberry in my backyard. Goats are pretty much the only way to get rid of the horrible stuff without nasty chemicals and scratching the hell out of yourself. I'd been battling the blackberry for 10 years. Two weeks of goats over two spring seasons and the stuff hasn't come back.

</comment></comment></comment><comment><USER11> Is there any way to get involved in providing this service? I didn't see any quick links.

<comment><USER11> I contacted them via the "feedback" form and got a call within an hour. This service is apparently offered to the Seattle region only. I wish I had a bunch of goats to go. :)

</comment></comment><comment><USER12> While I was in the army (Bulgaria), one drill-sergeant was bringing his sheep to graze the area where we were situated, thus benefiting on free grass (it was everywhere)... While not a problem in general, there were some cases of ticks and mites spreading.

</comment><comment><USER13> Damm, no providers in my area for this. :-)

</comment><comment><USER14> At last.

</comment><comment><USER15> How fortunate! This service is offered in my ZIP code!

</comment><comment><USER16> Early April fools?

</comment><comment><USER17> The greatest minds of my generation, indeed.

<comment><USER18> This is a lot better than "computational advertising" ([https://web.stanford.edu/class/msande239/](https://web.stanford.edu/class/msande239/)) in my book.

<comment><USER17> Fair enough.</comment></comment></comment>


The best interface is no interface - <AUTHOR> http://www.cooper.com/journal/2012/08/the-best-interface-is-no-interface.html <comment><USER2> I have two criticisms of the article:

1\. Every story is a 'just so' story where the way the system works is exactly the way the user wants the system to work. Great, it's like putting a button front and center on your app and the user wants to push that button and look! It's right there! Awesome. Except I don't want to push that button, I want to push the other button that's now hidden away because the designer is striving for "No UI". The new minimalist interface is now actively fighting me. What if I don't want my car to unlock when I approach it?

2\. Using AI is a "step 2: ???" solution, and the flaw with it is best exemplified by the columnist who bought a pregnancy book for a pregnant friend on Amazon... and now his Amazon suggestion stream is now still filled with baby clothes that are age appropriate for his friend's baby, years later. For every adaptive step the non-interface takes on the basis of past behaviour, it's a step away from future behaviour that's different than past behaviour.

I suppose my criticisms come down to the fact that the article doesn't seem to acknowledge that design trade-offs are a normal part of interface work. It strongly implies there's a hallowed land where every use case is obvious and accounted for and we all just "do". Annoying, in the same way that we all get annoyed when another framework comes along and is in its silver bullet phase where it's the awesomest solution to everything you need it to do.

<comment><USER3> >2\. Using AI is a "step 2: ???" solution, and the flaw with it is best exemplified by the columnist who bought a pregnancy book for a pregnant friend on Amazon

Flaws like this might exist right now, but that's really a "bug". It's a failure on our part (the software designers and engineers) to build a system that _actually_ works _for the human_. So sometimes when we try to make our software smart, it ends up being [maddeningly] stupid. But again, this is only because we don't do our jobs right, not that they _can't be done right_.

So with a little more smarts from us, we could make a system that's a lot more flexible and allow for these sorts of things. We have to acknowledge that a user shouldn't have to fit our system exactly and we should allow for "Buying a friend some baby clothes but not have it think we have a child" cases by being smarter about how the system learns. We need to provide it with better context.

<comment><USER2> Doesn't "provide better context" just push the problem one turtle away? How could I communicate to the website that the item for which I'm shopping is for a friend, not for me, and that I don't want the current actions to figure into future adaptive behaviour? Perhaps a checkbox? But now we're adding interface, which we were trying to eliminate in the first place.

I suggest that this is an intractable problem just because there's a fundamental tension between ease and flexibility. 'Optimize for the common case' always seems like a good idea (and the AI suggestion is just 'allow past history to determine the common case'), but we all have different common cases, and this heuristic helps us not all when we don't want to execute the common case, which is the hardest part of the design problem anyway.

I agree with the idea, generally, that we need to be smarter about how things work for people. I think "No UI" is like "No SQL": An appropriate solution in a certain set of cases, but nothing like a general solution for all.

<comment><USER3> >Doesn't "provide better context" just push the problem one turtle away? How could I communicate to the website that the item for which I'm shopping is for a friend, not for me, and that I don't want the current actions to figure into future adaptive behaviour?

That's part of the implementation, again, I think. It would be silly for the implementation to treat just once instance of a behaviour so seriously. If the user buys it once, but then never shows any interest in such products again, then they should slowly be ranked less and less relevant. If the user instead continued to purchase or look at baby items, then the system could have more certainty of desire in them. Again, it's not just the products themselves, but the behaviour surrounding them. Temporal context is important, too.

I agree fully that just heaping on more interface for "special cases" is a bad idea. We just need to be smarter about...how our software is smart.

</comment></comment></comment></comment><comment><USER4> I found the article somewhat light on useful examples; however the premise is very interesting, so I would like to bring a couple of my own examples to _the table_ :

In a restaurant named "The Herb Farm" in Seattle area you don't pay when you eat, you pay before the dinner, when making a reservation by phone (the menu is prix-fixe). So when you're done eating you just walk out - no waiting for the check, no computing tips, none of that nonsense that should not be part of a pleasant dinner. It's incredibly liberating, in a way I would never understood if I was only _told_ about it.

For another example, when you arrive to the restaurant "Canlis" they help you out of the car, and then you walk right into the place. When you're done eating, you walk right out and your car is already back there. They spot you on the way to the door and reshuffle the cars so that yours is at the front. So you just walk out, get in the car and drive off. As it turned out, searching for a place to park, parking, pocketing the keys etc etc is a huge mental overhead. I only realized that when I was liberated from it. The typical "valet" service actually does nothing for me - there is still overhead of asking for your car, waiting for it to be brought, tipping the valet. Meh.

Both places are charging a pretty penny for their services, so they can afford the "luxury" of good service, including good wages to the employees who make it possible. Sadly, neither does both of these things, which is still an open niche in Seattle dining. But more to the point at hand: where the restaurants make good service at cost of quality labor, computer systems could do the same at cost of good engineering, that is remove unnecessary delays and accidental complexity.

<comment><USER5> Your first example doesn't make sense to me. Why is the restaurant optimizing for the _leaving_ experience? They should be optimizing for the eating experience. Like deciding to get an extra appetizer because the people you're with got one that looks really good. Or deciding to break your diet and get the dessert anyways.

<comment><USER4> It's prix fixe, the dinner consists of 14 courses and lasts over 3 or 4 hours. You don't get to chose food any more than you get to chose music. There's an exception for extra wine (that comes with a bill), but few people take it as what's sever is plentiful and well mar matched.

And there is plenty of interaction with people about food, just none about things that aren't food.

</comment></comment></comment><comment><USER6> While having no interface is a nice idea, I think that there's also something to be said for "Make common things easy, rare things possible." That is, it's great to try to eliminate the need for an interface, but you can't assume or even expect that you'll always succeed, so you have to have an interface anyway.

Also, a lot of famous security vulnerabilities like the fact that Windows will execute things on a memory stick without being asked, are the result people trying for no interface. Having merchants billing you without you consenting seems really, really sketchy and maybe the video addresses this in a way that would satisfy me, but I'm sceptical.

<comment><USER4> Re payments - consider situation where I keep going to the same coffee shop, and I just tell the barista to "add it to my tab" and then drink my coffee and leave. That would be very liberating, and I know the barista personally I would have no problem for them to keep the tab for me, and I would close it weekly or monthly.

Not so crazy now, iz it? If they could make it stretch to a point where I know the business but not the person working there, I'd be fine with it as well. And the system could learn typical usages, and close the tab for me automatically, or bring it up for review if needed.

<comment><USER7> _And the system could learn typical usages, and close the tab for me automatically, or bring it up for review if needed._

This sounds like an awful idea. I don't trust another developer to accurately be able to predict how I use my money.

What if someone needed to pay a bill with that money this week, and then can pay off their tab next week. But your AI decides to pay off the tab, you have no way of getting the money back, and now your house has no power.

Or maybe this is only a system designed for upper middle class people who have floating money to do that with. Seems a bit short sighted to me.

<comment><USER4> Every system is designed to an audience, that's not shortsightness, that's called focus.

</comment></comment></comment></comment><comment><USER8> Minor details aside, this is a spot-on analysis in the grand scheme of things.

Computers should be doing more for us. They're smart, they're good at logic, they can make decisions. It's our job as programmers to make the do more and allow us to do less.

I'm tired of complexity. I don't _want_ a car that has a touch screen—I want one with a knob that's tactile and has a blue-to-red gradient that makes sense and only controls the thing it looks like it controls. I don't want to think about it. I don't want it to take three steps and two cluttered screens.

And if my fridge is going to be smart, I want it to be smart about being a fridge. I want it to do one thing smartly: make things cold. If it's going to do something else smartly, I want it to be relevant to keeping my food, so I don't know, figure out when I need new milk by allowing me to scan the barcode when I buy it. Then how about making it available on my phone so I can answer the age-old question "Do I need to buy milk?" when I'm at the grocery store. That might actually be useful.

But for pete's sake, if it has twitter, I will not buy it.

Computers should simplify our lives. If it adds complexity, screw you, start over and try again.

<comment><USER9> _I don't want a car that has a touch screen_

Hell yes. Whoever decided to put touchscreens into cars deserves the Darwin Award.

We live in a bit of an unfortunate age where perfectly time-tested interfaces are replaced with inferior touch-controls left and right, just because "we can".

This applies even to the canonical application; the phone. It's great how many things we can do on our phones now, but the core feature (telephony) has suffered badly. I can't take a call without looking at it anymore, much less place one. In the winter every incoming call turns into a little challenge (how quickly can I rid of that glove without dropping my precious $600 slab- of-glass onto the icy concrete?)

Rewind to the 1990s. Many people could tap an entire SMS on their Nokia without taking it out of the pocket. We could dial numbers without looking because we knew a contact is "four taps down" in the address book, and the buttons gave us a reassuring "click" when they were pressed.

The industry needs to re-discover tactile feedback and predictable latency as desirable traits. Early androids had a jog-dial (sony) and dedicated camera- buttons (HTC), but they largely disappeared for stupid reasons.

I really can't wait for Apple to re-"invent" physical controls in one of their future models. Perhaps the telephony-experience on our expensive pocket- computers will then finally catch up to what we had 20 years ago...

<comment><USER10> Exactly. Mackie is now making a little audio console that works with your iPad. Plug in your microphones and amps, slide in your iPad, and run it from there. The problem? There's no haptic feedback at all, nor any memorable locations! If a horrible noise starts being emitted, you can't just reach at a known area and slam down a master, you need to make sure you're on the right page on the right mix and then find it, and hope your touch latched.

</comment></comment></comment><comment><USER11> The Google Wallet flow they describe is not correct. All you need to do is have the screen on (not unlocked) and hold the phone near the NFC reader. If you're not recently-authenticated, you need to type your PIN. That's it.

You do not need to unlock your phone or navigate to the Wallet app, and you don't need to select the credit card to use at payment time. Also worth noting is that tap-and-pay works even without a data connection.

The real lessons to learn from this are: people are paranoid about paying for things ("how will my phone know to make a payment if I'm not in the app?"), and people don't read documentation (the first few times you use Wallet, it's explained exactly how you make a payment).

One last thing to think about: creepiness. As a society, we have the technology to predict exactly what you are going to buy and when, and we can use cameras to recognize your face. So if you usually buy a latte every morning, the coffee shop could just make it in advance, and you could walk into the store and pick it up. The security tape would see your face picking up your coffee, and automatically deduct the money from your account. But I'm guessing that the HN crowd, despite their desire for convenience and technology, would _hate_ that for privacy concerns. Do you really want your coffee shop tracking your every move? Who will they share that information with?

(Why is the complete lack of an interface creepy? Because nothing else we do is completely lacking in interface; usually you do something to get a result -- doing nothing to get the same result is weird.)

<comment><USER12> There is no need for the creepy camera - this can be done with Bluetooth 4 + geolocation (like Square does).

<comment><USER11> Everyone has a face. Not everyone has a phone with Bluetooth 4, a full battery, and a location fix.

(There's a reason why we carry around plastic cards for paying with things. They're cheap and simple.)

</comment></comment></comment><comment><USER13> This is a well-trod point, but one that's always good to be reminded of. A similar argument is made in The Design of Everyday Things - if your interface needs an instruction manual, even if it's only one word (for instance the word "pull" on a door) then the interface is not doing its job.

I'd highly recommend DOET for anyone interested in this sort of thing.

</comment><comment><USER14> Worst interface is one that's trying to learn about my habits without having a broader knowledge about my personality and the world as a whole. I don't want my axe to adapt to my hand and to my way of using it. Most of all I want my axe to be reliably predictable.

So no, thank you, no self-learning climate control systems, microwaves or lawn mowers.

<comment><USER15> Wouldn't you want to own a Roombamower that could automatically mow your lawn after a few times around manually? Or a microwave that could recognize types of food with an internal camera, and suggest optimal cooking times based on total times you've done in the past?

Maybe you'd rather stick with what you're comfortable with right now, but don't count out great ideas that you might not have thought of yet.

<comment><USER16> The problem with interfaces that learn from user behaviour is that they have to be almost perfect to be usable.

Simple, predictable interfaces that the user can understand and control are okay. Self-learning interfaces that do what the user wants are okay. But there is a gap between the two with poor (and even good but imperfect) learning interfaces.

A microwave that sets the timer itself would be great - unless it accidentally sets 5% of the meals on fire. Even a small failure rate is very frustrating, as the user cannot accurately predict and control their behaviour.

(It might be fine for a microwave - you can see that 20 minutes for a pack of popcorn is wrong, and cancel - but the same issues appear in many other interfaces.)

<comment><USER17> "The problem with interfaces that learn from user behaviour is that they have to be almost perfect to be usable."

You listed some practical engineering issues.

I can list numerous psychological issues, such as anxiety knowing the failure rate will probably be much worse than mine, the anxiety of not knowing how much extra time I'll have to spend on rework. Uncontrollable failure is stressful. Then there are more attitude level issues with being active "I'm making popcorn" vs passive "The microwave is making popcorn". This is before we get started with complacency "The microwave is really smart, so I'll let my kids use it. Whoops house burned down after 20 minute popcorn setting ... Guess I should feel guilty, or someone should anyway"

</comment></comment></comment></comment><comment><USER18> Is that list of steps to use Google Wallet in this article correct? If so, that wasn't the promise of NFC at all! I have an Android phone on which I use the legacy Japanese NFC system which doesn't require waking up the phone at all (it even works if the battery is depleted).

He says that tapping a device against another one is undesirable, but I think people like that kind of "I have to do _this_ for money to disappear out of my account" reassurance.

<comment><USER19> I can picture it now :D

Me: "This isn't what I ordered."

Cashier: "It's what you ordered last time. We went ahead and made it for you. And we also charged your account. Aren't you delighted?"

Me: "But I just wanted a coffee. Now my account is overdrawn, and you just cost me a $35 overdraft fee."

<comment><USER20> Of course the decision point still needs to be maintained - that is, the human should retain the trigger on a predictive transaction unless they explicitly give it up, such as in recurring payments or that XKCD $1 bid bot! :-P

</comment></comment></comment><comment><USER21> While no interface is better, it is not always the simplest or the most utilitarian.

The Mercedes proximity based, keyless entry system is actually a complex digital abstraction over a mechanical key/lock.

Mercedes has to address a bunch of security concerns such as preventing an adversary from sniffing my key information through my jacket pocket, digitally cracking codes, etc. Since the system tries to protect you from locking your key in the car, more technological components need to be thrown into the mix to detect if the key is inside the car. If the driver has to reach into his pocket to turn on the ignition it would defeat the purpose of going "keyless" so presumably the ignition system also gets a few layers of complexity. The cost of whole system would also go up. Repair and maintenance don't sound so appealing either. The whole thing can fail in a lot more ways.

I am not inferring it's a bad idea. It very well might become commoditized technology some time in the future and pave the way for other interesting possibilities.

I prefer utilitarian design which is more concerned with simplicity through and through rather than just minimizing the footprint for the user interface.

</comment><comment><USER22> The title is wrong. I understand how the development community has gotten hung up on the absurd GUIs and CLIs we've had to use but that's not what the word interface means.

        Interface: A point where two systems, subjects, organizations, etc., meet and interact.

A door handle is an interface, a burglar alarm is an interface, etc. The term you're actually looking for is "invisible interface" instead of in-your-way interfaces. But if you wish to have the ability to interact with a system, you cannot remove its interface...

</comment><comment><USER23> One thing that mustn't be over-looked with interfaces that 'learn about your behavior' is they can lock into a 'local maxima' and can be difficult to retrain without resetting to factory defaults. - If your lifestyle changes, can the interface keep up?

<comment><USER3> That could happen, but really that would be a "bug", not an inherent problem with the design. That would be the developer's job to fix.

<comment><USER23> I disagree that this would be a bug. It's a design flaw that cannot be corrected by fixing bugs.

It's analogous to security flaws. If there is a flaw in the design, no amount of bug fixing will make the system secure, unless that 'bug fixing' changes the design.

<comment><USER3> Can you explain why you think it's an inherent flaw in the design?

The way I look at it is, yes the software should keep a history of user behaviour and base its actions off that, but there _must_ be feedback involved, either explicit or implicit. This way, if I gave some input to the system once but then never did so again, the likelyhood that one event should affect the future would diminish over time.

There could be trickiness around "Bubbles" (like a Search bubble, where it only recommends to you things it thinks you'd like, and _never_ shows you other things). I think those are problematic and should be dealt with. But I don't think that means it's impossible to fix. It's just something that needs to be thought through. I don't have an answer for it right now but that doesn't mean there isn't an answer.

<comment><USER23> > It's just something that needs to be thought through.

Your statement is what I mean. "Thinking things through" should be done during design. Once you have built system, its much harder to compensate for design flaws.

Programming is not designing. Designing is not programming. Fixing bugs is not designing.

You have to design into the UI system a means for it to compensate for changes in user behavior. You don't want a system that takes many uses to train. At the same time you don't want a system that is trained by a single use. For me this is the crux of the problem.

The happy medium that automatically detects deviations from a user's 'normal' behavior _and_ takes the correct action is very hard to design, as it involves AI fuzzy logic.

<comment><USER3> >Your statement is what I mean. "Thinking things through" should be done during design. Once you have built system, its much harder to compensate for design flaws.

I agree with this fully. This is something that would need to be solved before building such a system.

A great example of a system which learns from history, but which also supports _changes_ in behaviour is: [http://worrydream.com/MagicInk/#engineering_inference_from_h...](http://worrydream.com/MagicInk/#engineering_inference_from_history)

The linked example is specific to one application, but he continues to detail what he thinks would make for a general solution.

</comment></comment></comment></comment></comment></comment><comment><USER3> This whole thing sounds an awful lot like Bret Victor's "Magic Ink" paper (that's a compliment): <http://worrydream.com/MagicInk>

If you like the ideas in the OP, you owe it to yourself to chew through Bret's paper. A lot of the same ideas, expanded and thought through.

</comment><comment><USER24> The best interface is hiding all the steps of a complex process and saying you did away with the interface.

No steps = easy to debug when it goes wrong. You just point at it and loudly whine: "It's not working!" then nobody fixes it because all the back end is "magic".

<comment><USER25> One things that came to mind when reading your comment was some of my frustration using OS X. When an app in OS X or OS X itself stops working you don't get a blue screen or a "this application has crashed" error - it just stops working. Many of my friends would have the false illusion that OS X is much more stable than Windows 7 because they see less error messages.

<comment><USER26> I used to see the "spinning beachball of death" scenario every now and then, but on Lion and a 2011 Macbook Air I haven't once. Occasionally third party applications will exit and there will be a "____ has quit unexpectedly" message with an option to relaunch.

Details are available in logfiles; anyone who has a use for those details most likely knows where to find them. The end user can't do anything with memory addresses, etc. so it makes sense that they don't seem them.

<comment><USER25> Of course, Apple provides the details for those who care to look, just that it hides the information from the everyday user who doesn't want to. This is just a personal opinion, but just failing is probably less scary to the everyday user than being immediately presented with a bunch of error messages/a blue screen error message - even though they might mean the exactly the same thing.

</comment></comment></comment></comment><comment><USER27> As far as ergonomics I always liked the Mercedes door handles better than those of some other cars, where you can only open the door by gripping from underneath. Interface design and ergonomics go hand in hand.

I think the iPhone is a good example with its one button design and size, as opposed to clunkier cellphones with 3 or more buttons.

<comment><USER28> 1\. The iPhone does not have just one button. It has several other buttons at the side, and it has a GUI.

2\. The one-front-button deal is one of the many things I hate about iPhones. The "go back" operation is something we do often on smart phones. I want my phone to have that at the front. I also like trackballs there.

<comment><USER15> I often cite this as one example of how I find the Android interface more efficient and usable. "Go back" applies intuitively to such a broad range of apps, and benefits enough from a constant, ergonomic placement and tactile feedback, that that alone makes a difference in feel.

<comment><USER29> I hate, hate, hate that Android doesn't have a physical "home" button and instead those terrible soft system buttons. First, I pretty much never know which button to hit and what's going to happen. 2nd, they waste valuable space being unnecessarily "always on". And my kids are flat out unable to use my Nexus 7 without constantly accidentally hitting this buttons. Yuck, yuck, yuck.

</comment></comment></comment></comment><comment><USER30> Prior discussion:

<http://news.ycombinator.com/item?id=4616945>

</comment><comment><USER31> Designers often forget about this in their urge to overdesign and show-off. That's probably why you should have a strictly UI/UX person on your team, who can say no and strip the clutter.

</comment><comment><USER17> The problem with "AI" and endusers is we humans are flawed enough to have a large and only semi-effective science and industry focusing on what amounts to interface failures between "intelligences". Abnormal psych, couples counseling, that sort of thing.

True, you do need to worry about the engineering and stats and this might be close to solved for some trivial problems.

Yes you also need to worry about the interactions between AI and "normal" people and this is nowhere near solved even for trivial problems but its been slowly improving for decades.

The biggest problem is debugging interactions between AI and "AB-normal" people. How should the AI react when rubbed up against a OCD person, or a psychopath, or a developmentally disabled enduser?

This I believe to be the fundamental failure mode for AI in enduser products, probably enforced by the greedy legal system. If you ignore the most vulnerable members of the population you knowingly released a product that kills them, thats not going to turn out well. Or you can hyperoptimize it such that your lawnmower is better at dealing with psychopaths than the smartest human, in which case its hyperregulated by the medical system up to unaffordable cost.

</comment><comment><USER32> I don't like the idea of AI and a computer in everything I own. Who stores/owns all that information? It also seems like a completely unnecessary security risk(people spying on you by hacking into your fridge :P).

The solution is a lot simpler, don't make me use a computer for everything. I can open my car with my key, Pay using money(or even a bank or credit card).

Twitter in you're car and Apps on the fridge only exist because of the App hype. I don't think they will last.

</comment><comment><USER33> In other words, the best UI is AI.

<comment><USER34> Reminds me of this: <http://www.youtube.com/watch?v=aXV-yaFmQNk> (A Magazine Is an iPad That Does Not Work)

Not that I disagree, it is just fun to think about possible unintended consequences of dependency on AI for every day tasks. I am sure there are some short stories that deal with people in an advanced civilization losing their automation, but I can't seem to track any down on Google at the moment.

</comment></comment><comment><USER35> [http://www.cooper.com/wp- content/uploads/2012/08/nouisystems...](http://www.cooper.com/wp- content/uploads/2012/08/nouisystems_goldenkrishna.png)

Yeah, right. At some point on that curve the UI would grow arms and make me my favorite breakfast every morning. Objects in the world are innately limited by the causes they have in their origin. An pear tree can only ever produce pears unless what are encoded in its seed are changed.

</comment><comment><USER36> The core thought is of value and basically the direction in which HCI is headed.

Other than that, wow. As a UX designer, I would expect the author to show more critical thinking when evaluating the interfaces like a car dashboard and refrigerator. Put those into context as you conveniently do with interaction patterns like opening car doors and paying with ewallets.

</comment><comment><USER37> From August of this year, but still nice to see this again.

I don't even need to read the blog post. The title says it all. djb wrote about this in the docs for qmail many years ago.

My idea of a great "user experience":

I switched it on/started it up, it did what it's supposed to do, in a predictable span of time, without asking me questions or requiring me to fiddle with anything.

</comment><comment><USER38> My response to the article: [http://wireframes.linowski.ca/2012/12/calling- your-bull-the-...](http://wireframes.linowski.ca/2012/12/calling-your-bull- the-best-interface-is-no-interface/) I think it's stretched. Interfaces still have good characteristics.

</comment><comment><USER39> Do not underestimate the power of the command line.

</comment><comment><USER40> Tiny point: the article incorrectly implies chkntfs and atmadm were original early 1980's DOS commands, but they were circa 1990's.

<comment><USER41> Not to mention that it equates _all_ CLI's with that horrible, no-tab- completion abomination that was the DOS command prompt. Sure, the commands in UNIX (and variants) were cryptic, but at least you could have real filenames (not that 8.3 nonsense) and do real programming with the shell, pipes, job control, and of course the already mentioned tab-completion. If you don't understand why some people _still_ love the CLI, you probably haven't used a good one, or don't understand the power a good one gives you. DOS CLI was to UNIX CLI what Win95 was to OS/2 multitasking.

</comment></comment><comment><USER42> Good article. Not sure why I feel I already read that stuff somewhere.

</comment><comment><USER43> Lost interest half way..</comment>


Learnability can be undecidable - <AUTHOR> https://www.nature.com/articles/s42256-018-0002-3 <comment><USER2> Discussion on this is already at [https://news.ycombinator.com/item?id=18858724](https://news.ycombinator.com/item?id=18858724)

</comment><comment><USER3> My lawnmower is probably undecidable too. Yet it clearly cuts grass.</comment>