Tell HN: Come learn how to solve Stripe's Capture The Flag - <AUTHOR> http://www.meetup.com/Stripe/events/54071002/

<comment><USER2> Meh, I got to level 4 but didn't go any further.

Learned a lot, but I'm still not sure if there wasn't a much simpler solution that I missed. Was return-to-libc really required to exploit it, or was I trying to kill a fly with a sledge hammer?

<comment><USER3> Return-to-libc (a.k.a. ret2libc) is usually used to bypass NX-bit / DEP, but NX was disabled for level04 - the solution does not require return-to-libc.

<comment><USER2> But it did have ASLR enabled, right? I didn't get how to bypass that without ret2libc.

I think I'll try again tomorrow morning and see what I missed.

<comment><USER4> On 32-bit machines, you can disable mmap randomization (and thus library randomization) using ulimit -s unlimited.

Also, there's another useful place you can return to that isn't in libc.

</comment></comment></comment></comment><comment><USER3> Nice.. looking forward to the meetup.

In the meantime, if anyone wants tips/tricks or just to chat about it, feel free to contact me (email in my profile). I captured the flag late last last week.

FWIW, Stripe has a campfire room setup for this as well - <http://stripe.com/campfire>.

<comment><USER5> The CTF-specific room we set up is at: <https://stripechat.campfirenow.com/59127>

</comment></comment><comment><USER6> Any chance this would be webcast live or recorded for later viewing?

<comment><USER5> Unfortunately, we won't be webcasting. We will be releasing official solutions at some point however.

<comment><USER7> That's a little bit of a shame. I'm not close enough to make it to the meetup, but I and others would love some way to take part and chat with everyone.

</comment></comment></comment><comment><USER8> You guys should stream this meetup so us east-coasters can watch too.

