Thoughts On Machine Learning Accuracy - <AUTHOR> https://aws.amazon.com/blogs/aws/thoughts-on-machine-learning-accuracy/ <comment><USER2> I'm not only disappointed in the ACLU for misinterpreting the results, but also because I usually have a lot of faith in their competency, and they absolutely should have seen this response coming from Amazon.

What'd they think Amazon was going to do, roll over and be like "turns our our facial recognition software is racist, woops!"? Now instead of a meaningful dialog, we've got a line in the sand where on one side, the ACLU, champion of the people's rights, doesn't understand technology, and on the other side, facial recognition software is Bad and Evil. Shits so polarizing these days it seems there's no room for negotiation, as much as I'd like there to be.

<comment><USER3> > _I 'm not only disappointed in the ACLU for misinterpreting the results..._

Did they? This blog post describes some implementation choices which could make their false positive rate lower.

It reveals no information about how Rekognition is being deployed by LEAs, and there's no meaningful regulation or oversight about how that happens.

We can't tell what the assumptions and implementation choices of local police departments are, because that's top secret information. Most people acting on the predictions have no idea what they are, let alone the implications.

It's fine to ding the ACLU study on methods —- you can, _because they published some_.

No-one would argue that a toy model based on members of Congress is representative of the public at large. But it's more representative that a press release from a company that are trying to normalize and monetize mass surveillance via facial recognition.

<comment><USER4> The original ACLU title is: _Amazon's Face Recognition Falsely Matched 28 Members of Congress With Mugshots_. It was spread on the news with the same conclusion.

It puts directly the blame on Amazon and its technology and doesn't mention any configuration they used.

<comment><USER3> Why would a title mention API/service configuration? This is not common practice, even in academic applied ML papers.

They used the default settings, and a training set which seems extremely likely to be used in 'LEA-production'

Any user, including LEAs, is free to use which ever configuration options they like.

The criticism with the most statistical implications is the confidence level used. The ACLU were clear they they used the defaults. I can take at face value that moving from 80% to 99% confidence on a sample of 500 faces could produce 0 false positives. However, on the faces of the tens/hundreds of thousands of people that might move through the center of town on any given day, the implications for causing ordinary people serious harm are large.

I am personally shocked that Amazon are willing to "recommend" law enforcement actions at any level of confidence, from an unintrospectable machine learning system.

<comment><USER5> The title is akin to saying "We bought <gun maker>'s hunting rifle, pointed it at Congress, pulled the trigger, and it shot 22 members of Congress". It's a tool, you're responsible for how it is used, not the manufacturer.

I would imagine the confidence level would be tweaked by Law Enforcement or anyone else based on the results. If you're monitoring cameras for missing persons or shooting suspects and getting 0 hits, you might lower it because it's better to dismiss false positives than the alternative. Conversely you might increase it if you're overwhelmed by the number of false positives.

<comment><USER6> Since you're comparing facial recognition to guns and guns are regulated by law and have strict rules for use, perhaps facial recognition should as well?

I think there should be a discussion about laws/regulations about facial recognition use. Even if Amazon removes their service there will always be companies that don't care about the ethics as much. Strict rules instead of public shaming seems like the better approach

<comment><USER7> If you screw up with a gun someone dies.

If you screw up with facial recognition a human double-checks and nothing happens.

Scissors are dangerous but we don't regulate those either.

<comment><USER8> ummm no...

First of it is not a given if you "screw up with a gun someone dies" that is not the only result

Further it is laughable to believe that with facial recognition a "human double-checks" we have seen time and time again that new technology entering the realm of criminal justice can be used to wrongfully convict people at an alarming rate. See Hair and Bite mark controversy or the number of Labs that have been compromised in recent years

The fact is that a "humans" that are suppose to be "double checking" do not in reality, if the computer spits out "Well the computer says it is person X" that is what the Jury will hear, and the Jury will not question the technology and the person will end up in prison until such time as someone like the Innocent project comes along to invalidate either the technology on the whole or the application of the technology

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> For those who are emotionally invested in defending Amazon on this, could you speak a little bit to what your horse is in this race?

I have stock in Amazon, but also caution about law enforcement (and a desire for technology to increase accountability of government to citizens rather than vice-versa). For me, the fear of going even one tiny step closer to China outweighs everything else.

For those who are arguing on behalf of Amazon, what's your emotional calculus here?

<comment><USER10> Not defending anybody, but I think the point in the article is sound. If my child were missing, I would want every technical resource possible to be available to find her. Having "big brother" be able to identify me quickly in a crowd doesn't seem that bad on balance ... if I'm in public, I expect to be viewed.

<comment><USER11> I think maybe you've never been pulled over by an officer because you 'fit the description of a suspect'

You, as a bystander, can be caused great inconvenience (where the line of injustice gets crossed is up for debate) through someone else's expectation of safety.

<comment><USER10> You're right, I haven't (I wonder what percent of the population has?). I find it hard to believe that law enforcement using facial recognition would really make that problem much worse than it already is though.

<comment><USER12> China is already experimenting with pre-empting crime by attempting to monitor their vast network of cameras using ML systems.

</comment></comment></comment></comment></comment><comment><USER13> A single accuracy rate is not that useful when looking at ML problems. There is always a tradeoff between false positives and false negatives depending on the threshold selected. Amazon is guilty of this in this article, saying 0% false positive rate when you set the threshold to 99%. However, it doesn't say how many faces it successfully matched, it's easy to have a 0% false positive rate if you just say "no match" for every photo.

