A journey along the abandoned Karachi Circular Railway - <AUTHOR> https://placesjournal.org/article/these-studies-led-to-further-studies/ <comment><USER2> The first few paragraphs convey exactly how I've personally experienced Karachi as someone from Lahore. It's a wonderfully clean, or incredibly polluted, well managed or a completely broken down city, with beautifully complex and horridly broken bridges which is fairly safe, or so unsafe that I should avoid wearing a business suit or carrying a moderately expensive phone.

The people I've interacted with are usually either very educated, or not at all, and either health conscious or addicted to chewing tobacco (or whatever the "gutka" really is). Incidentally, I've heard that the gutka is a just chewing tobacco, or a mix of cigarette tobacco, battery acid, and animal blood.. all when I asked someone in Karachi.

But hey, atleast everyone in Karachi agrees that their food is better than Lahore's. However, much like everyone in Lahore, I believe they're mistaken.

<comment><USER3> Are you saying that going from block to block an individual experiences vastly different worlds, or are you saying that Lahore is in the eyes of the beholder and some may see it as an amazing city and others would view it as a shithole?

<comment><USER2> The former, although I'm talking about Karachi, and not Lahore.

</comment></comment></comment><comment><USER4> > At its peak in the mid-1970s, the Karachi Circular Railway served 6 million > passengers annually, but by the end of its first decade, the system was > already in decline. 52 High maintenance costs and unstable funding prevented > investments in the infrastructure necessary to keep up with population > growth. There was no grade separation at many street intersections, and > traffic congestion slowed the train as the city grew, which in turn led to > lower ridership and a downward spiral in revenue. These pressures continued > through the 1980s and 1990s, as the railway also faced a rash of transit > crime, ticketless riders, and competition with new transport options. By > 1998 the KCR was making only twelve trips a day, and traveling no faster > than a walking pace in some sections. The next year it was shut down.

