The Opa Language - <AUTHOR> http://opalang.org/ <comment><USER2> Project creator here (and kind of surprised to see Opa as news).

Reading the different comments, I must say that Opa is still active (although we lack resources to animate the community). We are a small French startup meaning that I get to spend 50% of my time struggling with administration, and our evangelism resources are not compatible to those of companies like Meteor (and btw, Opa predates Meteor by a while).

Currently, we use Opa to build a secure communication application, named PEPS :

[https://github.com/MLstate/PEPS](https://github.com/MLstate/PEPS)

which is a good example of a "big" and open source application written in Opa. Note also that bringing a new language (or framework) from toy examples to real apps is definitely not easy.

Overall, quite glad to see that many things we introduced in Opa ("JSX" syntax, CPS-transforms, etc.) are becoming more prevalent, especially thanks to ES6. Indeed, adapting Opa to ES6, which we are looking at right now, would enable existing applications to use the latest ES6 features without changing the app code.

That was one of the goal of the project: Opa was meant to be a "good way" to write applications, letting the compiler choose a target platform and write code for it.

Opa is still relevant today, as a "good quality" (especially in terms of safety -- and if you are interested in certified applications like common criteria, please contact me: Opa is relevant in that space) "one-stop shop" to build develop web apps or services. Remind that when we started a few years ago, many were criticizing that we use a functional programming language, were telling us that nobody wants static typing, etc. (that was before Hack which helped a lot in popularizing the feature -- and Opa too is written in OCaml).

And Opa has a future. The way the compiler is written, it's not that hard to have it compile the same application code into cloud platforms, including a lot of Amazon Lambdas...

<comment><USER3> Mainstream developers often make such a mistake as they chase fads: just don't worry about them. Your focus is a niche with less press anyway. My specialty high assurance systems & security. I like your language because it's safe like ML, extends that to Web stuff, doesn't treat DB's like an afterthought, and integrates whole stack without the mess of mainstream stuff. I'd expect Opa apps to be more robust than average web app. The only thing I didn't like is you porting the backend to Javascript, a step backward in assurance. Hard enough to do an EAL7, JavaCard VM or non-optimizing C compiler. A Javascript implementation might be a PhD's worth of work. Yet, I understand why you did it and it made some sense for your market. I'm sure people wanting more assurance could always modify the backend to target something simpler, right?

Your main competition, that I see, are Ur/Web and the Ocaml/Haskell frameworks. I recommend that you continue doing what you're doing while copying any great things you see in those communities along the way. Especially ways to leverage type system to prevent problems. I think just good marketing, library support, fixing some of what people are griping about, and some major success stories in the media is all you need. Best wishes on your work as it's one of rare few that leans toward a Correct-by-Construction approach to web applications. Need more of those.

<comment><USER2> I couldn't agree more! Although biased, I think that Opa is the easier of those technologies to learn and master for developers. And we also have more flexibility due to our compiler (vs frameworks). We have been rightfully compared to Ur/Web since the beginning. Adam Chlipala is an outstanding scientist and his work is definitely of high quality, maybe more academic.

Note that we have other experimental backends available, although not in the open source release (yet). I am also interested in compiling to MirageOS -- we have all the mechanisms in place in Opa to do that easily, namely one called the "Bypass Standard Library" (BSL). I just uploaded one draft paper written at MLstate about the BSL: [https://www.scribd.com/doc/271277920/Opa-BSL- Bypass-Standard...](https://www.scribd.com/doc/271277920/Opa-BSL-Bypass- Standard-Library)

<comment><USER3> I was gonna suggest MirageOS but held off. Since you said it, by all means do the port. Ill look at the stuff in the link when Im on desktop.

</comment></comment></comment></comment><comment><USER4> I'll be honest, I thought this project was dead. How is Opa still relevant and what, if anything, are they doing to attract new developers today?

<comment><USER5> Same here -- I found this extremely interesting about 4 years ago and did some playing around with it, but the project seemed to drop off the map after awhile.

</comment></comment><comment><USER6> Every German speaker will read this as "The Grandpa Language".

<comment><USER7> "Opa" is very easy to learn to pronounce, and not surprisingly is used in many languages to get the attention of some of the more important people a young child may need help from. Many many languages use ma and pa/ba for parents, and I'm not surprised that opa is used for other relatives by many languages.

I'm not Korean, but my understanding is one reading might be "Mister Language". Several of my Korean friends address me as "Karl Oppa" or just "Oppa". (Yes, "opa" isn't the standard Romanization, and the word order isn't correct.)

In Korean "oppa" is the word for older brother used by a younger sister, and by extension, an honorific used by a younger woman to show respect for an older man. (When my Korean friends meet someone new, they quickly figure out who's older, even by just one year, in order to figure out who's supposed to use the honorific addresses.)

Imagine if in English, we only used Mr. and Ms. when talking to someone who's chronologically older, and had different forms depending on if the speaker is male or female, and furthermore it was considered very rude not to use the title where appropriate. Oppa is kind of the word for "mister" used by women, but is mandatory in many more cases than would be expected in English.

<comment><USER8> It always irks me, I don't know when this trend started but when I moved away from Korea in the mid 90s as a young child this was strictly a honorific for older brother from a younger sister OR maybe I was just unaware of the trend because I was a kid.

So I get grossed out when a Korean girl calls me oppa and I have expressed my discomfort which was met with a cold response (I guess they really like calling older men oppa), part of the reason I never date younger Korean women. That and the whole 'mister' or aekyo (adult women emulating an infant) shit I find very creepy and unattractive. There's this national inclination for young women, sort of like Japan's obsession with schoolgirls.

On the other hand, being called 'ajusshi' which doesn't carry the same affection as 'oppa' and intended for much older men and some Korean men take offense when addressed as 'ajusshi' but less so than Korean women who go apeshit when I made the mistake of calling them 'ajumma'.

on an offtopic side note, Oppai in Japanese means tits.

</comment></comment></comment><comment><USER9> A few impressions:

\- Seems like the language forgot about objects (they seem to be used as collections or namespaces) - which is surprising given it's JavaScript underneath.

\- It also seems like the database functionality is so embedded within the language that using it would sacrifice a lot of control and would become a huge lock-in liability.

\- Everything is too abstracted. I must admit my first real programming experience was in PHP, and now that I've done a lot of things in Node.js and other languages I really appreciate being able to do some more things at a lower-level of abstraction (PHP ends up being a glorified templating language usually).

\- Edit: Oh, and _please_ can someone find a way to nicely get rid of these JSX-esque syntax additions and just start using ES6 template strings instead. All these extra compilation steps make things so much more complicated and third-party reliant than they need be.

<comment><USER10> > make things so much more complicated

Simple pre-processing and code-to-code transformation is typical in many different languages and environments. Pretty much every time you start a Java or C++ project within some IDE you're essentially generating a lot of code automatically.

And in the case of various JS preprocessors/transpilers it's not even that complicated. It's mostly trivial transformations, which in more capable languages would be expressed as macros, f-exprs or something like that. Maybe try writing your transpiler sometime? It'll take a weekend, and you'll see how easy and simple it is.

> Everything is too abstracted.

That's only because of your background. ASP.NET or GWT guys would _not_ agree, I imagine.

> it would sacrifice a lot of control and would become a huge lock-in > liability.

Control over what exactly? You still have an external database you need to manage. You handle backups, schema migrations and so on. I'd say Opa's abstraction of data storage is on par with "normal" ORMs (like Django ORM) in terms of flexibility/power ratio.

I don't see a lock-in potential here, as long as data store used by Opa is available to other languages and environments. You can always just load the raw data directly from DB and do anything you want with them. Would be another story if Opa used in-memory, built-in in-process data storage (which is an approach I quite like) but it doesn't.

<comment><USER9> > Simple pre-processing and code-to-code transformation is typical in many > different languages and environments.

True, but I suppose it's still nice to avoid as many unnecessary steps in deployment as possible.

> That's only because of your background. ASP.NET or GWT guys would not agree, > I imagine.

Well, there are good and bad abstractions. Many abstractions get in the way eventually if you're doing anything non-trivial.

</comment></comment></comment><comment><USER11> Very nice work pulling this sort of thing up - but honestly? This looks terrible to actually use in code.

Even if they do commit to working on this language - and it offers advantages over Meteor (which it looks to be inspired a lot from) - they have a lot of design choices I don't understand:

\- Inventing a new language over JS is problematic, a dependency, and you don't get goodies as they land in JS.

\- The fact IO is implicit and not explicit means you don't know where you're paying - and is a very leaky abstraction.

\- jQuery as a default part of the standard library? Really?

\- Anything that "automates the database" terrifies me, anything that wraps PostgreSQL and MongoDB with the same wrapper means I'm paying for impedence mismatch _somewhere_ but they're not telling me where.

\- Their "MVC support" section is really about scaffolding, and MVC on the server doesn't make sense anyway in this scenario.

I like the JSXish'ness of some of it but honestly not sure why anyone would use it - the fact there are no strong backing companies is also worrying.

That said - that's just my impression so as always I recommend you try it yourself rather than take my criticism :)

<comment><USER12> I want to counter your criticism with this:

I think having XHTML as a defined type is a stroke of genius, at the risk of hyperbole. No quoting html fragments?! Damn. Wish I'd thought of that.

I'd say it's because of this requirement that they couldn't use Javascript. And inventing a new language over JS is problematic. I won't even learn coffeescript and that's everywhere. You're not going to get me to learn Opa, sorry. Maybe they should have made it a very thin preprocessor where you get to inspect the JS...

Object Relational Mapping and Object Document/Graph Mapping is fine so long as they're not the same mapping :) and so long as you get to inspect the SQL or MongoDB QL...

Not sure what you mean by "and MVC on the server doesn't make sense anyway in this scenario" We're all familiar with MVC scaffolding from Rails by now, aren't we?

<comment><USER10> > I won't even learn CoffeeScript and that's everywhere.

Could you please explain why is that? I'm honestly asking - my hobby of learning languages ([https://klibert.pl/articles/langs.html](https://klibert.pl/articles/langs.html)) makes me completely unable to understand opinions such as yours here.

Opa once implemented an ML-like language, which I liked better than the current JS-like thing. They moved to JS because of two reasons, IIRC: to get a runtime for free (Node) and to be "more familiar to more developers".

Besides syntax, Opa offers quite a lot of benefits on a language level. Static typing with inference and statically typed HTML - this means that code that isn't safe in terms of HTML injections does not compile at all! Executing the same code on both backend and frontend, built-in database layer and a whole lot of helpers and tools for creating SPAs.

At first I thought Opa is something like Seaside in Smalltalk or Nagare in Python, but it is unique in that it lets you write client-side code without much hassle, which is rather hard in other frameworks.

<comment><USER13> I can't answer for igravious, but I can answer for me.

I'm not interested in learning Coffeescript because it doesn't do anything that javascript can't do, by definition, and it seems to me that my time would be better spent practicing more javascript (10,000 hours and all that).

I get that there's some benefit to hopping around languages, learning from the different paradigms, but there's also benefit from going deep on a single language. Some of the stuff I've seen people do in js is amazing and I'd like to get that kind of mastery. I don't think learning Coffeescript will help with that.

I also find that whole "I can code in 12 different languages" a bit shallow. Yes, I can code in 12 different languages, but can I do it well? Have I mastered those languages, or am I just surfing the shallows of each, unable to really get the most out of them?

I'd prefer to pick, say, three languages, at most, and really learn them. JS is going to be one of those languages because browser, I'm still trying to work out the others but Coffeescript is definitely out.

<comment><USER10> > I also find that whole "I can code in 12 different languages" a bit shallow.

It's 83 in my case... (I'm joking: obviously I didn't write much code in most mentioned languages. But I wrote at least something in the 100-1000 loc range in most of them, I think).

> Have I mastered those languages, or am I just surfing the shallows of each, > unable to get the most out of them?

That's only a question you ask yourself at the beginning. You stop doubting your skills and knowledge in different languages around a decade into learning about them. Well, that's how it worked for me.

> and it seems that my time would be better spent practicing more javascript > (10,000 hours and all that).

Been there, done that (metaphorical 10000 hours). Four times over with C++, PHP, Python, JavaScript. Then Erlang, and after that, the time needed to learn most of almost any language was significantly reduced.

> I'd prefer to pick, say, three languages, at most, and really learn them.

Again, been there, years ago. Programming - for me - is a life-long career choice, which means I still have 3-4 decades of coding ahead of me. With a solid 10+ years of experience already I know that staying too long with one tech causes boredom; the issue is how to pick the next tech? I figured I'd need to learn quite a lot of them to make informed choices, and so I focused on this. I don't want to stay with a single tech for too long.

<comment><USER14> Did erlang somehow make it easier to learn the additional languages?

<comment><USER10> I think Erlang was a last drop in a bucket, so to say. Learning it made me finally realize two things: that there are many very different languages and that there is some common, underlying structure to even the most diverse languages.

It sort of went downhill from there :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Here is an "introduction for coders" on GH - I think it explains it better than the website [https://github.com/MLstate/opalang/wiki/A-tour-of- Opa](https://github.com/MLstate/opalang/wiki/A-tour-of-Opa)

</comment><comment><USER15> People interested in secure web development frameworks should definitely check out Ur/Web [http://www.impredicative.com/ur/](http://www.impredicative.com/ur/)

</comment><comment><USER16> Don't get me wrong, I feel this is an awesome project, but this looks pretty weird:

        #msg =
Thank you, user number {/counter}!

... especially when everything is moving into an MVC direction. I like keeping my logic separate from my template. I may be too hasty. I'll definitely download and check it out in more detail sometime this weekend.

<comment><USER10> > but this looks pretty weird

It's a classic DSL; it's more readable and easier to write than equivalent HTML/JS mix (it's both shorter and has less tokens). Such DSLs are used in some languages extensively, I think the most related is xexpr DSL, for example, [http://docs.racket-lang.org/web- server/servlet.html#%28def._...](http://docs.racket-lang.org/web- server/servlet.html#%28def._%28%28lib._web- server%2Fservlet%2Fweb..rkt%29._send%2Fsuspend%29%29) (the part in the code snipped starting with "response/xexpr"). It's in Lisp, which means they could write it without messing with language parser, but the idea is pretty much the same.

</comment></comment><comment><USER17> Cool project, and I lke to see people experimenting with new languages and tools.

That said, Opa has a lot of competition. I am thinking of Clojure + Clojurescript, Meteor, Dart, etc. I don't much use Dart, but C+C and Meteor are amazing productive.

</comment><comment><USER18> It looks like you put some serious work into this project but I do not really like the end result.. somehow it reminds me of 90's PHP code. btw great docs, installation instructions and the landing page

</comment><comment><USER19> How does Opa comapres with the scala lyft framework(which also promises a lot in the security area) ?

</comment><comment><USER20> Is it still a compile to test environment?</comment>


You've Got Blackmail: The AOL Account That Wouldn't Die - <AUTHOR> http://blogs.wsj.com/wallet/2009/07/02/youve-got-blackmail-the-aol-account-that-wouldnt-die/

<comment><USER2> Customer service is marketing. When will people learn this?

</comment><comment><USER3> It's not smart to try to push around a Wall Street Journal journalist.

</comment><comment><USER4> This isn't unusual actually. Companies can and do report bogus charges like this with impunity.

<comment><USER5> What is unusual is the frequency with which AOL pulls this shit. Yes, other companies have been known to hit their customers with bogus charges, but nowhere near the extent to which AOL has. It's basically their business model. You simply can't cancel an account.

<comment><USER6> yup, aol charged me for around 16 months after cancelling my account 3 times, and stupidly not paying attention thereafter, they did very reluctantly refund around a third, although they probably kept me sitting arguing for long enough on their premium phone number to get that back.

bt have also tried to charge me ~200 to install a phone line I didnt agree to (I had already got the line installed by virgin, for free).

My experiences with telcos are the lowest of the low, I dont understand how some company hasnt gone into the market, treated their customers fairly, and wiped the floor with the competition.

<comment><USER7> Here in England, we have fast.co.uk doing exactly that for DSL. You call them up and a real human being answers the phone. This person is physically located in the country, speaks English, and can actually perform the tasks you ask of him.

It's amazing. You ask about some obscure technical issue, and he digs in and fixes it. On the spot. The guy who answered the phone!

They charge about 5 pounds a month more than the big guys, which is more than worth it. I hope that more companies like this will start springing up in other areas.

<comment><USER6> heh this was in england, however looking at their site its £17 a month for 5GB bandwidth?

I have to say I have little to complain about when I went with virgin, which was ~£15 for unlimited downloads. the difference between 20GB and unlimited is quite a lot for me, even if I almost never used 20GB.

</comment></comment></comment></comment></comment><comment><USER8> Is it just me, or everyone feels the same about when someone hands over a business card with an aol.com address on it? Almost feels like, you don't want to do business with this pre-historic animal!

<comment><USER9> This comment sounds funny at first, but it's SO true.

If the business card has an AOL address on it, it's a giant red flag that says "potential problem client" all over it.

My top 8 reasons why an AOL address on a business card MAY mean "problem client".

#8 This person will probably have NO IDEA how to send an attachment. I mean NOOOOO IDEAAAAAA!

#7 Need them to upload a photo to a website? Forget it. Just forget it. "Browse button? Browse what?"

#6 You never know if your email will get through to them or if it will be filtered.

#5 The "Internet" IS the AOL icon.

#4 When on the phone with your client, you will probably hear the distinct sound of a 56.6kbps modem tone when you ask them to pull up their email or website.

#3 They'll ask what "keyword" gets them to their website.

#2 Getting them to a browser to pull up their website first requires walking them through a series of pop-up ad windows that need to be closed.

#1 While walking them through a website or how to send an email, prepare for this statement: "Hold on, AOL crashed, I have to reboot. I think I need a new computer." (no. you do not need a new computer. you are doing it wrong.)

humph.

<comment><USER8> Very funny! You just put my gut feeling to words ... thanks!

</comment></comment></comment><comment><USER5> When are these people going to learn? AOL has reached the point where their original product does NOTHING except detract value. Just drop it AOL because the fourteen 85-year-olds that are still using it are going to be dead soon anyways.

People still use AIM (still not sure why), and sometimes frequent some of your other media outlets. Focus on those, and stop charging (former) customers for services they don't use or want.

<comment><USER10> People use AIM because their friends use it. What IM protocol people use seems to vary from locale to locale (among the non-nerd types), probably just depending on which got used first.

I'd happily switch away from AIM (by that, I mean the protocol/servers, I use Bitlbee/irssi and Pidgin), except that a lot of the people I know use AIM exclusively.

<comment><USER11> I'm pretty sure iChat uses the AIM protocol. I have no idea why.

<comment><USER12> Between msn messenger, yahoo instant messenger and aim, my experience is that the connection with AIM is much more stable (meaning less dropped messages). MSN is the worst of all three since it drops messages without any indication of it...

What is interesting is that it's really segmented by countries... US is AIM and Jabber, Europe MSN, China QQ, Vietnam Yahoo Instant Messenger.... So I have to be on all five plus skype...

</comment></comment></comment></comment><comment><USER13> I'm assuming the fraud alert would give him the chance to fight the charges if they try to report them?

How exactly does it help?

<comment><USER4> It'll affect his credit rating if there's an unpaid balance in collections. He's reporting that the report is fraudulent in the hopes that it won't hurt his score. I don't have a lot of faith in the credit rating system though, so I'm skeptical that it'll do any good.

<comment><USER3> It should do him a lot of good if there is knowledge in the industry that this company is posting fraudulent charges and not resolving consumer complaints satisfactorily.

</comment></comment></comment><comment><USER14> Rule #1. Never sign up to AOL. Rule #2. Never break rule #1. Rule #3. If in doubt refer to rule #2.</comment>


Permazen: Language-Natural Persistence Layer for Java - <AUTHOR> https://github.com/permazen/permazen <comment><USER2> A lot of big claims and business-y talk in this README, but overall pretty vague and ambiguous. Reading this didn't really give me an understanding of why I would use this over say hibernate or jooq.. the getting started 'hello world' example looks almost identical to hibernate. Claims about 'Query performance transparency', 'Data store independence', 'Structural schema changes' also seem far fetched and at odds with each other...

</comment><comment><USER3> I read the slides in the web site of Permazen... It really looks like a good and light solution persistence wize !

I am actually having difficulties with JPA on borh : \- the configuration side, \- And because it gives the persistence layer to another tool (Sql tool).

Permazen looks like a cute solution for (so many) Small projets with only less then 16 Tables to persist.

Thierry

</comment><comment><USER4> > A rigorously defined, modular key/value API with adapters for multiple > database technologies

> A way to make your application portable across different database > technologies

> Data store independence Are we restricted to using only a specific type of > database technology, or can virtually any database technology be used by > implementing a simple API, making it easy to change later if needed?

I do not want one of my storage implementations promoting itself to be the master of all other storage implementations. To put it another way, I will not _depend_ upon Permazen to provide _independence_.

Storage solutions need to be able to hide behind something like `Future<V> put(K k, V v)` or get out of the way.

</comment><comment><USER5> Is there anything inspired by this in JavaScript land?

</comment><comment><USER6> Am I the only one who read Natural Language Processing then found it's about something totally different?</comment>


Google is slowly cracking "open" iOS - <AUTHOR> http://www.virtualpants.com/post/26147935178/google-is-slowly-cracking-open-ios

<comment><USER2> It seems odd to me that so many blogs are commenting that Chrome being the #1 iOS download today is some kind of global indication of the need to open iOS to Android-like levels of user customization.

Not wanting nor willing to get into the merits of that idea overall, but doesn't it strike anyone other than me as obvious that it's the #1 app for iOS today because it came out yesterday with much fanfare, it's free, and it's something most everyone is aware of and would want to play with?

An unofficial poll here in my office shows that everyone who downloaded it here did so to, in so many words, "play with it and see what it's like", though nobody yet has stated that they intend to replace their browser use with it.

While it's nice that you can get as much of the Google ecosystem on your iOS device as you can, I'm really not sure that the availability of that ecosystem on iOS is any sort of indication of the necessity of opening up iOS to embrace that ecosystem.

In other words, "If you want Android, you know where to find it."

<comment><USER3> Being able to set other apps as default is just common sense. It doesn't mean it has to be "like Android".

<comment><USER2> Like I said, not really trying to stir that discussion. I didn't say it wasn't common sense, but the jist of several blog posts I've seen today all seem to imply the same thing as the one here - that the popularity of Chrome for iOS is some kind of watershed moment, when it just seems to me the popularity is more likely because... Chrome's a really popular app and iOS users tend to jump all over newly released functional apps that are free.

</comment></comment></comment><comment><USER4> Apple doesn't care what icons are on the home screen as long as that home screen is on an iOS device, because the device is where they make their money. I doubt Apple is losing sleep because I don't use their mail app.

The more revealing take-away from people having iPhone home screens full of Google apps is why they aren't using an Android phone.

<comment><USER5> they very much do care. If the only button anyone clicked on the home screen was "Firefox" and then did everything from there forever, pretty soon people would realize they don't really need an iPhone and would buy a far-less premium device.

This is exactly what will happen in Apple allows Chrome. They should remove it from the app store. It's against their policies and just like flash in mobile safari (firefox on ios is exactly like flash in mobile safari): All the arguments about not being "as native" are just as true, and Apple no longer has a Safari community across its devices to corral around and for developers to target.

Tim Cook is running Apple into the ground by removing Apple's user experience differentiation. He is creating beige boxes. Samsung can do that. Asus can do that. He needs to take a look at what the fuck Apple even is.

<comment><USER6> > _Tim Cook is running Apple into the ground by removing Apple's user > experience differentiation. He is creating beige boxes. Samsung can do that. > Asus can do that. He needs to take a look at what the fuck Apple even is._

Are we thinking of the same Apple? Because the iPad 3 and the retina Macbook Pro don't really conjure up images of beige boxes for me.

<comment><USER7> Anti-apple fanboys are rabid in this thread, today. But as anyone who deals with the anti-fanboys on a regular basis can tell you: haters gonna' hate.

<comment><USER5> No, I'm a fanboi. I want Apple to keep giving me something to be a fanboi to - I am looking ahead 2-3 years and their strategy is not doing it.

<comment><USER7> What a shame! To each their own -- I'm really excited by Apple's 2-3 year plan.

<comment><USER5> Let's dig into this and see what we find. What are your impressions of Apple's 2-3 year plans and prospects?

I'll respond with my thoughts.

<comment><USER7> EDIT: Sorry about the long post, but I enjoyed being able to put some of my thoughts down onto paper. I won't be offended if you tl;dr it!

Apple is rounding a corner on it's iOS platform, growing from it's chaotic youth phase into a more conservative phase. We can reliably guess that we'll get a new iPad every April and a new iPhone every August. We'll get a new iPhone design every other year, and a hardware update every year. We'll get iOS beta in April and iOS release with in August.

I love that they've slowed down the rate of new feature implementation: watching the explosion of quickly unsupported Android devices all with one defining gimmick makes me very glad not to have picked a phone with a feature that didn't go mainstream.

To me, Apple is already looking 4+ years down the road with iOS. You can bet that major feature additions, while Google will often beat them to implementation, are already on Apple's multi-year plans. Sure, Apple may be a year late on a feature, or a year ahead, but in the grand scheme of my mobile life, one year is nothing (views like this, I believe, will be more common in the post-youth phase).

As we exit the phase, I'm glad to learn that Apple's support of it's devices these past five years has been consistent: devices getting day-one updates for over 3 years! An incredibly impressive free-replacement program turned decent warranty program. And of course, two years per physical design and only one model at a time means that there is both time and incentive for a huge third- party accessory market. (The incredible third-party support of Apple devices can only come from a conservative process -- predictable patterns that minimize potential risk and maximize market size for accessories like cases, docks and speakers).

When I look at the chaos of Android, I'm doubly impressed by not only how effective the iOS infrastructure is, but that Apple implemented a model infrastructure in the face of competition that absolutely and utterly dropped the ball (introducing version 4.1 while version 4.0 is at 7% marketshare is embarrassing... almost as if Google is abandoning anyone pre-4.0 and saying 'not our problem').

My impression? Apple now believes that mobile is no longer an arms race or a race at all -- it's a core business that will be around for decades in some form or another. In an industry where all of it's competitors are struggling and failing to even bridge the software-hardware gap, Apple has rounded that corner and set its eyes on bigger targets.

So when I say I'm excited by Apple, I mean that I'm excited that I no longer have to play the new-tech-game. I'm excited that my iPhone lasted over 3 years and got day-one updates the entire time. I'm excited to own a new iPhone in the fall, trusting that I'll get day-one updates for years, enjoy a mature support process at a brick and mortar store and a solid feature-set that works across hundreds of millions of devices. I don't have to play the custom- firmware-my-carrier-is-shit game. I don't have to wonder if I'll get the update that Google put out today, or last year(!!!). This is exciting to me: they've made a mobile infrastructure all the way from them as coders to me as a consumer (and every step in between) that _actually works_.

As far as outside of mobile? Apple will be unifying their product lines around cloud services and introducing their attempt to invade the living room. (Their chief competition there, I think, will be Microsoft, and I believe that both Apple and Microsoft will have offerings that REPLACE a cable box / DVR entirely, not complement it).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I don't see why Apple is so reticent on this. They wouldn't lose anything by letting users replace most default apps.

Of course, they can't allow the replacement of the App Store and continue with their current model but a user that already owns an iPhone and replaces the Mail app or web browser doesn't hurt Apple in any way. They'd probably even have more people buy iPhones (and make 30% on the sale of paid replacement apps). I fear it's because of their compulsion to control the experience from A to Z.

(disclaimer: I own an iPhone 4, iPad 2 and MacBook Pro)

I'd wager that some sort of (limited) "intent"-like mechanism is coming in a future iOS down the road, although not 6 and probably not 7.

</comment><comment><USER9> Does anyone know how Apple is able to get away with this, when Microsoft was under so much antitrust litigation in the late 90s for simply bundling their internet browser?

<comment><USER10> iOS has a far less than monopoly share of the smartphone market

</comment></comment><comment><USER11> I wonder whether this is a strategy by Google or simply an organic result of their services spreading to other platforms?</comment>


Improving Angular performance with 1 line of code - <AUTHOR> https://medium.com/@hackupstate/improving-angular-performance-with-1-line-of-code-a1fb814a6476#.f94wuqq7d <comment><USER2> As someone who's specialized in AngularJS optimization [0], this doesn't surprise me in the least. Developers leave plenty of performance optimizations on the table, some worse than this one. The truth of the matter is that in the general case, it doesn't matter. We engineers like to go on and on about this or that perf efficiency but most of the time the code runs fast enough (and the majority of the time when it doesn't, ads are to blame over framework tweaks).

Heck, I shouldn't even be saying this as it'll cut into my very lucrative field but unless you've got a confirmed performance problem, you shouldn't think about it at all. Really. Leave all of the fancy perf tweaks behind. Sure, you might get ridiculed on Medium but that's par for the course here on the internet. I'm afraid articles like these will cause lots of cargo-cult 'optimization' that just makes the job harder for future devs.

Make it _work_ , make it work _well_ , THEN make it work _fast_.

[0] I wrote Batarang's new perf panel before Google abandoned the project

<comment><USER3> >>The truth of the matter is that in the general case, it doesn't matter. We engineers like to go on and on about this or that perf efficiency but most of the time the code runs fast enough

THIS!

This is why battery life on mobile sucks

everyone who thinks this way is the reason

.

As everything moves to the web, the performance of your code matters

.

So what if my phone has just enough CPU to render your site? You should not be content with that - you should strive to use less, so my CPU can go to sleep faster.

.

Your job is _supposed to be hard_. you're an engineer! Please consider the consequences of your actions.

<comment><USER4> > Your job is supposed to be hard. you're an engineer! Please consider the > consequences of your actions.

My clients pay my wages and they are the ones who choose what my priorities should be. Where are these mythical developers who get to choose how long to spend on optimising working code without any financial imperatives? Outside of hobby projects there's always someone counting the pennies.

<comment><USER5> I agree, but this is a moral imperative, not a financial one. And before you say "it's immoral to spend the client money on things they don't want", you're right. Your job is to convince the client it is "worth" it.

<comment><USER6> So, what have you done to improve the situation?

</comment></comment></comment></comment></comment><comment><USER7> This is a case of bad defaults - why should a developer be required to write code, even if it is a one liner, to _disable_ debug? It should be the other way around - you write a single liner to enable debug.

<comment><USER8> Just another reason to hate angular.

<comment><USER9> That's not just Angular. From the React README[1]:

> Note: by default, React will be in development mode. The development version > includes extra warnings about common mistakes, whereas the production > version includes extra performance optimizations and strips all error > messages.

> To use React in production mode, set the environment variable NODE_ENV to > production. A minifier that performs dead-code elimination such as UglifyJS > is recommended to completely remove the extra code present in development > mode.

[1]: [https://www.npmjs.com/package/react](https://www.npmjs.com/package/react)

</comment></comment></comment><comment><USER10> I'd like to see some data indicating there is actually an appreciable performance difference. Indeed, with only one line of code to add, the setup cost is low, but this article asserts a performance gain without any evidence.

<comment><USER11> The official Angular docs describe it thusly:

        You may want to disable this in production
        for a significant performance boost

[https://docs.angularjs.org/api/ng/provider/$compileProvider](https://docs.angularjs.org/api/ng/provider/$compileProvider)

I'm inclined to believe the engineers who wrote the docs on this.

<comment><USER12> A Twitter engineer mentioned this in a lightning talk in the AngularJS SF meetup a little more than a year ago - he mentioned that he found speed gains of about 33% with that one line.

It's a great tool to have in your belt for optimizing angular apps, most people working with angular are not aware of this unfortunately.

</comment></comment></comment><comment><USER13> Shouldn't debugging be something you opt-in to rather than opt-out of?

Seems like a weird design choice

<comment><USER14> Django has DEBUG set to True by default, too.

<comment><USER15> They have a fairly obvious _" SECURITY WARNING: don't run with debug turned on in production!"_ above it though.

</comment></comment></comment><comment><USER16> Looks like it's the first suggestion in their production developer guide, [https://docs.angularjs.org/guide/production](https://docs.angularjs.org/guide/production)

</comment><comment><USER17> I've searched a few minutes for any blog post or article which demonstrates the performance difference between turning this setting on or off, and I haven't found anything.

If you don't have a benchmark, you don't have a performance boost.

<comment><USER18> This is a silly statement. Not everything is placebo. I'm working on a bigger Angular application and adding this one line of code made a small perceivable difference.

<comment><USER19> Did you do a double blind test or use any instrumentation to confirm your perception? I ask as someone who has more than once been convinced that I'd made something faster only to prove myself wrong after measuring it.

</comment></comment></comment><comment><USER20> Wow, I did not know that everyone else _also_ right clicked to "inspect element" all over the place, for no reason...

I love moments like this.

<comment><USER21> It comes in quite handy when you're dealing with sites that attempt to hide content behind a paywall, with just a front-end solution...

#nevertrusttheclient

<comment><USER22> That still works? Cool.

Off the top of your head, do you remember any examples of sites that expose paywalled content like this?

<comment><USER20> Not a _pay_ wall, but Quora requires login, and you can just remove the overlay and the "noscroll" body class.

</comment></comment></comment></comment><comment><USER23> Dude should have made a small fortune selling optimization services to those big corps.

<comment><USER24> There was a 3 job string in the late nineties where the first impressive thing I did was go fix the log levels of the code and get transaction times down by 50%. Sometimes the simplest tricks are the best.

I've also been known to take a couple minutes off a build process or fix something that is annoying everybody to break the ice.

</comment></comment><comment><USER11> Does Angular 2.0 make this _one weird trick_ unnecessary?

<comment><USER25> This article reminds me of those X Hate Him! ads.

[http://i1.kym- cdn.com/photos/images/newsfeed/000/633/254/14f...](http://i1.kym- cdn.com/photos/images/newsfeed/000/633/254/14f.jpg)

<comment><USER26> I agree. He kept repeating "this one line of code that improves Angular performance!" like he's trying to optimize for SEO on the term "improve angular performance".

</comment></comment></comment><comment><USER27> I see this more as a tooling failure. All the yeoman/grunt/gulp/webpack/boilerplate/starterkit BS that you need to do to get a minified/concatenated/compressed build deployed and none of that turns this option off?

The only way I was ever able to get an angular project built/tested/deployed was by using something like yeoman. It's kind of shocking that the default project templates set up everything that you need except for this one thing.

I do notice that the made with angular site isn't even minifying their code:

[https://www.madewithangular.com/static/js/main.js](https://www.madewithangular.com/static/js/main.js)

Though that may be intentional so that people can see how it is written.

</comment><comment><USER28> Yeah, this is the hidden cost of not choosing sane defaults. If you're not sure what "sane" is, default to "most likely/common use case". It's good to hear this is changed to opt-in in Angular 2 though.

</comment><comment><USER29> Slow websites hate him!

<comment><USER30> Check out this one weird trick to making your websites 20% faster!

<comment><USER21> Line 17 will make you furious.

</comment></comment></comment><comment><USER31> What the author discovered is really shitty defaults for Angular. Most software is like that. Don't blame the developers using the software, blame the Angular developers for choosing shitty defaults. Instead of choosing production ready defaults, they chose development ready defaults, creating more work for everyone.

<comment><USER32> >>Don't blame the developers using the software, blame the Angular developers for choosing shitty defaults.

I like to blame developers who don't read the friggin documentation on the software they are using.

This particular suggestion is literally the very first one in the developer guide for running Angular in production: [https://docs.angularjs.org/guide/production](https://docs.angularjs.org/guide/production)

<comment><USER31> Oh please. There are thousands of Angular guides out there. Some people don't use the official documentation, especially when it's as shitty as Angular's is.

</comment></comment></comment><comment><USER33> I've played with this setting on a few projects and didn't notice any big difference so I'd like to see benchmarks for it. I reasoned that if it's not significantly slowing the code down and could be used for easier debugging later I didn't see the harm leaving it in.

</comment><comment><USER34> Less link-baity title - "Using development options in production is bad for performance."

</comment><comment><USER35> Yeah this seems more like something that Angular should be doing, rather than the end user. If you're in a production environment Angular should enable this for you.

</comment><comment><USER36> Great trick. Incredible that it's not on by default.

 _if_ you've applied that trick and still find yourself wondering what's taking up time, we just released a performance monitoring tool. We're looking for feedback, so please let me know how you find it: [https://opbeat.com/angularjs](https://opbeat.com/angularjs)

</comment><comment><USER37> I think another question to ask is why calling angular.element().scope() is considered use of "debug info"

</comment><comment><USER38> Forgive my ignorance, but doesn't the Angular framework

* have this off by default and you have to turn it ON in prod? * have it cause a Console.Log("DEBUG IS ON Y'ALL");

Either way, I mean, there's ways to give folks the heads up, right? It seems odd to have to ADD this in Prod.

</comment><comment><USER39> Protractor also works with debugInfo turned on from v 3.1.0

[https://github.com/angular/protractor/blob/master/CHANGELOG....](https://github.com/angular/protractor/blob/master/CHANGELOG.md)

</comment><comment><USER40> If you're using Ionic 1.x, the debugging info is forced to enabled, since some of Ionic's internals depend on this for some reason. Haven't tested with 2.x to see if they've improved this yet.

</comment><comment><USER41> Nobody will write that one line until somebody says that it's time to make performance a priority.

</comment><comment><USER42> This might have went unnoticed to most if the web was binary blobs...

</comment><comment><USER43> tried this but it broke the angular-datatables directive

</comment><comment><USER43> tried this but broke the angular datatables directive...

</comment><comment><USER44> Improve Angular performance with 1 line of code: rm -rf /

</comment><comment><USER45> TL;DR

</comment><comment><USER46> this. is. awesome. (and sad that i didnt know this already)

</comment><comment><USER47> Whatever. I'm using Clojurescript. I'm happy. When I used angular - I wasn't.

</comment><comment><USER48> Flagged for being written as SEO spam, which is unfortunate because the content is actually useful.</comment>


Wi-fi on rays of light–100 times faster, and never overloaded - <AUTHOR> http://exactlyscience.com/archives/11430.html <comment><USER2> Blogpsam of

[https://www.tue.nl/en/university/news-and- press/news/17-03-2...](https://www.tue.nl/en/university/news-and- press/news/17-03-2017-wi-fi-on-rays-of-light-100-times-faster-and-never- overloaded/)</comment>


You don't have to take every handout or jump through every loophole - <AUTHOR> https://m.signalvnoise.com/you-dont-have-to-take-every-handout-or-jump-through-every-loophole-2ded900d3e41 <comment><USER2> As a privately held company, Basecamp does not seem to have to worry about shareholder lawsuits. Public ones do.

<comment> jon-wood Is this really so much of a thing as people make it out to be? I can't honestly see a lawsuit from shareholders going very far if its against a statement like Basecamp's of "we didn't apply for these grants/tax rebates because we felt it would be exploiting the system to our personal benefit".

<comment><USER2> It actually pains me to say this - but yes.

</comment></comment></comment><comment><USER3> Has governmental tax laws changed in response to corporation taking advantage of loopholes? If that is the case, then is it actually to ones disadvantage to not use loopholes, which has become the new norm?</comment>


Forbes names Microsoft's Steve Ballmer worst CEO - <AUTHOR> http://www.extremetech.com/computing/129479-forbes-names-microsofts-steve-ballmer-worst-ceo-in-america-for-all-the-wrong-reasons <comment><USER2> What makes this article from May 2012 particularly relevant today? Also, the title of this HN post conveniently drops an important part of the articles actual title ("for all the wrong reasons").

</comment><comment><USER3> What about Trey, the chairman who appointed this bad CEO?

</comment><comment><USER4> Scott Gu for CEO...

</comment><comment><USER5> Prior to Build I would agree with Forbes. But after atending Build, I think Ballmer may have Microsoft on the right track - [http://blogs.windward.net/davidt/2013/06/30/this-is-not- your...](http://blogs.windward.net/davidt/2013/06/30/this-is-not-your-fathers- microsoft/)</comment>


Irish Teen Wins 2019 Google Science Fair for Removing Microplastics from Water - <AUTHOR> https://www.forbes.com/sites/trevornace/2019/07/30/irish-teen-wins-2019-google-science-fair-for-removing-microplastics-from-water/#3b1161db373f <comment><USER2> His project report is a tour de force: an entire homemade spectroscopy apparatus, software-based analysis, statistics, industry outreach. Outstanding work.

[https://drive.google.com/file/d/1-DbF1oV- NG86RZ9bRTNXVDLH7_Q...](https://drive.google.com/file/d/1-DbF1oV- NG86RZ9bRTNXVDLH7_QZcKFf/view)

</comment><comment><USER3> "At 18 Ferreira has an impressive array of accomplishments. He is the curator at the Schull Planetarium, speaks 3 languages fluently, won 12 previous science fair competitions, plays the trumpet in an orchestra and has a minor planet named after him by MIT."

Good lord

</comment><comment><USER4> really cool and simple method. hope it helps to turn this world into slightly better place.</comment>


Delisted Overnight: A Cautionary Tale for Indie iOS Developers - <AUTHOR> https://russ.app/2019/05/delisted-overnight <comment><USER2> Wow. I literally use this App every single day. I think it was $5 and I have gotten enormous value from it for 3+ years.

Sad that what is probably a random glitch on Apple's part can just kill a person's livelihood overnight.

I used to be a full time iOS contractor but have moved away from it in the last couple of years. Dealing with this kind of junk is one of the main reasons why. I have lots of similarly frustrating stories from my clients.

<comment><USER3> where have you moved to?

<comment><USER2> Some general backend and web work, and some blockchain stuff as well.

The latter is the opposite set of tradeoffs. Completely permissionless, but lots of riff-raff and scammy nonsense going on.

<comment><USER4> Sorry to take the topic a little off rails, but - I meet so many contractors who do "blockchain stuff", and I've never asked until now - what kind of blockchain stuff are people paying you to do?

</comment></comment></comment></comment><comment><USER5> Edit: I do not expect it can help resolve the issue much, but I went and left the app a rating as I have used it and find it quite good. I realized I had neglected to do so until now

————-

I do not understand the people agreeing with Apple that search results are not guaranteed. App Store search does not nearly exist to serve developers; it exists to help users. This app was number one for years and has good reviews. I've used it myself and like it.

And then it vanishes. Something went wrong in Apple systems: either they been making a mistake for years, or a glitch has occurred. This developers support ticket is basically a bug report and Apple is ignoring it. It is pedantically correct to point out that search rankings can end at any moment. But this is far from a good result and I am baffled that some people are siding with Apple here to justify what is clearly a bug.

To the developer: before pulling the plug I strongly suggest trying a subscription model. I would probably pay a few dollars a year just to keep the app, heavy users would be even more willing to pay. I don't know if your numbers make that sustainable but there may be a way to do so.

<comment><USER6> > To the developer: before pulling the plug I strongly suggest trying a > subscription model.

You're suggesting that the developer begin asking for a subscription for an app they already bought with the understanding that it was a one-time fee?

This does not sound to me like a recipe for happy customers, regardless of whether or not it's reasonable.

(You _might_ have more success releasing a "Happy Scale 2" and pushing all future updates there. This has the significant advantage of not making users feel _forced_ to buy something new.)

<comment><USER5> They said they were going to shut it down if search didn't change.

I think customers would prob prefer that to losing it, so they should at least try rather than simply throwing it away.

Happy scale 2 could work. Or maybe some new feature, not sure how best to work it. They'd be the one to know what their audience might support, but I think they should at least try.

Though hopefully search gets fixed and it won't be necessary.

</comment></comment></comment><comment><USER7> This is a good argument for having multiple app stores. I don't totally blame Apple's devs here: it's completely imaginable that small, innocent changes in what's no doubt an enormous codebase could have totally unpredictable effects on individual search rankings.

The problem is that there's only a single point of articulation. If half a dozen app stores all got search results "mostly right", then little variations like this wouldn't sink a business. This is far from the only example of the single-platform effect. Facebook gets (or is forced) to be the arbiter of free speech. YouTube gets (or is forced) to be the arbiter of copyright claims. In the world of PC games, for contrast, Steam's algorithms can't _totally_ sink a game because they don't have a _total_ monopoly. There's itch.io, GOG, and now Epic. You can go to other platforms (or all of them!).

I love Apple's app store. I love how hard they fight to protect their customers from exploitative and dangerous software. I feel safe downloading apps there in a way that I didn't on Google Play. But monopolies are bad, even in the rare cases where they don't degrade the quality of the product.

<comment><USER2> Yeah, I agree. I hope the legal system forces Apple to allow opt-in third party app stores. Would go a long way towards alleviating these kinds of situations.

<comment><USER8> Why should the legal system force Apple to do this? I get that it would prevent this type of scenario, but why should the the law care about this scenario at all?

<comment><USER9> Why should MS be forced to promote alternatives to IE?

<comment><USER8> MS had a monopoly on x86 operating systems, Apple does not have a monopoly on ARM operating systems.

<comment><USER10> How is this anything but a category error? Just as there are phones other than Apple's, there were computers other than Wintel boxes.

I see nothing wrong with society demanding more accountability from those with more economic importance.

<comment><USER8> > _Just as there are phones other than Apple 's, there were computers other > than Wintel boxes_

Well the specific numbers matter, don't they? Microsoft had a massive overwhelming monopoly whereas iOS has healthy competition in Android.

> _I see nothing wrong with society demanding more accountability from those > with more economic importance._

I don't disagree, but why should we specifically target Apple's app store rather than say, for example, passing a law that prohibits selling locked down hardware that prevents the user from installing whatever software they choose?

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> If you're reading this, I'm so sorry this happened to you, Russ.

The problem is worse than being de-ranked for your keywords. The search is downright broken. Searching for 'predictive weight loss tracker', 'predictive weight tracker', anything with 'tracker' yields no results on my phone. Removing 'tracker' and only searching for 'Predictive Weight' or 'Predictive Weight Loss' gives me only one result: Happy Scale.

It almost seems like they're filtering your app on the 'tracker' keyword. That's not fair!

<comment><AUTHOR> Thanks for your support! Yes, it specifically seems like anything with the word "tracker" in it got axed. Maybe it's just a glitch?

<comment><USER12> I just bought your app – looks fantastic! I'm sorry this is how I discovered your app, and hope the issue gets resolved.

<comment><AUTHOR> Thank you!

</comment></comment></comment></comment><comment><USER13> Take it from someone who's worked with client apps making ten times as many downloads at similar price points: if you want to be successful in the app business you need to look beyond optimizing App Store search terms. You need to be marketing and promoting your application across multiple channels to a wider audience. It does not sound like this developer was doing that, so while it is sad he has had revenue slashed in half overnight he could have avoided this kind of big hit if he was reinvesting some portion of revenue back into promoting his application.

<comment><USER2> This is just another way of saying "Apple doesn't give a f*ck about indie developers." Might be true, but it's still shitty.

<comment><USER13> Apple is not a marketing service.

<comment><USER14> Other than Facebook and Google, what are the preferred marketing services for iOS indie developers in 2019? Is it mostly domain/niche specific, or are there horizontal promotion services for apps?

If Apple's 30% fee charged to developers does not include any marketing services, what additional percentage should be budgeted for the companies that _are_ promoting apps? 10%? 20%?

</comment></comment></comment></comment><comment><USER15> This is why I think every app should be sold in a subscription model. The current users of this app are very happy with it, and yet they will suffer when the developer can't make enough new sales. It's like a Ponzi scheme: everything falls down if you can't enroll enough new users. That's not sustainable.

<comment><USER16> For apps you install on your own machine, I think the JetBrains perpetual license model is probably my favourite so far. After a certain period you can stop paying the subscription and keep using the old version. But if you want to keep up to date with features and bug fixes, you keep paying the subscription.

It just seems to align incentives on both sides quite well.

<comment><USER17> I really like their model as well. I think the really novel part of it is that, when you decide to stop paying the subscription, you keep the perpetual license for whatever was current _a year ago_. So if you just updated to the latest and greatest, and you love it, then you need to pay one more year subscription in order to "buy" it out right.

I think that's clever

<comment><USER6> Personally, if I thought I might have to downgrade a piece of software a year from now, I just wouldn't update in the first place, to avoid the pain of downgrading.

Even understanding that the goal is to incentivize continued payment, making users downgrade at the end feels excessively punitive IMO. Just let them keep the last version.

</comment></comment></comment></comment><comment><USER18> As an Apple employee (not in any role related to the app store), and satisfied user of Happy Scale, I'm sorry to hear about the ranking loss.

On the other hand, it's in the nature of machine learning systems such as search that sometimes, a simple update of the underlying model can lead to drastic changes in search results (say, for argument's sake, that there has been a recent influx of apps using the word "tracker", which could lead to the word being considered essentially noise).

This can happen without any "bug" in the underlying system, even less a sinister agenda to undermine any developer or help another one. So while these possibilities can and should be investigated, ultimately search results will sometimes change.

<comment><AUTHOR> Great point.

Though I do wonder why many of the other apps that came up as a search result for "weight loss tracker" continue to do so, and mine was singled out. It's an important search term, because predictive text will suggest "weight loss tracker" when you start typing "weight." If tracker were being penalized as noise, then adjusting the predictive text would be a great way to handle the transition.

</comment></comment><comment><USER19> This is one of the primary ways that the culture's general knowledge is lagging behind technology. Our culture still thinks in terms of "notoriety," as was known in Julius Caesar's day. Andy Warhol was a bit more advanced. ("Everyone will have their 15 minutes of fame.") In 2019, the mental model should change to encompass _algorithmic and viral discovery._

In 2019, it's not just reputation which matters. It's not just the ability to merely publish which matters. It's the ability to leverage algorithmic and viral discovery which truly matters. In 2019, the people who control algorithmic and viral discovery are the ones who hold the reins of cultural and commercial power behind the scenes.

In 2019, having the ability to publish, but not having a solid strategy over discovery, is like in 1960, concentrating on the newspapers and neglecting television. In 2019, ceding control over algorithmic and viral discovery to a few megacorporations is handing over the keys to the most potent commercial and cultural power.

<comment><USER2> Interesting thoughts. Not sure what the developer could have done differently, here? The App is published on Apple's Platform, and it's impossible for him to distribute outside the store. He has been working on it for years, been a good citizen of the App Store, and created something people seem to genuinely love and value.

Honestly, this is one of the reasons I hope the legal system does eventually require Apple to enable opt-in, third party app stores. We need to have SOME release valve from being at the mercy of Apple's whims.

<comment><USER19> _Interesting thoughts. Not sure what the developer could have done differently, here?_

He couldn't have done anything different. That's my point! If we cede the power of algorithmic and viral discovery to large corporations, we're ceding the powerhouse of 21st century culture to them.

</comment></comment></comment><comment><USER20> Changing the tagline to "Predictive Weight Tracker" might have an interesting (positive) effect, for a variety of reasons. It seems likely Apple has downrated the phrase "weight loss" altogether.

It's odd that the app marketing doesn't explain how it's useful once you reach a target, and doesn't offer any hint that it can be used to set weight gain targets for people who are looking to reach a new weight class. If I reach my weight loss target, does the app become useless?

<comment><USER2> >It seems likely Apple has downrated the phrase "weight loss" altogether.

What makes you say that?

<comment><USER20> Apple takes a more long-term view of health self-care than "weight loss" alone can encompass, and so it wouldn't surprise me if a phrase that is highly prone to fraud and snake oil _outside_ the App Store was eventually punished.

"Reach and maintain your target weight" with at least one screenshot showing an increase phase and a maintenance phase rather than decrease would be vastly more inclusive and health-forward than today's "weight loss only" content.

Is this app useful for recovering anorexics, or for maintaining a target weight after reaching it? I imagine it is, but I couldn't tell from its App Store page.

<comment><USER21> > Apple takes a more long-term view of health self-care than "weight loss" > alone can encompass,

I suspect this is an unintentionally humorous phrasing. How many brands do we interact with without asking their owners for their "view of health self- care"? Fitness tracker features notwithstanding, I would most certainly not expect it from a phone vendor. I would expect them to let their customers decide how they will or won't care for themselves.

Now, your point that the term might have a lot of snake oil products using it... That is somewhat plausible.

<comment><USER20> Nope, not sarcastic. Apple specifically notes that they designed their Watch product to have value to people _after_ they reach their goals, not just _during_ the trek towards the goal. I consider their statements to indicate that they apply the same considerations to "weight targets" – gain/loss, followed by maintenance – as they would to any other health target, such as those they measure with Activity rings today.

[https://www.theverge.com/2018/1/24/16926350/apple-watch- seri...](https://www.theverge.com/2018/1/24/16926350/apple-watch- series-2-fitness-tracker-healthy-notification-behavior)

"The idea that small behavior changes can actually add up to something great is a real core philosophy of the activity app," says Blahnik [director of fitness and health at Apple]. "Partially because what we find is that's going to correct everybody. If you're a beginner, and you're not very fit, small changes are what you need to do. But it turns out that if you're really fit, small changes are all you have left. So, it ends up being something that actually works for everybody."

<comment><USER21> I did not mean you're being sarcastic. I mean you bought into the Apple PR a bit heavily and it's humorous.

I mean this in the most respectful way possible.

<comment><USER20> SEO is all about reading the tea leaves. I'm expressing my personal belief and, as part of reading the SEO tea leaves, noting that there's indirect evidence that Apple _agrees_ with my personal belief. While I appreciate your effort to somehow avoid disrespecting me while trivializing my beliefs, you have not succeeded. We'll need to agree to disagree as I don't think I can continue this discussion, sorry.

<comment><USER21> OK. I hope you learn to take it all a little less seriously in the future. Good luck.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> I think he already has his answer- Apple doesn't guarantee search placement- though it is odd that he'd fall all the way off altogether.

If you're relying on Apple (or Google) to feature you in their search results, you're already at their whim with no recourse.

<comment><USER2> That's a BS answer, and if it's the one Apple wants to give, then they should not be surprised when they 1) are seen by devs as a unattractive platform to build a business on 2) Get treated like a monopolist in courts.

<comment><USER23> I'm not sure I understand this reasoning.

Why should Apple or Google be responsible for promoting your app? If I walk into a supermarket and I don't see the item I wanted on their front feature displays (meaning I need to walk down the isle to find it), does that mean the supermarket is monopolistic? Does that mean the item vendor should stop selling their product in that supermarket?

<comment><USER24> I like this analogy, but there are some pretty big differences between a supermarket and the app store.

The "aisle" on the app store goes on for miles. Sure the product may be there, but if it's a 5-10 minute walk down the aisle to get to it, I don't think may people would look that far. The item is technically there, but it's not exactly accessible.

In this example there's also only one supermarket, the Apple app store. With grocery stores your product may not be in an advantageous place at Store A, but it could be right at eye level in Store B, C, or D. With the Apple store, if you're not featured there, you're not featured anywhere.

I agree the developer should not be surprised by this. I don't think Apple is acting badly. These are just consequences of having many apps and only one app store.

<comment><USER23> > In this example there's also only one supermarket, the Apple app store.

My argument was simply about who is responsible for promoting the app. But your point is correct.

My response to this: Would having multiple app stores available on iOS really solve the issue that OP is experiencing?

If iOS suddenly allowed a user to download apps from multiple different stores, would the number of app downloads for OP increase? How will I know which app store to find OP's app in? From a pure promotional aspect, I would have to know to look for OP's app, which does not sound like it would help OP in this case.

<comment><USER25> I think both the multiple app store and 'apple isn't responsible for promoting your app' are both red herrings. The issue is that the search function in the app store lies to end users. To use the example in the article, if I go to the app store and search for "weigh loss tracker" I get 5 result, none of which is Happy Scale. The default sort is 'relevance', whatever that means, but i can change that to Most Popular. Still no Happy Scale. If I search for "Happy Scale" i get no result. From my perspective as an end user of the App Store, I'm being lied to. The search is not returning honest results that correspond to what I search for. This is not what the end user expects of search, they expect true organic results based on what they searched for, or at worst, a complete list with the apps Apple wants to promote at the top. In this case they are getting a curated subset of those results and not being told this is the case. Also, consider that the app store is unusable without search. There are million of apps, so is no way to browse it to find what you're looking for. If search doesn't return it, it might as well not exist in the app store.

Unless this is thoroughly explained somewhere in the dev documentation, then developers are being lied to also.

People threw a fit when Google changed the search result UI so that it became impossible to tell paid results from organic results. This is similar but worse. Google just put the paid results above the organic ones. Apple completely removes the organic results at their whim.

The author should have been promoting the app thru multiple channels and not relying on the app store search exclusively, this was an obvious mistake. This doesn't justify what Apple did though. It's their app store, and they can do what they want, but this, although legal, is pretty sleazy IMO.

<comment><USER26> Is this bad faith or unbelievable incompetence on Apple's part?

It's tempting to assume the former, but I seriously suspect the latter.

As a user I've seen this happen repeatedly. Search can't find an app even if I enter the name.

This happens for mundane but specialised apps - train timetables, toll payment apps, and other apps for which there is literally no alternative, never mind one that might somehow sell better and make more money.

I don't see how this possibly benefits Apple. Possibly there's some not very effective "optimisation" happening, but it's also possible search is just plain broken.

<comment><USER24> I'd argue this is a consequence of a lack of competition. Since there's no where else for you to go, what incentive do they have to fix search? Devs may complain a bit, but Apple still controls enough of the phone market that people are going to continue to make apps out of necessity and Apple will still get paid. As long as people can still find the "big" apps (uber, netflix, tinder, spotify, etc.), there won't be a meaningful outcry from users. It's not like someone is going to switch OS's over this.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> Possible explanation why it happened: [https://twitter.com/ilyakuh/status/1134008287068921856](https://twitter.com/ilyakuh/status/1134008287068921856)

</comment><comment><USER28> Why should he hold Monopoly on search placement for the phrase "weight tracker"? The other side of this story is that another developer is now happy to be able to feed their family.

<comment><USER29> He shouldn't get a monopoly, but going from 1 to not in the top 400 overnight is suspicious. Not that Apple ever promised that wouldn't happen. But it is probably worth complaining about publicly in case that helps shake something loose.

<comment><USER30> If an Apple employee connected to a competing app was able to remove the search result then that is suspicious.

This doesn't sound particularly different than people who thought they were entitled to whatever search result position on Google due to their SEO effort and built their entire business around non-retaining users. I recall stories of companies getting sales to their e-commerce site, for free, from Google listings, and taking on long term liabilities and leases for warehouses or fulfillment locations only to end up bankrupt.

Who knows what is really going on here, but you certainly aren't entitled to any search result listing save for your actual app or company name, presuming it isn't generic.

<comment> munk-a The thing, though, is that Apple has chosen to fully control the market place and search engine. They are fully culpable for any disruptions because they refuse to let their system be audited externally.

There's an argument to be made that if the market is free or allows competing indexes then Apple is _less_ on the hook, but Apple has a stranglehold on how the AppStore works, they've made their bed in this case.

</comment></comment></comment></comment><comment><USER31> I don't know if this is the issue Russ is having or not, but I thought I would post here (I've also emailed Russ). I experienced similar drop-off this week with an app of mine which has been in the App Store for several years. I wouldn't have noticed except I checked after reading Russ's post.

My app has space-separated keywords in the Appstore Connect portal. They've always been space-separated and I can't remember the last time I updated them. But the App Store guidance says to comma-separate keywords. Indeed, the newer apps I work on for my day job have comma-separated keywords. Could Apple have changed how keywords are parsed, and broken older keyword sets that used to be valid but now are not?

I'll be updating my app tonight and the keywords along with it; time will tell if this is the culprit.

</comment><comment><USER32> Anybody have experience with buying app store ads? I wonder if they could provide a crucial bump in a situation like this where presumably the reviews are good but you drop because of things beyond your control.

</comment><comment><USER33> The developer learned the hard lesson of relying on a walled garden for livelihood. A livelihood that can be taken away without reason or recourse. Looks like they were all in on Apple, too.

</comment><comment><USER34> Is the functionality of your app already included in the Health app? If not, take a guess what feature will be soon included in the Health app. Apple have a history of killing competitors in the App Store, most recently with screen time apps:

[https://edition.cnn.com/2019/04/27/tech/apple-screen-time- ap...](https://edition.cnn.com/2019/04/27/tech/apple-screen-time-app-store- banned-report/index.html)

</comment><comment><USER35> Man, if only there were an alternate app store or another way for people to get his app on their phone...

</comment><comment><USER36> Just installed the app. I wish I found this one earlier.

<comment><AUTHOR> I hope you enjoy it!

</comment></comment><comment><USER37> Silver lining: HN readers now know about your app.

</comment><comment><USER38> This is truly unfortunate and I hope Apple resolves this. Happy Scale is a fantastic product and it would be a shame to see the developer have to give this up full time.

</comment><comment><USER39> One of the things I did with Octal [1] a while back was experiment with different title/subtitle combinations, noting where my app landed in the search results for 'hacker news' for each variation. Then I picked the one that ranked the highest.

Example variations were:

Octal

Hacker News Client

-

Octal for Hacker News

Tech, programming, and startup news

-

Octal - Hacker News

Social tech news from Hacker News

[1] [https://itunes.apple.com/us/app/id1308885491?mt=8](https://itunes.apple.com/us/app/id1308885491?mt=8)

</comment><comment><USER40> Seems like Apple changed the search/discovery algo and he got hit with it.

Don't think anything particularly devious has happened, but seems like the App Store search team really hit some folks who were trying to organically build a good app/biz over time. For what it's worth there's some pretty good feedback here for AppStore search + customers who voted up the app individually, so hope that helps.

</comment><comment><USER41> Happy scale created a way for me to track what i was doing every morning already - jumping on the scale while looking at the mirror....

<comment><AUTHOR> Thanks for sharing that! Really nice to hear from a satisfied user amidst all of this.

</comment></comment><comment><USER42> I hope that Apple will soon give an explanation. I suspect your app is not the only one to take a hit.

<comment><USER43> Probably not, but it doesn't seem like OP has seen chatter online about it. If it truly was a bug, a lot more people would be pissed

</comment></comment><comment><USER44> Had hoped there was a happy ending, hope for the dev and his family that there will be one.

<comment><AUTHOR> Thank you! I will surely post an update if anything changes. I'm sure that no matter how this turns out, my family and I will all be fine.

<comment><USER44> Good to hear!

</comment></comment></comment><comment><USER43> That's terrible and really puts indie developers at risk. One small change on Apple's side and your business might not survive. Hope Apple fixes it quickly!

<comment><USER19> What's clearly broken here is the sudden changeover. If things were working correctly, placement would change gradually, based on a shift in the marketplace. From the information in the post, it looks like Apple just decided, "Okay, your turn is over! Next!"

</comment></comment><comment><USER45> wow.

</comment><comment><USER46> Reddit did the same. I was a paid user of Alien Blue (no ads), then Reddit acquired it, killed it and now we have the new Reddit ad-rich app.

<comment><USER47> yeah, check out narwhal. its pretty good. not great, but better than reddit- facebook

<comment><USER48> As another option, Apollo[0] is fantastic, and also independently produced.

0: [https://apolloapp.io](https://apolloapp.io)</comment></comment></comment>


Ask HN: Apple vs Java, Flash and optical drives? - <AUTHOR>

What's going on with Apple today? Seems like they're ditching (in some ways) Java[1], Flash[2] and optical drives[3]. Is it all part of a greater master plan or just a mere coincidence. I'd like to hear your thoughts.<p>[1] http://developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/NewandNoteworthy/NewandNoteworthy.html#//apple_ref/doc/uid/TP40010380-CH4-SW1<p>[2] http://www.engadget.com/2010/10/20/macbook-air-all-substance-no-flash/<p>[3] http://benmetcalfe.com/blog/2010/10/today-apple-announced-the-death-of-the-optical-drive-in-its-laptops/ <comment><USER2> Optical drives have outlived their usefulness, IMO. You can get more data, in a smaller space, on a USB drive. Granted, the price of an optical disk vs. a USB disk is not at parity yet, but I also remember switching from 3.5" floppies to CD's, even when a CD cost 5x a floppy.

Optical drives have also always been kind of a bitch to write files to (the process was always cumbersome and long for the amount of data you were writing), so they never really seemed to catch on as a file exchange medium. Plus, there are compatibility issues that crop up every so often.

Bottom line, I'm surprised it took this long for CD's to start getting replaced by USB drives.

Flash on OSX has sucked for a very long time. Not sure where the blame lies, but it seems to me that Adobe hasn't put a lot of effort into Just Fixing It. Now, we start to see alternative (and, IMO, better) video delivery methods on the intarwebs. Everybody browses the web a little differently, but I think that for the prototypical cutting-edge Apple user, Flash brings minimal value to the average web experience.

Java, I have little opinion on. I thought though that Apples changes to Java just related to the custom JVM Apple has used, and not an overall killing off of Java on OSX.

</comment><comment><USER3> Those technologies could be seen as hurting Apple's ability deliver paid content via iTunes (streaming video with Flash, physical CDs instead of digital downloads). With that view, it makes business sense to try and herd customers toward paying for all their media content at one central location.

<comment><AUTHOR> Basically:

iTunes vs Optical drives

iOS vs Java

Safari vs Flash

<comment><USER3> Hadn't thought about the iOS vs Java possibility, but it makes sense, in a way.

</comment></comment></comment><comment><USER4> Optical drives are the modern floppy drive; too small to remain relevant. The iMac was the first PC to dump the floppy. USB flash drives and a good Internet connection are the future.

Flash and Java are really third-party products. It looks like Apple's handing the responsibility for them back to Adobe and Oracle.

Flash on OS X has been a slow, buggy disappointment. If Adobe is serious about Flash on OS X, it needs to do more.

Similarly, the Mac has a big enough market share that Oracle can do the work to port its Java to the Mac. Apple shouldn't have to shoulder that burden anymore.

Apple's plan would appear to be "move forward, don't get stuck in the past".</comment>


The Concert Speakers Are A Lie - <AUTHOR> http://gizmodo.com/5644585/the-concert-speakers-are-a-lie

<comment><USER2> A possible explanation could be that the technology has gotten so much better they don't need as many stacks to create loud sound. Maybe they feel like they needs all these fake stacks to make people think a concert is loud.

<comment><AUTHOR> Definitely, they probably needed a lot more speakers to get the same level of sound but didn't want the stage to look empty and it also probably gives a placebo effect (ie. more speakers=louder). I just thought this was interesting because I hadn't ever heard about it before this article.</comment></comment>


Samsung I'm tired of waiting... - <AUTHOR> http://brianchristner.io/im-tired-waiting-samsung/

<comment><USER2> _Once my contract is up I am moving back to a manufacture like Apple or a Google Nexus device that can continue supporting their device and doesn't leave me out in the dark._

One thing to remember is that Samsung makes money by selling you new devices, preferably every year or two. Therefore, instead of working on updates to software for existing phones, they focus on designing the latest and greatest new phones.

Apple and Google make money from ongoing use of devices (ads, app sales, etc.), so it is in their best interest to keep the platform fresh so you don't switch to a different OS where they won't make money from you. It's a lot easier for them to keep a handful of devices up-to-date than it is for Samsung to keep 100 updated.

<comment><AUTHOR> I totally agree and see your point. It is personal preference in the end. But I would really appreciate some manufacture support.</comment></comment>


Literate programming with PHP - <AUTHOR> https://github.com/bergie/noweb.php

<comment><AUTHOR> The Qaiku thread contains some more examples: <http://www.qaiku.com/go/ai7f/></comment>