News for hackers. Stuff that matters.
Re:Fuchsia OS Introduction by Svoka on Tuesday March 26, 2019 @03:50AM (#19489926)
I agree with you, but I do not believe in Google. Google provided worst commercial platform I ever had experience developing for. I had a lot of different platforms in my past - pretty much all consoles, desktop and fringe, like smart TVs or various smartphones released since 99'.

Only Google changes rules of the game on developer. They do not realize that they are make •a platform•, not a product. Stable, comfortable platform that software runs on. I honestly don't give two cents about all their struggles to make "a better OS". OS is to launch apps, and making those apps is a miserable experience, where I have full time people just to keep up with Google 'improvements'. Somehow every other platform is fine. I hardly had to change code written 10 years ago for iOS, for consoles or Windows - not at all! But Google keeps making their own special PhD driven darlings.

Re:Fuchsia OS Introduction by blago on Tuesday March 26, 2019 @06:26AM (#19490527)
My experience with android has been very similar. For example, last week I ran into a bug that seems like a simple omission that was reported back in 2010 (https://issuetracker.google.com/issues/36918490). It took until Feb 12, 2019 to get an official response:

> We're planning to implement a new more powerful network request interception API in a future version, which will be available to L+ devices with a recent enough WebView via AndroidX. Being able to read POST bodies is one of the features we're intending to include. Unfortunately we can't share schedule information about when this may be available, but we are aware of this use case and intend to support it.

Instead of fixing bugs and making incremental improvements, they seem to have a strong propensity for grand rewrites.

I got tired of the constant parade of new Google APIs, libraries, and technologies years ago and have been choosing alternative products whenever possible.

Re:Fuchsia OS Introduction by vondur on Tuesday March 26, 2019 @11:37AM (#19492786)
This sounds suspiciously like CADT, as described by JWZ: https://www.jwz.org/doc/cadt.html
Re:Fuchsia OS Introduction by snvzz on Tuesday March 26, 2019 @12:18PM (#19493193)
Considering how that site handles links from HN, you might want to consider linking it through https://nullrefer.com or the like.

http://nullrefer.com/?https://www.jwz.org/doc/cadt.html

Re:Fuchsia OS Introduction by vondur on Tuesday March 26, 2019 @01:31PM (#19494061)
Oh yeah, I forgot about that. Thanks for the link!
Re:Fuchsia OS Introduction by blago on Tuesday March 26, 2019 @12:22PM (#19493227)
Haha, so this is what happened? I had a big WTF moment.
Re:Fuchsia OS Introduction by ktpsns on Tuesday March 26, 2019 @06:37PM (#19496615)
Apparently the author of jwz.org doesn't like HN. This is him, by the way:

https://web.archive.org/web/20170125134508/http://sleepmode....

Re:Fuchsia OS Introduction by vondur on Wednesday April 03, 2019 @05:45PM (#19567515)
I had no idea he (JWZ) hadn't gone to College. Very impressive.
Re:Fuchsia OS Introduction by xiphias2 on Tuesday March 26, 2019 @08:45AM (#19491235)
> But Google keeps making their own special PhD driven darlings.

I'm really sorry that you have this feeling, but this has nothing to do with PhDs. It's impossible to get promoted by bug fixes inside Google, and people are promotion driven.

There were many people who tried hard to fix a lot of bugs, but they usually burn out due to lack of recognition inside Google.

Re:Fuchsia OS Introduction by asark on Tuesday March 26, 2019 @10:25AM (#19492117)
It really, really shows. That and documentation. And some periphery work related to larger efforts, especially on any platform that's not the Web. It's the only explanation for how an organization like that can produce so much broken and half-assed software—bad incentives, and probably a serious middle management problem, in that they don't have leverage or motivation to make ICs do "boring" and follow-through work.

Maybe it's working for them from a bottom-line perspective, but it's made their brand as an engineering company clownish.

Re:Fuchsia OS Introduction by xiphias2 on Tuesday March 26, 2019 @10:37AM (#19492218)
The key question is the bottom-line, as you wrote. Management is really hard to scale, but right now innovation is a better prediction of growth than bug fixes, so I think it's not even clear how to improve the promotion process without hurting growth of the company.

I think Google is too big at this point already, but that's an orthogonal question.

Re:Fuchsia OS Introduction by asark on Tuesday March 26, 2019 @12:22PM (#19493221)
A non-"rockstar" hiring process and parallel job track (with potential for cross-over) so they can get in people who are happy to do "boring" work on an interesting product might do it. Probably can't be in the Valley or anywhere else ultra-high COL. I think part of the problem is they (seem to?) only staff folks who both can and are inclined to leave quickly if they don't get to do the fun stuff.

Again, though, may not make sense for them from a $$$ perspective. Jank and rough edges galore may be something they're willing to live with.

[EDIT]

How this works in my head:

Manager: Could you take a look at the Android developer documentation? Some of it's badly outdated and have you actually tried using it? A lot of the advice is... kinda bad. Also maybe look at a few of these UI components we had the Summer interns make, they've got bizarre implementations and are difficult and inconsistent to customize. Oh and god have you looked at our issue tracker? Has anyone, actually? Like, ever?

Developer: Hey so have you heard of this place called Amazon?

Manager: Uh I mean how about we start a fourth greenfield instant messaging product instead?

Developer: That's better. Amazon? Who's Amazon?

Re:Fuchsia OS Introduction by Joky on Tuesday March 26, 2019 @02:28PM (#19494655)
Actually there is little thinking about "Amazon" or other competitor: internal mobility is easy. So replace "Amazon" by "this other team is doing a cool new project", and you can get transferred in a matter of weeks, most of the time without going through a heavy interview process.

And all of this isn't only motivated by "not doing boring tasks", but also because this is what drives promotions / career advancement. So "launch a feature/project, get rewarded, and switch team" seems like a trend, and it does not encourage to think about long term maintenance / etc. (It isn't a generality either, but it is a bit of a trend)

Re:Fuchsia OS Introduction by Joky on Tuesday March 26, 2019 @02:23PM (#19494609)
Note that while it is quite know and admitted at Google, is there a company where it is different? People are complaining about Radar tickets not being fixed while new (half-baked) features keep shipping on iOS as well, and it is somehow for the same reason inside Apple.

Working on improving the quality of the software is not always easy to measure in terms of impact, and hard to get recognition for in the same as shipping a new feature.

Where Google differs, maybe, is that its promotion system is well codified and rewards the "difficulty" of the deliverable. This is skewing the balance to reward adding more complexity in the system for the sake of solving it (you create difficult problems artificially, they aren't intrinsic to the nature of the user needs you should solve).

Re:Fuchsia OS Introduction by pjmlp on Wednesday March 27, 2019 @03:43AM (#19498777)
Yes, the typical boring enterprise job.

There are teams whose only role is to work down those tickets, one after the other.

Re:Fuchsia OS Introduction by auiya on Tuesday March 26, 2019 @01:20PM (#19493920)
> It's impossible to get promoted by bug fixes inside Google

This is why people job-hop for meaningful career advancement. Much easier than dealing w/ the broken promotions processes these companies employ.

Re:Fuchsia OS Introduction by xiphias2 on Wednesday March 27, 2019 @08:06AM (#19500022)
The goal of job hopping is to get your salary match your market value (or even higher, as job hoppers are great at salary optimization), promotion processes have problems everywhere.
Re:Fuchsia OS Introduction by dralley on Tuesday March 26, 2019 @10:38AM (#19492226)
Exactly. An anecdote (not my own) https://mtlynch.io/why-i-quit-google/
Re:Fuchsia OS Introduction by vgoh1 on Tuesday March 26, 2019 @09:02AM (#19491359)
My thoughts exactly. I have two apps out on Google Play. They are full featured, stable, and people still like them. I just want them to to continue to work. But they don't. I need to constantly take away from my time developing new apps to fix my newly broken old apps. How many times, Google, are you going to try to "fix" the problem of apps draining battery in the background? It never seems to end.

On the flip side, my first programs that I wrote for myself in the 90's still run. Yeah, I know that DOS is emulated now, but MS made them still work, and I didn't even have to re-compile.

I have this conspiracy theory that Google is purposefully trying to make things difficult to get rid of developers that don't have a lot of resources.

Re:Fuchsia OS Introduction by iainmerrick on Tuesday March 26, 2019 @11:43AM (#19492845)
I have the same problem.

I think Hanlon’s Razor applies -- this isn’t intentional, it’s just unfortunate mistakes.

I think the main driving factors are:

- Many Android APIs were badly designed from the start;

- Android was not designed for easy OS updates, so many users have old OSes;

- Google like Apple’s approach of aggressively deprecating old APIs, and try to do the same. But unlike Apple, they still have to deal with old OS versions, and their fundamental OS design is not as sound. The end result is what we see, messy and buggy APIs.

Re:Fuchsia OS Introduction by georgeecollins on Tuesday March 26, 2019 @03:02PM (#19494975)
>> I have this conspiracy theory that Google is purposefully trying to make things difficult to get rid of developers that don't have a lot of resources.

I agree and Apple does this on iOS as well. It's a way of clearing out old apps.

Re:Fuchsia OS Introduction by ColinWielga on Tuesday March 26, 2019 @12:13PM (#19493151)
Same
Re:Fuchsia OS Introduction by izacus on Tuesday March 26, 2019 @05:28AM (#19490286)
> I agree with you, but I do not believe in Google. Google provided worst commercial platform I ever had experience developing for. I had a lot of different platforms in my past - pretty much all consoles, desktop and fringe, like smart TVs or various smartphones released since 99'.

I really find it hard to believe that Android is worse than proprietary, undocumented, Windows-only toolchains of Symbians, Tizens and bunch of other embedded crap, not to mention the horrors of what was PS3 toolchain at the begging.

I think you might be overdramatizing this a bit.

Re:Fuchsia OS Introduction by pjmlp on Tuesday March 26, 2019 @06:49AM (#19490633)
Please give me back Symbian C++ versus the experience of using the Android NDK.

And if you prefer a more modern example, Android is indeed worse to use than UWP or iOS.

When they release stable releases, they are actually betas, and updated documentation is scattered around Medium and G+ posts, alongside Google IO and DevBytes videos, why bother updating the official documentation.

After 10 years, the NDK still feels like a 20% job from a team that is forced to accept that Android should provide a bit more than just 100% Java.

Re:Fuchsia OS Introduction by Crinus on Tuesday March 26, 2019 @12:07PM (#19493090)
> Please give me back Symbian C++ versus the experience of using the Android NDK.

Please no, Symbian C++ was the worst development environment i had the displeasure to touch. I'd rather hand write every Java binding for every single API call manually in NDK than even consider looking at Symbian C++ again.

(relevant experience from Nokia's Series 60 around the time of 6600, i don't know if Symbian improved after that, i lost all will to bother with the platform, but considering you still had to implement exceptions via macros by hand because of technical decisions made two decades earlier, despite the platform not being backwards compatible and thus could fix said decisions, i do not expect that things improved)

Re:Fuchsia OS Introduction by pjmlp on Tuesday March 26, 2019 @12:26PM (#19493270)
It did improve at the end, the last iteraction with Carbide(2nd Eclipse attempt), Qt and PIPS was much better than using the NDK.
Re:Fuchsia OS Introduction by etatoby on Tuesday March 26, 2019 @10:05AM (#19491906)
And now they are shutting down G+, so all those posts and pieces of missing documentation will simply disappear! (Unless Archive.org ot somebody else saved a copy.)

Oh, the irony!

Re:Fuchsia OS Introduction by sterlind on Tuesday March 26, 2019 @05:55AM (#19490403)
I started my first Android app recently, and decided to go with their "Jetpack" stack recommendations. I wasted hours trying to get Dagger 2 injection working, only to discover I had to write tons of glue code which obviated the purpose of the DI framework in the first place! I don't want to worry about transitive dependencies over an object graph and writing ViewModelProviderFactories (actual name) and persisting my data with Room.... I just want widgets, logic and layout.

Next I tried GKE and it was an absolute joy. I had a simple web app serving traffic an hour in. Probably because unlike Android, they have to make people like GKE to sell it.

Re:Fuchsia OS Introduction by izacus on Tuesday March 26, 2019 @07:29AM (#19490749)
Why are you bringing in Dagger 2, a non-platform separate dependency injection library here? :)

Do you think a proprietary Windows C++ compiler for an embedded platform will make your DI uses easier? :)

Re:Fuchsia OS Introduction by sterlind on Wednesday March 27, 2019 @05:57AM (#19499380)
The Android Jetpack guidelines strongly recommend Dagger 2, and it's a Google product so I thought I should comply.
Re:Fuchsia OS Introduction by Jyaif on Tuesday March 26, 2019 @04:21AM (#19490044)
That's very surprising that you mention iOS as being stable. To me it's the worst offender. Most of the apps I worked on needed to be updated for every single iOS release because of deprecated APIs.
Re:Fuchsia OS Introduction by m45t3r on Tuesday March 26, 2019 @08:02AM (#19490916)
> That's very surprising that you mention iOS as being stable. To me it's the worst offender. Most of the apps I worked on needed to be updated for every single iOS release because of deprecated APIs.

As a user, I concur with this. I can install Android apps created in 2012 that still work in Android 9.

In iOS, I remember that each major update made half of my apps broken (in some cases, completely broken).

Re:Fuchsia OS Introduction by pjmlp on Tuesday March 26, 2019 @10:44AM (#19492303)
That will change with the new target requirements for Play Store.
Re:Fuchsia OS Introduction by wwright on Tuesday March 26, 2019 @06:41AM (#19490598)
People say this a lot, but I think their behavior makes more sense when you view the end user as the product. Who cares about API stability, the advertisers are getting exactly what they want.
Re:Fuchsia OS Introduction by hortense on Tuesday March 26, 2019 @04:18AM (#19490036)
It will increase stability in a very important way because they apparently want stability of drivers, which Linux does not offer.
Re:Fuchsia OS Introduction by yc12340 on Tuesday March 26, 2019 @06:17AM (#19490480)
> they apparently want stability of drivers

Strangely, the only Android drivers, that can be trivially ported between Android version, are those "unstable" bits in Linux kernel.

Take any postmarket smartphone firmware — if something does not work after porting to new Android version, you can bet, that it is a proprietary userspace blob. Who develops HAL for those blobs? — Google. Who controls it's API? — Google.

What "stability of drivers" are we talking about here? Certainly not the kind, helpful to users.

Re:Fuchsia OS Introduction by ebg13 on Tuesday March 26, 2019 @07:34PM (#19496913)
> Strangely, the only Android drivers, that can be trivially ported between Android version, are those "unstable" bits in Linux kernel.

That's only because the Linux kernel is actively hostile to the idea of maintaining a stable driver interface. Windows 7 drivers from 10 years ago still work in Windows 10.

Re:Fuchsia OS Introduction by imtringued on Tuesday March 26, 2019 @07:20AM (#19490724)
ARM and the SoC Vendors don't like open sourcing their drivers. They prefer to just dump binary blobs and stop support after 2 years. The users couldn't care less because they buy a new phone anyway. (except me)
Re:Fuchsia OS Introduction by phkahler on Tuesday March 26, 2019 @07:39AM (#19490788)
If the OS and APIs were stable, nobody would ever need to update a driver unless they wanted a bug fix.
Re:Fuchsia OS Introduction by ufo on Tuesday March 26, 2019 @09:24AM (#19491533)
Even Windows has a hard time keeping their OS APIs stable. Drivers written for Vista didn't necessarily work on Windows 7 and so on. This is one of the reasons why Linux highly encourages open sourcing the things so that the driver code can be updated when an API needs to change.
Re:Fuchsia OS Introduction by lbenes on Tuesday March 26, 2019 @11:02AM (#19492453)
> Drivers written for Vista didn't necessarily work on Windows 7

This is patently, provably FALSE[1]

MS goes out of their way to NOT to break APIs. My ancient ATI netbook can run Windows Vista graphics drivers on Win 10. MS only breaks driver API when massive kernel/underlying APIs demand it. ex. 98->NT, XP->Visa.

Now contrast that with Linux. Linux kernel devs are openly hostile to binary blob drivers so they make no attempt to preserve ABI stability. I've see this happen multiple times with ATI binary drivers in GNU/Linux and when I was running cyanogenmod on my phone.

[1] https://www.techadvisor.co.uk/how-to/windows/how-get-drivers...

Re:Fuchsia OS Introduction by nicoburns on Tuesday March 26, 2019 @10:51AM (#19492364)
My understanding is that this is something that a microkernel design ought to be able to improve upon...
Re:Fuchsia OS Introduction by mkss on Wednesday March 27, 2019 @06:14PM (#19506687)
Forget about believing in Google, try at least for consistency within a single paragraph, as in: > They do not realise that they are make •a platform•, not a product and then: > OS is to launch apps

And I still can't stop laughing after reading: > Somehow every other platform is fine

To paraphrase JWZ's CADT article linked below "writing thoughtful critique" is not fun, "making useful suggestions to improve something" is not fun but "writing a snarky, resentful rant on HN" is fun.

ps. most developers on Android are not game developers, maybe time to think about seeing the world from other peoples point of view?

Re:Fuchsia OS Introduction by derefr on Wednesday March 27, 2019 @11:31AM (#19501903)
Android wasn't created by Google. They acquired it, and then had to deal with the legacy cruft that was already a part of it by then. The "platform-level" changes they've made since the acquisition—e.g. replacing Dalvik with ART—have mostly been sound engineering choices.

> They do not realize that they are make •a platform•, not a product.

Consider: maybe Fuchsia isn't a platform?

ChromeOS certainly isn't a platform: developers don't develop "for ChromeOS." App developers target the WebExtension ABI (or, more recently, the Android ABI), and ChromeOS just runs their apps using mysterious virtualization magic that doesn't matter to the developer. You don't target the OS; you just target a stable ABI. (Other examples of this: the Linux kernel ABI used by Docker on {Linux, macOS, Windows}; the Linux kernel ABI used by Illumos branded zones; the Linux userland ABI used by the Steam Runtime.) Essentially, you can think of ChromeOS not as an OS in the traditional sense, but as a hypervisor. The libs your apps depend on aren't part of the OS; they're part of your ABI's zonal environment, which is stabilized separately from the OS.

I would expect that Fuchsia is doing the same: being an OS but not a platform. The only people who will have to directly target Fuchsia are Google engineers.