Live data from Hacker News

Android overtakes Windows as the internet’s most used operating system

techcrunch.com

411–417 of 417 posts

Re: Android overtakes Windows as the internet’s most used operating system

#411
post #369

Earlier quoted context omitted.

Obviously some of them need to phone home, I'm talking about the ones that don't need to. And, just because it can't phone home doesn't mean it should stop working altogether.

Yes, and you have to swallow the whole blob as soon as you need any single one of the services. Just want "cloud" messaging for your app? Force anyone who uses your app to install the whole blob. Want just assisted GPS? Too bad, you still force anyone who uses your app to install the whole blob. If Google had made the services modular, it would probably be easier to replace them with homegrown ones, but they made it…

you can include just one component of the entire Play Service library (e.g. cloud messaging) in an Android Studio project with a line like this in build.gradle:

  compile 'com.google.android.gms:play-services-gcm:10.0.1'
but, i get the impression that's not quite what you mean when you say "install the whole blob."

i guess you're talking about the Google Play Services library, which is updated independently of my app. or something like that.

https://play.google.com/store/apps/details?id=com.google.and...

not quite sure. trying to clarify this for my own understanding.

Re: Android overtakes Windows as the internet’s most used operating system

#412
post #230

Earlier quoted context omitted.

There are Windows versions that work on ARM: phone/mobile, and Win10 IoT. They update just fine, sometimes even on the major versions. E.g. my phone initially had windows phone 8.1 and now it’s windows mobile 10. And despite the phone is 3 years old, I'm still regularly getting OS updates. That’s why I don’t believe ARM hardware is responsible.

