7 ms·
Developer UX at Google
- grabcocque 9y agoGiven the increasingly poor state of some of Google's biggest properties (YouTube is a prime offender, its user experience only ever seems to get worse) I'm obviously surprised to hear this.
- sokoloff 9y agoThe YouTube terribleness is a direct result of trying to monetize the property, not technical incompetence.
- mswift42 9y agoWhat's terrible about YouTube's UX ?
- sokoloff 9y agoCore use case: As a visitor, I want to watch a video that someone linked. The chance that I first want to see a non-skippable video (or video skippable only after 5 seconds) is vanishingly small yet that's what the YouTube UX frequently provides.
- jaymzcampbell 9y agoI know where your coming from because this annoys me when I share videos too, but this is the choice of the video creator. So although YouTube are facilitating it, I'm not sure it's their "fault" if users choose to set a particular ad format (https://support.google.com/youtube/answer/2467968?hl=en-GB https://support.google.com/youtube/answer/2467968?hl=en-GB) - they could have it set to banners instead of skippables for instance.
- kough 9y agoOh that sounds like a bug, you should report it – they'll probably fix it for a HN commenter!
- sokoloff 9y agoSnark noted; my claim was simply that it provides a poor user experience, not that it was unintentional.
- jhasse 9y agoThe comment section for example.
- DanBC 9y agoComments are often toxic, and there doesn't seem to be a way to fix that. It's impossible to know without watching something whether it's full of swearing or homophobic / misogynistic / transphobic hate speech. Ads are not targeted to the actual viewer, but to some combination of regular browser user and main youtube user. this means that children will be shown ads for alcohol or gambling. (note this goes against what Youtube says here about complying with local law: https://support.google.com/adwordspolicy/answer/6012382?hl=en-GB https://support.google.com/adwordspolicy/answer/6012382?hl=e... Note that this is something all ad networks get wrong, and it's likely they're going to see regulation in the uk at some point if they don't fix it.) It's hard to know before clicking a link whether it's sponsored content or not. (in the UK sponsored videos need to be clearly identifiable before the user clicks the link or clicks play. in the US sponsored content needs to be clearly identified). If two people (eg a parent and their child) watch Youtube the recommendations fail hard. If a single person watches youtube the recommendations are pretty poor.
- cheetos 9y agoThe way to fix comments is clear: human moderators. Since this can't br automated (yet), Google doesn't do it.
- iratewizard 9y agoIt's not clear. Human moderators are not the magic pill that fixes everything. Google has taken enough flak for injecting far too much liberal bias into their system and human moderators will only outrage more people. You may see it as righteous when opinions you don't like are swept off of websites you use. Everything is neat, tidy, and non-challenging to you. It's a bit Orwellian to me.
- applecrazy 9y agoGoogle has an automated API in beta to detect toxic comments. I've been playing around with it and it works pretty well and could solve the human moderation problem.
- 9y ago
- virtualized 9y agoWhen I open a video for watching it later, I pause it immediately when I expect the initialization of the player to be finished. The player has a bug that makes it resume playback when the initialization has actually finished in the background. YouTube remembers where you stopped watching a video.. sometimes. Maybe. Usually it just plays from the beginning anyway. The "already seen" marker on a thumbnail is very often missing. Recommendations are awful. Subscriptions have been broken intentionally so that you just see a subset of the new videos. Many YouTubers are warning about this problem. YouTube unsubscribes people randomly from channels and denies that this actually happens. The volume control slider is hidden by default for no reason. The bar with the video controls overlaps the video content for no reason. It could simply be placed below the video and be always visible. The current design only makes sense in fullscreen mode. This is an example for harmful consistency in UI design.
- greggman 9y agoThe chromecast experience is awful for me. I think the assumed I'd only ever have one youtube tab open but that's now how I use youtube. I Ctrl/Cmd Click videos, have lots of window open, want to be able to add and/or control the chromecast youtube playback from all tabs but only one is active and even then it's pretty awful. No way to set the playback position if you've gone off looking for more videos to play back. If you're watching any kind of lectures/ted talks or anything else that you'd like to playback at a faster speed there's no way to do it. it's also super flaky often getting lost/unresponsive. I have to manually disconnect chrome, close all the youtube tabs and start over. Other non-chromecast youtube issues are the fact that it knows everything I've watched but still 5% to 25% of the stuff it's recommending is stuff I've already watched. If they want me to watch more it really needs to be 100% new stuff. The hidden ways to find my own videos or playlists always drive me nuts. Because the UI changes based on width the options disappear. Another minor grievance, playlists with deleted videos don't show the titles. I have playlists with missing videos. I'd like to know what I lost. The name of the deleted video would be super helpful. A major one for me is the volume controls on chromecast. Chromecast is built into my TV (Sony Android). The issue is no device I've ever owned in my life controls the TV volume from the device. Instead at most it controls it's own output level to the TV but the TV itself controls its own volume. So, the Chromecast youtube experience is that the volume control in the webpage directly controls the TV's volume. You can imagine this has woken up my neighbors serval times late at night when it decides to set my TV at full volume
- Sujan 9y agoSo you are mainly unhappy with Chromecast and its integration in Youtube, right?
- eddz 9y agoTo be fair, this post is about Google's UX for developers, which is admittedly very good. The APIs and supporting documentation and guides for many of Google's properties usually do an excellent job at appealing to skill levels that range from beginner to expert.
- fridek 9y agoGoogle has tens of thousands of employees. It's also an incredibly diverse place where all kinds of mindsets manifest in different products and publications.
- yttrium 9y agoFunny this should come up - This past month I've been exploring building web apps using http://www.material-ui.com/ http://www.material-ui.com/. They have some of the best documentation I've ever seen for a front end framework. Easy code examples right in the component that you can play with and then peek at the source code. It makes such a difference to be able to see the output and then quickly look at the source code. Really wonderful development experience.
- pjmlp 9y agoSadly Android developers don't share the same experience. It was required lots of vocal complaints for them to start having any kind of Material Design support on Android libraries.
- leipert 9y agomaterial-ui.com is not an official library by Google.
- yttrium 9y agoCorrect, it's a react wrapper that implements the Material UI guidelines.
- cooervo 9y agoTrue, also there are many items in the Google Design Guidelines that don't have any code example of how to implement them in real life.
- mft_ 9y agoI'm glad that Google is thinking along these lines - as an amateur coder, I often find the UX of some of their products (e.g. AppEngine, YouTube API) terrible, often related to documentation not actually being comprehensive enough. And further, if only the Pandas team would also think about this a little more - surely the most frustrating, least intuitive module I've ever had the misfortune to encounter in Python.
- jrs95 9y agoWhile this is true, I've found the UI for AWS to be much, much worse. And that's across basically all of their products.
- jypepin 9y agoI often joke how google's documentation is the perfect example of documentation written by geniuses / very smart people. Often you find the way the API is designed more complex than it should/could be, and documentation missing to things that might not be so obvious for everyone. Google maps is also a good example of such API that has a stiffer-than-required learning curve imo.
- ernsheong 9y agoAngular 2/4 probably fits in the very smart people category :)
- mjw1007 9y agoI'd expect documentation-only-for-very-smart-people to be complete, correct, and rigorous, but lacking in examples, rationale, and perhaps organisation. That's not at all what I see in the documentation for Google's public libraries and frameworks.
- ThrustVectoring 9y agoThis phenomena seems more like, uhh, forgetting that lots of people haven't built the mental framework that makes things obvious to you. Not sure how else to describe it. Like, it'll just assume a lot of detailed knowledge as just something that everyone easily gets, and the very specific system they built on top of it is the only thing that needs to get documented. For all that I love Datomic, their docs are a particularly egregious example of this, IMO. See: http://docs.datomic.com/query.html http://docs.datomic.com/query.html
- deleted 9y ago[deleted]
- ktta 9y agoThis[1] was linked to in the post. I've been playing around with flutter, and saw a lot of code similar to this. Where is this style from? I've written apps in Java for Android but never encountered such style. The post refers to this as problematic because developers fail to map the code spatially. While I agree, I also find this kind of code very unreadable and unelegant. I'm interested in what others think. Isn't this a part of the UX? It becomes a bit hard for me to maintain proper context with this way of writing code. [1]: https://gist.github.com/anonymous/6dcf061bad914e1a0d18653eda789e65#file-row_column-dart https://gist.github.com/anonymous/6dcf061bad914e1a0d18653eda...
- sethladd 9y ago(disclaimer: I'm on the Flutter team) We're looking at ways to make it easier to glance at and understand Flutter code. Here's one experiment: https://github.com/Dart-Code/Dart-Code/issues/383 https://github.com/Dart-Code/Dart-Code/issues/383 Notice how we're auto-inserting "synthetic" comments to clearly mark the closing parens/brackets. So far, the feedback has been very positive, it helps improve scanning and reading the code. Feedback welcome (via the GitHub issue :)
- ktta 9y agoThat looks a lot better! Thanks for working on these little improvements too.
- ernsheong 9y agoNever heard of Flutter (https://flutter.io/ https://flutter.io/) till now. I hope the project succeeds. I just don't think React Native is the way forward. And native everywhere is just costly for smaller teams/solo devs. All the best to Flutter!
- pmontra 9y agoMy suggestion about the child / children thing: make it more obvious by calling it 'one_child'. Maybe not as beautiful but I guess that > 50% developers don't have English as their native language.
- thibran 9y agoGoogle should do this for regular Android APIs. The frequency you have to look up special-android-things is stunning –> disrupts your flow = very bad There are way too many things you have to keep in your head on Android to get things right (https://developer.android.com/guide/components/images/activity_lifecycle.png https://developer.android.com/guide/components/images/activi...). The approach Google took here - do what ever you want, we won't tell/force you, is pure wrong (I'm a bit exaggerating, but still). Developers wasted millions of hours of dev-time and therefor money to figuring out how to do basic things, like saving application state when the device is rotated or another app comes to foreground (testing state-changes is also complicated). There were complains about how state-saving is handled, but Google ignored them for many many years. Every platform has good and bad points, acknowledged, but not having a clear-line, a way how things should be done, is to me indecisive leadership and a very big mistake I would not have expected from Google. Last AndroidIO things got better with the introduction of so called "Architecture Components" (among other things a SQLite ORM and guide how basic things should be done, finally). I wonder what took them so long.
- ashark 9y agoGoing back and forth between Android's SDK and docs and Apple's for iOS is like alternating between navigating a labyrinth with a floor of hot coals and, somewhere, the howls of wolves, and relaxing in a nice warm bath with a glass of wine and a good book.
- mercer 9y agoAs someone about to take the plunge into mobile development (and slightly leaning towards iOS over Android), I'd love to hear some elaboration on your experiences.
- ashark 9y agoiOS: docs are so good you'll find yourself reading way past what you actually need, just for fun. They're great. APIs generally well thought out. Examples current. Xcode's sometimes frustrating, but not that bad. Worst part's the signing process which remains prone to breaking for mysterious reasons (this is probably less true if you have just one project that's always current, but if you have historical projects that need upkeep and you bounce between different apps it's bad) and I still have to look up again how to get all the parts working if I go more than a few months without messing with it, because I can't seem to keep it in my head. Android: most docs amount to half-assed Javadoc output. Longer-form sections frequently contain bad advice and outdated examples. When the examples aren't outdated they always seem to avoid demonstrating the particular use you need them to, as if by magic. APIs themselves sometimes weirdly bad (see, at least as of ~6 months ago, the Android google maps address search API being significantly worse than the Javascript one). New UI elements are frequently a duct-tape-heavy veneer over existing UI elements that lacks customization you'd expect to exist, unless you resort to reflection, and generally feel like something the summer interns threw together. Support for all that pretty Material UI stuff is laughable. And while I know there isn't an iOS public bugtracker to compare it to and that that's also kind of a bad situation, the Android bugtracker is mostly useful as a source of either comedy or suicidal ideation, depending on your demeanor. You'll learn what I mean if you spend much time with Android. For Android your best bet is to read everything Square (yes, that Square) has written about it, and follow their patterns and use their libraries wherever possible. See: https://github.com/square/flow https://github.com/square/flow https://github.com/square/retrofit https://github.com/square/retrofit https://medium.com/square-corner-blog/simpler-android-apps-with-flow-and-mortar-5beafcd83761 https://medium.com/square-corner-blog/simpler-android-apps-w... and so on.
- enkay 9y agoGoogle has some of the worst UI/UX. For all the other great stuff they do, this is one area where they really shouldn't be teaching others but learning from them. From the barely usable Gsuite admin console to the indecipherable API docs (and developer console), I can't think of a single product where I can intuitively find the setting or option I'm looking for.
- lnanek2 9y agoNot to mention they often miss the most important thing to the developers: what the developers can do with the exposed API. The Google Plus API was super locked down, for example, you could only post actions from your app from some pre-approved list. That's very limiting. If a developer came up with something cool, like say trading cards, there likely wouldn't be a verb for them. Facebook was much better in that you could post anything, but had to go through app approval. I don't think the article's methods would be very good re fixing this since when they asked developers to accomplish goals with the API and tracked them, they already decided what would be written.
- seastonATccs 9y agoAPI access to social media have ruined them.
- wlesieutre 9y agoMaybe it was just my friend group, but I feel like Facebook had a nice period shortly after it switched from profiles to walls, but people actually thought about what they were posting instead of spamming it constantly. Then between the spam from inane facebook games (via the API access you mentioned, I think I have ~100 of these blocked still because of how they gobbled up the whole feed at the time) and now the giant number of content farms, the news feed is attention grabbing yet useless for anything actually social. Someone please steal this idea: - Social network where you get 1 post per day. Text status, link, photo, whatever. - You have a couple of free "bonus posts" each month for when you really want a second post. - Monetize by selling additional posts, but the cost ramps up exponentially. I'm sure it's not destined for facebook-level gajillions of dollars, but there's got to be some market for a sane social network that you can actually keep up with, right? Instagram is working for me right now, but maybe only because I don't know that many people on it. I've tried FB and twitter and basically checked out of both.
- nxc18 9y agoThis is rich coming from Google. If only they put a fraction of the time they put into this into the Android SDK they'd have a much better product.
- V-eHGsd_ 9y agomy favorite google ux story is that the "ux study" behind drive.google.com switching to some weird, pseudo filesystem with double click to open (in a webpage!) was based on a user study with 12, twelve, participants. half of them were not completely dumbfounded by a web page that required you to double click to interact with an element. not completely dumbfounded meant that they either clicked twice initially (2 IIRC), or clicked once, waited fewer than 5 seconds, and then tried double clicking. the big joke, at least while I was there, was that ux for random tools kept changing because they kept hiring ux engineers who needed to change something, anything, just to get promoted.