6 million annually to 0! Wow that is really sad :(.

I grew up in Mumbai, which is considered a sister-city to Karachi. I remember the suburban rail (which is a lifeline of the city used by millions to commute everyday) being neglected and frequently late. But when I was in high school, something changed: the trains were cleaner, started to be on time consistently and so on. Then they upgraded from the ancient rail stock to more modern cars today. And the system continue to hum along.

I wonder what caused one of the systems' precipitous decline while the other one continues to run.

<comment><USER5> I was to Mumbai few years back, traveled a lot in trains both local and to other cities. I must say I was really impressed with the service and management. I was told that trains are the lifeline in Mumbai and people come out to protest if trains get delayed or are closed for maintenance.

We used to have similar system here in Karachi but greed and corruption took it away from us.

</comment></comment><comment><USER6> The first eight paragraphs of that are probably the most interesting and illustrative way of describing a problem without directly stating it I have ever read. It is incredibly effective.

<comment><USER7> Came to say the same thing: this article was a refreshing piece of journalism that uses language and writing techniques in a creative and effective way.

I especially like that the effect was confirmed by other comments as being very indicative of the topic itself. In other words, you could write about anything like this, but it actually resembles how people experience or think about this particular topic.

</comment></comment><comment><USER8> I met a journalist from Karachi once. Did some traveling together. They were telling me how the population of Karachi is widely disputed, how people throw different numbers around all the time and the real number is hard to determine. Judging by this article, that's a common problem for a lot of information in Karachi. I'd guess that's due to political instability in the region preventing accurate information gathering and distribution. I find that to be the more interesting part of this story.

<comment><USER5> In the recent population census, happened after 19 years, it is alleged that population of Karachi was not counted properly. [0][1][2]

0: [https://www.thenews.com.pk/print/228657-Karachis-census- resu...](https://www.thenews.com.pk/print/228657-Karachis-census-results-are- all-terribly-wrong)

1: [https://www.dawn.com/news/1356681](https://www.dawn.com/news/1356681)

2: [https://www.dawn.com/news/1358516](https://www.dawn.com/news/1358516)

</comment></comment><comment><USER5> I live in Karachi and I have seen how the Circular Railway was dragged to a rusty death. The land grabbers, the transport mafia and corrupt officials all played their part in the tragic demise of Karachi Circular Railway.

<comment><USER9> Isn't that the story of Karachi in general?

<comment><USER10> MQM, and Mafia bros on every corner. Feels like Moscow mid 200x</comment></comment></comment>


Show HN: FlipFeed – A feed of ephemeral pictures and messages you flip through - <AUTHOR> https://itunes.apple.com/us/app/flipfeed/id973236234?ls=1&mt=8

<comment><AUTHOR> FlipFeed is an ephemeral photos and messages app where you get 30 seconds before a new photo or message is flipped open. (Or you can swipe if you wish to skip).

You can post photos, and messages, and you can even directly reply to anyone on the app to start a private conversation.

iOS app is available in the App Store. And Android users, please go to [http://flipfeed.co](http://flipfeed.co) and signup to get notified when FlipFeed Android is available.

Thank you! Kandarp.

</comment><comment><AUTHOR> Anyone have any feedback?</comment>


Show HN: Designer Lynx – curated links to useful UI design resources - <AUTHOR> https://www.designerlynx.co/ <comment><USER2> Cool site! The hovers for me are a little jolting (all of the cells flash when I mouse over one). Safari 10.1.2 on OS X 10.12.6. Normally I would ignore something like this but since it's a site focused on design/UX I figured you'd probably want to know. Bookmarked, nice work!

Video in case you can't recreate: [https://streamable.com/mwee8](https://streamable.com/mwee8)

<comment><AUTHOR> Yeah, it is a bit jarring. Will change this interaction tonight. Cheers for the feedback.

<comment><USER2> Cool! Good luck with the launch of your site

</comment></comment></comment><comment><USER3> I think a lot of people here are going to read 'Lynx' and suffer a namespace collision.

</comment><comment><USER4> This is a really great list, but tbh the site is enormously wide, the text is small, and there are no images. This would be far more parseable in the form of a github readme, since it lends itself to categorized lists like this:

[https://github.com/brillout/awesome-react- components](https://github.com/brillout/awesome-react-components)

<comment><AUTHOR> Yeah, when I bunged all the content in, I was concerned it was all too much to parse easily.

I think for V2 I'll split each section into a separate page and present the links in format similar to your example.

</comment></comment><comment><USER5> You've added value to my life. Thank you for that

Somewhere (icons?) I'd add [http://fontawesome.io/](http://fontawesome.io/)

<comment><AUTHOR> Good tip, will add tonight.

</comment></comment><comment><USER6> Nice site. Consider clearly displaying that you are using affiliate links. Was somewhat of a shock when I got a ublock screen on click.

<comment><AUTHOR> Good point, will do. It's only on the books, was debating whether to do it or not but if it helps a bit with hosting costs I thought, 'why not'.

<comment><USER6> You may want to check out section 5 in [https://affiliate- program.amazon.com/help/operating/agreemen...](https://affiliate- program.amazon.com/help/operating/agreement) too. Hope things go well.

</comment></comment></comment><comment><USER7> really nice, thanks! sent to my GF to keep an eye on this website :)

</comment><comment><USER8> Sorry, I refuse to read white text on a black background.

<comment><USER9> I don't think that this comment should be downvoted.

Web Content Accessibility Guidelines (AAA) recommends text of that contrast ratio (#969696 on #1d1d1d) to be at least 18pt.

What may sometimes seem like nitpicking can actually be your users not being able to see your content at all or without feeling nauseous and dizzy.

Increasing the card's text size to 18px from the current 13px doesn't even break the layout. People these days should know better than to use print sized text on the web.

<comment><AUTHOR> Hi there,

Agreed that the text could be a little larger. Due to the amount of content I wanted to try and keep things compact, but as stated in another comment above, it could be easier to parse.

The text does pass accessibly standards though, #A4A4A4 on #1D1D1D gets a AA rating on small text and AA rating on large text.

But duly noted your comments and I shall rethink the layout for V2.

<comment><USER9> The fact that Karla (your body font) gets blurry at 13px makes it worst that it should be. [https://snag.gy/Z5Aibp.jpg](https://snag.gy/Z5Aibp.jpg) (left: karla, right: tahoma).

That being said, a good rule of thumb is to consider "small text" to mean 16px and "large text" to mean 18px bold / 24px regular. (Since the guidelines are in pt and not px)</comment></comment></comment></comment>


Microsoft Visual Studio Team Services (VSTS) failure postmortem - <AUTHOR> https://blogs.msdn.microsoft.com/vsoservice/?p=16295 <comment><AUTHOR> TL;DR summary:

"... the system was running too close to the point of exhaustion due to the intermittent crashes, and an event that should not have been a problem [high number of client reconnections] caused a high-severity incident."</comment>


Apple Fires Back at Spotify for Asking for 'Preferential Treatment' - <AUTHOR> https://www.buzzfeed.com/johnpaczkowski/apple-fires-back-at-spotify-for-asking-for-preferential-trea?utm_term=.urkGrnXgV5#.xq0vGP7O9z <comment><USER2> Apple's App Store has always been an antitrust violation waiting to happen.

and by happen, I mean filed in a court.

There is nothing "applied equally" to other developers. Onlookers will say developers agreed to the contract, so no sympathy, a Federal Judge on the other hand will rip that contract to shreds and take a dim view on Apple's practices.

And no, Google Play's robo rejector isn't exempt.

<comment><USER3> > _Apple 's App Store has always been an antitrust violation waiting to > happen._

There's nothing "antitrust" about the App Store operation, since Apple isn't a monopoly -- it's in fact a minority player in the mobile market. (And no, you can't be a "monopoly on your own platform" \-- it has to be the overall market).

In fact game console manufactures (among many other fields) have historically had much more draconian restrictions and cuts) that the quite liberal App Store.

And it having 1 million apps and having pushed 50 billion dollars to developers doesn't really paint it as a "restricted area with tight controls where only Apple benefits" either.

<comment><USER4> The app store itself is a monopoly.

Apple then leverages its monopoly in app stores on Apple's platform into other business (Apple Music, eBooks, digital video, etc). This is anti-competitive behaviour and illegal.

Only legal gap is declaring Apple's app store on its platform a monopoly, the second that is done then everything else naturally falls into place and Apple receives antitrust violations.

<comment><USER3> > _The app store itself is a monopoly._

Not in the legal sense of the word, so no.

To put it simply, monopoly is not "only a company dictates the rules/has near total share/control of their own marketplace/platform".

It's "only a company dictates the rules/has near total share/control of the general market".

<comment><USER4> > Not in the legal sense of the word, so no.

Since that hasn't been ruled on, we won't know that until it has.

> It's "only a company dictates the rules/has near total share/control of the > general market".

That's a strange definition, but even taking it, the market has yet to be defined by a court. As I've said elsewhere courts have already expanded competition law into securities, they literally declared it a market allowing them to use anti-monopoly controls.

</comment></comment></comment></comment></comment><comment><USER5> Regardless of pricing, this is Windows/Internet explorer vs. Netscape all over. Easy to see Apple introduce features tied to Apple Music that Spotify can't because it doesn't have the same control over iOS

<comment><USER6> Except Apple/iOS doesn't have the majority market share as MS did. (not that I don't despise this, just stating).

<comment><USER4> Apple have 100% of the market share in distributing apps in the Apple ecosystem. If you define the "market" as the ecosystem then Apple is in monopolistic control of it, and by extension violates competition law.

<comment><USER7> In that case, Facebook has a 100% monopoly on its website, I want it to be opened up so anyone can add pages without oversight! Or Twitter! Or hacker news! Why should we have to follow the rules of the platform as chosen by its creators? (Straw man and all that)

<comment><USER4> You're conflating a website owned and operating by the company, and consumer's personal devices owned and operated by the consumer.

<comment><USER8> Should Microsoft be forced to let Sony sell Playstation games on the XBox?

<comment><USER4> If Microsoft chooses to operate a store on the XBox, it should give its own services and competing services an even playing field. It is anti-consumer to do otherwise, which is why competition laws exist.

A better analogy would be if Microsoft opened an app store on the XBox (which they have/do) and then blocked Sony from selling apps there, or charged Sony a premium rate.

<comment><USER8> What law forces a store to carry items/services they do not want to sell?

Microsoft has a store for the Xbox, and they decide what they sell on that store. If Sony submits a game for the Xbox store Microsoft can reject it without giving them any reason. And it is perfectly legal.

In Amazon's app store the developers don't even get to set their own prices.

<comment><USER4> We're discussing competition law.

Microsoft did far less and still got hit with anti-trust on Windows just for bundling IE. Now we have app stores which hold monopolies on their platform and restrict competition yet further for the consumer's detriment.

As to what should be allowed and disallowed, companies should hold their own services and products to the same standard as their competitor's services and products. So if you're going to disallow a Sony branded music streaming service then you also have to disallow a Microsoft branded music streaming service, otherwise you're using your monopolistic position abusively.

<comment><USER8> You are discussing competition law, because you have redefined the market.

Microsoft was found guilty of abusing its position because it had a monopoly on the _entire_ PC OS market. They didn't, and don't have a monopoly on the Windows market because there is no such thing.

<comment><USER4> > Microsoft was found guilty of abusing its position because it had a monopoly > on the entire PC OS market.

And Apple has a monopoly on the entire Apple app store market.

> You are discussing competition law, because you have redefined the market.

Law is expansive. When competition laws were written several securities didn't really exist, but the law expanded to encompass them. There's no specific reason why the law cannot expand into protecting consumers from monopolies within an artificially created digital marketplace.

Ultimately competition law exists as a concept to protect consumers, it is clear as day that Apple is abusing its monopolistic control of its app store in a way that hurts consumers. Even if existing law wasn't able to expand to encompass that situation, new law could and should.

PS - I love the people who turn up late and downvote every comment on one side of a discussion.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Who is the bad-guy here? (Both probably, but who is the worse bad-guy?) Obviously Apple's letter makes it seem as though they are being perfectly reasonable, but neither of the articles that I read have provided much analysis.

<comment><USER10> Apple is being a bit greedy when it comes to subscriptions for high-grossing services IMO. Spotify already has razor thin margins and paying out minuscule licensing fees to content producers, it's not viable to pay out 15-30% off the top to Apple.

However, Apple clearly should be able to require a fee for providing the marketplace and payment framework, and you can see their point in not wanting apps to circumvent that to make it simpler for users to be able to manage their subscriptions easily.

Some kind of cap and/or transaction fee seems more reasonable and would be win-win in the long run. You get a bad taste in your mouth when it feels like Apple is using their walled garden to strong arm competition. You can't compete when your largest rival eliminates your profits.

In the end I think it's to Apple's detriment to play aggressively with content providers in their ecosystem when they're in such fierce competition with Android.

<comment><USER9> my understanding is that this only applies to subscriptions paid through the app though right? What percentage of the total subscriptions does that represent.

<comment><USER10> Yeah, but that combined with that it's forbidden to circumvent paying inside the app puts app providers in a weird position. For somewhat technical savvy I guess it's not much of problem but I can imagine my mom would be confused why they couldn't pay for the service. Also, every user that is acquired through the app would potentially be a drain on Spotify due to the draconian fee's and there's no feasible way to wean them off the the app store.

I'm not sure of the actual percentage, don't think they're public. Spotify have been desperately trying to sign-up people outside of the App store which I guess is what started this debacle.

If the fee's are so high that you can't go through the app store it feels like it should be lose-lose for everyone.

<comment><USER11> You're allowed to charge a higher price on the App Store than you do outside of it (to make up for the fee), Spotify did that for years. But you can't point that out inside the app.

</comment></comment></comment></comment></comment><comment><USER12> You mean kind of like how Apple asks for preferential treatment from every other entity? You know, for things like:

\- Being able to install updates without asking the ISP.

\- Fast lanes for their services with ISPs.

\- Special or even FREE rent for their physical store fronts (see Grand Central Terminal and many others.)

\- Making illegal deals with book publishers so they get preferential pricing. Same for music.

The list goes on and on and on. Apple has always tried to work it so they get preferential treatment from every angle.

<comment><USER3> > _\- Being able to install updates without asking the ISP._

Why the fuck should they "ask the ISP"?

<comment><USER13> I think they meant how Apple is able to update iPhones without first getting permission from the phone carriers, whereas on Android & Windows Phone the OS updates for devices can be delayed by the carrier imposing a certification process before it is released.

For example, here's an Australian phone carrier / ISP blocking updates to Google Nexus devices on their network:

[http://ausdroid.net/2014/12/04/yes-telstra-is-blocking- your-...](http://ausdroid.net/2014/12/04/yes-telstra-is-blocking-your-nexus- updates/)

<comment><USER14> Is it not true Google pushes updates to their Nexus line without going through the carrier?

<comment><USER13> The Google support pages say "Based on your carrier, it may take longer than two weeks after release to get an update." See the section marked Timing For Android Software Updates and click on Nexus devices.

[https://support.google.com/playedition/answer/4457705](https://support.google.com/playedition/answer/4457705)

</comment></comment></comment></comment></comment><comment><USER15> How exactly does Apple's payment system work for companies that are cross platform? If I have a Dropcam subscription and am using the ios app, is Dropcam paying Apple 15% of my subscription cost? That seems nuts.

<comment><USER16> Yes - and it's 30%. Previously, Spotify would charge $9.99/month for a subscription through their website, or $12.99 for a subscription purchased through the iOS app, to cover this cost. In the most recent version of the iOS app, they decided to disallow in-app subscriptions entirely and push all subscriptions to the web app. IIUC this is the app update that has been blocked by Apple...

(disclaimer: I work for Spotify)

<comment> k-mcgrady >> "In the most recent version of the iOS app, they decided to disallow in-app subscriptions entirely and push all subscriptions to the web app."

We should be clear about this though as doing that is not against the rules. Take the Kindle app for example. You can buy books through the Amazon website and use them in the app. Apple doesn't get a cut. Spotify can do the same thing. The issue is that there are very specific rules around it - for example I don't believe you can include a 'sign up' button that throws the user out of the app to your payment page. It sounds like Spotify was trying to get around this by sending the user an email when they signed up through the app, and telling them to look in the email for a link to the payment page. At least this is what I've read over the last couple of days.

<comment><USER16> Thanks, this is an important point. I'm not sure exactly what Apple allows/disallows in terms of informing users about other payment options, or what Spotify is doing that would be in violation of these rules, but this is the crux of the disagreement.

<comment><USER11> My understanding is that you're allowed to sell things however you want, but inside the app you have to use Apple's purchase methods. You can't use your own, and you can't put directions in the app to go to a website or something else to purchase content. So in the app you have to do what Amazon does and never show it by button or a "how to buy" button.

And just for extra clarity, Apples policies only apply to digital goods. If you buy a real world service or physical item through an app Apple does not take a cut, but they also don't handle the payment. That's why Amazon doesn't have to pay Apple 30% when you buy a new TV from them.

<comment><USER17> Tell me what's the difference between selling physical goods and digital services when none of them are stored or distributed by Apple

</comment></comment></comment></comment></comment></comment><comment><USER18> If the claims made by Spotify that Apple was threatening to kick Spotify out of the AppStore for not taking down its $0.99 offsite signup promo then this is certainly more anti-competitive than MSIE vs Netscape. At least back in the day, if you didn't get Netscape installed but still wanted it, all you had to do was download the EXE file and install it. Now if Spotify were to be banned from the AppStore, how else would you receive its service?

<comment><USER19> "Now if Spotify were to be banned from the AppStore, how else would you receive its service?"

The Spotify Web Player works perfectly fine on iPhone's mobile Safari. No, it's not a native app, but it exists as an alternative delivery method for the service.

</comment></comment><comment><USER20> I was disappointed to see Elizabeth Warren get in on this. Music consumers aren't the little guy here, it's the songwriters etc.

<comment><USER21> She wasn't really commenting on the music industry, it was a larger point about major technology companies using their platforms to lock out competition. And that in turn was part of a larger speech about anti- competitive practices in general, not just in technology.

</comment></comment><comment><USER22> When Apple says Spotify is asking for preferential treatment over developers of other apps, does that include the developers of Apple Music?

Does Apple Music go through the same sort of independent and opaque approval process Spotify does? Do they have to wait the same time? Do they get rejected for unapproved business models?

Does Apple Music take 30% of it's cut and give it away to the rest of the company?

While I am not entirely unsympathetic to Apple's position, I think the preferential treatment argument is BS when Spotify's biggest competitor is Apple Music.

<comment><USER23> Of course not. Apple uses the setup of iOS to ensure that its first party apps have a better experience than third party providers. Apple has always done this on iOS. If you attempt to compete with Apple on their own platform where they have the keys and make (and change) the rules on a whim, you will lose. People choose Apple Books because it's more convenient to pay vs Amazon (since Amazon isn't allowed to let people buy content like they can on competing platforms unless they funnel payments through Apple and give up 30%). People were choosing Apple Music over Spotify because Spotify cost $3 a month more (since they had to charge that to Apple users to cover the Apple tax for payments and weren't allowed to direct Apple users to the Spotify site to sign up for the same price as Apple Music without the Apple tax). Firefox and Google had to give up using their own browser engine (and all the competitive features and functionality that went with it) and use the Mobile Safari engine in order to even participate on iOS. Up until recently, they were even forced to use a lesser and slower version of the engine to ensure that Safari was always the (artificially) fastest browser on iOS.

</comment></comment><comment><USER24> It's really an infrastructure tax on Spotify. Bite the bullet, and take your 85/15 split revenue on subscriptions Spotify. Can't believe they re-submitted twice to circumvent the subscription model. Everybody's ego needs to chill.

</comment><comment><USER25> Whenever this pops up, I keep wondering if there's any precedent for antitrust rulings against companies in industries where they don't exactly hold a monopoly, but have essentially created their own market-like structure while also competing in that market themselves. Do comparable concepts even exist in other industries?

</comment><comment><USER26> I believe that in this specific case Spotify makes a very compelling argument.

App publishers that do not directly compete with Apple have a level playing field although the Apple tax certainly hurts.

But Spotify directly competes with Apple, and while Apple does not have to pay this tax as they can (probably) use their own billing services cheaper, Spotify couldn't do the same even if they implemented their own billing service or used a cheaper alternative.

It'll be interesting to see what comes out of this. I for one hope that we someday all get to choose which billing provider we want to use in our apps.

<comment><USER27> 30% isnt a payment processing fee, its a commission + infrastructure tax.

You make money off your app? Because apple made it discoverable in the app store! You make money off your app, pay a share back for os/api r&d!

<comment><USER26> Where can I find more information about this infrastructure tax?

Because I highly doubt that Apple actually needs 30% to pay for the app store infrastructure.

And why are you mixing this with the OS API? I could just as well say that Apple needs some kind of OS anyways to be able to sell their expensive hardware.

Also there are certain categories of apps that are allowed to use other billing providers. Why don't they have to pay for the OS API's and R&D?

<comment><USER28> The apps that use other billing providers are not selling digital goods.

<comment><USER26> Of course you can, I have such an app in the store. A telephony app where you can access all features without the app. (You just dial one of our local numbers and that will be mapped to a foreign number)

So this argument doesnt make sense.

<comment><USER28> False. You don't charge people through the app.

<comment><USER26> We do within a webview. Whats you problem that you believe you've got to explain to me how our app works?

Seems like you don't have a clue what is actually possible.

Go read the TOS for Apple's in app billing.

<comment><USER28> Sure but you aren't charging for digital goods. You are charging for infrastructure access, which is explicitly allowed.

Seems like you are trying to muddy the issue by pretending your case is representative of anything we are taking about here.

<comment><USER26> What we are doing is all digital. You buy credits on a website which you can use to call someone on a landline/mobile phone number.

Our only infrastructure are VoIP servers.

The infrastructure is not different than Spotify's. It's all just servers.

<comment><USER28> Well that's clearly not correct.

The service you provide to the customer is _use of your VoIP infrastructure_. That's what they pay for.

In the case of Spotify, the service is not access to infrastructure. It is access to _digital goods_ in the form of licensed music files.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> I'm curious, for the people in this thread who think Apple is within their rights, would you buy a DVD player that only played DVDs purchased through their own store, charged 30% to list in the store, and disallowed companies setting a different price that covers the 30% fee?

<comment><USER30> I'm pretty sure that brick and mortar stores retain more than 30% of the sales price of DVD's.

</comment></comment><comment><USER31> What's weird is that Apple has a lovely, convenient system for in-app payments called Apple Pay that has a great pricing model that everyone is happy with (usually 2-3%). They just don't allow it to be used for subscriptions. Why? What is their goal here? Let's survey the possibilities...

1\. _To make a ton of money by extracting revenue from developers and content providers._ This is the "obvious" goal everything immediately thinks of, but I think it's actually unlikely. Apple makes MUCH more money from device sales. It makes more financial sense to have a robust offering of content and apps. They are making good margins on their own services, but their business model in terms of the app/music stores is to run them just above break even.

2\. _Convenient payment._ Not the reason, because Apple Pay would do that at a lower price.

3\. _Customer service._ Since Apple is technically the merchant here reselling a digital good, they can also provide refunds and customer service. But I doubt they need a 15-30% margin for this. They could just contractually require that developers refund in-app Apple Pay transactions under certain conditions.

4\. _Privacy._ Now here's a real reason. To offer a 2-3% fee, payment processors need to control for fraud. One way they do this is by verifying contact info. Now, for physical goods there is no way around asking for the billing address, so Apple Pay supports that. But it's not necessary for digital goods. Apple would not be able to offer Apple Pay for subscriptions without degrading user privacy.

<comment><USER11> Apples and oranges.

Apple Pay has no fee to the user or the company receiving the money, it's paid by the bank and is EXTREMELY small. Normal credit card fees still apply, but those don't go to Apple. For all intents and purposes it is a single bank transaction almost like any other. Apple has almost no part in it except helping verify security.

In-app purchases are different. Apple takes a cut because Apple provides a real service. They host the app, they do the billing, they do the collections, they do the license tracking. They handle taxes in all sorts of countries in different states. They make sure their store complies with all local laws. They handle security and try to stop piracy. In short, they're providing a lot of services.

<comment><USER31> _> Apple takes a cut because Apple provides a real service. They host the app, they do the billing..._

Those benefits are irrelevant to subscription content. Apple does not host Spotify's content. Spotify does not need Apple to handle monthly billing. If Apple merely wanted to offer a convenient worldwide billing service, they could make it opt-in for smaller developers, and Spotify would happily handle their own billing, tax calculations, etc.

No, the goal here must be something more.</comment></comment></comment>


5G: if you build it, we will fill it - <AUTHOR> https://www.ben-evans.com/benedictevans/2019/1/16/5g-if-you-build-it-we-will-fill-it <comment><USER2> There's heavy political hype around "5G".[1] There are claims that it will matter for self-driving cars (despite Waymo saying they don't need more bandwidth), medical applications, and "smart energy". All of those are bullshit.

The "if only we had more detailed maps, self-driving would work" is a fake argument. Once you have enough info to know where the fixed trouble spots are, more data will not help you. Trouble comes from unexpected moving objects.

(2004 (not 2005) DARPA Grand Challenge, where everyone did badly. CMU team tried to do it by manual pre-planning. DARPA gave out the course as a set of waypoints on a CD 2 hours before the start. CMU had a big trailer full of people at workstations to plan out the exact path in those two hours, using high resolution aerial photos. But the USMC Colonel in charge of the event foiled their scheme. Just before the event, a few of his Marines went out in the dark and put up some obstacles the vehicle would have to go around. And, sure enough, the CMU vehicle plowed right into a sheet metal fence and got stuck.[2])

What we're likely to see is bandwidth that changes drastically as you move. You'll get great bandwidth with line of sight to a nearby base station, and then it will drop off drastically as you get further away. That's inherent in using 26GHz for high bandwidth.

The likely benefit is that it becomes possible to provide enough short-range bandwidth for many people to get video-rate bandwidth in crowded areas. So people can watch the game on their phone while in the stadium.

[1] [https://thehill.com/blogs/congress- blog/technology/420509-wh...](https://thehill.com/blogs/congress- blog/technology/420509-why-the-5g-race-matters)

[2] [http://overbot.com/grandchallenge/images/race2004/cmucrash.j...](http://overbot.com/grandchallenge/images/race2004/cmucrash.jpg)

<comment><USER3> The bandwidth isn't just for downloading maps to cars.

It's also to enable autonomous vehicles to constantly stream data and video feeds back to humans who can take over in real time if the car doesn't know what to do.

<comment><USER4> That's completely unrealistic and unsafe. Even with widespread 5G deployment the cellular network will still lack the reliability necessary to make real- time remote driving feasible. When happens when the network drops packets during a critical maneuver?

Furthermore you can't expect a remote operator to suddenly take over with no context of preceding events and immediately control the vehicle in a safe manner. It takes a little time for anyone to understand what's actually going on.

<comment><USER5> This plays into the density of towers. 5G has a very limited range unlike 4G. It's going to take years (if not decades) to get to a place where 5G can cover the entirety of the US.

<comment><USER4> Even if we had 100% 5G coverage it still wouldn't be adequate for a safety critical system. What happens when the tower fails on a hot day because the cooling system broke, or a construction crew cuts the backhaul fiber, or the carrier has an infrastructure failure because someone spoofed their BGP routes?

If level 4+ autonomous vehicles are ever going to work then at a minimum they need to be able to operate safely with zero network connectivity.

<comment><USER6> Imo they need to BE the network

<comment><USER4> Dynamic mesh networks can be a nice supplement but no one has ever demonstrated large-scale reliable operation with mobile devices. And you can't always count on having another vehicle in radio range. So turning vehicles into the network won't make remote control viable.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> > Mainly because of this new spectrum, mobile 5G speeds in good conditions > could be well over 100 megabits/sec and potentially several hundreds > megabits/sec (mobile speeds of over a gigabit/sec are technically possible > but unlikely in the real world).

I already see speeds like 200 Mbit/s on 4G in good conditions, sometimes more. Normal conditions 50-100 Mbit/s. Yeah, your mileage may vary. Those 1.2 Gbit/s 4G cellular modems _do_ deliver. I'd be disappointed if 5G didn't significantly improve on that in real world.

> 5G is promised to have much better latency than 4G - perhaps 20-30ms in the > real world, down from 50-60ms for LTE (4G). It's not clear how visible this > will be to users.

What? HSDPA "3.5G" was about 50-60 ms. 4G is mostly something like 12-20 ms, when I've measured the latency. 5G hopefully at least halves that.

Anyways, I do acknowledge 4G performance is _very_ regional. Above just reflects my experience, what I've been measuring.

<comment><USER8> 1.2 Gbit/s 4G cellular modems? Sounds interesting. Do you perhaps ahve any links to such a product?

<comment><USER9> The latest Qualcomm X24 can do 2Gbps, of course that is assuming your carriers and everything else aligned perfectly. In reality I am not aware of any Carriers in the world which has these kind of spectrum ready for 2GBps speed.

<comment><USER8> Cool!

</comment></comment></comment></comment><comment><USER10> This post, and most of the comments here, seem to miss the main selling point of 5G (at least for consumers): consistency and reliability.

With wireless data connections, you're sharing the medium (and therefore the bandwidth) with all other users of the same frequencies. This is the reason that you can have absolutely terrible performance in a densely populated city, despite having a maximum strength 4G signal. Having the 20+Ghz channels enables operators to install a large number of micro-cells in these areas. Even if they don't penetrate walls, moving everyone outdoors on to these cells free's up the lower-frequency cells for indoor users, substantially reducing contention.

Another improvement over 4G that hasn't been mentioned by anyone is, supposedly, that it will significantly reduce latency and interruptions from moving between cells. This is especially apparent when travelling at speed (e.g. on a train).

The effect to consumers of both of these is that we'd get much more consistent performance.

<comment><USER11> At least in the U.S., the real problem is the billing model. Those kind of incremental improvements will be nice but that doesn't seem like enough to justify more than a gradual upgrade since most people won't see much benefit other than a few edge cases — how many people are going to buy a new phone so they can get online slightly faster when their subway car approaches a new tower?

Every other application, especially the cool ones like AR/VR which do seem plausible for people dropping a lot of cash, will be constrained by the enormous markup on data well before it hits the limits of LTE. Fewer milliseconds on handoff could be nice but it's hard to think of an application which can't buffer but is going to fit within a few GB per month.

<comment><USER12> Yeah, I don't get this either. I live in Canada and mobile data is $$$s. I don't see the point in more-better-data when we can barely afford to utilize the current infrastructure. Providers are likely to recover this new infrastructure cost through price hikes.

I don't give a crap about faster mobile data, I've got a 5GB plan and faster data just means I could chew through it faster. All of the data heavy applications I can think of I use almost exclusively on wifi where it's available.

I think the real sell for 5G is it's capacity to carry thousands of concurrent connections, allowing for everything to be connected. A true IOT solution where anything you can think of can connect without congesting towers.

<comment><USER11> Yeah, I get that there are benefits to the providers but it just seems like it's going to be a tough sell for get a premium from users to pay for it.

</comment></comment></comment></comment><comment><USER13> 5G seems like a pretty marginal improvement over LTE to me. The improved latency is nice, but I'm not sure it's worth the many billions of dollars in hardware alone. The high-frequency stuff would be useful in some situations, but really overlaps with WiFi in most use cases.

It certainly seems like much less of an improvement than 2G->3G or 3G->4G.

<comment><USER7> Counterintuitively, bandwidth improvements do little to help the vast majority of people. Except on rare occasions, like when installing apps. Even though this has been the selling point for ages.

However, latency is a different story. Many (most?) can "feel" improved latency as better responsiveness, like web page load speed. There's still a lot of "ping-pong" traffic going on, where latency improvements do make a difference.

<comment><USER13> I agree! The latency improvement is the interesting one, but honestly LTE latency is already pretty good.

I wish there were more efforts behind IOT support, by way of lower-frequency bandwidth and low-energy radios, maybe even restricted to a simple messaging protocol. That would open up so many new applications!

<comment><USER7> Ever tried residential fiber optic internet? <1 ms latency. Web pages just pop on the screen — at least when the server is geographically near. It's addictive.

Compare it to cable modems with still lowish 5-10 ms latency. Pages load visibly slower. But you don't mind it _or even notice_ , if you haven't previously gotten used with the faster option.

So I think I'll always take all of the latency improvements available. The difference can be substantial even when the starting point is already "pretty good".

<comment><USER14> How do you even find sites that load fast enough for this difference to matter? I only know of maybe 1-2 websites that load instantly like that [1]. Everything else seems bottlenecked on the server side (and sometimes the client).

[https://www.changedetection.com/dirsearch.html](https://www.changedetection.com/dirsearch.html)

</comment></comment></comment></comment></comment><comment><USER15> I can't wait to see what kinds of ads and bloatware 5G enables.

Something tells me the bloated ticks on this dog's underbelly will be grow proportionally to the fatness of this new pipe.

</comment><comment><USER16> Hmm. With all this stuff about the ultra high frequency 5G data not going through walls, how does it handle bad weather? My phone's already not great if it's raining heavily. I would hate for my home internet connection to flake out any time it rains.

<comment><USER17> It will fall back to 4g so it doesn't really matter.

<comment><USER18> I'm afraid that 4G will be deprioritized and backhaul removed to favor 5G so that only people paying more get good performance.

<comment><USER19> no, 3G will be removed. Too complex.

<comment><USER20> Some of that complexity is what allows me to make voice calls when I don't have any data. Seems worth keeping that over 4G (if we had to choose).

<comment><USER21> You can have LTE voice even if you've maxed your data cap, from a technical point of view. For 2G/3G it's true that those standards support pretty independent CS (voice) and PS (data) connection, so it's natural to decouple voice and data. For LTE, and also NR, only the PS domain exists. It's still possible to separate Internet access from voice though, and they are. It's just done in a different way. 2G/3G/4G support multiple concurrent data connections, called PDN. Each is like a different IP interface, and some are terminated on the modem itself and not exposed to the user. In the typical LTE deployment, you have an IMS PDN for voice signaling and data, an admin PDN for the remote management of the telco using OMA-DM, and an Internet access PDN for the end user --- and the only one you'll see. Traffic on those PDN are fully segregated, and counted separately. So the IMS and Admin PDN traffic do NOT count as part of your data cap, it's on top.

Thanks to this LTE IMS voice is separated from data, like 3G even if it's done differently.

Of course, this doesn't apply to OTT voice: that is always in the Internet PDN and in your data cap.

To get back to 3G, it'll slowly die. Anything you can do on 3G you can do better on 4G. So operators tend to use their 3G infra to the max, but they won't upgrade it. It'll be replaced by 4G over time, until they eventually pull the 3G plug.

<comment><USER20> Thanks for the technical reply but I meant for the situations where the network coverage is poor and you don't have a good enough 4G signal to place the call. I would fully expect the provider to not include LTE voice in my data allowance, in the same way they often exclude some streaming/social network services.

<comment><USER21> Ok, thanks for the clarification. Even with this new understanding 3G will eventually go. Coverage depends on several things: 1) deployed infrastructure, 2) frequency used and 3) waveform / standard efficiency.

3G can have a temporary advantage for (1). But as the 3G infra ages, it will always tend to be replaced by cheaper / more efficient LTE infra as the existing 3G bands can always be refarmed for LTE. And LTE will make a better use of the available bandwidth. There are large differences between operators on the speed of this process, but the trend is universal.

(2) is why 3G was impaired vs 2G: 2G was deployed in low bands (900 MHz for 2G is very common), while 3G was very often only available in mid-bands (1700+ MHz). The higher the frequency, the more challenging the coverage. So 3G coverage lagged 2G for a long time, and is still lagging in places (Europe for example). The situation is different with LTE, due to the digital TV dividend. This opened low bands for LTE everywhere (700 to 800 MHz, depending on region). Those bands are even better then the 2G bands. They're not yet fully deployed everywhere (Europe is lagging), but they eventually will. And when it's done you can kill 2G and 3G.

For (3) or course, new tech has improvements so 4G is better than 3G and 2G.

When you combine all of this LTE will replace all previous technologies everywhere, in time. How long it will take will however vary _a lot_ depending on regions. Europe invested a lot in 3G, and telco there will milk this infra as long as possible. And because 3G coverage in Europe is not as good as 2G (see above, bands) 2G will also tend to stay with 3G. Cheap second hand 2G/3G infra will remain for a long time in developing countries. But in the end 2G and 3G will go away, it's just a question of time.

On the other hand, 5G will take a lot longer to replace 4G. The big change is mmWave, but it's for small hotspots. You can have 5G in low bands too, but then the gain vs 4G is small so I expect operators to take their time to replace their 4G infra. We'll have 4G for coverage + 5G for dense areas only for a long time IMHO.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> I'm already seeing confusion around the name "5G". The issue is that new dual band wifi routers broadcast at both 2.4GHz (the old way) and 5.x-5.3GHz (the new option). And they're calling that new option "5G wifi". Adding to the confusion are some people bringing up the idea that "5g Cellular data" with obviate the need for home wifi at all.

Further still, the new "5g Cellular" standard can include use of the 5GHz frequency band.

Actually, in writing this, I'm realizing I myself may have some understanding incorrect. So please correct me if you know better.

</comment><comment><USER23> This all seems completely irrelevant when wireless ISPs have somehow trained users that they should be paying per gigabyte.

In fact: I don't want faster speeds. Give me much, much slower speeds so that instagram doesn't autoplay video and vampire all of my mobile data plan.

</comment><comment><USER24> >much higher radio frequencies (over 20 GHz, AKA millimeter wave or 'mmWave')

Can anyone comment on whether this might have any effect on us? It makes me a bit anxious to see the huge list of wifi networks available where I am -- are we absolutely certain that all those signals don't have some sort of health impact?

<comment><USER25> Apparently the sun outputs radio waves in the THz-range, sub millimeter waves, so i dont think that this is anything to worry about. Also the strength of the radio waves comming from our devices is really weak, not at all in the suns level.

<comment><USER26> Yeh but you see. The sun has existed for billions of years and we as humans have yet to adapt to it fully. There is a reason why we live in the shade and use sunscreen.

Excuse me if I still feel skeptical about mmWaves..

</comment></comment></comment><comment><USER27> I don't think I'll see any improvement with 5G - even at home, I see very little difference between my 150mbit connection upstairs or my ~20mbit connection downstairs (uses some old powerline networking boxes). My LTE connection is usually around that or above.

The only time I notice a difference is when I'm downloading a big file, which in these days of streaming everything, I rarely do now.

But for normal web browsing, my browser rendering speed seems to be more of a bottleneck than my internet connection. And on my phone pretty much all I do is web browsing (either through a browser or an app)

</comment><comment><USER28> Next-level "cord-cutting": Even your fixed location home internet is cellular!

I find that sort of appealing as a unification.

<comment><USER29> But is it desirable? If you get a choice, it doesn't make sense to saturate a wireless frequency when you could use a wire instead. Home internet is only going to be more bandwidth intensive, with 4k streaming, playstation/xbox in the cloud, etc.

<comment><USER30> It's not appealing at all. No matter which 'g' it is, wireless will never beat wired. It's simple physics. Wired will always be higher bandwidth, lower latency, and more reliable - less dropouts and more consistent speed.

Wireless is already a 'good enough' wired replacement for areas where running fibre is uneconomical, though.

<comment><USER31> If nothing else, 5g for fixed locations seems desirable in areas where the local telco monopoly has failed to update local last mile infrastructure, and only offers relatively poor quality VDSL/ADSL2+ service (looking at you, ATT).

</comment></comment></comment></comment><comment><USER32> This blog post is negative, unimaginative, and misinformed. One major factual error is the author's understanding of fixed 5G service, which is already offered by Verizon using what they call 5G TF (Technical Forum). They will be able to upgrade all related hardware for 5G NR (New Radio) once the standard has been set in stone.

Cars being able to get new information within milliseconds about things that happened distant from it, but on its course, will be useful.

AR outside the home could be incredibly useful, if provided with low latency and high bandwidth over 5G.

<comment><USER33> I don't think 5G TF can really be considered 5G.

<comment><USER32> Why?

<comment><USER33> Because it's a proprietary Verizon standard that is different from and not compatible with the standard that the 5G committee is producing.

Verizon is being a bit deceptive in using the "5G" designation for this. It reminds me of when US telecoms started calling their non-4G systems "4G" for marketing purposes.

</comment></comment></comment></comment><comment><USER34> Is there any data about the better economics of 5G and 4/4.5G?

And further more - with people generally not needing more data, and not willing to pay more, why would wireless carriers bother ?

<comment><USER35> In Germany carriers heavily lobby to get a taxpayer funded development. Even some media outlets like "Der Spiegel" fell for it (the most popular German website that does not support https by default...)

Just recently some journalist cover the biological aspects of 5+ GHz radio on humans which assume that there are true risks compared to the sub 2 Gigahertz bands.

<comment><USER36> > Just recently some journalist cover the biological aspects of 5+ GHz radio > on humans which assume that there are true risks compared to the sub 2 > Gigahertz bands.

Can you elaborate on this?

<comment><USER35> I can't. Here's the link to the publication in German [https://www.tagesspiegel.de/gesellschaft/elektrosmog- europa-...](https://www.tagesspiegel.de/gesellschaft/elektrosmog-europa- ignoriert-moegliches-krebsrisiko-von-5g/23855700.html) and [https://www.tagesspiegel.de/gesellschaft/mobilfunk-wie- gesun...](https://www.tagesspiegel.de/gesellschaft/mobilfunk-wie- gesundheitsschaedlich-ist-5g-wirklich/23852384.html)

Tagesspiegel is usually a good newspaper but this reasoning is are very light in facts. They should stick with uncovering lobbyism.

</comment></comment></comment></comment><comment><USER37> I don't think there is a killer use case for 5G yet, but I don't mind. I think the performance improvements alone are worth it. It's hard to predict the future, and while often there are points of diminishing returns in technology (which maybe Apple is experiencing right now) I'm personally not sure we are there yet in terms of speeds and availability of computing power for cellular networks.

<comment><USER38> > I don't think there is a killer use case for 5G yet

Why do you need a specific killer use case for more bandwidth and lower latency? That helps almost all applications.

<comment><USER39> Isn't that more or less what the rest of the comment says?

</comment></comment></comment><comment><USER40> I though LTE was supposed to encapsulate all future generations of mobile network. Isn't LTE standing for Long Term Evolution?

<comment><USER41> Phone makers need something new to justify as a new feature to sell those $1000 phones.

'LTE generation 4.3' just doesn't have the same ring to it.

</comment></comment><comment><USER42> One thing I always wonder: your typical cell plan (that I'm familiar with) with, say, 6 GB per month would be completely used up within, what, 5 minutes or less? And then you can either pay more or wait for next month? What's the point?

(Yes, and presumably they'll increase the cap, but even a 100x increase would give you 1 full day of usage per month.)

</comment><comment><USER43> But isn't 5g really short range? Isn't there a big problem with the frequency being blocked even by human skin?

</comment><comment><USER44> I agree with this, but in a sense it's also rather underwhelming: there's no killer use-case right now that would be instantly popular and economically viable were it for just a bit more faster, even lower latency IP connectivity emanating from the same four companies' installations everywhere. Every idea is just the industry and pundits' wishful thinking, where modest and grand visions mingle in our imaginations before likely suffering an underwhelming end -- probably poor execution, or a nonexistent business model. Except, of course, cloud gaming.

But that's where the economics get fuzzy too. Building out all these base stations will be an enormous cost. Mainstream consumers may tolerate modest price increases for connectivity, but much fewer will bear significantly higher prices, or spring for significantly better plans. Such a market segmentation would also dampen the consumer excitement for use-cases as well.

To get around this, corporations who want to ensure connectivity for their application will push to become MVNOs and offer captive access to the corresponding product, so that the end-user doesn't have to pay the cost directly. This works best when they control the hardware too. Vertical ecosystems will proliferate, where the experience can only be consumed using the corresponding hardware.

It's not hard to imagine the likes -- and competitors -- of an always- connected successor to the Nintendo Switch, streaming games from a nearby server farm using a captive MVNO, or one of the many Amazon or Google's decidedly non-gaming, 'smart hub' devices that ensure their own connectivity without the need to put them on your Wifi. This has serious implications for privacy and business models too: it will be commonplace for devices to be connected to the home base by default in a way that's difficult to thwart, but correspondingly license and authorization servers will always be reachable, so DRM-enforced subscription business models can continue to thrive.

But the issue is, you can already do the entire latter part -- the always- connected home hub, or the always-on DRM captive media player with LTE or lower, but it's not yet done. Why? Because people willingly join them to their Wifi for free. 5G will have to fit into the holes left by existing alternatives, and do it at a price point or cost structure that makes sense.

I expressed my view before [1] that most of the hype surrounding 5G is the industry's own buzz -- likely to get investors excited -- and then amplified by tech journalism, whether intentionally or unwittingly. It greatly remains to be seen how much its deployment lives up to its big expectations.

[1] [https://hn.algolia.com/?query=niftich%205G&type=comment](https://hn.algolia.com/?query=niftich%205G&type=comment)</comment>


The Power Of Ignorance (Or Why Being Naive May Be Good For Entrepreneurs) - <AUTHOR> http://blog.sokanu.com/the-power-of-ignorance

<comment><USER2> Of course. We are constrained by how much we think we know. But if we simply question everything relentlessly, its not necessary to be naive.

<comment><AUTHOR> I agree. This line I believe echoes that point.

"There are two types of successful entrepreneurs, and people in general — those who are aware of limitations and embrace constraints, becoming more creative as a result, and those who are unaware of their constraints and external realities, and therefore generate ideas freely."

I think if you are the type of person that can understand that things need to be questioned (programmers & science types)and can work within that, you can be just as creative. I think it depends on your personality.

<comment><USER3> Agreed.

</comment></comment></comment><comment><USER4> I try to make rational, reality-based appraisal of the facts, the pros and cons. But this often takes the passion away, and recently I've been wondering if it really is the most intelligent approach.

<comment><AUTHOR> Yeah, I understand that perspective. I think those of us that are analytically-minded (almost all of HN) will make decisions using a pro and con structure. But for some people (more free thinking) that is not always the best approach.</comment></comment>


KDE received a donation of 300,000 USD from the Handshake Foundation - <AUTHOR> https://dot.kde.org/2018/10/15/kde-ev-receives-sizeable-donation-handshake-foundation <comment><USER2> They deserve this, with all the great work that has been going on for Plasma, Discover (app store), Krita (digital art), and many others application this should be a great facilitator to continue.

</comment><comment><USER2> For context: The KDE foundation's income last year was: $407,504. And expenses was $393,051

You can find last year's report of all their activities and finances here: [https://ev.kde.org/reports/ev-2017/](https://ev.kde.org/reports/ev-2017/)

</comment><comment><USER3> That is awesome to hear. It's hard to believe KDE does as much as it does with such a small budget - almost entirely volunteer based.</comment>


Microsoft tries to steal iPhone 2.0 thunder - <AUTHOR> http://blog.seattlepi.nwsource.com/microsoft/archives/140492.asp <comment><USER2> I didn't like the article, but that HTC Touch Diamond phone looks cool.</comment>


100% uptime for a web application - <AUTHOR> http://serverfault.com/questions/316637/100-uptime-for-a-web-application <comment><USER2> This is a great lesson in how not to be a pedantic nerd toward clients. By 100%, the client is obviously not specifying an uptime requirement of:

          lim (1 - 1/x)
         x->inf

They're saying that downtime is unacceptable. As the consultant/contractor, it's your job to present various scenarios and reiterate to the client that redundancy/failover features introduced at each new level roughly doubles the hosting cost plus requires additional engineering time for all the planning, prototyping, development, testing, deployment, and so on for the sync/failover functionality. For example (successive levels include redundancies of previous levels):

Level 1: Single server is connected to a UPS device. Domain's DNS records from multiple DNS hosting companies.

Level 2: Redundant servers load balanced on the firewall.

Level 3: Pool of redundant servers with redundant firewalls and redundant network switches.

Level 4: Geographically separated data centers with traffic routed via anycast.

Level 5: Servers in multiple datacenters from multiple distinct vendors.

Outline ballpark costs at each level plus introduce the required staffing levels to support each level including site reliability engineers to monitor and maintain each site's operation and verify correct data synchronization, 24x7 on-call engineers, equipment to enable remote diagnostics, and so on.

<comment><USER3> >This is a great lesson in how not to be a pedantic nerd toward clients

I've been in IT for 20 years so I may be jaded, but I disagree with your conclusion.

Your Levels don't seem to scratch the surface on achieving even 99.999% uptime. First of all, if you are planning on using vendors for your hypothetical 99.999% uptime you can stop there. Sure, they may promise that to you. But what is the penalty if they don't?

If you are planning on hosting this in your own data centers... Are you including diesel generators and massive diesel tanks to supply them in the event of extended power outages? What is your DDoS plan? What is your plan in the event of a hacker? What's your patching plan? These are just examples. The level of planning to achieve 99.999% uptime per year is massive. That's only 5 minutes of downtime per year!!

The bottom line is there are a handful of applications in the world that require this level of uptime. Unfortunately, every single client I have ever had was under the impression they required this level of uptime. It is my job to explain to them what reality is. If I don't, then I am not allowing them to prepare for the inevitable times that the system will be down no matter how much they spend or what they do.

<comment><USER2> I totally agree. I was assuming that diesel backup generators with refuelling contracts in place is considered table stakes for a data center these days. My example levels weren't exhaustive by any means and your points around capacity planning, attack mitigation, change management, etc. are spot on.

</comment></comment></comment><comment><USER4> I'm a bit disappointed with these answers. Rather than explaining how it could be done, the answers merely say why you shouldn't do it or why it is impossible.

Assuming you have a client who asks for this, you explain it isn't possible to get 100%, but they still want as good as they can get, and are willing to pay big bucks, what do you do?

<comment><USER5> High level items:

\- Resiliency of all hardware, software, interconnects i.e. no single points of failure;

\- Isolation of the various routes, such that you can pull any plug in the system and there is always a route through;

\- An application architecture that supports horizontal scaling, clustering, load balancing, error conditions, enough asynchronicity;

\- Enough capacity such that if things start failing, the rest of the system can handle the load;

\- Tooling and environments that support stuff such as intraday deploys and rollbacks, including database migrations;

\- QA and testing processes to ensure catastrocphic bugs do not slip through!

These are all achievable, but it's when problems start interacting that stuff slips through the cracks.

<comment><USER6> Legal items. Alternatively: The cheat everyone else is using.

1) contractually provide a 100% SLA

2) the "benefit" you give the customer when you don't provide 100% of uptime for a given period is 10% price reduction for that period only

3) To add insult to injury, make the period a day or even an hour.

4) Downtime is only downtime after reception of an email from the designated customer contact, and only if it wasn't resolved at the time they actually noticed. That customer contact must be a person, ready and able (legally allowed) to answer questions and make choices.

This is how a lot of ISPs are doing it.

Amazing how many people consider this a 100% SLA. Then the ISP is down for weeks, and then they get to pay $50 less on a $5000 bill ...

</comment></comment></comment><comment><USER7> <https://news.ycombinator.com/item?id=3056414> linked from the answers

</comment><comment><USER8> This doesn't address the asymptotic impossibility of maintaining true 100% uptime, but...

I think you can maintain uptime even when the servers aren't available with something like Meteor (a single-page web app built with Javascript...doesn't have to be Meteor, but Meteor should be able to handle it). It's not easy, but with Meteor's events indicating availability of the server should allow you to cache pending changes (when the server is unavailable) and send cached changes when the server becomes available again.

Meteor gives you full control over a client-side session, such that as long as the user doesn't reload the page, the user can continue using the app. There are hooks to detect when the server reconnects, so you should be able to write some custom code that updates the server with any pending changes that occurred when the server is unavailable.

Reloading the page would kill the pending updates, so you'd need to have the users use some sort of kiosk-like browser that prevents reloading the page and navigating to other pages.

There are other issues to be considered (what if the pending changes are invalidated by another user's changes?) that are very challenging, but can be handled depending on the user's other requirements.

</comment><comment><USER9> Every nine after 99 is going to cost exponentially - There are only few critical services that can justify that kind of outlay.</comment>


A Better Twitter Bootstrap Modal - <AUTHOR> https://github.com/jschr/bootstrap-modal/

<comment><USER2> This is a nice modal, but I'd much rather never have a modal ever. The only time a modal should appear is if a critical error occurred that the user must know about immediately. For most cases where modals tend to get used, like on iOS "please rate us", or "we want your contact information now", I don't think it is appropriate at all.

<comment><USER3> Why do you think that?

<comment><USER2> It's a forcible interruption of whatever the user is doing, and the user has to interact with it before continuing. As such, it should be used only when there is something that _needs_ attention immediately.

If it's used for collecting user info after they hit a signup button, that's marginally acceptable, but they would still be unable to, for example, scroll back up the page to double-check some info until they finished with it. So I see popups like that as a failure of design; "I didn't know where to put this, so, here. Modal."

What modals are actually used for in the majority of cases I've seen is making modal popups begging first time visitors to register for websites and similar. This task is neither urgent nor necessary (nor, in most cases, desirable) for the users. Forcing them to interact with it before the rest of the page is incredibly irritating, but that will never stop because it's more lucrative.

<comment><USER4> > As such, it should be used only when there is something that needs attention > immediately.

There are a _lot_ of times that this is the case, it's strange you'd prefer no modal at all. I make backend web apps and modals are hugely valuable. Creating/editing new objects, confirming actions, applying filters, etc etc. I'd agree they have no place in informational web sites (like your favorite news site), but the web is used for a lot more than informational websites.

</comment></comment></comment></comment><comment><USER5> The first that I personally have seen so far that doesn't screw up when zooming in on a mobile device (actually resizes and re-positions itself), so great job! I'm sure there are others, but this one is now the best in my opinion solely based on that regard.

</comment><comment><USER6> This is fantastic, I will definately be replacing my bootstrap modal code to use your library. This would be great if this got committed into bootstrap.

<comment><USER7> this isn't responsive on majority of current mobile browsers though... <http://caniuse.com/css-fixed>

also see my other comment with regards to patching it for abs positioning

edit: current alternative is <http://fancyapps.com/fancybox/>

</comment></comment><comment><USER8> It suffers from the same bug as the stock bootstrap modal; focus is not contained in the popup window. Press tab a few times and soon your keyboard focus is on elements on the page _behind_ the modal.

<comment><USER9> Is there even a way to avoid that?

<comment><USER10> Not without heavy js code

<comment><USER8> Well, I actually submitted a pull-request almost a year ago but it was rejected for "complexity"...

I didn't understand that decision back then and I don't understand it today. The patch weighs in at about 100 lines which doesn't seem heavy to me. Especially when you consider that without the patch the bootstrap-"modal" _is not a modal_...

Anyway, here's the fixed bootstrap-modal.js for the version that was current back then:

<https://gist.github.com/0d04646ab6cf4df50610>

Line 23-82 is the important bit, that snippet is lifted nearly 1:1 from jquery.ui.dialog which fixed this issue ages ago. Beyond that there's only a couple lines of glue code.

Feel free to port this forward to the current version (or better-modal). Personally I've stopped using the javascript parts of bootstrap because I don't want to maintain forks for basic bugs like that.

<comment><USER11> You might want to change the language/syntax highlighting of that gist. That apostrophe on line 120...

<comment><USER8> Sorry, here's the same gist with proper syntax highlighting <https://gist.github.com/bca7185d4cf0b71bd55b>

<comment><USER12> Thanks for this. Currently I have a workaround by using data-tabindex instead of the standard tabindex but I've been trying to find a more robust solution to this problem so I'm going to take a look at implementing something like this.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> "If you want to prevent the background page from scrolling (see demo for example) you must wrap the page contents in a <div class="page-container">. The reason for doing this instead of just simply setting overflow: hidden when a modal is open is to avoid having the page shift as a result of the scrollbar appearing/disappearing."

There's a solution available which avoids wrap and page shift too. Take a look at: <https://github.com/atirip/bodyscrollkiller.js>

</comment><comment><USER14> "Stackable"

After checking out the live demo, I have no idea how "stacking" modals could make a good user interface.

<comment><USER15> I have found one case where it makes sense. Say you have a modal popup with an 'editor' widget in it. If that widget then needs to popup another modal for adding a link, it makes sense. Here is a screenshot of what I'm talking about...

[http://www.evernote.com/shard/s178/sh/003f6b5e-0869-44af- ab9...](http://www.evernote.com/shard/s178/sh/003f6b5e-0869-44af- ab9e-bffb24b80bbb/04148adf547ffd7bd2111539970c05ce)

This is also using the bootstrap modal solution referenced in this article. Redactor is the editor widget.

<comment><USER14> That's a pretty good example, but why is description even a modal? It looks so content rich, seems like it deserves the full screen.

<comment><USER15> True, I could resize the modal to be a lot larger, but it hasn't been a big issue so far. I do like it in a modal because it allows me to enable/disable the Save button depending on if things change (although this doesn't work now that I've switched to Redactor since they don't support figuring out that info yet... feature request has been submitted). All of my UX does editing of form fields in a modal, for consistency, it is nice to keep things the same.

</comment></comment></comment></comment><comment><USER16> You know what's really awesome about this Modal? Unlike built-in one, this one works on iPhone without issues! Long window scrolls just fine. You just made me so happy :) Definitely using in something I am currently working on. Thanks!

<comment><USER17> #1 reason I can't use websites on my phone? Modal dialogs that align themselves "in the middle" and then proceed to be unclickable...

</comment></comment><comment><USER18> This is pretty awesome, I'm going to be using it for sure. As the title suggests I definetly think it is much better than the standard bootstrap modal. You should try to get this implemented into bootstrap. Good work.

</comment><comment> johnx123-up My wishlist

      1. Ajax loader inside the modal (load modal first)
      2. Pinterest like modal (aka modal with HTML5 history API /
         hashchange / browser back button support)

<comment><USER19> Create feature requests for them: <https://github.com/jschr/bootstrap- modal/issues>

</comment></comment><comment><USER20> pull request into upstream?

<comment><USER15> I've been using this (as well as helping give feedback on it after I developed my own and realized this one is better). This is by far a much better solution because it handles responsive resizing, z-index and smaller devices a lot better.

Issues have been opened referencing this modal and there has been no response from @mdo or @fat on it other than to say that they were working on it themselves for a future version.

</comment></comment><comment><USER21> It looks good, but the animation is really slow on an iPad 3

<comment><USER22> Really slow on an iMac too.

</comment></comment><comment><USER23> Great job man. This needs to be added to stock bootstrap.

<comment><USER24> Totally agreed, nice work man. Thanks for sharing! We'll be using this.

</comment></comment><comment><USER25> Great. Thanks for making it available freely. It will be very useful to build desktop application with bootstrap and node-webkit or appjs for example.

</comment><comment><USER7> this isn't responsive and doesn't work on devices without support for fixed positioning

you might want to take a look at grabbing what you can from my project for abs positioning:

[http://niftylettuce.github.com/twitter-bootstrap-jquery- plug...](http://niftylettuce.github.com/twitter-bootstrap-jquery-plugins/)

</comment><comment><USER26> Nice. I'd remove the animation though. I think that animation is just annoyance (even slight) in structures that do not require animation. That extra few fractions of a second can mean a lot. That's why on Windows or OSX I remove the animation to hide and show application windows.

</comment><comment><USER27> Upvote for Longcat :)

<comment><USER28> It should have been longer.

</comment></comment><comment><USER29> I've been looking for a better modal for Bootstrap for a couple of days now, this is perfect!

</comment><comment><USER30> Definitely prefer this to the default modal, which blacks out the screen around it. I'll have to run some tests to see if any version of IE can handle this.

<comment><USER31> Is it really worth installing an entirely new library just to achieve something a simple line of CSS could do?

        .modal-background { background:white; }

For me, Twitter Bootstrap's components have been the right tradeoff between flexibility and functionality. It doesn't have too many bells and whistles which makes it way easier to integrate into my own code.

Maybe I just haven't run in to the use cases for Bootstrap's modal that causes the pain that this fixes, but most of these "features" seem like "it would be cool if..." product cruft.

<comment><USER15> This is a drop-in replacement so that once you hit those use cases, you won't have the pain others have already felt before you. =)

<comment><USER31> I don't think it's safe to assume that a niche feature upgrade to a JS/CSS framework is inherently bug-free across browsers.

<comment><USER15> That isn't the question. The question is if jschr's modal implementation is more (or less) bug free than bootstrap's. Based on my analysis and many others, it is more bug free. Feel free to read through the issues. <https://github.com/twitter/bootstrap/issues/search?q=modal>

</comment></comment></comment></comment></comment><comment><USER32> Wow. I was just having scrolling issues with Bootstrap's modal today and I couldn't find any solutions I liked. This was a godsend. Thanks.

</comment><comment><USER33> Good stuff. You need to get this into Bootstrap.

</comment><comment><USER34> This looks brilliant. Looks like I'll be using this for my next project (shame it wasn't released in time for my previous one)

</comment><comment><USER35> Might just be me (FF17/Ubuntu) but it doesn't seem to be modal ... I tab around and end up on elements outside the window.

</comment><comment><USER36> \- Backwards compatible

\- Responsive

\- Stackable

\- …

Nice. But why isn't "Accessible" in that list?

</comment><comment><USER37> Laggy scrolling on galaxy nexus cm10

But I don't blame you, its probably just chrome 18 being ancient.

</comment><comment><USER38> Will try it, I often need a more size flexible modal than the stock one.

</comment><comment><USER39> This is great! Thanks for sharing!

</comment><comment><USER40> stackable doesn't work. A doble click hides the second or next modal

</comment><comment><USER41> y u no backbone-bootstrap-modal?

</comment><comment> lupin-binb Nice job.

</comment><comment><USER42> Submission title is accurate.

</comment><comment><USER43> Overkill.

<comment><USER44> care to explain?

<comment><USER43> Just read the comments above.

</comment></comment></comment><comment><USER45> This is sweet!

</comment><comment><USER46> Cool stuff. Will use it on my next project!</comment>


Time & Materials vs. Fixed Price - <AUTHOR> http://terralien.com/blog/articles/2011/01/06/time-materials-vs-fixed-price <comment><USER2> If your goal is to iterate quickly to an MVP, T&M is a far more accurate and honest way to to scope a project budget.

Keep in mind that there's nothing stopping you from giving them an estimate! But you need to make it clear that most project scope changes come from client requests.

My co-founder spoke about this extensively at a conference several years back. It might be the best 15 minutes of your week:

[http://www.youtube.com/watch?v=lIQIZ0NIkxk&hd=1](http://www.youtube.com/watch?v=lIQIZ0NIkxk&hd=1)

I am glad that fixed-price works for some, but I have a pretty hard line view on this: I think you're crazy. With a fixed price, either the client is paying too much or the developer isn't paid enough (and the work suffers due to decreased morale).

Every developer has a sad story about a client from hell and a fixed price engagement that crawled out of Scope Creep Alley. Yet, I'll bet that you've never heard anyone complaining about how they have to keep charging hourly to make pedantic changes.

As for the claim that hourly projects reward you for being a slower developer:

\- there's nothing wrong with being a slow developer, assuming you're slow for good reasons like careful design and thoughtful testing

\- this slur only really applies to time and materials developers that aren't busy! a good developer is likely busy, which means there's more work in the can and no reason to drag your heels in a dishonest way

Finally, the best ideas for a project come while you're working on it. How do you change course on a fixed-price budget? Are you going to stop to renegotiate a contract?

Sorry if I seem "passionate" about this. Building Unspace over the past six years into a happy place to work that only does T&M was a direct response to the ten previous years of fixed price hell. If this post saves one person from doing fixed price bids, my work here is done.

<comment><USER3> I suspect we're communicating at cross-purposes here: If we stripped our two approaches of their labels, they'd look very much alike. You do time & materials; I do small-granularity fixed bids on individual features.

If you've used Pivotal Tracker, you'll understand my model: I commit to doing, say, 5 or 15 points of features in an iteration, for a fixed price. If the client wants to adjust the feature set, that's great! If I misjudge an estimate, and spend an extra day on something, the client doesn't pay extra. But if I have an extremely productive week, I earn a bit more. In the end, it balances out.

Usually around week 2, there's a brief moment of awkwardness where the client realizes that scope creep costs money.[1] But I help them cut a few marginal features, and we're ready to proceed. And from then on, the client is thinking about trade-offs, ROI, and priorities. And that's an excellent basis for a successful, long-term relationship.

I'm happy that you've found a model which works for your and your clients. Contracting should not be a miserable or adversarial process.

[1] Scope creep always costs money. It's better to make this visible to the client, even at the cost of some initial awkwardness. The usual alternative is to surprise the client later, when the bills come due. I've seen contractors do that, and I dislike it.

</comment></comment><comment><USER4> A fixed price contract requires that you define "done". Without defining done, you are exposed to large, possibly limitless, risk.

(And btw, building software is nothing like building a house.)

<comment><USER5> (And btw, building software is nothing like building a house.)

Well, building houses (buildings, bridges, power stations, stadiums...) is usually fixed price, waterfall at that (the blueprint is prepared before construction starts, etc).

Of course, the clients can change the projects, that's what addendums to contracts are for. Here you define what changes and how the fixed price changes.

Among other things, it is great anti-slacker motivator. With time&material, the construction company could take whatever time they feel like. With FP, they are encouraged not to, because it goes on their tab.

Maintenance of buildings/whatever structures is on the ofter hand often done as a T&M (it is slightly more complicated, as there are a certain baseline services with fixed monthly fee and everything above that is T&M).

<comment><USER6> I agree completely that building software is nothing like building a house. I blogged about this a few months ago: [http://webbindustries.com/archives/2010/10/index.html#e2010-...](http://webbindustries.com/archives/2010/10/index.html#e2010-10-19T10_29_00.txt)

<comment><AUTHOR> [Disclaimer: I run Terralien, and the author of the article works for me.]

Building custom software is nothing like building a cookie-cutter tract house - completely agreed. In that case you're getting the same house as someone else, the builder has done it all before, and there are only a few options that you get to pick with the costs for those options known.

Building custom software is a _lot_ like building a custom house, though - while there's an estimate going in, it tends to change a lot, and the final price varies widely depending on the buyer's choices during the project. Try being the general contractor on your own house construction project and you'll quickly discover costs are _very_ variable regardless of the estimates up front.

There are a lot of stereotypes about how construction projects are "fixed bid" and "everything runs off of well-defined blueprints"; my Dad is an architect working on large healthcare projects, and I can tell you that those stereotypes are largely wrong. The projects do not go according to plan and even things "in the blueprint" change regularly mid-project.

</comment></comment></comment></comment><comment><USER3> I've done a lot of fixed-price projects, and rarely had trouble making everybody happy. Here's how:

1\. Break the project down into small, easily-estimated features, and estimate the time required for each. Most estimates should be a day or two.

2\. Allow the customer to select those features which have the best return on investment.

3\. Strongly encourage the customer to budget an extra 25% to 50% for unanticipated features. There will always be a few!

4\. Allow the customer to add new features, or to cancel features you haven't started.

5\. Work with high-quality clients who know enough about their business to make intelligent decisions. Then, focus hard on helping them earn money. This removes a _lot_ of stress from the relationship.

This approach only works if you take pride in your work, if you know how to estimate, and if you don't mind occasionally spending an extra day or two on a feature that proved trickier than expected.

Fixed-price projects have two great advantages: They encourage clients to think about which features will earn them the most money, and they reward programmers for good time management. Hourly projects reward you for being a slower developer, and where's the fun in that?

</comment><comment><USER7> Million Dollar Consulting ([http://www.amazon.com/Million-Dollar-Consulting- Updated-Prof...](http://www.amazon.com/Million-Dollar-Consulting-Updated- Professionals/dp/0070696284)) suggests charging on value created (vs cost based pricing or time and materials). This may be a share of future revenue based on your work or a fancy sales pitch charging x% of the millions of dollars your work will save the client.

<comment><USER2> Interesting, but I am deeply skeptical.

Have you ever heard of any significant projects executed in this manner?

</comment></comment><comment><USER8> A lot of great discussion around this very subject from not terribly long ago: <http://news.ycombinator.com/item?id=1880096></comment>


The biological bases of mathematical competences - <AUTHOR> http://www.cs.bham.ac.uk/research/projects/cogaff/misc/agi-2011-talk-sloman.html

<comment><USER2> Do these conjectures point to a qualitative difference in the human species, as compared to other animals? i.e. syntax-based vs. pattern-based processing

Can we equate it as the ability to conceptualize a Turing machine? This would be the same as the ability to follow arbitrarily complex instructions, given enough time and memory.

<comment><USER3> > Can we equate it as the ability to conceptualize a Turing machine? This > would be the same as the ability to follow arbitrarily complex instructions, > given enough time and memory.

I don't quite follow (who is being compared to whom?), but FWIW, humans are not always very good problem-solvers. There _is_ a very obscure vein of research developing IQ tests which are basically just Turing machines; see <http://www.vetta.org/2011/11/aiq/> \- one of whose developers says:

> There is an agent called Manual.py in there. It's pretty primitive, but I > did use it to see how well I could do. I seem to recall that I was around > 70… but I didn't manage enough samples to get a good statistic (I spent a > few hours doing it before I started going crazy). Anyway, if you're used to > using Python I'm sure you can hack up something better…

</comment></comment><comment><USER4> I will definitely attend this, looks very interesting!</comment>


Introducing the Predictive Interface - <AUTHOR> http://blog.stephenwolfram.com/2012/12/what-are-you-going-to-do-next-introducing-the-predictive-interface/

<comment><USER3> I'd say it would be even better if instead of promoting primality test ("prime?") to the first place in case of a prime result, it would display "[it is] prime!", since the program already did the check. Why hide information from user?

BTW, Bret Victor wrote a lot about this kind of interfaces in his essay "Magic Ink". It's long as hell, but well worth the time it takes to read.

<http://worrydream.com/MagicInk/>

EDIT:

Key point from the end of this essay, regarding use of machine learning to create smart / learning interfaces, which really got me thinking:

"Unfortunately, an algorithm that can only be wielded by a master is almost worthless. There are far more applications than experts; if application programmers cannot make use of learning, learning applications will remain rare and exotic.

(...)

As I see it, the primary challenge for the machine learning community is not the generation and tuning of yet more algorithms, but the design of simple abstractions. Learning magic must be packaged. Like a "file," the abstraction must be usable by any engineer working in any domain. It must be so simple that it can be taken for granted.

Today, a Perl programmer needs just four letters to invoke decades of research into filesystems and physical media: "open." A finely-tuned mergesort is available with the word "sort," and even more finely-tuned hashing algorithms require just a pair of brackets. _Until machine learning is as accessible and effortless as typing the word "learn," it will never become widespread._ "

</comment><comment><USER4> He presents prediction as new, ignoring google suggest; predictive text on phones/tablet keyboards; tab-completion in bash/vim; intellisense etc. And it obscures the part that _is_ new:

      And the second is what actions would lead to useful results.

No longer statistical, but based on the (presently) unknown! Not predicting what you are likely to do, but exploring ahead of you. Not based on your past, but your future... A very cool idea.

Actually, at present, it seems to be just a secondary ranking filter of statistical suggestions, so it would never consider an _original_ action (i.e. that wasn't already likely). However, that kind of exploration would really be expensive. Another problem is defining "useful results" generally, so it applicable to results not seen before.

<comment><AUTHOR> It may not seen on one's machine, but Wolfram Research should already have other data about how people previously use some result. Or the data can come from Stephen himself, as he log every keystroke since 1989. [http://blog.stephenwolfram.com/2012/03/the-personal- analytic...](http://blog.stephenwolfram.com/2012/03/the-personal-analytics-of- my-life/)

</comment></comment><comment><USER5> A good example of when doing things the hard way pays off.

Processing natural language is difficult and not strictly necessary, but doing so is easy to appreciate and has clear benefits.

</comment><comment><USER6> This reminds me of several things.

The first is the essay, "The Anti-Mac User Interface" which everybody ought to read. But that talked about a UI that let people send commands in natural language then the computer would use completion and Thesauri to make suggestions as to what precise commands the user might have meant.

<http://www.useit.com/papers/anti-mac.html>

There's also the shell I use, fish (the Friendly Interactive SHell), where there's traditional bash style tab completion, but it also looks for common commands I've given in the past and if I type 's' say it'll show 'ssh -t linux.mit.edu screen -R' in greyed out text because that's the most common command I use that starts with an 's'. And then I can just pretty Ctrl-f to fill in the completion. Or I can keep typing to 'sc' and it'll come up with another auto completion based on those two letters.

<http://ridiculousfish.com/shell/>

Or there's Ubuntu's HUD, which lets you select things from the menu's using fuzzy matching and remembering which commands you use most frequently and presenting those first. Basically the one thing that keeps making me think that maybe I should go back to Unity.

<comment><USER7> I find those keyboard command interfaces really natural. I loved the command palette in IntelliJ, for example: shortcut to bring it up, then start typing what you want to do and it'd suggest available commands.

</comment></comment><comment><USER8> Interesting: "Mathematica is a big enough system that I don't think anyone (even myself) can immediately remember everything it does. So that means that particularly if one is using a somewhat unfamiliar part of the system, the Predictive Interface is highly useful."

</comment><comment><USER9> This reminds me of the interactivity of Light Table.

Actually, a lot of features of Mathematica - not to mention the language itself - make me think "You know, this is pretty damn cool. I wish I could actually use it."

Am I the only who wishes that Mathematica and its core language weren't locked down so tightly to a single market? Just imagine if they released a free home version (monetizing off of W|A ads and suggestions), and/or a standalone kernel stripped of all of the frontend features. As it is now, innovation and creation with Mathematica is hampered heavily, and I don't see it gaining any more mass market recognition and usage. With a more free and open model, on the other hand, it might be able to break out.

It's not like this is completely outside of Wolfram's vision for the product, either (first answer): [http://www.reddit.com/r/IAmA/comments/qisot/im_stephen_wolfr...](http://www.reddit.com/r/IAmA/comments/qisot/im_stephen_wolfram_mathematica_nks_wolframalpha/)

Perhaps we'll see something more open with 10? I'm not holding my breath.

<comment><USER10> It's only 90 pounds per year. I know free is good, but that doesn't seem impossibly out of reach. I spend more than that on coffee.

<comment><USER9> I was only mentioning that sense of "free" tangentially, and I wasn't bemoaning my own situation, just theorizing that they could get much greater mass market penetration (which they seem to want) with a free tier.

I guess it wasn't very clear, but what I really meant was an open platform for hacking on. As it is it's very difficult to use Mathematica as a normal programming language, and it's clearly not designed for that (even though there is a vocal contingent at Wolfram that wants people to try anyway). If it were split off into two projects - a completely open core language and a set of closed symbolic math APIs + frontend tools on top of that language - <USER2> it would open it up for anyone to hack, create and innovate on, instead of playing around in their very heavy and very limited garden with no option to integrate with other tools, distribute, or improve and extend the language.

</comment></comment></comment><comment><USER11> Very curious to see how well this works in practice.

An excellent example of a usable predictive interface is DataWrangler from the Stanford Vis group - <http://vis.stanford.edu/wrangler/app/>. Bit of a learning curve, but well worth it if you're working with semi-structured text data.

The paper describing their philosophy and the predictive interface is here: <http://vis.stanford.edu/files/2011-Wrangler-CHI.pdf>

</comment><comment><USER12> Wolfram | Alpha predicts from the previous human input, I am getting "Assuming 'the future' is a song" on request "What is the future". But even kids are better than Wolfram in answering such a question. They can tell you that the future is a grammatical tense used for expression about things that will or can happen.

And from this limitations of the predictive interface are clear. If it does not have enough candidates, it will bring user nothing but weak excuse.

</comment><comment><USER13> I can see something like this hitting the IDEs shelves in a few years. Need to use an unknown API for this very specific part of your project? Don't worry about the documentation, suggestions are going to tell you what you'll want to write.

</comment><comment><USER10> In practice it can be quite useful, proposing simple improvements and adjustments that you can't always be bothered to type out yourself. Occasionally its suggestions are irrelevant. And either way it's less annoying than Clippy.

</comment><comment><AUTHOR> I think a good feature in this predictive interface is it even could let user send feedback to improve the result.

</comment><comment><USER14> Smells like code completion (not a bad thing). Like Dasher, for analysis.

</comment><comment><USER15> also known as the Ribbon in Microsoft land.

<comment><USER7> I saw this and thought it was the typical, flippant, light-grey comment that ends up in newbie downvote hell at the bottom of every HN story. Then I thought a bit more: it's better than that. The Ribbon and the predictive bar in Mathematica are actually quite similar in concept: both attempt to figure out what you're doing and present you with contextually relevant choices.

The difference is that I absolutely detest the ribbon in Office. I find it much easier to remember the path to a particular function in a menu or static toolbar, rather than be presented with an ever-changing soup of psuedo- relevant options; the ribbon denies me the chance to build muscle memory for activating common tasks. Conversely, the predictive bar in Mathematica works very well and I've been using it much more than I expected.

I think this is because Office is a massively limited system compared to Mathematica; it's easy to imagine it as a physical object with knobs and switches for every function, like a really complicated power tool. Mathematica is a gigantic programming language, so large that even its creator admits to having an incomplete understanding of its scope. An intelligent assistant that can show you some natural next steps in your calculation actually makes a lot of sense here.

Imagine if your IDE came with this sort of stuff! You've just added a UIToolbar to your UIView. Do you want to set up matching outlets in the associated view controller? You've just declared an AUGraph; click a button to put method calls in for setting it up and adding a few nodes.</comment></comment>