The best practice is to show a ROC curve, which shows the tradeoffs of selecting a given threshold: [https://en.wikipedia.org/wiki/Receiver_operating_characteris...](https://en.wikipedia.org/wiki/Receiver_operating_characteristic)

<comment><USER14> After Pearl Harbor, some wanted to get rid of early-warning radar systems. The military created the ROC to screen for operators who might misidentify enemy planes. The radar did fine, the interpretation was wrong.

<comment><USER15> Interesting, do you have a source? I'm interested in misjudgment and cognitive errors, so i'd like to read about this.

<comment><USER14> It's mostly Wikipedia - the history is a bit scattered. Probably better sources out there.

[0] [https://en.wikipedia.org/wiki/Receiver_operating_characteris...](https://en.wikipedia.org/wiki/Receiver_operating_characteristic#History)

[1] [https://en.wikipedia.org/wiki/SCR-270](https://en.wikipedia.org/wiki/SCR-270)

[2] [https://archive.org/stream/Vol1PlansAndEarlyOperations#page/...](https://archive.org/stream/Vol1PlansAndEarlyOperations#page/n335/)

</comment></comment></comment></comment><comment><USER16> Amazon, let's be honest - nobody reads documentation about how to set a knob to get a good result, not police, aclu, or most developers working for these. They'll use 80% confidence happily and "sort out things later".

So cut it out with your justifications about ovens and other nonsense and acknowledge that you are just a corporation releasing a product that tries to make a buck and/or not get left behind some other competitor of yours.

<comment><USER17> The idea that the best solution to the future challenges of ML is to shame companies into not selling ML products is so inane. Pandora's box was opened the moment the computer was built. And really, the first time a human uses a club to bludgeon another human.

<comment><USER18> Well, it depends what you are selling - if aircraft manufactures had stuck to selling hydrogen filled and aluminium painted airships I think that air travel would not be the thing it is today. Amazon's technology is not fit for this purpose, an ethical and responsible stance would be not to sell it for this purpose.

</comment></comment></comment><comment><USER19> I love this quote at the end of the the google cached result - "we should not throw away the oven because the temperature could be set wrong and burn the pizza."

<comment><USER20> When the oven will burn you if used incorrectly, and Amazon gives police departments (who don't know how ovens work) the controls over the oven regardless of their provable technical ability and with no oversight, we should definitely throw away the oven.

<comment><USER15> Maybe yes, maybe no. But realistically, with the hype out there about AI solving _all_ problems, do we think its not going to get used?

Seems like more productive conversation could be had over how to use, than blanket dismissals. The proverbial 400-lbs man in his basement can code this up relatively easily with existing tools, to near state-of-the-art results. So the guy that works for the FBI will too. Let's come up with appropriate, targeted safety mechanisms so the oven doesn't light the whole building on fire.

</comment></comment></comment><comment><USER21> > The ACLU has not published its data set, methodology, or results in detail

This is my biggest gripe with how the ACLU has conducted this. I find it hard to distinguish their "test" from clickbait.

<comment><USER3> Ironically, neither did Dr Matt Wood, the author of this AWS post.

He attempts to refute one unverifiable Rekognition configuration with another.

</comment></comment><comment><USER22> Can someone explain this line to me?

>In addition to setting the confidence threshold far too low, the Rekognition results can be significantly skewed by using a facial database that is not appropriately representative and therefore is itself skewed. In this case, ACLU used facial database of mugshots that that may have had a material impact on the accuracy of Rekognition findings.

<comment><USER4> What I find problematic is no one can say that people with darker skin (or from any ethnicity in particular) are harder to identify precisely without offending people and being accused of racism/bias.

But we have no objective proof that every one is as recognizable as another.

<comment><USER23> I know a number of researchers in ML who have stated this and been fine.

</comment></comment></comment><comment><USER24> OK, maybe ACLU stumbled a bit by using a low (?) 80% confidence threshold. But I wonder how much over-fitting occurs at the AMZN-recommended 99%? Is a 99% fit scalable? What's the false-negative rate? I'm not satisfied that either side has made a convincing argument.

</comment><comment><USER25> Page is 404 right now. Google cache:

[https://webcache.googleusercontent.com/search?q=cache:wzZHRC...](https://webcache.googleusercontent.com/search?q=cache:wzZHRC4q8uQJ:https://aws.amazon.com/blogs/aws/thoughts- on-machine-learning-accuracy/+&cd=1&hl=en&ct=clnk&gl=ca)

This blog shares some brief thoughts on machine learning accuracy and bias.

Let's start with some comments about a recent ALCU blog in which they run a facial recognition trial. Using Rekognition the ACLU built a face database using 25,000 publicly available arrest photos, and then performed facial similarity searches of that database using public photos of all current members of Congress. They found 28 incorrect matches out of 535, using an 80% confidence level; this is a 5% misidentification (sometimes called 'false positive') rate, and a 95% accuracy rate. The ACLU has not published its data set, methodology, or results in detail, so we can only go on what they've publicly said. But, here are some thoughts on their claims:

1\. The default confidence threshold for Rekognition is 80%, which is good for a broad set of general use cases (such as identifying objects, or celebrities on social media), but it's not the right one for public safety use cases. The 80% confidence threshold used by the ACLU is far too low to ensure the accurate identification of individuals; we would expect to see false positives at this level of confidence. We recommend 99% for use cases where highly accurate face similarity matches are important (as indicated in our public documentation).

To illustrate the impact of confidence threshold on false positives, we ran a test where we created a face collection using dataset commonly used in academia, of over 850,000 faces. We then used public photos from US Congress (the Senate and House) to search against this collection in a similar way to the ACLU blog.

When we set the confidence threshold at 99% (as we recommend in our documentation), our misidentification rate dropped to 0% despite the fact that we are comparing against a larger corpus of faces (30x larger than ACLU's tests). This illustrates our point that developers should pick the appropriate confidence threshold best suited for their application and their tolerance for false positives.

2\. In real world public safety and law enforcement scenarios, Amazon Rekognition is almost exclusively used to help narrow the field and allow humans to expeditiously review and consider options using their judgement (and not to make fully autonomous decisions), where it can help find lost children, fight against human trafficking, or prevent crimes. Rekognition is generally only the first step in identifying an individual. In other use cases (such as social media), there isn't the same need to double check, so confidence thresholds can be lower.

3\. In addition to setting the confidence threshold far too low, the Rekognition results can be significantly skewed by using a facial database that is not appropriately representative and therefore is itself skewed. In this case, ACLU used facial database of mugshots that may have had a material impact on the accuracy of Rekognition findings.

4\. The beauty of a cloud-based machine learning application like Rekognition is that it is constantly improving as we continue to improve the algorithm with more data. Our customers immediately get the benefit of those improvements. We continue to focus on our mission of making Rekognition the most accurate and powerful tool for identifying people, objects, and scenes – and that certainly includes ensuring that the results are free of any bias that impacts accuracy. We've been able to add a lot of value for customers and the world at large already with Rekognition in the fight against human trafficking, reuniting lost children with their families, reducing fraud for mobile payments, and improving security, and we're excited about continuing to help our customers and society at large with Rekognition in the future.

5\. There is a general misconception that people can match faces to photos better than machines. In fact, the National Institute for Standards and Technology ("NIST") recently shared a study of facial recognition technologies that are at least two years behind the state of the art used in Rekognition and concluded that even those older technologies can outperform human facial recognition abilities.

A final word about the misinterpreted ACLU results. When there are new technological advances, we all have to be careful to be calm, thoughtful, and reasoned about what's real and what's not. There's a difference between using machine learning to identify a food object and whether a face match should warrant considering any law enforcement action. The latter is serious business and requires much higher confidence levels. We continue to recommend that customers not use less than 99% confidence levels for law enforcement matches, and then to only use the matches as one input across others that make sense for each agency. But, machine learning is a very valuable tool to help law enforcement agencies, and while being concerned it's applied correctly, we should not throw away the oven because the temperature could be set wrong and burn the pizza.

<comment><USER26> If you set the confidence threshold to 80% in the test you perform in (1), how many misidentifications do you see, if any?

<comment><USER27> Would probably be less then 5%. Since they used a better dataset. ACLU got 5% misidentification using the biased mugshot database at 80%.

<comment><USER27> I'd appreciate someone to correct my data if it's wrong. I too would like to know.

</comment></comment></comment></comment><comment><USER28> 404? Was it deleted?

<comment><USER19> I am guessing legal and/or PR had a fit and removed it, as any publicity around this sort of thing is very sensitive these days, even though they were pointing out legitimate errors in the ACLU's work.

</comment></comment><comment><USER29> TLDR:

1) When the ALCU tested mugshot photos VS congress member photos, the ALCU set it to use an 80% confidence level threshold, which should result in a 5% false positive rate. There are 535 members of congress, which from this setting should have resulted in 26.75 misidentifications. The ALCU got 28 misidentifications, which is pretty darn close.

2) The ALCU use a comparatively small dataset of photos. Using a different, 30x bigger dataset, and a 99% confidence level resulted in no misidentifications.

3) The police are only supposed to be using this system to narrow down choices, and then have a human sorting out possible matches, which this should do very well.

\---

My thoughts: The system appears to be functioning exactly according to specifications. The eternal problem of systems is that the specifications do not match what users are actually expecting/needing the system to do. If the ALCU is confused about how it works, the police probably will be as well.

<comment><USER30> Nitpick:

> the ALCU set it to use an 80% confidence level threshold, which should > result in a 5% false positive rate.

I'm not sure where the "should" in this sentence is coming from. As far as I know, Amazon's documentation doesn't claim any particular relationship between confidence and false positive rate. The 5% number in the article was simply talking about the _actual_ false positive rate that the ACLU observed.

Not to say the conclusions of the article are wrong, though. It certainly seems unreasonable for someone to assume that "80% confidence" would give an FPR of _less_ than 5%.

<comment><USER31> possibly some internal metric they have? 80% might be the pairwise similarity for a pair of images and across a whole dataset this might have a 5% error rate.

</comment></comment></comment><comment><USER32> I'm sure this rebuttal will get as much coverage as the original headline. "Confidence intervals"? "Misclassification rates"? Get out of here with your science-talk, nerd!

Sadly, these days I see too many ML practitioners and "data scientists" without the necessary prob/stats foundation. Misinterpreting data happens even to experts, so not surprisingly it's going to happen even more so to amateurs. Suggesting more foundational knowledge is considered elitist. Why shouldn't a month-long bootcamp be as good as a MS/PhD? In this case, the original ACLU results fits a certain narrative and hits all the hot topics so it was bound to be picked up.

</comment><comment><USER33> Unlike a dna test, a match via facial recognition would have trouble holding up in court without other significant evidence.

Facial recognition is likely to help rapidly match known photos of a suspect with security footage and imagery gathered near by to help pin down movements of a suspect prior to and after a crime, in order to focus the search for further evidence.

This is a tool to catch stupid criminals; it seems easily fooled by those who approach crime in a more systematic manner.

There should be laws that prevent using facial recognition to track the locations of people who aren't the subject of investigation. I am sure that technology would be very desirable to advertisers, and I don't want them to have it.

</comment><comment><USER34> The ultimate test of any predictive model is whether it works in the intended stakeholder setting. Other types of diagnostics like ROC curves, performance on benchmark data sets, etc., are of course valuable, but ultimately do not necessarily reflect the true, run-time distribution of inputs or constraints that will be relevant for a stakeholder's usage scenario.

I've said this many times. What it means is that even if you think it's great to outsource your machine learning model to a third party like Amazon, and consume it like a service, you really need in-house expertise in machine learning anyway, to help you interpret the accuracy, diagnostics, and some "integration test" notion of model performance on a sample that is agreed upon as truly representative of the stakeholder runtime conditions.

So either way, you still have to pony up the dough to employ adequate in-house expertise in modeling and domain machine learning.

As a result, there actually are not that many use cases when it would make sense to not build your own tailored model in-house. If you already must hire most of the staff with necessary skills to evaluate a third-party, the incremental effort to train a good-enough fine-tuning of some imagenet-based model is really not that high. And you can customize the training and diagnostics.

This is especially critical when there are also stakeholder-specific latency or throughput constraints.

For face detection in particular, I know a great deal about this directly related to AWS Rekognition, because my team extensively evaluated it for the possibility of outsourcing face detection calls in an in-browser image editing application.

Not only could Rekognition not meet our runtime requirements, but separately it had poor accuracy and coverage (often capping out at detecting a small number of faces per image) and the Rekognition-reported confidence score aligned horribly with our own ground truth bounding box data that allowed us to quantify overlap of the detection with intersection-over-union scores.

We tested a handful of fine-tuned prebuilt models in Keras: Resnet, Inception, and our own port of MTCNN, and had drastically better face detection (on a very large training corpus) than Rekognition in about a week.

And our cost per request, even deploying to AWS, was much lower than Rekognition even at our high volume of traffic and even inclusive of the cost to spin up GPU instances for training.

What's more is that we tightly controlled how to write the web service layer wrapping it, and how to optimize the image preprocessing steps, etc., that we have no visibility into with a third party.

I think there is a conceptual gap with this stuff where people just think that because you could commoditize a web service around a prediction algorithm, it must mean it would be economically valuable.

But that part is the absolute least meaningful part. The whole enchilada is diagnosing how the model performs on the exact stakeholder use case, inclusive of performance constraints.

For this reason, I think the only market for "ML tools for people who don't know ML" is going to be just like vapid corporate IT consulting.

Don't get me wrong: big tech companies will profit from this. But not because it solves any actual prediction problems or saves anyone money compared with in-house ML development. It'll just be the standard Dilbert-y politics that has always yielded profits to IT consulting services.</comment>


LEAP: accurate real-time motion tracking - <AUTHOR> https://live.leapmotion.com/

<comment><USER2> If this is real it makes Minority Report look like an amateur effort.

</comment><comment><AUTHOR> Anyone got any ideas how this works?</comment>


Apple's Round Pizza Box - <AUTHOR> https://theoutline.com/post/1555/we-got-one-of-apple-s-patented-round-pizza-boxes <comment><USER2> Why is this interesting? I suppose because it's Apple, and they patented it?

I'm sure they're expensive to produce/store/transport, which is why we've been using flatpack pizza boxes forever.

<comment><USER3> Yeah, they have the patent for the pizza box. Why expensive to transport instead it would have reduced the material. It's quite a small box as compared to the square box.

<comment><USER2> Theoretically expensive because when you ship a pallet of pizza boxes to a pizza joint, they come in a very compact completely flat stack.</comment></comment></comment>


Show HN: Genetic Hello World - <AUTHOR> https://github.com/sacert/Genetic-Hello-World <comment><USER2> Up-voting because even though genetic algorithms seem inefficient compared to back-propagation with gradient descent, it still is an elegant optimization heuristic for many classes of practical problems, and often easier to implement compared to NNs if you're trying to apply on a novel domain.

<comment><AUTHOR> Very true - I had some time at work and remembered how big genetic algorithms were a couple years ago so I decided to get my feet wet in the subject.

<comment><USER2> A common use case is solving design constraints:

[https://www.google.com/?q=genetic+algorithm+placement+format...](https://www.google.com/?q=genetic+algorithm+placement+format:pdf)

</comment></comment></comment><comment><USER3> Cool!

A minor nitpick about the README - genetic algorithm is not the same thing as genetic _programming_. The former is what you're doing here, the latter refers to building _a program_ using genetic algorithms.

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

<comment><USER4> It is not a minor nit & good to point out.

</comment></comment><comment><USER5> I've long been a fan of the GA optimization technique. I created this little tool to explore the genetic algorithm. You can tweak parameters on the fly and watch the effect it has on the current set of top solutions. [https://github.com/nk1tz/explore-genetic- algorithm](https://github.com/nk1tz/explore-genetic-algorithm)

</comment><comment><USER6> The cost function just looks like difference squared, but I'm not sure how that yields results like this:

      Hglmo,wosmd! (8)
      Gflln* wosle! (9)
      Hello, wosld! (9999)
      Hello, world (9999)

The bottom two seem to be much closer to the desired result, but the top two score lower cost? Seems weird to me. :-/

<comment><USER7> I wonder how using Levenshtein distance as a fitness metric would affect the speed of progress:

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

OP, if you want to experiment, here's a gist with a JS implementation that I found after some googling:

[https://gist.github.com/andrei-m/982927](https://gist.github.com/andrei-m/982927)

How the cost function compares to how you mutate probably also matters here.

<comment><USER8> I used Levenshtein distance for a similar thing some years ago:

[https://tomnomnom.com/posts/methinks-it-is-like-an- incestuou...](https://tomnomnom.com/posts/methinks-it-is-like-an-incestuous- weasel)

It worked very well!

<comment><USER7> Very nice and simple example!

> _The phrase METHINKS IT IS LIKE A WEASEL is 28 characters long, and has 27 > possibities for each character, making for 27^28 (about 10^40) possible > combinations. To put that into perspective: it 's reckoned that there's > about 10^80 atoms in the visible universe. Even if the monkey could try > millions of combinations per second, he would almost certainly never get > there - and that's assuming he never repeated a combination._

> _So it would take a very long time for the monkey to hit the right keys at > random, but what about if it weren 't completely random? Dawkins suggests a > computer program to simulate the monkey, only using something akin to > evolution to form the phrase instead of complete randomness. That is: > randomness would still be involved, but in a slightly more predictable > capacity than the virtual equivilent of a monkey bashing its head against a > keyboard._

Funny you should mention that, because one of the unsolved questions for the theory of Evolution is that _even with_ our current understanding of evolution, life evolves _faster_ than one would expect based purely on DNA mutations alone. A few issues back Nautilus had a excellent article on the problem, and the current work being done to solve this problem:

[http://nautil.us/issue/20/creativity/the-strange- inevitabili...](http://nautil.us/issue/20/creativity/the-strange- inevitability-of-evolution)

</comment></comment></comment></comment><comment><USER9> Genetic algorithms are always neat. I made something similar as a greeting card in 2015:

[https://card.robinwell.net/f47f6d670450fad68df8ce45d0fa846d....](https://card.robinwell.net/f47f6d670450fad68df8ce45d0fa846d.html)

It uses tournament selection for each next generation.

</comment><comment><USER10> I find it interesting - but it would be nice if there is a better README for visitor to grab the concept quick.

</comment><comment><USER11> Thanks for sharing. Concise and easy to follow.

I ported it to C to try it out for myself. Turning off console output makes it finish almost instantly!

</comment><comment><USER12> This is a really fun demonstration.</comment>


Keeping Users Logged In - <AUTHOR> http://estromberg.com/post/10240504391/keeping-users-logged-in

<comment><USER2> Someone forward this article to eBay please.

When I'm "logged in", even something as trivial as clicking the [add to watchlist] button prompts for my password. It's _insane_. Maybe require a this-session password for "money" things like bidding on an item, but not for everything on the site.

<comment><USER3> I've always thought Ebay could instantly increase its metrics across the board by implementing smarter login saving.

That, and letting auctions run until bidders have their final say.

</comment></comment><comment><USER4> I've always found the Amazon approach interesting. As part of their sales funnel they email related content to you based on your browsing habits when logged in. Clearly they therefore have a large incentive to persist the user's login status.

Their logout link takes the form "Hello %NAME%. We have recommendations for you. (Not %NAME%?)"

'Not %NAME%' is the logout link, which confuses the hell out of users (just Google 'Amazon logout'). Even if you know it's there, you battle subconscious friction in clicking that link when it is in fact your name.

This strategy has been around years and no doubt adds visibly to their bottom line, even while it exposes users to potential fraud issues with others using their account for one-click purchasing.

<comment><USER5> Most of the time, Amazon considers you to have a "soft" login. Want to view your order history? Password please. Change an order? Password. View/update addresses/credit cards? Password. This is sometimes irritating to the user, especially when clicking the "where's my stuff" link from an Amazon order email, but it serves Amazon well in that they can trace most site actions to a user account while at the same time maintaining an acceptable level of account security.

Sometimes (I believe), you will even get a password prompt for a "one click" purchase. Even if you don't, your one click purchases can only be delivered to a previously configured address, and to add a new address requires entering the credit card number again, and, of course, your password.

<comment><USER6> I find it less intrusive than Linkedin's soft login, which _really_ annoys me, especially as I cant remember my password often. You can go as far as writing someone a message, then you need the password. If I can read my private messages, surely I am good to send one?

</comment></comment></comment><comment><USER7> Has any one seen any numbers to support this actually works? What I mean is: Does using a two-step logout help users stay logged in?

I would really want to see some numbers around it. I don't think I really do understand if making the logout feature less apparent actually returns value to the site in any way.

I mean thinking a bit further, this is really not pushing users to stay "logged in" and add value to the site right?

Also I think the security issues of keeping users logged in just to keep them logged in is not really that encouraging.

Now I understand the value of keeping the user logged in, I just don't see the value of having the logout feature hidden in a menu, other than simplifying the User Experience.

If anyone has more information on this, please list them. I am interested in researching this further.

</comment><comment><AUTHOR> Tumblr is down, here is the cache: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://estromberg.com/post/10240504391/keeping- users-logged-in)

</comment><comment><USER8> Great post, very insightful. I had not really noticed serivces like FB and Twitter had moved the logout button the way they have until you pointed this out. It is quite a clever idea, as your post suggests sites that offer a service or product require the user to be logged in to get a personalised experience. Users are less likely to logout if they cannot see it as an option.

</comment><comment><USER9> I recall the shitstorm I brewed when I made the same suggestion as your last one (auto-login links in email) some time ago on HN.

Glad to see Quora is doing it now, too.

</comment><comment><USER10> Incognito window.</comment>


Exercise 'can prevent a cold', a study shows - <AUTHOR> http://www.bbc.co.uk/news/health-11664660

<comment><USER2> I've noticed the exact opposite myself, and I've actually managed to take advantage of it sometimes.

I climb rocks, and a few times I've had days where, for no reason I could explain, I have performed far above my normal abilities (1). Big days, where I've sent routes that were way above my head. Routes that I couldn't pull individual moves on when I came back to them a week later.

Then the next day I would be clobbered by a cold so violent that I'd be bedridden for an entire day.

I chalk it up to the body knowing that a cold is on the way and storing up all the immunities, defences, and reserve energy that it will need to fight it. If you time it right, you can steal all that stuff and channel it into one day of hard climbing. Of course then when the cold does come, the body has nothing to fight it with so you get crushed.

Considering how good it feels to be _that_ on form, even just for a single session, I think it's actually worth it.

(1) If you climb, you'll know that it's a very measurable sport. If you can boulder a certain grade, you can get on a given problem and have a reasonable expectation of being able to work it out. Or alternatively, you can know for a fact that you could train on this one particular problem for an entire year and never top out. So when you're having a day like the one I describe above, it's the equivalent of showing up at the gym one day and finding you can suddenly bench press 50 pounds more than yesterday.

<comment><USER3> > So when you're having a day like the one I describe above, it's the > equivalent of showing up at the gym one day and finding you can suddenly > bench press 50 pounds more than yesterday.

So it's not so far out of the ordinary to be unexpected?

In my experience, those sorts of variances are pretty common with lifting and endurance running. Especially for non-professional level athletes.

<comment><USER2> I haven't lifted weights in probably 15 years, so you'll need to modify that number to something that makes sense.

In Climbing, I know that when I'm on form I can generally get a route graded 7b+ after a couple hours of working it and a few redpoint attempts. The few 7c routes I've done each took about a dozen days of work spread out over the course of a month.

The route I did on one of my pre-cold days was rated 8a+ (though it was likely a bit overgraded), and I got it second go. Like I said, I came back a week later, and I couldn't even do the single hardest move in isolation.

So, that far out of the ordinary.

</comment></comment></comment><comment><USER4> Important caveats: 1/ Too much exercise increases the chances of catching a cold as well as increasing the severity (there is research on this) 2/ Gyms are full of people and you touch a lot of the surfaces - so that may offset the effect (this I'm guessing)

</comment><comment><USER5> People who exercise are more likely to eat healthy and take care of their body in other ways.

Did they people who made the study correlate for that?

<comment><USER6> Also it says "those who merely think they are fit enjoy the same lower risk". How fit I see myself has a lot to do with how often I fall ill.

</comment></comment><comment><USER7> I would personally vouch for it. Not just cold, I have got rid of nagging headaches and other ailments too after starting on a regular exercise regime

<comment><USER8> What about diet?

</comment></comment><comment><USER9> > Lead researcher Dr David Nieman and his team, from Appalachian State > University in North Carolina, say bouts of exercise spark a temporary rise > in immune system cells circulating around the body that can attack foreign > invaders.

This makes an interesting contrast with other recent reporting on colds and the immune system, such as [http://www.nytimes.com/2010/10/05/opinion/05ackerman.html?_r...](http://www.nytimes.com/2010/10/05/opinion/05ackerman.html?_r=2&src=me&ref=general) which says (correctly, AIUI) that the immediate cause of cold symptoms isn't the infection itself but the body's immune response to it.

Resolution: [http://blogs.plos.org/bodypolitic/2010/10/06/how-not-to- figh...](http://blogs.plos.org/bodypolitic/2010/10/06/how-not-to-fight-colds- is-it-really-that-clear-cut/) \-- a more active immune system at the moment of possible infection may help you not get infected, but a more active immune system while you've got the infection may make things worse. (And: "the immune system" is a complicated thing, and the bits of it that make a cold worse may not be the same as the bits that make you less likely to get one.)

<comment><USER10> That probably means it's a good idea to _not_ exert yourself once the cold has hit.

</comment></comment><comment><USER11> This is actually a little paradoxical, because numerous reports have shown that strenuous exercise depresses the immune system by increasing glucocorticoid levels. The odd thing is that glucocorticoids cause an increase in circulating neutrophils, but some think that they are actually less available to fight infection, because usable neutrophils are found lining the postcapillary venules. All told, studies of the cold paint a complicated picture.

</comment><comment><USER12> Interestingly, the immediate aftermath of a workout is suppressed immune function. (<http://jap.physiology.org/cgi/content/full/82/5/1385>)

But it does seem reasonable that someone living the broadly healthy lifestyle of a person who gets a good amount of exercise would also find themselves less susceptible to colds etc...

</comment><comment><USER13> Seems kind of obvious, exercise strengthens the body and promotes general health. What next? wrapping up warm can prevent a cold? Slow news day?

<comment><USER14> One of the most poorly named entities I know of is "common sense". It's extremely uncommon. I can't tell you how many times I've went somewhere in winter and seen idiot mothers with their baby sitting in the stroller with it's belly showing. It's not a bad thing to keep repeating and demonstrating these kinds of health facts no matter how obvious they _should_ be.

<comment><USER15> While exposing a baby to cold certainly isn't a good thing to do, I think colds spread in the winter by people being indoors so much. You catch a cold from another human, not from the cold wind.

<comment><USER14> Of course but getting too cold weakens your body and makes you susceptible to cold, etc. It can also lead to problems with the organs later.

<comment><USER16> > Of course but getting too cold weakens your body and makes you susceptible > to cold, etc.

I seem to recall a big discussion on this somewhere on the internet a few years ago. From what I recall, there was very little science at all to back up the theory that you catch the common cold from getting a chill. At least to me, there doesn't seem to be a logical connection between the two.

The best reason I can think of is, when it is cold, everyone tends to spend more time indoors with the doors closed, giving a virus much more opportunity to spread amongst people. Another theory had something to do with nasal linings drying up (?) in the winter, making one more susceptible to infection.

If the chill --> catching cold theory was correct, wouldn't it seem likely that when you get really cold, as in shivering your ass off uncontrollably, wouldn't you be extremely likely to catch a cold? And I know anecdotally that that simply isn't true.

Is there even a reasonably logical physiological theory to backup the chill --> catch a cold theory, or is it simply an old wives tale?

<comment><USER17> There's also the issue of less sunlight in winter, therefore less Vitamin D.

</comment></comment></comment></comment></comment></comment><comment><USER18> I can verify this as I was the super sickly kid at high school. When winter arrived, so did the illness period for me. Then I started practising some martial arts in university and my immune system got pretty strong. Hardly had any critical illnesses since then.

</comment><comment><USER19> When I have a cold (sneezing, coughing), I go running anyway (like I do almost every day) and I feel much better for the rest of the day; most of the symptoms disappear, even when running in winter :)

</comment><comment><AUTHOR> Being healthy requires the combination of a good diet, adequate clothing that suits the weather and exercise.

</comment><comment><USER20> To add my own anecdotal evidence: I have experienced the same relationship.

</comment><comment><USER21> Cleaning your hands when you get back home after having been outdoors - a very basic hygiene measure - does a WHOLE LOT more, I would say. Interestingly, in contrast to the article, the direct effect of a session of physical activity is a short suppression of the immuno system that leaves you temporarily more sensitive to the rhinovirus, should you be carrying it at the time.</comment>


Python 201: namedtuple - <AUTHOR> http://www.blog.pythonlibrary.org/2016/03/15/python-201-namedtuple/ <comment><USER2> "I have seen some programmers use it like a struct."

I think namedtuple is entirely too tempting to use for that purpose, given that I think it's the wrong solution. I don't want my struct to be iterable and indexable. I think len(my_struct) should fail.

The namedtuple is a great solution for when you have a tuple API (like the old output from os.stat() or time.gmtime()) and want to transition to an attribute API.

I would prefer a "namedstruct" for a tuple-less version of the same API, to help avoid the attractive nuisance of namedtuple repurposed as a struct creator.

"The other day I was looking for a way to convert a Python dictionary into an object and I came across some code that did something like this:"

       >>> from collections import namedtuple
       >>> Parts = {'id_num':'1234', 'desc':'Ford Engine',
                    'cost':1200.00, 'amount':10}
       >>> parts = namedtuple('Parts', Parts.keys())(**Parts)

(As a minor tweak, that last line can use 'namedtuple('Parts', Parts)( __Parts) '.)

I'll point out that the namedtuple-less alternative is a class like this:

       class PartsClass(object):
         def __init__(self, d): self.__dict__.update(d)

       parts = PartsClass(Parts)

There are some important differences: 0) my version can't be done inline, 1) my PartsClass doesn't have the useful repr() of a namedtuple(), 2) my PartsClass attributes can be modified while a namedtuple's attributes are read-only, 3) the inline nametuple is dreadfully slow - 600x slower than making a class!

        >>> timeit.timeit(number=1000, stmt=lambda: namedtuple('Parts', Parts)(**Parts))
        1.4882779121398926
        >>> timeit.timeit(number=1000, stmt=lambda: PartsClass(Parts))
        0.0022149085998535156

4) hoisting the Parts namedtuple creation results in about 10% faster code than creating a class instance:

        >>> timeit.timeit(stmt=lambda: PartsClass(Parts))
        1.1018929481506348
        >>> PartsTuple =  namedtuple('Parts', Parts)
        >>> timeit.timeit(stmt=lambda: PartsTuple(**Parts))
        1.0174322128295898

5) the tuple API requires the * * notation, while the class notation can take the dictionary directly, and 6) object instance attribute lookup is faster than a namedtuple property lookup:

        >>> parts_instance = PartsClass(Parts)
        >>> timeit.timeit(stmt=lambda: parts_instance.desc)
        0.19052886962890625
        >>> parts_tuple = PartsTuple(**Parts)
        >>> timeit.timeit(stmt=lambda: parts_tuple.desc)
        0.3053739070892334

If there are even two attribute lookups per object then it's faster to use a class instance (1.10+2×0.19 = 1.48) than a namedtuple (1.01+2×0.305=1.62)</comment>


Salary Gossip - <AUTHOR> https://justpaste.it/18ln6 <comment><USER2> The salary numbers in this seem at odds with other numbers I've seen, particularly the $450k package and $210k salary if you have 10+ years experience. Are those numbers generally correct in average across the country, or locale specific?</comment>


Uber prices blockbuster IPO conservatively to raise $8.1B - <AUTHOR> https://www.reuters.com/article/us-uber-ipo-preview/uber-prices-blockbuster-ipo-conservatively-to-raise-8-1-billion-idUSKCN1SF16G <comment><USER2> If you're planning on buying Uber stock can you walk me through your reasoning?

<comment><USER3> How big is the worldwide market for 1) personal transportation, 2) package and parcel delivery, and 3) 30-minute delivery of prepared foods, groceries, pharmaceuticals, auto parts, etc.?

Can Uber capture 10% of that combined market opportunity with the efficiencies that come from globally optimized routing of all those trips?

Can Uber inside-out the company so others can execute on its platform, with Uber taking a cut?

If so, then an $80 billion present value seems low.

<comment><USER4> They have been going a decade, they havent turned a profit yet, in fact they have been burning through capital. What is going to change in the next decade that means they will return a profit consistently enough that either dividend payout will occur or a higher share price will be achieved?

Seems to me that as soon as Uber find out how to turn a profit thats when copycats can jump on board with their app and start taking a slice of ubers cake. Afterall they wont have long term investors to repay so their prices could be lower than Ubers, making the value proposition of uber even worse.

<comment><USER5> What makes you think they are even trying to make a profit? Uber has investors willing to throw billions at them to spend on growth, why wouldn't they take it?

<comment><USER6> Going public means a different strategy for the board.

Up until this point Uber has been a hot investment ticket for VCs, and the existing investors have been incentivized to pump up the valuation to improve their position. This strategy involves self-driving cars and helicopters and edgy vaporware - basically creating these tactical hype moments for the Uber brand.

Now with public investors, the hype strategy isn't sustainable and the board will need to turn a profit (eventually) or be ousted by public owners who don't want to see their shares in a company be destroyed.

</comment></comment></comment></comment></comment><comment><USER7> I'm only starting to hear that Uber intends to replace public transportation:

> Our Personal Mobility TAM consists of 11.9 trillion miles per year, > representing an estimated $5.7 trillion market opportunity in 175 countries. > We include all passenger vehicle miles and all public transportation miles > in all countries globally in our TAM, including those we have yet to enter, > except for the 20 countries that we address through our ownership positions > in our minority-owned affiliates, over which we have no operational control > other than approval rights with respect to certain material corporate > actions. We estimate that these 20 countries represent an additional > estimated market opportunity of approximately $0.5 trillion.

See "Our Market Opportunity" section in the S1 ([https://www.sec.gov/Archives/edgar/data/1543151/000119312519...](https://www.sec.gov/Archives/edgar/data/1543151/000119312519103850/d647752ds1.htm#toc647752_4))

This seems quite ... optimistic to me. I'm not sure how many public transportation companies actually operate at a significant profit, such that they can undercut. It also seems risky, in that they might generate a huge backlash if they try to do the whole "we're just gonna loss lead until we're dominant, then jack up the price" strategy.

I'm guessing there is section of the population that says "screw it, I'll rent a car" where public transportation is quite slow, but replacing public transportation for poorer people is just going to be losing money. Given that Uber is already losing money, I'm just wondering how you'd develop a model where this TAM makes sense.

<comment><USER8> There are many profitable subsections of public transit. The issue is the it's a PUBLIC resource. They're not run to maximize profit. They also run many lines which are not profitable. If a private company tried to steal the business of the profitable subsections it would put the non profitable ones at risk. Smart governments would outlaw such competition.

<comment><USER9> They wouldn't even need to outlaw competition in most cases of profitable subsections of public transport, because a profitable commuter train into $busycity /= a potentially profitable service driving commuters in large numbers of small vehicles through heavy traffic to the same destination...

</comment></comment></comment><comment><USER10> I'd curious to see an explanation of just how the ride-sharing business might be profitable.

I assume this:

"Uber's chief executive, Dara Khosrowshahi, argued that Uber's future was not as a ride-hailing company, but as a wide technology platform shaping logistics and transportation."

implies that Uber hasn't figured it out.

<comment><USER11> "Can you give us $8 billion for 10% of this venture so we can, you know, figure out a way to make money?"

<comment><USER12> This is was done for quite awhile for Amazon.

<comment><USER10> Part of the way I remember the early Amazon is they were bootstrapped by the fact that web purchases were, for a time, exempted from state sales taxes.

Some of that history here it would seem:

[https://en.wikipedia.org/wiki/Sales_taxes_in_the_United_Stat...](https://en.wikipedia.org/wiki/Sales_taxes_in_the_United_States#Internet_transactions)

</comment></comment></comment></comment><comment><USER13> I am not planning to buy, but if I would consider, my reasons would be specifically to not bet on self driving cars. I don't foresee self-driving cars to be ubiquitous in the very near future (5 years). Until then, Uber's presence and driver network can ensure that they are profitable in current markets. They already are in major cities.

<comment><USER14> Don't they spend a lot more on self driving than say lyft? I think a bet on Uber is a bet they win self driving. A bet on taxi apps is a bet on lyft.

<comment><USER15> But hasn't Google invested a couple billion on Lyft? And since Google is the leader in self-driving, might not Google help Lyft in its self-driving endeavors -- therefore making Lyft more able to pull-off a fleet of self- driving taxis?

<comment><USER16> Self-driving cars are _more expensive_ than a human-driven fleet. Lyft would need to own (or lease) the vehicles themselves, and pay all the associated maintenance costs. Their current business model is entirely predicated on _not_ paying those costs, and nothing about self-driving will provide the necessary margins for the economics of a self-driving fleet to pan out.

<comment><USER14> > Self-driving cars are more expensive than a human-driven fleet.

Only in the very short term. Over 10 years the cost of self driving is much much less than the cost of paying a worker to drive a car for 10 years, once the tech is developed and good enough. Just a matter of who wins that race - and how long they win that race for. If you beat the rest of the market by 10 years, there is some serious profit to take. If your competitor finishes 10 years of research 3 months after you, you are in trouble.

</comment></comment></comment></comment></comment><comment><USER17> Wall street is crazy to me. They're losing out on a ton of money to avoid articles about "OMG the price isn't higher than last quarter!"

<comment><USER18> I recommend you read [https://www.bloomberg.com/opinion/articles/2019-05-09/the- ub...](https://www.bloomberg.com/opinion/articles/2019-05-09/the-uber-ipo-day- is-finally-here) to get a better idea what is actually going on. Nothing crazy.

<comment><USER19> The fact that this is the most money losing company ever to IPO should raise some eyebrows.

<comment><USER4> Early investors need to recoup something, so thats going to come from retail investors and pension schemes. When the share price halves in 12-24 months time the early investors and founders will be so rich they wont care.

</comment></comment></comment></comment><comment><USER20> This whole thing is a load of spin.

If they could have gotten a higher price, they would. Uber stock is going to be lower than this valuation in a month's time, mark my words.

<comment><USER21> "If they could have gotten a higher price, they would" \- this is very true.

But consider with every price is risk.

It may very well be that Uber wants to limit risk of some debacle and is taking a conservative approach, which is reasonable.

</comment></comment><comment><USER22> I will be shorting this stock. It's obvious to me that Tesla will be eating Uber's lunch when it comes to Autonomous driving. In fact, I believe this entire IPO is just a way for investors to try to minimize and spread out the losses they know they will incur from Uber going under.

<comment><USER23> Nothing is obvious when it comes to how autonomous vehicles will shake out.

<comment><USER24> That autonomous driving is coming is inevitable. The scale and timing I can debate though.

<comment><USER25> A moon base must have seemed inevitable to those in the 1960s too.

<comment><USER26> 1960s is a bit too optimistic. I personally think it'll happen in the 1970s.</comment></comment></comment></comment></comment>


YAPF – A formatter for Python files - <AUTHOR> https://github.com/google/yapf

<comment><USER2> Look's interesting, but I hesitate to use a Python formatting tool whose own code runs counter to well accepted Python stylistic guidelines -- namely "Use 4 spaces per indentation level." ([https://www.python.org/dev/peps/pep-0008/#indentation](https://www.python.org/dev/peps/pep-0008/#indentation))

<comment><USER3> Without some examples from the author (or sinking time into installing/playing with it) it's pretty hard for me to tell what it's actually going to do with the code.

AutoPEP8 will generally intelligently pick between a standard hanging indent, a deep hanging indent, and an aligned indent. Does this not do so?

Edit: oh, I see. The author's code uses two spaces. Heh.

<comment><USER4> That is apparently the "google style" [https://github.com/google/yapf/blob/master/yapf/yapflib/styl...](https://github.com/google/yapf/blob/master/yapf/yapflib/style.py#L114)

No option to change the line endings though, and it changes them all to Windows style.

<comment><USER3> I thought about that, but [https://google- styleguide.googlecode.com/svn/trunk/pyguide.h...](https://google- styleguide.googlecode.com/svn/trunk/pyguide.html) makes it pretty clear Google Style is 4 spaces.

It's under Python Style Rules | Indentation.

</comment></comment></comment></comment><comment><USER5> Interesting, but on a quick test it looks like it changes UNIX-style line endings (LF) to Windows (CRLF).

<comment><USER6> This shouldn't happen - please report an issue</comment></comment>


Cringely: Blu-ray Blues--Apple holding off on Blu-ray in favor its own HD distribution? - <AUTHOR> http://www.pbs.org/cringely/pulpit/2008/pulpit_20080314_004511.html

<comment><USER2> This is kinda old news. HD DVD and Blu-ray are dead. Apple have already done away with old cludgy disk drives with the Air, people will download and stream. It's not rocket science.

DVD is certainly my last 'hard copy format'. After DVD, the natural progression is to go digital distribution.

</comment><comment><USER3> I think perhaps Mr Cringely has overestimated the difficulty of plugging in a USB blueray drive and installing toast.

If people make their livelihood with technologies such as this (wedding videographers) it is unlikely that they'd be stymied by such a leap.

</comment><comment><USER4> Cringley doesn't seem to have much of a track record with these predictions of his

</comment><comment><USER5> i'm surprise that wedding video business is around $4billion !!! i dont think apple can afford to loose this market - but u never know, if economics of apple tv movie distribution is stronger (which i doubt) than other markets then apple will surely take time to introduce blu-ray.</comment>


Creating the alien writing in Infinifactory (2015) - <AUTHOR> http://www.zachtronics.com/alien-writing/ <comment><USER2> Not directly related, but here's a couple GDC talks with Zach Barth that are pretty entertaining.

GDC 2013: YouTube: [https://www.youtube.com/watch?v=lH7gL3ivgFA](https://www.youtube.com/watch?v=lH7gL3ivgFA) GDC Vault: [https://www.gdcvault.com/play/1017983/Ahead-of-the-Curve- The](https://www.gdcvault.com/play/1017983/Ahead-of-the-Curve-The)

GDC 2018: YouTube: [https://www.youtube.com/watch?v=iAfcJB1WaDU](https://www.youtube.com/watch?v=iAfcJB1WaDU) GDC Vault: [https://www.gdcvault.com/play/1024969/Inside-the-Indie- Mind-...](https://www.gdcvault.com/play/1024969/Inside-the-Indie-Mind-Zach)

<comment><USER3> Thanks for sharing those. There's also: Zach Barth: "Zachtronics: Ten Years of Terrible Games" | Talks at Google - [https://www.youtube.com/watch?v=Df9pz_EmKhA](https://www.youtube.com/watch?v=Df9pz_EmKhA)

</comment></comment><comment><USER4> > Most characters are grouped into "words", which start with the "start word" > character and are connected by a vertical line on the right side. I don't > have a logical reason for why the same character is present at the start of > every word

Well, you could argue that English puts the space character at the start of every word, other than the first one. Maybe the aliens want to delineate their words but think blank spaces look ugly.

</comment><comment><USER5> I love Zach's games, just picked up EXAPUNKS and loving it. My favorite since Shenzhen I/O, but they are all great.

</comment><comment><USER6> /r/conlangs and /r/neography are both really fun subs for this kind of stuff (this is more the latter really) if anyone is interested.

</comment><comment><USER7> Oddly enough, the final output rather resembles a pixelated version of traditional Mongolian script, which in turn originates from Arabic written vertically:

[https://en.wikipedia.org/wiki/Mongolian_script#/media/File:M...](https://en.wikipedia.org/wiki/Mongolian_script#/media/File:Mong%C9%A3ol.png)

</comment><comment><USER8> So, basically it's digital Voynich Manuscript. Devious.

</comment><comment><USER9> The only part of the article I can pay attention to is the fact that it's encoded in cp1252, and I'm on a Mac, so all the apostrophes show up as �.

<comment><USER10> Looking at the page source, it was most probably handwritten in Notepad, hence the Windows encoding.

</comment></comment><comment><USER11> Looks like arabic script written in square kufic style, vertically.</comment>


How many people are in jail based on faked data? - <AUTHOR> http://www.slate.com/articles/news_and_politics/crime/2015/10/massachusetts_crime_lab_scandal_worsens_dookhan_and_farak.single.html <comment><USER2> Too many!</comment>


Save Snopes FAQ - <AUTHOR> https://www.savesnopes.com/faq <comment><USER2> You know, fuck Snopes. They still have so much misleaing content on their website. They should just give everything to archive.org and quit.

Their article on Adkins death is totally wrong.</comment>


Storify End-of-Life - <AUTHOR> https://storify.com/faq-eol <comment><USER2> Twitter just released 'native' threads an hour ago: [https://blog.twitter.com/official/en_us/topics/product/2017/...](https://blog.twitter.com/official/en_us/topics/product/2017/nicethreads.html)

</comment><comment><USER3> I'm not sure what Storify is/was. I attempted to find out by clicking the "About" link in their footer, and got redirected to Adobe. Looks like maybe they got a buyout!

<comment><USER4> Storify was acquired by Livefyre ~4 years ago: [https://news.ycombinator.com/item?id=6354835](https://news.ycombinator.com/item?id=6354835)

Livefyre was acquired by Adobe last year.

Whatever the route they've taken, the upshot is a helluva lot of content going _poof_ (per usual).

<comment><USER5> At least they seem not to have blocked the Internet Archive bot, so some history may have been preserved: [http://archive.is/storify.com](http://archive.is/storify.com)

<comment><USER6> So what's the end-game here? Future society needs to schlep a history of current societies banal social media content along with?

This feels religious; Oh, just upload it all to digital Heaven! I'll never "die" and people can continue to revere me and my cats forever!

Just because we _can_ doesn't mean we _should_ care about preserving every bit and byte. Especially since the computing infra for that has real environmental costs.

<comment><USER7> While everyone would agree with this, everyone doesn't agree with what should be thrown away.

Burning books because they aren't "valuable" is dangerous ground. Safer to store everything.

<comment><USER8> This is a totally wrong analogy. Books were burnt for religios/political reasons. Storify is giving up because of lack of financial instreams for the owners.

<comment><USER9> Tons of valuable books and records have been burnt because _someone_ thought they weren't valuable or didn't have the money to house them. It's true, it's more likely they were just thrown on a trash heap and left to rot, but trash incineration is a thing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> This is going to cause an awful lot of dead links. I don't suppose anyone has a plan to archive the content?

<comment><USER11> [https://twitter.com/textfiles/status/940627577059778560](https://twitter.com/textfiles/status/940627577059778560)

</comment></comment><comment><USER12> Storify was pretty useful as a curation tool, and I remember using it to sort through the information/disinformation around the Japan quake ([https://storify.com/boheekim/collaborating-to-storify- japan](https://storify.com/boheekim/collaborating-to-storify-japan)) back in 2011. There is a definite need for an embeddable/centralized stream of updates during times of disaster or crisis. Folks often whip up a collaborative Google Doc on the fly, but a lighter weight mobile friendly solution would be awesome.

</comment><comment><USER13> Storify was a good product, used it in the early days. Shame to see it going down.

<comment><USER14> Distilpost, my own startup is a more than adequate alternative. It is all machine curated at the moment and super accurate. Beats twitter moments easily. [https://distilpost.com/](https://distilpost.com/)

<comment><USER14> Pardon me if i am unfamiliar with the ways of the community but the down votes are simply far removed from what i expected as i only sougth to offer those deeply affected a possible alternative and something to cheer for.

<comment><USER15> Your comment is pretty unashamedly self-serving and not entirely on topic. Storify was curated, yours intentionally doesn't overlap on the heart of this product.

<comment><USER16> I don't think there's anything wrong with unashamedly self-serving. All plugs by developers are self-serving, and trying to enforce the veneer of modesty will just cause people to be more subtle and tricky. Better to allow so long as the interest is disclosed (which he did).

So really, the only possible reason to down vote is being off topic (which could definitely apply to this case).

</comment></comment></comment></comment></comment><comment><USER17> Think Twitter Moments was the beginning of the end for Storify - testament to how well Moments has worked for Twitter, despite its early critics.

<comment><USER18> I still don't understand how to use Twitter Moments. How do they compare to Storify?

<comment><USER19> You can create a Moment and string together any number of tweets from any number of accounts into a cohesive narrative. Similar to Storify.

</comment></comment></comment><comment><USER20> If you want a laugh, check out what I think is the funniest Storify story ever - [https://storify.com/ahchrissawyer/the-peanut-factory-sex- bur...](https://storify.com/ahchrissawyer/the-peanut-factory-sex-burglars) (The Peanut Factory Sex Burglars)

</comment><comment><USER21> Website is essentially plain html with firefox tracking protection. Nice.

</comment><comment><USER22> Mandatory: [https://ourincrediblejourney.tumblr.com/](https://ourincrediblejourney.tumblr.com/)

<comment><USER23> Please don't do stock comments here, especially when their best-before date was so long ago.

<comment><USER24> It's a lazy comment, but that blog is the closest thing we have to a modern day Fucked Company site.

</comment></comment></comment><comment><USER25> .

<comment><USER26> I understand the rationale behind your comment but I think it expresses a form of emotion when including something like "unfortunately" to an already negative statement. It feels like an expression of regret. Personally, saying something like "unfortunately, my grandmother passed away this year" instead of just saying "my grandmother passed away" feels a bit more emotional.

</comment></comment><comment><USER27> This is pretty well executed. Straightforward presentation of the impact and plan, ample time to deal with it, and no BS.</comment>


The HTML5 nsfw element (April Fool's 2010) - <AUTHOR> http://html5doctor.com/the-nsfw-element/

<comment><USER2> I hate when April Fool's jokes turn out to be better ideas than other serious ideas.</comment>


Ask HN: Business plan... what do you include in it? - <AUTHOR>

I assume a good portion of the visitors to this site are entrepreneurs. I am not, ... not yet at least. Assuming that you use some type of document to sync up vision & goals between your initial partners, what do you include in that document for these first critical discussions? What are the most important things to take into consideration?<p>Also, if you feel comfortable, it would be a great help to see some samples of ones you've written in the past. <comment><USER2> A document to synch up vision and goals between partners doesn't look very much like the standard business plan (or what's been proposed so far here).

With partners you should have a mutual understanding of:

\- Risk tolerance. How much of their own money will they spend? How long will they go without a paycheck? How cheaply can they live?

\- Contribution. How much time/money will each partner contribute?

\- Equity. Who owns what? I'm a huge proponent of getting equal partners. If they don't deserve an equal share, punt 'em and find someone who does.

\- Vesting. How long will it take before everyone owns their share (should be 2-3 years - you don't want someone quitting early and leaving with 33% of your companies stock)

\- Goals. Do you want to build a happy little income producing side project? Or a monster business? Or do you want to change the world?

\- How to leave, gracefully. There should be a written agreement that has rules for when a partner leaves voluntarily, or when two partners want to push out a third. It's a lot easier to write this down NOW than when your company is worth $10m.

\- What you're building, who you're building it for, and how flexible you are on the idea. Ideas change, a lot. You should be passionate about the same things.

\- Authority. Does anyone have it on design decisions? Code decisions? fundraising decisions?

\- Horizon. How long are you committing to the project before you punt it or pivot to a different idea?

In terms of business plans, it's a great exercise to discuss stuff like development process, roles, sales/marketing, pricing, etc. But don't spend any more time writing the document than you HAVE to to get a shared understanding. 99% of the value is the process-- they usually collect dust once they are written.

<comment><AUTHOR> Thanks, I've always kind of grouped the business plan and this process into one thing. Makes sense to separate these two components.

</comment></comment><comment><USER3> This is a good set of items to include:

<http://www.sequoiacap.com/ideas/>

</comment><comment><USER4> I include 7 things.

1\. The idea in a nutshell

\----

2\. Production - what you'll do to bring the idea to life

3\. Marketing - what you'll do to promote the venture

4\. Finance - how much money is needed. And what will be the breakeven point and the cashflow positive point.

\----

5\. Your target audience profile

6\. Your competition

7\. Your own self - your USP, your resources, your team

<comment><AUTHOR> Thanks for the response, can you clarify what USP means?

<comment><USER5> <http://en.wikipedia.org/wiki/Unique_selling_proposition>

haven't heard that term since advertising 201. what a bullshit class. i spent hundreds of hours creating hundreds of bullshit "thumbnails" for bullshit weight watchers campaigns.

</comment></comment></comment><comment><USER6> Paul Graham's business plan for viaweb <http://www.paulgraham.com/vwplan.html>

</comment><comment><USER7> 7 Common Errors when Writing a Business Plan: [http://entrepreneur.venturebeat.com/2009/07/09/seven- common-...](http://entrepreneur.venturebeat.com/2009/07/09/seven-common- errors-when-writing-a-business-plan/)

</comment><comment><USER8> A business plan is predicting the future. Play around with scenarios of different success/failure points. If you have X amount of cash to work with that will get you y months of time to prove it.

</comment><comment><USER9> 1\. Mission/What is It? 2\. Current Market (competition) 3\. Need left by current market 4\. Why this is the solution to current need 5\. How it works 6\. Pro forma 7\. The team</comment>


Customers compare noise from Alphabet spinout Wing's delivery drones to chainsaw - <AUTHOR> https://venturebeat.com/2018/12/27/alphabet-spinout-wings-drones-are-too-noisy-customers-say/ <comment><USER2> I wonder if the use of a lighter than air lifting body would aleviate much of the noise problems with these drones. Obviously there are problems with speed so the use would be limited to deliveries that are less urgent ensuring your fast food does not get cold enroute.</comment>


Shortchanging Your Business with User-Hostile Platforms - <AUTHOR> http://al3x.net/2011/01/15/user-hostile-platforms.html <comment><USER2> This is a fascinating question. AIR and the new mobile app frameworks are great for prototyping and getting an app out there really quickly, and perhaps then you can make the decision to either build native apps for your biggest platforms; or not.

Alex is obviously pointing to the verbal minority (of which he is a part), because for every person out there that speaks out against, say, the Tweetdeck AIR app; there are probably _millions_ that are satisfied with it and in fact prefer it to the native alternatives (that don't have columns, even though they might be native).

The problem with listening to the verbal minority is that you're then building for the verbal minority, and not the bulk of your true user base.

Startups are all about priorities, right? And logically you should prioritize things that will materially affect your business (such as stability) over things that aren't real problems but get written up anyway. EDIT: I mean, he did leave Campfire because of a stability issue, even though there's a native app for it ;-)

<comment><USER3> You can dismiss the "verbal minority", or you could treat them as leading indicators. Personally, I'll err on the side of building something that's up to my standards rather than seeing if I can get away with mediocrity.

It's entirely possible to focus on both stability and, say, a quality desktop application. If you're under-resourced to accomplish both goals, maybe you didn't plan correctly.

<comment><USER4> It is also possible that both moving to a native app and achieving five nines of uptime (from four nines) will do less for the business than changing the call to action on the pricing page. Luckily, God gave us AB testing.

<comment><USER5> How is this an argument against making a native app? Don't you have to make the native app before you can AB test it?

<comment><USER4> It is an argument about competing priorities when resource constrained: try the cheap stuff prior to dropping six figures of dev time on a feature to rescue business which all available evidence says is one account worth $20 a month. (You could go try to find evidence that users actually want to download native apps. For example, put a download button on your page, then see if anyone clicks it. If nobody does, send me half of your six figure dev budget and you're now strictly better off. It is downright disturbing how many _very expensive_ features fail to change user behavior because business processes optimize for the satisfaction of people other than the people who actually pay money for stuff.)

<comment><USER5> I agree with your last sentence, but not the one before it. Alex isn't arguing that users _consciously_ prefer native apps; most don't even know what "native app" means. He's arguing that native apps _feel_ better to users and that this feeling is worth something. How much it's worth is hard to quantify. The test you describe wouldn't answer that. As for this:

 _which all available evidence says is one account worth $20 a month_

... surely you haven't reviewed _all_ available evidence on this question? Or did God give it to us when he gave us AB testing? I'm joking, but I think you're trivializing a nontrivial question. I'd like to know how to find "all available evidence"; my experience is that this kind of thing can be very hard to measure.

Edit: it's worth remembering that Steve Jobs made almost an identical argument to Alex's in his critique of Flash last year, even emphasizing that it was his most important point: "We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps" (<http://www.apple.com/hotnews/thoughts-on- flash/>). Sub-standard apps are exactly what the OP is about.

</comment></comment></comment></comment></comment></comment><comment><USER4> I think developers frequently suffer from "This doesn't flatter my sensibilities, so it must be crap. There is a sense of cosmic justice, so this will hurt the business."

I was told, repeatedly, that Mac owners are Jobs-loving HIG fascists who look down on Java apps. Separately, their conversion rate was double PC owners. Who am I supposed to believe, the experts or my lying eyes?

<comment><USER6> I don't think your criticism is entirely fair; for one, you can only compare OS X users to Windows users, which isn't at issue. Perhaps if you had a native version of your application the conversion rate would be 4x that of Windows. Furthermore, I would suggest that Bingo card applications have a different target audience than developer chat applications and that the former is less bothered by platform inconsistencies.

<comment><USER4> It was telling to me at the time that actual business results directly contrary to hypothesized outcomes identified in advance are treated as having no informational value with regards to the original claim.

<comment><USER7> So, your new working hypothesis is what, that Mac users secretly prefer Java UIs? That might prove too much.

I don't think it's a secret that Mac users are, by and large, more comfortable than Windows users at paying for and installing software. The paradox of choice is in less egregious effect, and they have fewer scars from past attempts.

<comment><USER8> No, that's clearly not his new working hypothesis.

<comment><USER9> How about: Users prefer "good" UI. Users evaluate "good" partly in terms of expectations.

</comment></comment></comment></comment></comment></comment><comment><USER10> He has a point. I'm an ex-air developer. I moved to WPF. So yes, ok there are heaps of bad air app out there, because the learning curve is so low.

That being said I think AIR can be very close to native. It takes that extra mile of programming that most don't do. In the end, you might as well make it native.

But think about this for a moment. An AIR app can and does run well on both Mac and PC. I understand native is better, but it's not a simple matter of money and time. You need to find the skills for a decent mac developer. Most of them are gone crusading in the world of iOS and too busy to make a mac client. .NET developers are plentiful though. my 5c.

<comment><USER11> I figure Flex and AIR are just becoming the new PHP. People love to hate, but I really like programming in both even though my favorite languages are Python and Scheme.

When people say programming in Flex is annoying.. have they ever done SWT development, or Swing? GUI work in general usually bugs the crap out of me, but MXML with AS and HTML with JS are fantastic.

</comment></comment><comment><USER12> Indeed. These group chat businesses should support open standards like XMPP or IRC. Yes, XMPP and IRC _suck_ , but there are tons of clients available that work with each. If you support one of these, the user can use your "beautiful" web or AIR client, or they can bring their own real client. You get happy users without having to write any code.

I've worked at several jobs with distributed teams, and the one that used IRC was the easiest. (I've also used Outlook Communicator, which is, as you'd guess, the worst fucking software product of all time. Except for Windows and Outlook, of course.)

<comment> X-Istence The company I work at currently uses a XMPP server to do internal chat which allows us to communicate between members.

</comment></comment><comment><USER13> Ditched Balsamiq a long time ago for this very reason. Would have been a good app if he didn't decide to build it on such a terrible foundation.

Still, he seems to be doing fine business wise. Maybe it's not as big a deal as al3x makes it out to be.

</comment><comment><USER14> It takes some Enron-level hand waving to dismiss the cost of developing a native OSX app. Just hire a contractor, indeed. Would we prefer it? Yes. Would we pay for it? Don't be so sure.

</comment><comment><USER15> Funny--he started out "after another Campfire outage this week", I thought the post was going to be about the unreliability of Campfire, its platform (ruby, dash of C, AFAIK), and the uptime issues causing user-hostility amongst 37signal's customers.

Which was going to be (and still is) ironic since BankSimple is likely using the same technology stack.

After being down voted: so Alex can call all AIR developers lazy because they don't want to leave their comfort zone and write native apps, but I can't insinuate the same thing about 37signal's not wanting to leave their Ruby comfort zone to make a reliable messaging app? Oh, right, we hate AIR, but love Ruby. Sorry, I missed that there was a double standard. :-)

<comment><USER3> We're using a bit of Ruby, but not C, and mostly Scala and Clojure. Either way, I think reliability is a process thing, not a technology thing.

<comment><USER16> I meant to up vote you, but missed (iPad.)

Can you elaborate on heat you mean by process and not technology?

</comment></comment></comment><comment><USER17> I always appreciate a quality call, but I can't agree that native is a good proxy for good UI or even just for the principle of least surprise. We use so many different UIs nowadays. Various OSs, crazy web UIs, different phones, games, vim, etc. So for me, the question is not so much "is this app native?" but rather "am I a native of the app's UI? (or let's say naturalized :)". iCal doesn't feel native to me, even though I use a Mac. It feels awkward after having used Google Calendar for a while. (I would even say iCal has a horrible UI but that's another matter)

I happen to think that a good UI is not just a matter of getting used to it, although that's a big part of it. There are some things I do hundereds if not thousands of times a day, and I want them to be very fast, regardless of what is native. I want them to be the same in that particular app on all platforms I use. I don't want the keyboard shortcuts of gmail or vim to change depending on what machine I happen to use.

</comment><comment><USER18> I have built some pretty impressive AIR apps for our customers (5 apps, 40 KSLOC or so total). It takes a good level of software discipline to make apps that perform, can be reused and are maintainable (like any good desktop app). We chose AIR because of Linux / Window cross compatibility and its beautiful appearance.

</comment><comment><USER19> I'm sorry but I just don't see what the big deal is. Alex names mog as an example of users wanting native desktop support, yet most are just fine using the flash version. It's difficult to draw conclusions based on a developer's perspective (which I've often been guilty of)

</comment><comment><USER20> I've never liked AIR and QT/WebKit apps (or even the Opera web browser) because there's this feeling similar to that of Uncanny Valley, where something just doesn't feel right. The scroll bar doesn't work well, something happens too fast or too slow, selection doesn't behave as it should, the buttons look weird. Something along those lines.

<comment><USER21> I think "Uncanny Valley" is exactly right. It was something we faced when building an AIR app, we could mimic the look of the each OS pretty closely but it never felt quite right.

In the end we opted to a stylize feel of each OS but not an attempt to recreate the look and feel exactly.

<comment><USER22> I second that, Uncanny Valley is exactly it. It was the same a few years ago on the web when web apps tried to duplicate native functionality (think filebrowsers etc.), it never worked right. In fact, Dropbox (however much I love it) still has that problem in their web UI.

</comment></comment></comment><comment><USER23> Am I the only one who wants a JS-HTML combo app that will be both cross- platform and fast, and not one native app for each platform for most of the apps?

<comment><USER24> A webapp is not a replacement for a desktop app. There are very legitimate reasons for wanting a desktop app, more for some types of apps than others.

<comment><USER23> I'm somehow not familiar with _any_ of the apps he's referencing. Is he talking about mobile apps or desktop?

<comment><USER25> desktop

<comment><USER23> I see, thanks. My comment above doesn't apply, then. However, I think you can get very nice-looking, cross-platform, native apps with python and QT, GTK or other toolkits.

<comment><USER3> Examples? I've seen okay looking GTK and QT apps running under a specific OS or distribution, but usually when you try to run them on a different OS they fall apart.

<comment><USER26> Qt supports different native styles, Qt looks - and behaves - native in Windows, OS X, GNOME, KDE, ... Try QtCreator for example, or VLC, or VirtualBox, or any other application made in Qt.

Check out their whitepaper "Qt Cross-Platform Application Framework": <http://qt.nokia.com/files/pdf/qt-4.4-whitepaper>

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> I think what it comes down to is that as a developer, you've lost your way if you're creating a product you personally wouldn't want to use. Even if it were the case that the average user might not be that turned off by AIR (and I'm not convinced that's the case), if you've decided to base your product on a platform that's basically a deal-breaker if you're shopping around for apps (as AIR is for me), then I think you've set a really bad tone for your future enthusiasm for what you're making.

A frequent drum-beat on HN is having passion for what you create. Even if it saved me time in the short run and got me some degree of free platform support, I think having to work on an AIR app that I would probably never use in real life would probably doom the project in the long run.

When I think about the independent software projects that I love, it's obvious that the developers behind them love them as well. I (and I don't want to speak for everyone) can't see myself loving an AIR app.

<comment><USER28> I think what it comes down to is minimum viable product. Perhaps even budgeting. Maybe an assumption that since you don't like AIR, you can't see anyone else liking it.

</comment></comment><comment><USER29> Very good article. We use Yammer and their AIR client is a constant source of frustration. Bloated, CPU-eating, inconsistent and annoying.

I use Balsamiq Mockups when I have to, but I always find the experience annoying. If there was a Mac-native app with similar functionality, I'd switch in an instant.

<comment><USER30> I thought this article's unnamed product was Yammer.

</comment></comment><comment><USER31> It's all about getting shit done and bringing value to clients. Design fetishism affects very small percentage of both users and builders (which are also sophisticated users)

<comment><USER5> "Design fetishist", by all accounts I've read, is an excellent description of Steve Jobs and Apple. Therefore design fetishism does not affect a small percentage of users.

<comment><USER32> The first Apple computer was shipped as a barebones circuit board...even Apple had to work their way to excellent UX.

</comment></comment></comment><comment><USER33> In my experience there is a difference between applications that feel 'a bit off' (in that they don't completely honor the platforms interface guidelines but aren't opposed either), and really user-hostile platforms.

In the first, the user interface is fast, stable, and does its job on every platform. The developers didn't have time to make a real native application, but have made sure of usability on every platform. Widget kits like QT allow to get very close to native look&feel. In this case, the usefulness of the software _can_ make up for the non-nativeness.

On the other hand, really horrifying user-hostile platforms also exist. I've frequently experienced these in "enterprise software". Makers of such products seem to think that user experience doesn't matter at all. The interfaces, feel bulky and slow and generic, sometimes based on 80s screen scraping, and live in a world of their own, ignoring any user friendliness guideline since the same era. Not even starting about the web-applications that only support IE6... This is not the uncanny valley, this is stuff straight out of nightmares.

</comment><comment><USER28> Would he have considered the product at all if it was Windows-native only?

<comment><USER3> Nope.

<comment><USER28> Do you think an AIR application will result in less users overall than a Windows only application?

edit: make that less "paying users", by whichever standard the application in question uses

<comment><USER34> Keep in mind that although 60% of our AIR client users are on Windows, 0% of the teams use Windows exclusively. Targeting a single OS would be a fatal decision for us.

</comment></comment></comment></comment><comment><USER35> Arggh. There's this thing called IRC. Problem solved.

</comment><comment><USER36> " _It seemed like a decision that had everything to do with what's in the best interests of the business, and nothing to do with what's good for the customer._ "

They already told you they're a small team, with mostly windows users and AIR allowed them to offer a cross platform solution. This is a polite way of saying "you're an outlier, you're not our target user, please go away and stop bothering us".

" _People seem to hate AIR. Wherever you see AIR apps, there are support forum threads opened by customers begging for a native alternative_ "

I've personally never noticed this, got any examples?

Let me say here: I'm not a fan of AIR - I'm completely indifferent to it as a technolgoy - but so far you're just bitching about your personal experiences with one application and wishing the world were different from how it is so you'd find it more enjoyable.

" _a moderator sheepishly explaining that they just don't "have the time"_ "

What's to be sheepish about!? There's no shame in not having the time to build native apps for every platform. I don't have the time to write all of my code in assembly so I use high level languages. If you tried to run a modern operating system on 1980s hardware you wouldn't get particularly far. Technologies are built and adopted to improve productivity and get products to market faster - AIR is one of these. Whether or not it is the best choice for one application or another, or whether you happen to enjoy it or not has no bearing on how much actual time a company or individual has to develop software! They make a choice about a technology based on their goals and the information at their disposal. Why should they be feeling sheepish?

" _The fact that some subset of users are willing to shell out for these native apps should be a wake-up call. That's money that those service providers are letting slip away._ "

No, it's money they're _making_ by opening their product using an API and not trying to be all things to all people. By allowing 3rd party developers to build on their platform they still get your money, but they just don't have to do any extra work for it building a native app for your platform.

" _In a nutshell, what you're communicating with an AIR app is that your business priorities (saving time and money) are more important than what your customers want._ "

Or maybe you're just trying to build a minimum value proposition, make some money, test the market, receive feedback, learn something, iterate and improve. You seem to think these guys are dishing up an AIR application in an afternoon then taking your hard earned cash and throwing it onto a gigantic "Scrooge McDuck" style money bin, then taking the yacht out for an afternoon spin to laugh at their sucker customers. You don't like the product, don't bloody buy it! That's what the free market is there for.

" _"We don't have time" is the common excuse for delivering an AIR app instead of a good native app. Money, though, can buy someone else's time. For a price, you can find a great contractor to build a native app for any platform under the sun._ "

Okay then why don't _you_ build this app that you're after? Just learn to program, then build it yourself. Oh, don't have time? Well just pay someone else to do it for you. If you have the money, fantastic, compete and make a better product. What makes you think that these people are any different from you? That they don't exist in the same world of limitations and constraints that we all do every single day of our lives?

" _Humans are gifted with extremely sensitive bullshit detectors._ "

Yeah mine started going fucking bonkers about paragraph 2 ...

You could have made this article about how flawed you think AIR is as a technology, cited examples of applications that have vocal user communities looking for a native app etc.

Instead you've just made outlandish claims that people building technology and working to create products are _lazy_ , that they're somehow compelled to produce mediocre products (rather than settling for the best they can afford to produce and shipping _something_ in the hopes that some people will get good use out of it).

Software is a constant process of settling for mediocrity. Nothing is ever _finished_. No software developer has ever typed one last semi-colon, sit back and said "you know what? There's nothing else I'd add to that, it's perfect".

Who keeps upvoting this!?

<comment><USER37> _"People seem to hate AIR. Wherever you see AIR apps, there are support forum threads opened by customers begging for a native alternative"_

 _I've personally never noticed this, got any examples?_

In the post you're quoting, he linked to four forum threads for four separate products, along with a couple of blog posts.

<comment><USER38> Won't there be even more complaining how shitty a native software is?

<comment><USER37> Probably. However, that's not what the parent asked for.

</comment></comment></comment></comment><comment><USER32> Am I the only one that enjoys using Air apps? I found the post to be a bit whiny for my tastes, and furthermore, I wonder if the OP is happy with any service at all.

Seems more like an issue of a problem customer than a problem service.

</comment><comment><USER39> There's a lot to be said about the potential of the WebKit HTML/JS portion of AIR that's far less used than the Flash or Flex counterparts.

In my experience, the lack of a sane garbage collector burned me in the end. I believe the reasoning was that Flash apps were ephemeral, from page load to page load, and definitely not meant for a desktop application with a long life.

It was very hard to ever really free memory, and I remember writing a fairly straight-forward AIR app which would start at 70MB RSS, and balloon to 1GB the next morning.

</comment><comment><USER40> I've used AIR apps(as a consumer, not a developer) and there are times when I get a little frustrated with the experience. Still, I use the software because it saves me time and makes my life 10x easier. Overall if customers are criticizing your use of AIR as a platform rather than praising you for solving their problem, then you have bigger problems than the AIR vs. Native debate. Many users will tolerate even the crappiest of experiences, see IE6-IE8, so long as it solves their needs.

</comment><comment><USER41> This is exactly the reason I have been rethinking the way my company develops apps. As the world splits and there isn't one standard technology like there used to be with Windows, I feel it is imperative to be thinking about how to go cross platform as quickly and easily as possible without cross platform tools. I think it means lighter native apps, simpler in design to do one specific task, and then more sophisticated tasks in the browser.

</comment><comment><USER42> I guess the same applies for apps in the mobile space too. iOS Apps built using frameworks such as Titanium and PhoneGap always seem a little off.

There is an interesting discussion about this in Dan Benjamin's latest episode of the 'Build And Analyze' series with Marco Arment. <http://5by5.tv/buildanalyze/8>

<comment><USER43> PhoneGap apps feel very off because they're simply HTML/JS wrapped in a WebKit component, but Titanium is far different. Titanium makes native controls. Its virtually impossible to tell the difference between an app created in Titanium versus some JS crap wrapped in PhoneGap.

</comment></comment><comment><USER44> So what should I take away from this? That businesses should focus on customers using Windows first?

If the team is small and the product has some value to you, it only means the team focused on the right featureset.

Personally I'm grateful if an AIR client is available, because that means I can use it on Linux, my OS.

</comment><comment><USER45> I really need to write a post on "Shortchanging your blog readers by spewing opinion but disabling comments". Whats with this? DaringFireball is the worst of the lot. Is this some new trend?

<comment><USER3> It's not a new trend. I haven't allowed comments on my blog for years. I want people to post thoughtful responses on their own turf. If someones care enough, they can respond on their own blog.

<comment><USER45> But how does one find those follow up posts? I don't see any pingbacks on your blog either.

Its an interesting problem though, I actually find a lot of value in comments, especially when the topics aren't too sensational and the people aren't entrenched in their camps. I actually come to HackerNews and Reddit specifically for comments but not every story gets there.

</comment></comment></comment><comment><USER46> Try Sococo teamspace. Window sharing, chat, voice, doc, really neat presence indicators. Its built exactly for a distributed development team.

Runs on Windows, Mac, Linux.</comment>