Not sure about ARM/Windows vs ARM/Android, but I do know that unlike the PC, Android ARM phones at least do not have things like a standardized BIOS, standardized peripheral bus enumeration, low-level firmware to hardware interface etc, or at least not to the same level.. This is why things like SBSA ( https://en.wikipedia.org/wiki/Server_Base_System_Architectur... ) were needed before ARM servers could even be talke…

PCs do not have a standardized BIOS. BIOS configuration options vary widely, and often mean different things between different BIOS vendors. UEFI is standardized but sometimes difficult to adopt.

Re: Android overtakes Windows as the internet’s most used operating system

#413

Earlier quoted context omitted.

This is the biggest mistaken belief of the programming industry. Where we're headed is multi-level architectures. At the bottom is what you think of as "all programming". It's low level code, with manual deployment, using a wide range of fairly arcane tools. You need to be a professional to do it. What is slowly emerging, which you suggest is impossible, is a layer on top of that. It is written in highly constrained…

> This is the biggest mistaken belief of the programming industry. Actually I think what you're saying is the biggest mistaken belief in the programming industry. The industry has been chasing the dream of making programming accessible for everyone for as long as computers have existed. This was the reasoning behind COBOL, BASIC, and Scratch. > You can't import random libraries, and you can't write spaghetti code, be…

> The industry has been chasing the dream of making programming accessible for everyone for as long as computers have existed. This was the reasoning behind COBOL, BASIC, and Scratch.

Yes, and it's working. All of those projects helped. A child will learn far more in their first year of programming today than I learned in my first year of BASIC. I think that trend is accelerating and we are very close to the hockey stick part of the accessibility graph. There are a LOT of people who have at least dabbled in programming today.

> If it's Turing complete then someone can and certain would write spaghetti code.

Sure. And yes, some poor schmo will have to deal with it.

But most of the code won't be spaghetti code. Most of the code changes will just be string edits. Marketing has a vested interest in not breaking their pipelines.

I honestly think a little instruction goes a long way here. It's not that people won't be learning coding best practices, it's that you won't need a year of training up front just to get started. I'm not talking about eliminating the learning curve, I'm talking about making it shallow and linear.

> There's no reason why they couldn't just drag and drop such logic

Visual logic programming has been a mixed bag. It does work well for some very constrained kinds of programs, like shader pipelines and audio programming. But generally research into visual programming has not gone well.

Text has one very important benefit over visual programming: it's linear. That's nice because much of code execution is linear. It's actually a tree, but it's definitely not Cartesian.

Drag and drop is also not very intuitive for most users. It's an invisible affordance. It requires dexterity. And it's also not very constrained... You can drag anything into anything.

Most programming will be text. I don't think it will be pure ASCII but it will be linear text.

> Programmers aren't purposely trying to make their environments difficult

Of course not. They are trying to make it just easy enough for a full time professional to figure out and no more.

> High level business code that you sort of dismiss is the hard part. Knowing to gather requirements and codify them is the job a programmer

I think you're forgetting about some programmers. You know the kind... They just want something complicated to do. Like "rewrite the entire system using a custom memory store instead of SQL" and then they disappear into the wilderness for 4 weeks and come out with it finished.

Some requirements mean a lot of code to change. Some requirements require almost none.

What will happen is the "mostly talking, with fairly obvious code changes" part of the job will get absorbed into other roles. Marketing, support, finance, they'll just do that coding themselves. At least they'll do the patch and submit it for review.

And the other stuff... Stuff that's more about code than business needs, that will still be the domain of the professional programmer.

Current programmers will have a choice. Do I want to stay in mostly code all day and solve thorny problems? Or do I want to drop the "programmer" title, still do some coding, and move to marketing/support/finance alongside other "non-progeammers" who are doing a decent amount of high level programming.

Re: Android overtakes Windows as the internet’s most used operating system

#414

Earlier quoted context omitted.

> This is the biggest mistaken belief of the programming industry. Actually I think what you're saying is the biggest mistaken belief in the programming industry. The industry has been chasing the dream of making programming accessible for everyone for as long as computers have existed. This was the reasoning behind COBOL, BASIC, and Scratch. > You can't import random libraries, and you can't write spaghetti code, be…

> The industry has been chasing the dream of making programming accessible for everyone for as long as computers have existed. This was the reasoning behind COBOL, BASIC, and Scratch. Yes, and it's working. All of those projects helped. A child will learn far more in their first year of programming today than I learned in my first year of BASIC. I think that trend is accelerating and we are very close to the hockey s…

> Some requirements mean a lot of code to change. Some requirements require almost none.

My point is ultimately marketing/finance/administration people do not know, fundamentally, what is a lot of code and what isn't. That's knowledge for programmers. https://xkcd.com/1425/

> What will happen is the "mostly talking, with fairly obvious code changes" part of the job will get absorbed into other roles.

There is no such thing as "obvious code changes".

> Marketing, support, finance, they'll just do that coding themselves.

Never happen.

> Or do I want to drop the "programmer" title, still do some coding, and move to marketing/support/finance alongside other "non-progeammers" who are doing a decent amount of high level programming.

My software team develops all the software for the marketing, finance, HR, and support departments. They are deeply involved in the design of their products (some departments more than others) but ultimately none of them can or want to program. Even basic SQL is beyond the skills of most them -- although we encourage anyone with interest to do their own queries.

You massively under-estimate the skill and experience involved in even the most basic programming tasks. Programming, version control, deployment, database design, systems design, etc. These people have their own professions with their own issues to deal with.

Re: Android overtakes Windows as the internet’s most used operating system

#415

Earlier quoted context omitted.

> The industry has been chasing the dream of making programming accessible for everyone for as long as computers have existed. This was the reasoning behind COBOL, BASIC, and Scratch. Yes, and it's working. All of those projects helped. A child will learn far more in their first year of programming today than I learned in my first year of BASIC. I think that trend is accelerating and we are very close to the hockey s…

> Some requirements mean a lot of code to change. Some requirements require almost none. My point is ultimately marketing/finance/administration people do not know, fundamentally, what is a lot of code and what isn't. That's knowledge for programmers. https://xkcd.com/1425/ > What will happen is the "mostly talking, with fairly obvious code changes" part of the job will get absorbed into other roles. There is no such…

> There is no such thing as "obvious code changes".

What about "there's a letter missing in this heading"?

> Even basic SQL is beyond the skills of most them

I would put SQL in the category of "advanced programming". It's declarative programming, which is not easy for beginners, and you can literally do any operation at all from any place in the code. There's zero separation of concerns.

> You massively under-estimate the skill and experience involved in even the most basic programming tasks.

What's so hard about changing a letter in a string on Github? Anyone who can send a text message could do that. To me, that's the "most basic programming task".

What's impossible about:

    Hi Fred,

    Thanks for noticing that typo! You can fix it yourself... The code is here:
https://gist.github.com/erikpukinskis/198a752e2fd286f2179b16...

    Just click "Fork" and then "Edit" and make the change. The system will send
    me a notification and if nothing is broken I'll merge it, and it should be
    live within the hour!

    Best,
    Erik
> ultimately none of them can or want to program.

OK, so that's a cultural barrier. If you want to really lure people in, it will require a little more than an email like the one I suggested. I think to get people to bite, you need a few things:

1) Web-based editing, with instant preview (no downloading anything, no commands to type)