</comment><comment> CZ-18 I sent an email after I beat it, but never got a response =(

<comment><USER5> We'll be sending out replies within the next week or two. Don't worry, there will be T-shirts for all!

<comment> CZ-18 Awesome, thanks for the update. I was starting to get worried, but I guess it makes sense you're swamped with requests.

</comment></comment></comment><comment> why-el Will the challenge continue on after you guys post the solutions? I have not had enough free time to have a go at it and would like to.

<comment><USER5> We're taking it down on Wednesday at noon PST. We'll probably bring it back sometime in the future though!

</comment></comment><comment><USER9> If only this was Friday instead, I really wish I could make it, sounds like it would be interesting :(

</comment><comment><USER10> Dammit. It starts not 5 hours after I leave SV for Chicago :(

</comment><comment><USER11> I'd sign up in a heartbeat for a meetup like this in NYC.

<comment><USER12> I'm so close on level06. If Real Life(TM) would just stop getting in the way, i'd be done by now :). I guess its going to be another late night...</comment></comment>


Despite privacy outrage, AccuWeather still shares location data with ad firms - <AUTHOR> http://www.zdnet.com/article/accuweather-still-shares-precise-location-with-advertisers-tests-reveal/ <comment><USER2> Classic corporate response. They're sorry because their analytics shows that brand sentiment will increase by x%, and they don't even need to mean it.

Happy customer of Dark Sky here.

<comment><USER3> Dark Sky actually addressed this topic recently with some additional information. Good read.

[https://blog.darksky.net/location- privacy/](https://blog.darksky.net/location-privacy/)

<comment><USER4> Just deleted AccuWeather. I am 100% convinced by the blog post -- but the DarkSky App is unfortunately not available outside USA.

I really wish that the user could selectively switch on or off what permissions an app receives -- Instead of a blanket list of permissions at the install. For instance -- "lie to the App and give location obly within 100m".

<comment><USER5> The problem was actually wifi information (which can be used to infer location) not location. What OS are you using that you can't choose permissions individually for an app? I forget which version of Android got that but it's at least a couple years old at this point. The other benefit being that it installs updates without having to ask for you permission, then when the app needs a permission, it asks you if you want to grant that permission. And you can go to Settings->Apps->[The App]->Permissions to enable/disable them individually later.

</comment></comment></comment></comment><comment><USER6> Yesterday, I uninstalled AccuWeather. This morning, I happily connected a game to Facebook to play with friends. Then I read this article. I'm such a hypocrite.

<comment><USER7> Being a hypocrite dosent make you wrong, or your actions meaningless. After all everyone is responsible in at least a tiny way for most of societies systematic ills, but that dosent mean that speaking out, and acting out against them is stupid, pointless or self defeating.

</comment></comment><comment><USER8> Uninstalling the horeshit is easy, trusting the replacement app is the next problem.

Anyway, there is an easy fix. Both Android and IOS allows you to disable GPS permissions for specific apps. Just disable it and add your home town as favorite. 1. Weather reports aren't _that_ local. 2. You rarely travel frequent enough that this becomes an inconvenience, and if you are traveling that frequent, you are more likely interested in the weather at your next destination rather than current location.

<comment><USER9> Some apps check their permission at each start.

I recently started dating a chinese gal and she insists we communicate through wechat.

At this point, I must have at least 10 chat services on my phone, what's one more ?

Unfortunately, it asks for many permissions at the first startup and checks them everytime.

Also, it displays an annoying popup over the mic icon in order to make me give it that permission too ..

I have just stopped using that app. Unfortunately this kind of issue never gets a lot of attention and I feel like I sound like a tinfoil conspirationist when I explain that I don't want to give my location and contact list to random companies.

<comment><USER10> iOS or Android? On Android, if I tell an app "no" enough times (2?), the system UI offers me a checkbox: "never ask about this again".

Although I suppose the app itself can show "please enable" messages outside of the system UI...

<comment><USER9> I have not checked on iOS but I guess the app has the same behavior there since the 2 platforms privacy models are now pretty similar : At each startup (and also maybe at each screen display, I have not checked that far) the app checks its permissions.

It first displays a full screen splash (already a big nono for a messaging app, these must load quickly) during that time. If it misses either contacts or localization it will ask for these.

Since it checks each time, even if you accept at first and revoke afterward, it will still ask again the next time you use the app (and revoking permissions understandably restarts the app).

Of course you can refuse them permanently but then the app will be stuck on that screen with a popup asking you to activate these permissions.

So far, it is the only messaging app I have seen with such an aggressive approach to critical permissions.

It can also be argued that the app does not need any of these to offer its core feature.

</comment></comment></comment></comment><comment><USER11> If as a user, these types of things anger you, please just stop using the product.

These practices will continue to get worse as long as users put up with it.

<comment><USER12> Then you might as well stop using your smartphone and all 3rd party apps on it.

The vast majority contain SDKs which tattle your whereabouts, contacts and other interesting tidbits to advertising networks.

<comment><USER13> _Then you might as well stop using your smartphone and all 3rd party apps on it._

...Is probably the right answer.

Unfortunately, if you want a phone that actually works these days, you're basically stuck with iOS or Android devices, and all the junk that implies.

If I could buy a modern dumbphone that just works as a phone, with decent components so it has good reception and reliability, and ignore the whole smartphone fiasco altogether, I'd do it in a heartbeat.

<comment><USER14> I do cyagenomod(lineageos) with all the Google stripped out. A terminal, ssh, Firefox mobile, and a YouTube apk with ads stripped. This is why privacy respecting Foss and the four freedoms are important. Eventually people will wake up as the surveillance state becomes more abrasively obvious to even the lay-user.

<comment><USER15> _> and a YouTube apk with ads stripped_

Doesn't the YouTube app still rely on Google Play Services?

Anyway, if you still want to watch YouTube without Google, I'd recommend NewPipe on F-Droid. [0]

It's awesome. You can download videos to local storage for later watching, play music headless in the background, and there are no ads!

[0] [https://f-droid.org/packages/org.schabi.newpipe/](https://f-droid.org/packages/org.schabi.newpipe/)

</comment></comment></comment></comment></comment><comment><USER16> Well, yeah. This is the company that lobbied hard to restrict release of public research (ie NOAA mapping data). Of course they are scum.

</comment><comment><USER17> Although, I like their service - just uninstalled. Peace.

Didn't even realize this was happening until this article. But seriously, we should consider enacting laws against this. For advertising purposes they shouldn't need anything more than a city location. Even then, there should be an option to turn it off.

<comment> hex-m EU GDPR: "Valid consent must be explicit for data collected and the purposes data is used for."

<comment><USER13> But the GDPR doesn't come into effect until May next year.

</comment></comment></comment><comment><USER18> No one ever needed the location feature of weather apps in the first place, we can't even travel fast enough for it to be worth the extra battery consumption. Put a link on your home screen to search "Weather <zip>" in a search engine you're not logged into and make sure your browser isn't sharing it's location. Go someplace new, type in the new zip or, if you don't know the zip, city. Staying for a while? Make a new link on your home screen.

<comment><USER19> best option is to just learn to read metar/taf.

</comment></comment><comment><USER20> What I'm curious about is the best way to test this in other apps - the stock weather app on my phone pulls data from AccuWeather, but do they also have the problem features?

Pretty sure I can monitor what IPs my phone is connecting to with some of the routers I have access to, monitoring the actual packet data itself is a bit more troublesome - and may not be useful if it's encrypted.

</comment><comment><USER21> I have avoided AccuWeather since they worked with Santorum in 2005 to try and avoid "competing" with the NWS.

</comment><comment><USER22> This might be a good time to share what is (in my opinion) the absolute best weather app for iOS: Hello Weather. It's minimal, functional, and beautifully designed.

</comment><comment><USER23> Maybe there needs to be an extra level of compliance for apps that are straight-up. (Like PCI compliance)

Opt-in, but you get a special badge on your App Store listing.

</comment><comment><USER24> Deleting such an app seems like a reasonable solution.

The iPhone has a built-in Weather app, why bother with another that is sharing location data?

<comment><USER25> The iPhone does. The iPad does not. Why Apple hasn't made an official weather app for the iPad yet, I have no clue.

<comment><USER26> Same with the calculator app

</comment></comment></comment><comment><USER27> iOS and Android should offer location precision setting for each app.

If GPS location is: [47.49233343443, 19.05412443234]

Then it should offer to round it [47.5, 19.1] for some apps.

<comment><USER28> Alternatively, the OS could allow you to set your city (or region/state/county perhaps) and just return this as the GPS location for certain apps. i.e. choosing London could return a fixed 51.5073509, -0.1277583 for all users who chose London.

</comment></comment><comment><USER29> Worries me that the request is made with http and the screen cap has some items blacked out.

<comment><USER3> That was just to redact sensitive information.

<comment><USER29> Of course. I am worried that sensitive information is being sent via HTTP.

<comment><USER3> Oh for sure. This ad provider uses plaintext in other apps as well, definitely not good.

</comment></comment></comment></comment><comment><USER30> I really hope this helps drive privacy laws in the US to favor the consumer. Please share these articles with everyone you know.

</comment><comment><USER31> Why not just search "weather _city_ " on Duckduckgo and bookmark the page?

</comment><comment><USER32> Why can't we all use FOSS? Oh yeah, people are greedy...

</comment><comment><USER33> >the cost-per-mile metric for advertisers.

So advertisers pay more the further I travel? Do they factor in MPG and gas prices?

</comment><comment><USER34> I prefer wttr.in</comment>


Why I Quit Using Google - <AUTHOR> https://www.kylepiira.com/2020/01/09/why-i-quit-google/ <comment><USER3> I love that other companies have sustainable alternatives to Google services. But these articles looks more like hype train and doesn't really add any new value for me.

You are not building something new switching from one big corp to another small company that want to become another big company next day.

Probably I'm getting old but I remember times when Google doesn't exists. We had software for files, messages, calls, calendars etc. It was based on different protocols, may be less secure and more naive. But it was ok for these days.

There is life outside of Google, and always was. May be for "millenials" you need to be brave to leave this circle, but I don't getting it. What is so special in using other providers? Is it just... normal?

<comment><USER4> The point of this article is to switch from one Google for a lot of services to a disparate group of providers for same services... if one of the service providers goes away, or is no longer palatable, only the service they provide needs to be relocated.

Google can suspend your account and the 20-30 things you depend on them can go away (or, at least, be unavailable in a customized fashion based on your own data). That's less of a risk if you use different providers for different services.

<comment><USER5> To make matters worse, Google isn't known for their good customer service.

<comment><USER6> This is often repeated, and I believe it... but on the other hand, I've been using google services pretty heavily for over a decade, including some paid services, and I've never _wanted_ customer service from google over all that time. Precisely the thing I like about google services is that their shit works and I don't need help from them to use it.

I suppose there's a risk of account suspension as mentioned above, but I still feel that risk is very low for me, my perception of these incidents that make noise on social media/HN is there is at least semi-shady shenanigans involved that trip spam/fraud/etc. alarms. I don't push those kinds of buttons, and neither do the vast majority of people, so I think this is a non-factor for most.

<comment><USER7> Most people also don't ever need customer service from PayPal, or any company really. The point is that when you do, you're screwed. That's not a worthwhile risk for important services like email. For other things perhaps it is.

And everybody thinks it won't happen to them. Every time there is a PayPal horror story there are comments from people whose business relies on them saying that they don't believe the risk is high and that it won't happen to them.

<comment><USER8> I needed PayPal customer service once cause I got scammed for thousands of dollars.

Customer support was excellent, professional and quick. I got all my money back in 3-4 days.

<comment><USER7> > I got all my money back in 3-4 days.

Sounds like this was as a customer. PayPal are known to have good service for customers; most of the horror stories are as sellers (where getting bad customer service, having your funds frozen or account closed is also a LOT more painful than as a customer since it could sink your business).

<comment><USER8> Yes, it was as a customer. When I sell stuff online, its either cash, bank transfer, or Paypal "as friends", never Paypal "ware or service", because it's super easy for sellers to get scammed by customers.

I think that's a good thing. If you are selling stuff online using PayPal, you should be at least be big enough to afford a lawyer that helps you with PayPal.

As a customer, however, you are often way less protected.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> The same goes for Facebook. My company uses a legimate Business Account to handle ads of our clients. Nothing shady there. Regular SMB ads. More or less a month ago i receive an email the whole account has been blocked due to some violations. Whole freaking account. Without any warnings. We had clear history. And this means essencially you can close your company if you run only FB ads because you can not create another ads account.

Eventually they recovered the account in 48 hours and wrote they are sorry.

But the thing is it does not solve the problem. You can loose your business just by a system mistake in a second.

And it seems like there is always a way out. But there is not always. Really, does a company of a size of a Facebook or Google care about one person or one small business?

I had a Instagram account for 10 years with my photos and fought 6 months to get it back after hacker takeover. Believe me i have tried everything to get it back. And no, there was no way. There is no number you can call to fix it.

Its just so dangerous to have such single points of failure nowadays like Facebook or Google. Both for business and personal use. Its just great to hear a person who was able to remove it.

<comment><USER10> Yes you are so right. Your topic and text (single point of failure) reads for me like a beginning of a whole article. Nowadays there are also new Fintech banks who operate like Google and have only chat and no telephone support. Imagine getting locked out of your bank account (because of a false positive in an Anti Money Laundering AI) and you can reach nobody in time.

<comment><USER9> Exactly. Part of this problem is visible right now with PayPal, one of greatest FinTech projects. AML lockdowns but also disputes. Lately i have read people sell for twice the price just because one of two transations aproximately is a fraud.

</comment></comment></comment><comment><USER11> Has anyone else had experience with getting their Google account suspended? I literally use it for everything in my life, and without it I would probably lose access to a lot. I would change away from Google in a heartbeat but it just seems like too much effort if I can avoid getting my account suspended in the first place.

If anyone has gotten their account suspended, what was it for and how can I avoid it?

<comment><USER12> Several times, several different accounts.

Fortunately Google is (or more accurately, was) simply a convenience for me.

I have not yet fully deactivated the several Gmail accounts I have still standing, though those are largely inactive, and most are strictly associated with specific nyms I'd created (one notably after a primary nym account was suspended).

The best way to avoid having your Google account be suspended is to not have one.

But moving to self-hosting, or increasingly, entirely offline, has been a goal and project of the past few years.

I touch a few Google services directly:

\- Google Scholar: still amongst the best academic search engines I'm aware of.

\- Google Ngram Viewer and Google Trends: quite useful for tracking concepts over time.

\- Google Maps: There are times OpenStreetMap's search simply falls down _even when specifying lat /lon coordinates directly_, Because Reasons. Google Maps is my fallback, but I still rely on it far more than I'd care to.

\- Gmail: Secondary for several accounts.

\- YouTube: still the largest online video hosting service, though alternative interfaces ([https://invidio.us/](https://invidio.us/)) and alternate hosts (both centralised and federated or self-hosted) are increasingly viable. YouTube's UI tweaks and aggressive pre-roll ads over the past several months have been aggressively user-unfriendly.

\- Google Web Search. A very distant second to DuckDuckGo, but still necessary for 1) date-bounded search, 2) getting overall counts of results (occasionally useful), and 3) rare edge-cases where DDG doesn't turn up expected/desired results (GWS is ~50% successful here).

I don't know if it's because I rely so heavily on DDG that I'm influencing its results, but I find that both searches _and content_ that I've posted tends to turn up high-ranked on it. I'm not as aware of this with Google.

<comment><USER13> I like to self-host too, and there is a huge amount of awesome selfhosted [0] software to be had.

Only problem is, you have to be willing to become a moderately good sysadmin and spend your time doing the chores to keep your systems up-to-date. This takes considerable amount of time. Dropping the ball once, and you may find yourself hacked (I had this recently when being slow in updating a nginx reverse proxy).

[0] [https://github.com/awesome-selfhosted/awesome- selfhosted](https://github.com/awesome-selfhosted/awesome-selfhosted)

<comment><USER12> Self-hosting applies more to data. If I've got the bits, I can deploy them (or channel them) elsewhere. If I don't, I'm SOL.

Self-hosted services -- Web, Mail, messaging, etc., -- remains more complicated. I really wish it weren't, I've been watching projects for a decade and more now to make it less so. I'm thinking that this won't happen.

Simply based on skills distribution, some sort of federation or clustering at the level of 1 admin per 100 - 100k users is probably necessary. That's a scope at which regional or interest-based community hosting becomes viable. At the same time, it means thousands to millions of individual service providers, a scope at which at least _some_ mechansisms of mass surveillance (state, capitalist, non-state actor, criminal) become less viable.

Concentration is its own risk.

</comment></comment></comment></comment><comment><USER14> What's reasonable is if you want to avoid using Google services (for whatever reason), then you do not need to be fanatical about it. Move off gradually, one service at a time, and keep using some Google services, if you really must - why not?

<comment><USER15> Because that doesn't feed into the outrage machine and drive clicks.

<comment><USER16> The fact that a company is allowed to amass so much of your digital life but then lock you out with no recourse _should_ cause outrage. It's no different than if your landlord, your bank, or the post office decided one day to lock you out and not even bother to give you an explanation, let alone to give you back your money and property.

We live in a world where services like the ones Google provides aren't just optional, they're critical for so many people. Some have less money in the bank or home than the value of their emails, contacts, media, and whatever else may be stored in Google's systems. Some of those things are priceless.

I agree that it's Google's right to refuse to have/keep you as a user/customer but they should be legally forced to give you back _all_ of your data or at the very least give a generous notice period.

<comment><USER17> Not sure why this is getting downvoted. Having your data confiscated like this is definitely outrageous and should be illegal. Right now we rely on this being bad PR for the company doing it but that's not enough especially for the giants. The user pays for the service by allowing the provider to monetize their data not by forfeiting the right to even get a copy.

I'm actually hoping that some regulation will be put in place to protect users and ensure that they never lose their data.

<comment><USER18> It's because most people in my country (US) are brainwashed, supporting and voting for things against their own self-interests like groveling at the feet of entities like Google. They think the end user, like employees, should have no rights, and are lucky to have what they're given. There's no fight, because it requires less fortitude to craft a story in your mind that the dominant force and apparent way forward (corporate domination) is somehow good, to avoid having to do any real work in fighting the system. It's laziness, intellectual and physical that pervades our society. Yet many of the same people will call the French, "lazy". It's the other way around.

Prudent regulation is necessary, but a strong lobbyist group for programmers such as a union or professional association would hurry that along much faster. Developers are end users too, and would be the most likely source of such a push in today's system. Unfortunately unlike lawyers, dentists and doctors, programmers think they're too smart to get organized.

</comment></comment></comment></comment></comment><comment><USER19> Who can afford for their main email account (gsuite, paid), cloud hosting (if you use it, maybe even for business), means of payment (gpay), backup and storage (drive) to get banned/locked without meaningful support just because you happen to post a comment on a yt video that some googler or algorithm found offensive/non-pc or you happened to log into your account from the wrong IP address, city or continent?

As soon as I started travelling frequently, gmail/google was not longer an option. You can't rely on it. Can't trust it.

That, on top of everything else is a dealbreaker.

<comment><USER20> The logic applies to basically ALL cloud based services.

We had our entire company profile for Indeed disabled because a couple of our ads were commission-based positions - which only became an issue when paused those postings (because they don't care while you're giving them money).

Their appeals process was non-existent, and they turned off everything - <USER2> whole account - so I couldn't even post for an accountant.

Literally all cloud based companies have this danger.

</comment></comment><comment><USER21> I remembered seeing this post on Mastodon, and it turns out this website federates. My response from Mastodon is listed as a comment on this website.

The wonders of ActivityPub...

<comment><USER22> I tried getting into Mastadon a while back but didn't manage to find decent instances to subscribe to. There's just so many! Any advice on where to get started?

<comment><USER23> Hey, I am working on a mastodon aggregator, which can help with exploring instances and figuring out which one to join. It should be launching soon!

[https://mastodonia.club](https://mastodonia.club)

<comment><USER24> I hope you get consent from people and instances before aggregating any data like posts and profiles. This kind of thing is _very_ unpopular on the fediverse if done the wrong way. Meaning without permission.

<comment><USER23> That's a fair point. I am definitely not trying to anger the fediverse community. I just want to make it more discoverable. I was assuming since mastodon instances have public apis, and public "explore" feeds, creating an aggregator was no different than creating a mastodon instance with a different ui. I am also being pretty respectful in terms of how frequently I ping the api. I also include contact information the user-agent that hits the api. I would respect any instances request to stop aggregating.

Also this tool is linked directly in the mastodon documentation [https://mastovue.glitch.me/](https://mastovue.glitch.me/)

</comment></comment></comment></comment></comment><comment><USER25> I haven't used Google for anything but search in years. It just seemed unnecessary. Mail is on Thunderbird connected to an IMAP server. Browser is Firefox. Phone is Android minus all the Google stuff, plus FDroid. Phone mail is K-9 mail. Maps are on ZNavi. Location provider is Mozilla. Software development and docs are on Github. Backups are on iDrive. Videos are uploaded to Vimeo. OS is Ubuntu LTS. Sometimes I use Discord.

A few months back, I switched my default browser to Bing, because Google was returning too many ads above the fold.

No big deal. Just fewer headaches without Google and Microsoft.

<comment><USER26> Bing and Github are Microsoft...

</comment></comment><comment><USER27> Isn't a reasonable solution to pay google for gsuite? It's $50* per year or something? Then the "there's nobody to phone and no appeal and data could just be _gone_" concern goes out the window.

*edit: $6 per month so $72 per year

<comment><USER28> What stops Google from suspending a paid account, assuming they issue a pro- rated refund for anything paid in advance?

<comment><USER29> 24/7 support by phone or email.

<comment> Paul-ish Are you still a customer if you are suspended?

</comment></comment></comment></comment><comment><USER30> Main reason is don't seriously use Google or any social network anymore is because of privacy. They never respect my privacy. OK, i still use their services, but just for non-serious work.

<comment><USER31> It depends, I do not use gmail for personal/private messages just work and login to webpages, I do not use maps or location or assistance on my phone either, but this story still sounds scary because google has many products and a ban on youtube(where they forced people to use google accounts) will lock you out of everything. Part of the solution for this problem would be if you get a ban on Youtube you can still use gmail and the other products. Other part of the solution is to tell people what exactly they did wrong, I sometimes got warnings from Sony that I did something against the TOS and not to do it again but not details what I did (my son plays games on a PS4, I tried to look into the chats he made recently but I could not find anything to explain it so I tried the best I could to explain him to watch his language because he could get locked out the games) and like others said some human support would also help a lot.

</comment></comment><comment><USER32> For those who don't know (I didn't), you can create and download archives of any of your data on Google by visiting [https://takeout.google.com/settings/takeout](https://takeout.google.com/settings/takeout)

<comment><USER33> Just an FYI: if your Takeout archive fails with errors, try creating multiple archives, with only one large service selected per archive.

My photos archive didn't even work that way, I had to create albums and back then up one by one. But it did eventually work.

<comment><USER32> Thanks for the advice

</comment></comment></comment><comment><USER34> Wouldn't it be best for google to allow you to download a takeout of all your files in the case that your account is suspended?

<comment><USER35> They do, and the service is called, drum roll, Google Takeout.

[https://takeout.google.com/settings/takeout](https://takeout.google.com/settings/takeout)

<comment><USER34> I know, but it seems from the author's post that they were just locked out _completely_ with no option to use google takeout to retrieve their photos etc.

<comment><USER36> The assumption is that takeout would not work anymore once you are suspended. So unless you are proactive and takeout your data every day, you will probably lose _some_ data

<comment><USER37> But, according to gdpr, they still _have_ your data even if you're "suspended", so they should make it available to you.

I haven't had a suspended account yet but if google really doesn't let you copy your data under any circumstance, they will have even more fun with the data protection agencies.

<comment><USER38> Google isn't really known for their respect of the GDPR.

</comment></comment></comment></comment></comment></comment><comment><USER32> I have a Google One subscription so I pay Google for storage. Google could suspend my account and I'd have no recourse whatsoever? I'd have no way of getting my 10s of thousands of photos back?

<comment><USER39> I hope you have backups, at the very least.

Yes, most subscriptions generally say in the ToS that the account and all assets may be closed/deleted at the sole discretion of the provider. It's anecdotally rare, but depending on the company (quality of customer service), it may be irreversible, or take a long time to fix.

My personal rule is to never trust a third-party to "protect" my data; there is no such thing in today's market and legal frameworks (unless you have a face-to-face relationship, and even then, _backups_!)

<comment><USER32> Thanks. What's the cheapest or most cost-effective way to backup all my photos? S3?

<comment><USER40> Buy an external hard drive or SSD, download the photos to it, put it in a safe place away from your other computer stuff.

<comment><USER32> That's viable for sure, but one thing I'd like is regular backups of the photos from my phone (where most I take most of my photos). That's the nice thing about Google Photos with Google One - all my stuff is backed up to the cloud regularly. I understand, though, that this comes with some risk.

<comment><USER33> I use Resilio Sync, and have tried SyncThing. Both work.

They both have an app you run in your phone, and a companion app you run on macOS, Windows, Linux, or your NAS, and it syncs (even through a NAT) whatever you've configured to backup on your phone to N servers.

If you're away from home, you can run it on your laptop next to you, so your phone is backed up quickly, and then throughout the day you laptop can sync with your home server while you're out exploring. It's nice.

I have two backups online, and an external drive I rsync to monthly then turn off.

Before you delete your originals in Google Photo, use Takeout to validate the files. Mine (at "original quality") were mangled.

<comment><USER13> What made you move away from Syncthing? I plan to sync my relevant Android dirs (downloads, Markor, photos, etc.) to my laptop and archive.

<comment><USER33> In my setup it was slower and more resource intensive. SyncThing is open source, though.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER41> I've had a problem with trying to sign into my approved AdSense account the past few weeks. "We encountered an error. An engineer is looking into the issue." No way to contact them. I'm done with Google as well. I'm never going to use a service that doesn't provide a way to contact support.

<comment><USER42> I'm somewhat surprised Google hasn't taken the old Microsoft route of just charging per call for support on their free accounts. MS used to be $300 way back IIRC. Google could probably charge $500.

</comment></comment><comment><USER43> While I read other opinions about this article not bringing anything new that we already know, as an Enterprise user this reminds me that the people running Google Cloud is the same that comes from this consumer world or new grads with 0 Enterprise experience, which believe their product is perfect and user is wrong. We just completed an evaluation of AWS, Azure and GCP and our leadership raised this concern...which came true when opening GCP account and support was not as responsive as AWS, or Azure. AWS and Azure I even had real people calling us and contact us to understand our use case...I know GCP is bring more people from Oracle and other companies which can help them change this, in the mean time, we still will.invest in AWS, Azure and IBM

</comment><comment><USER18> I'm not necessarily anti-Google, but only use their services when I consider them best of breed. That's my policy across the board. Gmail in 2004 was as good as it got, then everyone caught up, just lately in 2019 did I find Gmail to have gone beyond the pack again.

The ability to schedule emails in Gmail is something I've missed from Outlook (desktop) for a long time, and it does it serverside unlike the desktop Outlook app.

The downside to Gmail is that the default user experience is pretty poor. You have to enable the preview pane yourself, and if you don't, you also would have to enable the auto opening of the next email after you delete one otherwise it takes you back to the list. Gmail's list of emails has the star on the far left, and all other quick controls on the right. It's pretty absurd.

But if you disable categories and the rest of Google's convoluted ideas, enable the preview pane and set it to the compact layout, I haven't seen a better free webmail today.

I would switch to Outlook.com just to split my email account from Youtube and Google Maps, if Microsoft supported scheduled sends. iCloud.com would be my first choice but they don't have a robust calendar system like Outlook and Gmail (iOS reminders only, no email reminders). Same concern with ProtonMail (I never saw the appeal to FastMail). Hosting my own is a non-starter because I feel with all the competition in webmail that I really shouldn't have to, there are good free services.

</comment><comment><USER44>
      I was deeply embedded in the Google ecosystem ...
      I would upload all of my family photos to Google Photos and all of my personal documents to Google Drive ...
      I used Google Hangouts ...
      My home is covered with Google Homes ...
      I have easily invested thousands of dollars into my Google   ...

Honest question: why should one take advice from someone showing such a systematic pattern of poor judgement?

<comment><USER45> Maybe because just a few short years ago Google was the darling of the internet because search and chrome were better than anything else. People believed the do no evil spin. And back then why wouldn't they?

<comment><USER44> Many of us already saw it differently back then and often had to face ridicule when pointing out concerns with these services.

<comment><USER18> I still do face ridicule. While HN might be a bit behind one of us that was already suspicious of Google, the average developer is still loving Chrome and will look at you like you're a maniac if you breach the topic of ditching the browser.

</comment></comment></comment></comment><comment><USER46> I setup a personal NextCloud instance on a $5 Digital Ocean last year, and along with Fastmail, it replaced all the Google services I've been using. It took about an hour to get up and running, it went through version updates without a hiccup, and never gave me any trouble.

I found it to be completely hassle free, and I can highly recommend it to anybody looking to take back control of their privacy.

<comment><USER47> It's not accurate to imply this is so easy. You're now responsible for your data, security and uptime. That means patching, backups and plenty of ops work.

<comment><USER48> I agree - I've been doing this crap for 20 years, it's not "about an hour". This is an afternoon at the least.

Context: I've done it for myself and others recently.

<comment><USER46> I installed it using Snap and Let's Encrypt using this guide [1], and everything worked out of the box. Been running and upgrading it since without a single issue. ¯\\_(ツ)_/¯

[1] [https://www.digitalocean.com/community/tutorials/how-to- inst...](https://www.digitalocean.com/community/tutorials/how-to-install-and- configure-nextcloud-on-ubuntu-16-04)

</comment></comment></comment></comment><comment><USER49> I get the email thing. And I've actually been moving critical accounts away from my personal Gmail for a while now.

As for the rest, the services I use, I use them because they work better than any of the other options I have tried.

I'll admit that that amounts to as substantial number of services.

<comment><USER50> I think the key here is you have tried the other options, and importantly - you clearly know how to set those other services up if need be. For many if not most people, that would be entering the wild unknown.

<comment><USER49> Fair enough.

</comment></comment></comment><comment><USER51> I also switched to Fastmail too. Its interface is rudimentary similar to Google few years ago. It has full suite of services like calendar, notes, storage...

What I like is its simplicity which Gmail may bloat with too many features. One notable feature of Fastmail is alias: you can create other emails alias to your main account and use that to create different rules. Super handy and convenient. If you worry about encryption, probably ProtonMail is a better choice. For me, Fastmail is good for my usage.

P/s: if you want to sign up for Fastmail, here is my referral link [https://ref.fm/u12211285](https://ref.fm/u12211285)

<comment><USER52> If you're going to plug referral links for credit, may I suggest that you switch to significantly cheaper services that are also privacy focused? You can choose from mailbox.org, mailfence.com, runbox.com, migadu.com, mxroute.com, posteo.de (no own domain support), Tutanota, ProtonMail and many more.

</comment></comment><comment><USER53> "Backups are a tax you pay for the luxury of restore."

Folks, back up your shi^H^Htuff.

</comment><comment><USER32> I'm not entirely clear on what Nextcloud is. Is it meant for teams/organizations? What does the author mean by "Google Contacts → Fastmail → Nextcloud Contacts"?

<comment><USER54> It's somewhat of a one-stop cloud service, only (usually) selfhosted. Many prople use it mainly as Dropbox/One Drive/Google Drive replacement which works great, but depending on what apps you install (some of those might be default apps, others community provided), you get a mastodon client, caldav, carddav, calendar, notes, webmail client, video chat, office document editing, media viewer and other similar stuff. I didn't yet manage to get it working, but there is even a plugin that supports fulltext scan search via tesseract OCR.

All of these things work just as well for teams/orgs (including LDAP/SSO) as they do for a single user

</comment></comment><comment><USER32> I recently switched to Fastmail and I'm very happy. The web and mobile apps are blazing fast and simple. My favorite feature is being able to add unlimited aliases which sends/forwards to whatever address I choose. This has enabled granular control over my inbox as I have receipts@mydomain, bills@mydomain, finance@mydomain, etc. If I want to try some service, I might create an alias. If they end up spamming too much, I can simply delete the alias or apply other rules.

<comment><USER54> I use fastmail with my own domain, so it's always firstname.lastname@example.com. I only need to create aliases if I have to write them so the from/sender is correct. And I love how fast their webmail is compared to the slowness of gmail.

<comment><USER32> I too use it with my own domain. I don't get what you mean you only create aliases if you "have to write them". Can you elaborate?

<comment><USER54> Sorry, "when I have to write an outgoing email to that service"

</comment></comment></comment></comment><comment><USER55> I was considering setting up a Nextcloud instance as a replacement for Google Drive. I did some math and realized that I'll be paying a lot more on that route - 1TB on Lightsail+S3 vs Lightsail+SSD vs Google Drive. The last was by far the cheapest.

Are there ways to bring down this cost? I know some people argue that I could use that host for other self-hosted services to amortize cost but i don't pay monthly recurring fees for a lot of other things (but I do for Google Drive).

<comment><USER56> A little bit more expensive, but IMHO a good compromise considering it's hosted NextCloud is [https://www.hetzner.com/storage/storage- share](https://www.hetzner.com/storage/storage-share)

I've been using it for a few months and my only complaint so far is that you cannot setup your own (sub)domain but get a random one assigned that's IMHO not easy to remember.

</comment></comment><comment><USER57> He's damn lucky.

Today's Google would have suspended all associated accounts.

Right?

</comment><comment><USER58> How does one leave the large corps for things like movies and tv shows? I used google for the longest time and recently switched to apple but i'd love to self host and buy drm free media. i'm guessing people doing this are using p2p or something?

</comment><comment><USER59> I wish OP had gotten to the bottom of why the account got suspended and told us about that.

<comment><USER60> It is completely impossible to answer this question

<comment><USER59> I doubt that. Googling "google customer service" gives me this [https://www.google.com/contact/](https://www.google.com/contact/) How about starting there and telling us what happened? I don't see any mention of any attempt to figure it out.

</comment></comment></comment><comment><USER61> I quit using their search due to their sudden lack of ethics in the last few years. As well as my own disgusting experience I had doing business with them (treated me like garbage when invited to demo my tech. All their competitors I met with around same time were professional/respectful; deal or no deal) and then more so other stories detailing they do the same to others. Upon seeing that I was like wow my experience wasn't fringe it's in their DNA now.

I no longer can support a company whose tagline is "Do No Evil," yet that's exactly what they do!

<comment><USER62> > treated me like garbage when invited to demo my tech

Do tell this story.

<comment><USER61> See the first comment in which I detail my experience with Google ATAP which mirrors the OP's story. She demoed her invention in an interview with them & they patented it without her knowledge/consent.

[https://news.ycombinator.com/item?id=18566929](https://news.ycombinator.com/item?id=18566929)

<comment><USER61> Some other examples of Google (Google X even) stealing from the little guy/girl inventors & researchers...

[https://arstechnica.com/tech-policy/2018/06/inventor-says- go...](https://arstechnica.com/tech-policy/2018/06/inventor-says-google-is- patenting-work-he-put-in-the-public-domain/)

[https://www.theverge.com/2015/2/17/8048779/google-x-eli- atti...](https://www.theverge.com/2015/2/17/8048779/google-x-eli-attia- lawsuit-flux-architecture)

[https://twitter.com/ahandvanish/status/1072953071179874304](https://twitter.com/ahandvanish/status/1072953071179874304)

I've spoken with some of these people and hear there are many more examples yet those people put it behind them or don't want to come out against the biggest tech company. That's too bad as for too long in history those in power and position have stolen from the rightful creators.

</comment></comment></comment></comment><comment><USER63> Google Fi lets me text and call people from my computer if i lose my phone (through Hangouts). Not sure there's a replacement for that.

<comment><USER64> There's also no drop-in replacement for the G-docs suit, nor for google-play of course. Firebase has no alternative.

Google got some pretty useful things up there.

</comment></comment><comment><USER65> I'm glad I never started with Google products in the first place. Except for search and maps, but they aren't tied to an account.

</comment><comment><USER66> Open software does not mean non-proprietary. Free software is what your looking for.</comment>


Octobot - A Low-Latency, Highly Parallel Distributed Task Queue Worker - <AUTHOR> http://octobot.taco.cat

<comment><USER2> This is a good case-study of what to do when building a home page for your project.

1) State what your project is about using language that a reasonably savvy (technology-wise) user can understand, even if unfamiliar with the problem domain. (this site would be better if they linked on "message queue" for those people that don't know what that is.)

2) Eye-catching call to action icons

3) Brief list of most important features

4) Brief high-level view

5) Brief low-level view

6) Some clean and minimalist stats on why you might want to use it

7) Easy to understand links to more info.

I don't know if I will ever need this product... but I'm bookmarking it anyway as an _outstanding_ example of how to introduce people to it. (Except for the swear word. The word "Fucking" is really out of place)

Nice job guys.

<comment><USER3> "Portland Fucking Oregon" is definitely a PDX thing. "We're too cool to not swear" or something. I dig it, but then I live here.

</comment></comment><comment><USER4> The throughput numbers on the chart would have seemed a bit more valid if the task had not included stuffing the result into a protobuf given the notoriously slow performance of the standard python protobuf implementation that would have been used by Celery and PyInvoke. If they wanted to impress, or at least be honest, the data would have stayed in JSON the whole way through the stack and the worker task would have been a simple string manipulation of something similar.

<comment><AUTHOR> Hi there,

The task benchmarked was from a component of our messaging stack at work that I'd ported. My intention was to offer an example of the end-to-end performance of a real-world task that someone might be writing, rather than a sample task that's not much more than a no-op. I'd suggest that this particular one is real-world as it's straight out of one of our applications. I've no intention of trying to be dishonest here - just offering the measurements of my (and our) internal evaluation of the tool for our needs.

While I can't provide the source of the task, I can offer the quick-and-dirty source of the quick little "PyInvoker" I'd whipped up (sorry - didn't realize there was something called PyInvoke at the time). It just takes a message, unpacks the JSON, and uses getattr to call the appropriate task. Nothing fancy like e-mail error notifications, retries, and the like: <https://gist.github.com/18a30689832569d67861>

Anyhow, always and absolutely take any claims regarding the performance of a tool with a massive grain of salt, and try them for yourself to see if they suit your needs. Octobot's not designed to replace background processing in most applications as tools like Celery and DelayedJob (both of which I use myself) are great, a bit easier to write for, and a bit simpler to get up and running, depending on the application and language being used.

There's no intention to have slighted anyone or any other project here. I'm stoked that a lot of tools exist in this space. I just hadn't seen one on the JVM that offered this level of simplicity and parallelism with a bit of restraint when it comes to feature creep. But if you have an application that demands high throughput / low latency execution of tasks, this might be worth evaluating.

<comment><USER5> I'm interested in seing the code/config used to benchark Celery. The default settings are not at all optimized for processing lots of small jobs, and you could easily tweak it to get a 100x speed up for that use case, e.g.:

       CELERYD_PREFETCH_MULTIPLIER = 0
       CELERY_DISABLE_RATE_LIMITS = True

Also, channels are not re-used unless you explicitly pass the Publisher, so e.g.

       publisher = task.get_publisher()
       for i in xrange(1000):
           task.apply_async(args=(i, ), publisher=publisher)
       publisher.close()

is known to be a _massive_ speed-up for sending tasks in batch (it seems the creation of channels is very expensive in pyamqplib).

<comment><USER5> By the way the performance increase you're seeing with the PyInvoker (from your gist) is most likely because it doesn't have prefetch_count enabled.

Celery enables this so a single worker doesn't suck in a million messages at a time, and to balance the work load between available resources. As noted previously it can be disabled.

Btw, octobot looks great, maybe we can share ideas.

<comment><AUTHOR> Right on, thanks Ask! I'm checking out some of this right now and might not be able to get through it all today, but will give it a try. Just shot you a couple messages outside of HN - love to talk when you have a chance!

</comment></comment></comment></comment></comment><comment><USER6> Am I the only one who got really excited upon seeing the domain was octobot.taco.cat, and then very confused when going to www.taco.cat? It seems to be an art gallery in Spanish or something...

I realize this is not germane to the topic, but .cat!? What other really interesting tld's exist that I have never heard about?

<comment><USER7> It really surprised me that they assigned three-letter TLD for Catalan, whereas all other countries have two-letter TLD's.

It happens to be not a country code ([http://en.wikipedia.org/wiki/List_of_Internet_top- level_doma...](http://en.wikipedia.org/wiki/List_of_Internet_top- level_domains#Generic_top-level_domains)), but the generic TLD, alongside the likes of .com and .org, "for Web sites in the Catalan language or related to Catalan culture", the only one of this kind in this category. Go figure.

</comment></comment><comment><USER8> Looks interesting at a glance.

But guys, seriously, make your docs available in HTML format. PDF-only docs are out of fashion since the 90s.

</comment><comment><USER9> Fascinating. The thing I find interesting about this service is that it seems to work seamlessly with multiple queue backends. That would have been really useful at my company, where we completely swapped out our queue server infrastructure. Nice work!

</comment><comment><USER10> Sorry to be the slow one here... What is a Distributed Task Queue Worker? What problem does it solve?

<comment><USER7> Yup. I'm just wrapping my head around the things like RabbitMQ and Redis and I think I understand what those are for. But can someone explain straight: in which case should I want to use this Octobot?

<comment><USER3> Octobot (like Celery, Resque, et al) is a worker, meaning that it takes messages from a queue, such as Rabbit or Redis, and processes that message based on a task that you write. Imagine Octobot being used to create thumbnails for Flickr--a job that _should_ be done asynchronously.

<comment><USER10> Do I have this correctly?

Between a list of actions, and the logic that runs those tasks is Octobot. So in your thumbnail example the problem that would be solved would be something along the lines of:

"I've got this code that can create a thumbnail from a given image and let me know if it succeeded or failed, but how do I run this on my backlog of 10million images? I'd need something that can check my list of incoming images and distribute the jobs over X number of computers. At the end it would be great to know my failure rate, and for those failures not to block my ongoing process of creating thumbnails."

So is Octobot there to provide a method of resource allocation? Or is it more of a monitoring app that checks pass/fail of the jobs?

<comment><USER11> To expand the image resizing example:

Most web gallery requests go like: (ignoring caching)

Browser -> PHP -> Database

When you upload an image you could simply handle it in-line in the server:

Browser -> PHP -> DB -> Resizer

That means the next page refresh is waiting on that resizer to finish which means long page latency to the most latency-sensitive component imaginable (the fickle user).

So you really want that resize to happen asynchronously, i.e. not wait for the result before showing the page. The roll-your-own method is to put a row in the DB that says "Hey I need to be resized" and have a cron job or somesuch that does the resizing:

Browser -> PHP -> DB

Resizer -> DB

This of course puts all the load on the hardest thing to scale (the DB) so you grow out of it fast. Hence message queues. RabbitMQ, ActiveMQ, Redis, etc are all variants of the queue, so now you have:

Browser -> PHP -> DB -> Queue

And the Queue holds all the resizing jobs that need to be done. You could just modify your cronjob to check the Queue instead of the DB of course.

Octobot (and Celery) is a queue runner that connects to that Queue, reads in the jobs that need to be done and runs them. So instead of a cron job you write your resizer in a way that your queue runner understands and the runner will manage some of the plumbing for you.

So you have

Browser -> PHP -> DB -> Queue

Queue -> Octobot -> Resizer ( -> DB to say it's done perhaps.)

Now that you're decoupled you can add more resizers, webservers, distribute them across multiple systems, expand to EC2 to handle overflow load, etc by leveraging what your queue provides.

</comment></comment></comment></comment></comment><comment><USER12> Interesting; I'm looking forward to comparing/contrasting this with my current favorite - Celery (<http://celeryproject.org/>) which supports a variety of backends.

</comment><comment><USER13> I like that it has the capability to be an email queue build in, by supporting SMTP/SSL. Worth installing just for that, since that's the first thing lots of websites want a message queue for.

</comment><comment><USER14> Very interesting. We're currently working on a quick project to test integrating Hazelcast into a distributed server to use as a queue. Did you look at it by any chance? Curious if it was missing something that you needed.

<comment><USER15> From my personal experience with these, Hazelcast seems to be better suited for something like a single worker queue... We had issues when we had thousands of distributed queues on different systems. We ended up going with Terracotta (which handles this well if you work through the lock contention).

This project sounds promising for that kind of application but wont know until I try it out.

<comment><USER14> Sorry for my confusion, so is the problem you experienced one of having thousands of queues that a small number of clients pulled from, or thousands of workers that worked off of a small number of queues?

In our case, we want to be having a very small number of queues that have a high rate of i/o with dozens of reader clients and writer clients.

<comment><USER16> Could you eloborate where you did have problems? We also plan on using a small number of queues having a high rate of readers and clients (e.g. distributed task execution).

</comment></comment></comment></comment><comment><USER17> Interesting, but won't ever use. It also seems that it is just wrapping typical queueing systems, which I would use anyways because this only supports the JVM.

<comment><USER3> This is a worker system that _uses_ queues, not a queue unto itself.

</comment></comment><comment><USER18> Surprised to see it wasn't written in Scala, since Scala shows up before in their list of supported languages and Scala code example also comes first.

</comment><comment><USER19> Sounds like a nice tool. Will definitely give it a try for high work-load statistical data processing.

</comment><comment><USER20> did anyone else have to take a second look at that domain name?

<comment><USER21> tako is japanese for octopus...

<comment><USER20> i was more interested in the _.cat_ tld</comment></comment></comment>


Getting Started with Sinatra, Heroku, and ActiveRecord in 5 minutes - <AUTHOR> http://samuelstern.wordpress.com/2012/11/28/making-a-simple-database-driven-website-with-sinatra-and-heroku/

<comment><AUTHOR> I made this tutorial because I think this is the fastest way to deploy a simple, database-driven app yet I couldn't find any other single guide out there that covered the whole process. If you read it any have any questions or concerns, feel free to contact me.</comment>


Ask HN: Suppose brains follow an optimization function what is that function? - <AUTHOR> <comment><USER2> Minimizing the error between predicted values of future sensory inputs and current outputs of sensors.

Sensors defined here under the broadest-possible abstract umbrella definition of internally hooked-up source of information, such as;

\- am I currently feeling sad

\- did that thing that happened in that memory I am currently remembering really happen that way

\- the mental sensation of trying to regain one's train of thought

</comment><comment><USER3> I don't have expertise at all in that area, but I've always suspected something very similar to annealing is going on. Apparently through targeted brain scans, scientists can predict your responses a few moments before you even realize you have an answer because of the way the brain activity surfaces and synchronizes beforehand.

I used to think of it as a sort of democratic mental process that is hidden from the conscious parts of your brain. But of course, I could be completely wrong, too.</comment>


Ask HN: When your production webapp breaks, what do you do? - <AUTHOR>

When you don't know how to fix it, what do you do?
For those that are not YC alum, what are the options?
Just sit on Stack Overflow until someone can help you ? Or check out the other forums and IRC chans?
Is there not some other service/way you can get help when you need it? <comment><USER2> First, why did it break? Figure this out. Is it something you can prevent from happening again, or is this most likely to be a recurring thing?

Whatever your app is there is probably a hosting platform out there for it. One that provides a very stable environment for your application to run in, specific to your language/framework. These cost a little more money, but if it means your app not crashing once a month chances are it's well worth it.

Some web hosts will guarantee certain apps to work on their servers. These hosts often have 24/7 tech support to deal with these issues.

And... most of the time Google can provide you with answers a lot quicker than StackOverflow.

<comment><AUTHOR> I mean, even outside of the hosting platform.

More, along the lines of say a user uses your app for a use case that you never intended/imagined and it breaks.

Something that you didn't even anticipate...how do you solve that issue?

I guess Googling, but it just feels kinda wrong to be taking people's money on a monthly basis and not knowing how to solve all the issues they might have with the app.

<comment><USER3> If it turns out that your app is not suited for their purposes, but they didn't really have a way to realise that up-front, a refund is generally the way to go. You might also have to do some extra work to accomodate them transitioning out of your service.

Let's say you have a simple reminder list site. All the work you did (assertions, constraints on database tables, memory limits on the PHP process, whatever) assumed that users would have at most 200 todo items. One user has hit 800, now the website asserts out whenever he asks it to do anything, and you know that your infrastructure couldn't cope with a dramatically higher number of todos.

There are long term questions to ask about the product here. But in the short term, what I would do, roughly in order of priority, is:

* Do some quick queries to see if any other users will hit the same problem soon.

* Temporarily tweak the app wherever possible so it works with up to 900 items.

* Communicate all of this to the user. Sorry, we didn't anticipate this, if you really need that many todo items, we're not the app for you. Offer them a refund. Point out that things will work for now, but they are near the newly raised limit.

* Help the user transition - "if you want to leave us, tell us when you've stopped adding new items, and we'll email all of your existing items in an Excel spreadsheet"

* Fix your app so users can't create more than a few hundred items.

<comment><AUTHOR> This is a wonderful breakdown.

Makes total sense.

Thanks.</comment></comment></comment></comment>


YouTube Red is live - <AUTHOR> http://youtube.com/red <comment><USER2> "YouTube Red is not currently available in your country."

<comment><USER3> You can try Youtube-Dl - also gives you adfree and offline. :-)

[https://rg3.github.io/youtube-dl/](https://rg3.github.io/youtube-dl/)

<comment><USER4> Someone could (I think) write an extension to prefetch Youtube video links, download with youtube-dl to /tmp, and then re-embed the local file when you visit the page. Could be tuned to waste less space or use AWS for quicker download speed.

<comment><USER5> That sounds unnecessarily complicated. You should be able to write an extension that simply bypasses the Youtube player (possibly looking at the youtube-dl source to figure out how to find the video file itself).

<comment><USER4> "Bypass the Youtube player" is what I meant, but reasons to use as is: its interface is simple, it's maintained (this is a hack, why trouble yourself when youtube breaks things), and you won't have to read this: [https://github.com/rg3/youtube- dl/blob/master/youtube_dl/ext...](https://github.com/rg3/youtube- dl/blob/master/youtube_dl/extractor/youtube.py)

</comment></comment></comment></comment></comment><comment><USER6> "YouTube Red is not currently available in Brazil."

 _sigh_

<comment><USER7> Nor Canada _sad-trombone.flac_

<comment><USER8> Flac? Let's not get our hopes up too high before it's even available in our country ;-)

</comment></comment></comment><comment><USER9> Interesting nugget: $9.99 a month unless you buy it through the iOS app and then you'll pay $12.99 a month. Google is making that Apple Tax quite clear.

<comment><USER10> Isn't that against AppStore rules? It used to be that you couldn't charge a different price for an equivalent purchase.

<comment><USER9> I assume you can't mention it in the iOS app (it says $12.99 there, no mention of $9.99), but it mentioned in an email I got from YouTube:

[http://i.imgur.com/90fJxMS.png](http://i.imgur.com/90fJxMS.png)

</comment></comment></comment><comment><USER11> Interesting that Google Play Music subscribers get this for free. IMO it's a huge mistake on Google's part to make them separate yet somehow intertwined memberships - Google Music is the same price as Spotify, but this is a huge extra that many people won't realise they have.

EDIT: I'm not saying that tying them together is bad - quite the opposite - that having them as separate subscriptions that are also the same subscription is weird.

<comment><USER12> Maybe it's an attempt for the YouTube Red developers to boost their out of the gate numbers?

<comment><USER13> It seems like it must have something to do with different departments tracking revenue, but the way this is being rolled out is pretty strange. There's no mention of it anywhere on the YouTube homepage, so you would have to search for it specifically, and it's not even the top result on Google when you search for "youtube red." To know that you have access to Google Play Music, you have to scroll all the way down to FAQ point 5. Maybe the subscriptions were integrated recently and the administrative barriers to approve new marketing materials prevented them from being ready for launch. But I can only speculate.

</comment></comment></comment><comment><USER14> It is super frustrating that they hold out on being able to continue playing music while the screen is locked, etc. so that they can monetize it like this.

<comment><USER15> I was trying to think as why they did this. At first I thought it may have been licensing related, but I'm guessing that's not the case. I primarily think is that you will be able to bypass visual aspect of ads if your screen is locked. It could also just be that they want to "create value" with the subscription.

</comment></comment><comment><USER16> Still the "content providers" feel that region locking is the way to go. Yay, future!

</comment><comment><USER17> Does anyone know how is the interaction with the Chromecast Youtube app queue?

When I have friends over we use the youtube app to queue videos for the Chromecast, if one of us has the Red subscription I would expect no adds, so what will happen if a friend with no subscription queues a video? will it display ads?

<comment><USER18> I think the Chromecast uses whatever account the person casting is logged in with, things casted to other people's chromecasts show up in your history, so I'd expect to see ads if the person casting doesn't have Youtube Red. Also I don't see or recall associating the Chromecast with any Google accounts during setup so I'm not sure they have that information to make the link to allowing all videos played through a particular Chromecast to use the Red of the owner.

Mostly guessing though until someone tries it.

</comment></comment><comment><USER19> there is a lot of frustration that it launched only in some countries and not in others. i see why that would be a bummer, but is it reasonable to expect that they should (in some vaguely moral sense) launch everywhere in the world at once?

<comment><USER15> The more countries you add the longer it would push out the launch date. Youtube Red required content owners to sign the new contracts to allow for ads free + offline play. Trying to get this done at a world-wide scale will be much more time consuming compared to going country-by-country and getting the required rights and contracts to launch this service. So they either have to push out the release date or do what they did.

 __The opinions stated here are my own, not necessarily those of Google.

<comment><USER19> i totally agree! not sure if it came through, but this is exactly the tradeoff i was hinting at

</comment></comment></comment><comment><USER20> Why pay for features that should be free, and are free with 3rd party tools?

<comment><USER21> To support content providers for one... as opposed to just mooching. Now viewers have a choice... watch/listen to ads and get the content for free or pay a small monthly fee and get your music and videos ad-free.

If you object to seeing ads and were using an adblocker, you now have a legitimate way of compensating the creators for the content you are enjoying.

</comment></comment><comment><USER22> YouTube Red is not currently available in Canada.

</comment><comment><USER23> Can someone sell me on this?

Why would I want it when I already download all YT videos without ads before watching them already?

<comment><USER11> You are a very atypical user if that is the case. So maybe Youtube Red isn't for you.

</comment></comment><comment> Y-bar YouTube Red is not currently available in Sweden.

</comment><comment><USER24> I guess people at Youtube HQ spent to long reading Youtube comments and assumed everyone that usues the service is stupid and would pay for a bunch of pointless crap.

""Scare PewDiePie" is a reality horror series that puts the most popular YouTuber PewDiePie, also known as Felix Kjellberg, into terrifying situations, inspired by video games. "A Trip to Unicorn Island" is a movie that follows YouTuber IISuperwomanII, also known as Lilly Singh, on her world tour. "Sing It!" is a scripted series about a fictional vocal competition from the Fine Brothers, who are famous for their "Kids React to..." videos"

What!? Who is going to watch this!?

<comment><USER11> _What!? Who is going to watch this!?_

Well, 300,000 people have already watched the trailer for that PewDiePie thing since it was posted a week ago, so...</comment></comment>


Cyber Security Essentials for Startups - <AUTHOR> https://blog.paymill.com/cyber-security-for-startups/ <comment><USER2> Very interesting overview</comment>


Recent Progress in Quantum Algorithms - <AUTHOR> http://cacm.acm.org/magazines/2010/2/69352-recent-progress-in-quantum-algorithms/fulltext

<comment><USER2> I used to work on this, and I don't get the "recent" part of the title. I knew most things the article mentions a decade ago, and the rest wouldn't have surprised me much. What a pity.</comment>


ExportMyPosts.com - Backup Your Posterous Blog Data in One Click - <AUTHOR> https://exportmyposts.jazzychad.net/

<comment><AUTHOR> Hi hn! I'm so happy to get this finished and out the door that I'm giving away some free exports. Use the promo code HACKERNEWS on the products page (after login) to get a free export. It's good for the first 25 people that use it.

Please let me know your feedback. I'm hoping this is a useful tool that will provide some value for people. If it proves to be popular, it could then be expanded to other services, etc...

<comment><USER2> Looks great. _Please_ consider a [tumblr](<http://tumblr.com/>) to [scriptogr.am](<http://scriptogr.am/>) export.

I'd happily pay $20 for that (and we all know HN comment anecdote is evidence).

<comment><USER3> Why do you need one for scriptogr.am? don't you already have the source in your dropbox with that?

Edit: Sorry misread the to scriptogr.am

<comment><USER2> I want to migrate __to __scriptogr.am, but after a weekend of failed attempts modifying [Jekyll Blog Migration scripts][github], I was giving the free market (and my laziness) a nudge.

While posterous demise makes tumblr the winner of the space, I do think its social features/direction really gets in the way for those that just want a simple and fast blog.

Some more links for anyone interested _hint, hint, wink, wink_ :

        * [ import-from-tumblr.js][github 2]
        * [Tumblr to Jekyll migration][github 3]
        * [ Migrating from Tumblr to Jekyll][55minutes]
        * [Markdown to HTML to Markdown to…][pennywised]

[55minutes]: [http://blog.55minutes.com/2012/02/migrating-from-tumblr- to-j...](http://blog.55minutes.com/2012/02/migrating-from-tumblr-to-jekyll/) [github]: <https://github.com/mojombo/jekyll/wiki/Blog-Migrations> [github 2]: [https://github.com/rsms/rsms.github.com/blob/master/_scripts...](https://github.com/rsms/rsms.github.com/blob/master/_scripts/import- from-tumblr.js) [github 3]: <https://gist.github.com/867468> [pennywised]: <http://pennywised.com/markdown-train>

</comment></comment></comment></comment><comment><USER4> Just queued up 3 blogs for exporting, working as expected, feels good. :)

My only complaint was that I had to give my username/password, but @jazzychad tells me that's the only form of auth for the Posterous API, sadly. If you want to change your password before giving it away, here's the linky: <http://posterous.com/#account/edit>

Update (~10 minutes later): First export is done. Fast S3 download, nice in- archive directory structure, both HTML and JSON outputs, both scales and original media. Everything I could have asked for.

<comment><AUTHOR> Yes, the only way to auth with their API is with user/pass... but I am using ssl on my server, using ssl to connect to their api, and am storing the passwords using strong encryption on my server. I never see or log the passwords.

However, if you are paranoid like me and want to change your password anyway, please don't change it back before your exports finish :)

</comment></comment><comment><USER5> I have a feeling a lot of people will be wanting to move from Posterous to hosted WordPress. There's an import plugin available[1], but it seems to have some major issues. You might want to consider adding support for WordPress's WXR format.

1: <http://wordpress.org/extend/plugins/posterous-importer/>

<comment><USER6> +1 for support for downloading a format that can be imported into Wordpress.

</comment></comment><comment><USER7> My favorite line from the blog post:

"If you are looking for a free solution, you can read the Posterous API documentation to create your own backups."

Well said and great job on the tool Chad! If had a posterous blog, this would be a $9 no-brainer.

</comment><comment><USER8> Doesn't RSS already do this for you?

<comment><AUTHOR> Sure, if you want to write the code to backup all your data, and if the RSS feed contains every post. But this tool is for people that don't want to (or don't know how) to mess with that.

</comment></comment><comment><USER9> Cool tool! And nice turn around!

Minor Typo on the homepage: s/refernce/reference/

<comment><AUTHOR> oops, thanks. fixed.

</comment></comment><comment><USER10> Works like a charm. Upgraded to export all my blogs. Thanks Chad.

</comment><comment><USER11> cool. just got a free export, just waiting for it to finish. now to look into building an importer and start a new mini blog...</comment>


Recognising a Bad User Interface at First Glance - <AUTHOR> http://www.hadermann.be/blog/134/recognising-a-bad-user-interface-at-first-glance/ <comment><USER3> I agree with some of the points (like ambiguous icons and vague error messages), but not all of them.

 _'If you are an X, then you have to fill in Y and Z. If you are not an X, please only fill in Z, unless Z=1, then you should fill Y too.'_

This could be simplified considerably: "Fill in Z. If you are X or Z=1, fill in Y." Although I'm not surprised that refactoring boolean expressions is something that a lot of people seem to have trouble with.

 _In some cases it can be better to have a more human, relative notation, e.g. 'within the last hour', 'yesterday', 'next week'…_

Actually I really, _really_ abhor this style of date formatting since e.g. seeing events all dated "yesterday" \- possibly on different sites - <USER2> ordering/comparing them nearly impossible. Is ISO 8601 really beyond comprehension for most of the population?

 _The user interface is totally empty when starting out_

Unless you mean _completely empty_ (as in devoid of any buttons or other widgets), I don't think that's a bad thing. It's funny that it mentions adding an explicit instruction "Click 'add contact' to add your first contact." when the next point is "Visual clutter", since it could very well be the case that the users are confused because after removing that "Visual clutter", "add contact" doesn't even look like a button anymore! Incidentally, this trend of "flat" UI designs is another thing I loathe.

Am I the only one who thinks it's rather sad that, despite society spending great effort over the last few hundred years to improve literacy (which was quite successful), we're now dumbing-down software to encourage basically the opposite?

<comment><USER4> "Is ISO 8601 really beyond comprehension for most of the population?"

Absolutely! I have had to program date-related code, and I am familiar with the differences between US and European date formats, and I have never heard of ISO 8601 before today.

The average person from the US will assume that 2015-04-03 is March 4th, 2015, while a typical person from Europe will assume it's April 3rd, 2015. You're still thinking in the context of a computer programmer, not the context of a user.

<comment><USER5> I'm in the US and I've never heard of 2015-04-03 being interpreted as March 4. I just see the standard interpretation as logical, since it's coarse (year) to fine (day).

<comment><USER6> Well, on the other hand, 'customary' US order is MM-DD-YYYY based on how we normally (verbally) say dates.

Honestly, its perfectly ok for an application to use whatever standard date format - as long as its clear and consistent within the application - at least in the context of North America, where everything is a mishmash of whatever standards you can imagine.

Hell, .Net datetimes specifically allow you to output in whatever format the current OS default is set to (or you can choose your own).

<comment><USER7> > Well, on the other hand, 'customary' US order is MM-DD-YYYY based on how we > normally (verbally) say dates.

Like the 4th of July?

<comment><USER8> No, like July 4th. Or July 5th. Or October 31st. The 4th of July is a notable exception, and the GP's point of how we "normally (verbally) say dates" stands.

</comment></comment></comment></comment></comment></comment><comment><USER9> Recent stupidity: UI asked for postal code (knowing the address being entered was Canadian.) Without thinking, the user (not me) put it in as L6A 3Z3. When the form was submitted, it was rejected with the field flagged in Red. the error message said like "please enter the Canadian postal code in the correct format, AnAnAn with no spaces." (AnAnAn? Cryptic to non-coders; the user was baffled.)

Postal codes _are_ written with the space:

[https://en.wikipedia.org/wiki/Postal_codes_in_Canada](https://en.wikipedia.org/wiki/Postal_codes_in_Canada)

If you're already validating the format, how much effort would it take to recognize and accept the common variant which has the space in it? A [ ]? in the regex, and a strip spaces function call.

<comment><USER4> This causes me no end of grief. Credit card fields where you can't enter spaces, phone number fields where you can't format the numbers like a phone number. It's literally a few lines of code to pull out just the numbers! So infuriating.

<comment><USER10> we get store survey codes on receipts from a local store. "please go fill this out online". OK.

On the receipt: 9873-435-289-6372-9983

Go to their survey page

"Please enter the survey code without the dashes".

WTF? Left hand, please meet the right hand.

<comment><USER11> Or when putting serial numbers: some show the input box separated by dashes(maybe so that we put it correctly while typing.) But, when I try to paste it in, either it just rejects or simply fills the first block making me copy the sn block by block. If I could, I would have beaten those dialogue boxes with a baseball bat.

</comment></comment></comment></comment><comment><USER12> >Use of image-only icons/buttons that have no distinctive meaning

There's nothing worse than this, along with no alt-text on web pages. With font-icons being so common nowadays, designers want to remove all text and revert back to hieroglyphics.

<comment><USER3> I've heard it expressed this way: "A picture is worth a thousand words, but there are times when a single word will do."

<comment><USER13> You don't have to localize icons which is a feature.

<comment><USER14> People think, naively, that you don't need to localize icons. And yet a lot of the time icons _should_ be localized.

Or rather:

You can design an icon that doesn't need to be localized. But unless you design for it, it very well may need to be localized.

Things like thumbs-up/down, any sort of animal icon... Even trash cans.

<comment><USER15> Do you have any examples of animal icons that should have been localized? I'm intrigued.

<comment><USER16> 🐉. (Dragons)

[http://utkin1.ru/sites/default/files/dragons.jpg](http://utkin1.ru/sites/default/files/dragons.jpg)

</comment></comment></comment></comment></comment></comment><comment><USER17> EDIT: disabled zoom?

It's weird to me that Google fails, hard, on so many ui things.

Here's one example from the Gmail app on iOS, from the feedback screen.

[http://imgur.com/a/koKRb](http://imgur.com/a/koKRb)

The [done] button is where the [return] button usually is; and it's directly over the [send] button. So if you don't notice that return is now done, and tap it twice to get a new paragraph, you just sent your unfinished feedback.

I blame Google, but it could be Apple being stupid with the dreadful iOS keyboard.

> possible to get a pretty good impression of whether the user interface was > thought about or rather just an afterthought.

I'm sure Google spends a lot of time and money on the UI. Which just makes it more frustrating to me. EG Chrome's (on iOS) address bar does not let you select and copy an address until the page has nearly finished loading. And to paste an url into the bar you don't tap the cursor but some mid-point of the address box - except it's flat UI so you just guess where to tap. Items in the burger menu take five seconds to become clickable.

<comment><USER18> > EDIT: disabled zoom?

Hah, the OP article does disable zoom. Disabled zoom is one of the frustrating things lately about iOS apps. Every time I try to show someone older than me something in a Skype chat, or (speaking of google) in a hangouts chat on the iPad... they cant read it - "Hang on... let me find my glasses."

</comment></comment><comment><USER19> > "Too much text/instructions"

I disagree that too many characters or too much instruction is a sign of a bad interface.

For users trying to complete their desired task, an interface lacking instruction/explanation will often cause lower task completion rates and longer average task completion times than an interface with verbose instructions. This is especially true for new users.

Don't get me wrong: I dislike wordiness and consider myself an advocate for simplicity, minimalism, and concision – and that might be the author's sentiment. However, while bloated instruction may hinder task completion and user engagement, incomplete instruction will prevent it.

I believe more useful measures of good instruction are when it is presented, where it is presented, and how well it is understood by users.

For example, a well-designed mobile app avoids a text-heavy interface by disclosing the appropriate amount of instruction at the appropriate time. Limited screen real estate happens to be a handy constraint in this case, and transfers more instruction responsibility onto a well-designed onboarding wizard. That wizard will really only get one shot to educate users, usher them to their 'aha' moment as quickly as possible, and hold their hand through the few actions that strongly influence successful user engagement and retention.

<comment><USER20> You are absolutely correct with your description of the user interface principles you espouse. Provide the right help information at the right time but otherwise stay out of the way.

However, I believe the author's sentiment was more focused on situations where programmers use instructions to avoid more complex display or validation logic. IE, less work to add some text than to properly display/hide form sections based on skip patterns.

"If you are an X, then you have to fill in Y and Z. If you are not an X, please only fill in Z, unless Z=1, then you should fill Y too." This is typical of programmers being 'smart' by avoiding some extra steps/code...

</comment></comment><comment><USER21> These are always useful reminders. It's easy to get so lost in designing a system that you forget the perspective of the user, which is what really matters.

One of my current favorites is Rocksmith (guitar learning software), where upon exiting you are prompted with "Do you wish to continue? Yes/No". You as the user need to essentially state, "Yes, I would like to continue...exiting the program". This is right next to another menu option that I sometimes accidentally select which prompts me to "Quit", which in fact just brings up the "select profile" screen. It does boggle the mind how some things like this get all the way to production.

<comment><USER22> Apple's HIG from THIRTY years ago say to not use Yes/No in dialogs.

<comment><USER23> The real problem wasn't just Yes/No, it was "Continue" to mean Exit (Continue exiting). Which would have been just as bad if the verb from the question were pushed into the options, as "Do you want to continue? <Continue> <Stop>", where "Continue" still means, as in the question, "continue exiting" and "Stop" means "stop exiting".

"Do you want to exit? <Yes> <No>" would improve what was presented, though, yes, "Do you want to exit? <Exit> <Don't Exit>" would be better. But it was the _question_ more than the manner that the _responses_ were presented that was the problem.

</comment></comment></comment><comment><USER24> I mostly agree, however one point I disagree very strongly with is the first: _An Excel /development IDE – like user interface_

IDEs are horrible, horrible examples of interface design I can easily agree with that. However,

> Excel is the most unconstrained application most people know, and a lot of > software starts out as an Excel sheet before growing up into 'real' > software.

Usability comes first and foremost. If most people are familiar with Excel that means that the Excel interface language is a good language (if not the best). I don't care if it doesn't sate the desire for an "elegant" user interface. The fact is that nearly all users already know how to use the interface and are extremely proficient with it: what more could you possibly want out of an interface? Scrolly fiver-finger gestures and other complete shit that you don't need? YAGNI.

We make huge sales based on usability. Our bigger customers have historically placed us into a competition during our initial sales pitch. If the sale ends up in that situation _we always win._ Why? Because by the time customers are using our software to build toy/test solutions our competitors are still training the customer. Why? Because usability comes first and foremost, because our UX guys don't let pet peeves about Excel get in the way of making great and usable interfaces.

If you can "unconstrain" your solution enough to make it fit into a spreadsheet then I say, "go for it."

</comment><comment> nathan-muir The Design of everyday things [1] (Found on Coding Horror's recommended reading [2]) was crucial in understanding how people intuitively interact with the world around them - including your web application - based on the visual cue's you provide.

While this article provides some metaphorical fish - I found the Design of everyday things helps you become a fisherman.

EDIT: Swapped the order of references.

[1] [http://www.amazon.com/Design-Everyday-Things-Revised- Expande...](http://www.amazon.com/Design-Everyday-Things-Revised-Expanded- ebook/dp/B00E257T6C)

[2] [http://blog.codinghorror.com/recommended-reading-for- develop...](http://blog.codinghorror.com/recommended-reading-for-developers/)

<comment><USER18> Your reference [1] confused me because most of the books I saw were about code and design patterns, or books by Tufte. I also didn't realize what DoET meant, on first glance.

<comment> nathan-muir Fair enough. I've reworded that part.

</comment></comment></comment><comment><USER25> Well, this is nothing new. It's called heuristic evaluation and it's been around at least since 1990 [1]. Almost every item in the article's list maps to a simple and well known heuristic.

It's very strange (or sad) that the author doesn't mention heuristics in his post and talks about his conclusion as something "new": "it dawned on me that a trained eye can often spot unfriendly software a mile away." It may have "dawned on you", but it's nothing new.

It never ceases to amaze me, how oblivious of basic usability the people in IT are.

[1] Nielsen, J., and Molich, R. (1990). Heuristic evaluation of user interfaces, Proc. ACM CHI'90 Conf. (Seattle, WA, 1-5 April), 249-256.

</comment><comment><USER26> This feels like one of those articles that the people who need to read it never will; developers who don't care to improve their craft, and are churning out software to check off some box in a list of features demanded by management.

</comment><comment><USER27> I agree... especially with the comment about terse and unclear error messages. I recently got lured into the customer-facing side of things, and nothing annoys me (or our new users) than a message like "Incorrect syntax" when I used a unsupported symbol for my password.

First, be clear with your design and instructions. In my hasty password example - "Please create your password (6 or more characters, letters and numbers only)"

Then - if the user messes up, explain a bit... "Whoops, please only use letters and numbers"

So, so much nicer. :)

</rant>

</comment><comment><USER28> A great user interface is dangerous when it's disconnected from the internals of the software, because the user starts to feel the software "is only pretending to be nice" and is fighting against them.

When an app loses hours of your work, you start to wish you used an app that took more clicks to use but actually focused on the internals.

I'm making daily videos at Rate My App (.com) and the latest version of ScreenFlow 5 (screen capture software) is known for the best user interface, but in fact impossible to feel safe recording even the most basic videos with.

\- Forces you to delete your videos with endless prompts or forcefully shut down the app if you do a File -> Rename...

\- Let's you record a new project but will not actually save it if it recently had an issue (above), so you lose that one, as well

\- Does not explain that clicking Remove in the infinite prompt actually deletes all the video content. Does not backup for you, either

\- Doesn't always show YouTube categories, but allows you to click Start Upload, in which case the uploads remain in the upload queue forever. Issues or errors with video sites are not mentioned, the upload just stays in the queue.

\- Warns about uploading videos greater than 15 minutes long on YouTube even though you're exporting a 5 second range

\- Their most important feature, video actions (keyframes) don't work. Modifying one randomly modifies another one, so I stopped using it. This was a major bug until it deleted a 1.5 hour project of mine. Now, it seems minor.

</comment><comment><USER14> > Unneeded use of separating lines, grouping boxes,.. less of these = easier > on the eye.

I seriously disagree with this particular assertion. I find that "flat" design trends make things much _less_ usable, and this is no exception. It is far easier to group things with visual references than with lack-of-visual- references. And it is far easier to find things like buttons if there are, say, actual indications that they are buttons.

<comment><USER29> There's a balance to be struck. The pendulum may have swung too far towards the minimalist, but it used to be much more common to have lines and boxes around everything, where simply removing them and leaving open space made the layout _easier_ to quickly grasp.

<comment><USER14> Maybe. But if so, this mythical "open space makes things easier to grasp" unicorn has failed to show its face to me even once.

And, one other thing. Layouts that have too much delineation degrade _much_ more gracefully than layouts that have too little.

</comment></comment></comment><comment><USER30> A bit dated, but relevant: [http://interfacehallofshame.eu/www.iarchitect.com/lotus.htm](http://interfacehallofshame.eu/www.iarchitect.com/lotus.htm)

And its complement: [http://hallofshame.gp.co.at/fame.htm](http://hallofshame.gp.co.at/fame.htm)

<comment><USER31> We really have gotten better (and expectations are higher). Remember the abominable multi-row tab control dialogs common in Windows apps [1] shudder. Does anyone remember Debabelizer? [2] Really amazing piece of software with an interface that, ummm, well, here's the batch catalog setup dialog [3]

[1]: [http://interfacehallofshame.eu/www.iarchitect.com/tabs.htm](http://interfacehallofshame.eu/www.iarchitect.com/tabs.htm)

[2]: [https://en.wikipedia.org/wiki/Dave_Theurer](https://en.wikipedia.org/wiki/Dave_Theurer)

[3]: [http://pangram.org/images/debab.gif](http://pangram.org/images/debab.gif)

<comment><USER22> What's wrong with 3? It has a lot of options because the user needs control. They are well organized.

</comment></comment></comment><comment><USER32> > The user interface is totally empty when starting out. When seeing a 'clean' > installation or account, there are no instructions to get you started.

This is such a big problem, and such low hanging fruit, it sucks to see products fail to implement proper onboarding. I understand why... writing user interfaces is a pain in the ass. Onboarding is usually done after "finishing" the code (of course the code is never actually finished), so generally most programmers are probably so exhausted after writing the code that implementing an additional onboarding process seems like too much trouble, because "JUST SHIP IT!"

It's like the programmers do 95% of the work, then stop caring about the last 5%. But it just means that the 95% goes to waste.

</comment><comment><USER33> What? Isn't "2015-06-29 15:44:21 EST" the ISO format? Can't think of anything more relevant.

<comment><USER34> ISO 8601 format would be 2015-06-29T15:44:21-05:00.

<comment><USER35> Replacing the T with a space is explicitly allowed by ISO 8601 if context makes it obvious that the date and time belong together. I prefer the version with space for many purposes since it's easier for humans to parse at a glance.

You are correct that time offsets are used instead of timezone names. The most obvious reason for that is that many names are ambigious (EST is either UTC-5 or UTC+2, depending on whether you live around the US or around Egypt).

<comment><USER34> Point of pedantry: RFC 3339 allows replacement of the T with a space; ISO 8601 merely allows its omission (and that only by mutual agreement of all parties to the information exchange).

</comment></comment></comment></comment><comment><USER36> I've never heard the term "hallway testing" before, and I'm assuming I'm inferring its meaning correctly. I'll be using it in the future.

<comment><USER37> Why assume when there's Wikipedia? :)

[https://en.wikipedia.org/wiki/Usability_testing#Hallway_test...](https://en.wikipedia.org/wiki/Usability_testing#Hallway_testing)

</comment></comment><comment><USER38> Not saying this is a bad article but the 'first glance' part seems misleading. There's lots more to read than the title suggests.

</comment><comment><USER39> As someone who hasn't worked in the software industry yet, stories like these are beginning to horrify me. Is the bar really this low?

<comment><USER9> Yes -- but only by default! If you go to Tools -> Page Setup -> Zoom -> Sidebar -> Tweaks, and then click on [+] next to Polling Interval to expand the box, a "Bar:" property appears, where you can enter a lower number to set the bar lower. Or just use the arrow buttons next to the field to increase or decrease it. (But note that if you already typed a number, and then use the buttons, it increments from the old number that was overwritten, not from what you typed. (Bugzilla item dating back to 2006, status UNCONFIRMED.))

</comment></comment><comment><USER40> _On the other hand, developers have a knack of seeing everything as the user interface they're most familiar with: their development IDE._

Along with the bizarre idea that the best interface of all is one that forces the user to write code of their own. Look folks, if everyone wanted to type then text adventures would still be top of the video game charts.

<comment><USER37> Yet text chats are much more popular than videochat. Typing makes sense in some situations, and not in others. What works in videogames is not necessarily adequate for other UIs.

</comment></comment><comment><USER41> Shotgun full of buttons is your standard coder designed UI.

Many of the common alternatives are worse though, I prefer a shotgun full of buttons to many of the supposedly simpler systems unless they are very well thought out.

Good UI is very hard.

edit - to me, really good UI is simple shit like things that gather system stuff, then install while gathering user stuff. When that started coming in as standard with many linux installs, I almost wept ;)</comment>