The article explains what ANDF is, but it doesn't say what was wrong with it. What was wrong with ANDF?
That is a very good question. The quest for an UNCOL (http://en.wikipedia.org/wiki/UNCOL) goes back to the mid 1950s.
A terse, but readable history/background upto and including early ANDF (http://homepage.ntlworld.com/michael.harley/uncol.html) This paper seems to argue that a change in relative costs betwixt machines and programmers changed the landscape to where the complexity was not worth doing a true UNCOL.
Things changed from complexity to business politics, much like we see now with cell carriers (and lockin), customers wanted to be able to move work from one vendor to another, and up sprang another organization to guide that - the OSF (http://en.wikipedia.org/wiki/Open_Software_Foundation)
A changing playing field (enter MS and Apple) and business politics seemed to doom OSF and most of its work - as it turned to 'every man for himself' until Linux came into being and pretty much changed everything... How many vendors still have their own Unix ?
I've been playing in this industry since the mid 1970s, professionally since the early 1980s - most all with a bent towards compilers and operating systems.
My reading of the tea leaves entails a re-birth of the UNCOL idea - and again, due to changing relative man/machine costs, and the prevalence of the IoT.
I believe we actually wind up with the ANDF variant of UNCOL
* You compile language du-jour (with whatever optimization, say to SSA, you can do at a high level), and generate a distribution package (apk, deb, rpm) that includes the UNCOL instead of binaries.
* At install time, the UNCOL is compiled to native (for some definition of native) code... This too, should be optimized
This is where Android is already moving - ART vs Davlik. On smaller devices, you don't want the interpretation overhead unless you have a scheme to handle JiT and building up a native application as the various codepaths are exercised.
Today, we have fewer architectures to contend with (x64, arm, ppc), a better battering ram (open source/crowd source & funding) - ie, driving from the correct side.
This still requires effort by the hardware business to create the UNCOL->Native binary