2) No repos, just editing single files

3) Very high ratio of domain-specific language to implementation language. Most programmers don't bother separating out their domain language (customer, sale, analysis, etc) from their implementation language (page, element, server, etc) You can't have a sidebar with node_modules, src, view, etc, it distracts people.

All this really requires is writing an extra layer of domain code that wraps your implementation code. It's not necessary if your code is only ever read by professionals so most programmers don't bother doing it. It's extra work after all.

4) Use only functions, function calls, and literals. No loops, no classes, etc. That stuff can go in the implementation layer, but you can't expose it. This also means no SQL, no CSS, etc. One language, three language constructs.

5) Separation of shared code from sensitive code and data. If you can do something like:

    import "users"
    users.delete_all()
... you're screwed. People will never feel safe making changes in that environment. You need real separation of concerns where the code being edited is mechanically separated from everything but the few functions you want to expose to people. Think of each source file as a custom sandbox for just one non-programmer employee.

Get all five of those, and you have yourself a changed game. Building all of those things is a bit of work, but there's nothing fundamentally mysterious about how to do it. It's just work that most companies don't do because you can just wall off your code within your professional programming team instead.

Re: Android overtakes Windows as the internet’s most used operating system

#416
post #172

Earlier quoted context omitted.

OS/2 Warp did work on standard PCs. However, OS/2 2.0 was only available to those with enough deep pockets to buy a IBM PS/2 Model 35 SLC, back on the city I was living. There weren't any shops selling OS/2 2.0 boxes without an IBM PC to come along.

I ran OS/2 from versions 2.1 to 4, all on generic beige hardware. You are probably right about 2.0, but 2.1 certainly worked on clones.

Xe isn't right about 2.0, or even 1.1 or 1.0. None of them required PS/2 hardware. That is, as has been said elsewhere on this very page, a myth.

Re: Android overtakes Windows as the internet’s most used operating system

#417

Earlier quoted context omitted.

And that even google-sourced devices have a very short lifecycle for OS and security updates. Google seem to be running under the assumption any phone over 12 months old is reaching the end of its usable life.

A Google device receives security updates for 36 months. Not sure where you pulled your 12 months from.

Ah I'm a little salty because although you get security updates for 3 years you only get feature updates for 18 months. Combine that with the fact the Google so poorly plan their product releases that supply is constrained for the first 6 months of the product lifecycle. So in practice someone who manages to buy a device when they're generally available has at best a year to get updates for their shiny new $500-$900 device. It was egregious when a new Nexus device was $500+, now it's outrageous.

The Pixel XL was released in October of 2017 which means updates stop one year away from today in April of 2019. Top of the line is $968 and you want top of the line for best memory performance. Why buy one of those phones and purchase sub par performance? It's a waste of money. So if I wanted one I'd pay $80/month for a device that's replaced in October of this year (Pixel 2 is supposedly an end-of-year release) and dropped from feature upgrades not too long after that.

Google need to fix their feature window by extending it to two years and fix their supply pipeline by ordering apple-like quantities of product. Otherwise they're not really competing with Apple.

Post reply on HN