1. 18
  1.  

  2. 4

    Host here. Curious to think of what Lobsters thinks of this back story of Android. It’s wild to think about what the world might look like if android hadn’t become some dominant and mobile was a Apple (or mircrosoft or whomever) proprietary monoculture.

    1. 12

      It’s worth remembering what the smartphone market looked like prior to the iPhone: Symbian had 70% of the market. The Symbian EKA2 kernel is beautiful (and the book about its internals is now a free download, everyone should read it) and Fuchsia’s design shares a lot in common with it. Symbian was moving towards open source and towards using Qt for the GUI (their existing userspace APIs were designed for systems with 2-4 MiB of RAM, which added a lot of cognitive load to solve problems that didn’t really exist on machines with 128+ MiB).

      Android successfully killed Windows Phone and Symbian. If it hadn’t happened, then it’s quite likely that an EKA2+Qt stack would have become a major player. I wouldn’t be surprised if we’d ended up with a lot more diversity: I don’t think iOS would have killed Windows Phone and I don’t think either would have killed the EKA2+Qt. The really interesting question is what would have happened with things like Maemo / Meego / WebOS / FirefoxOS in a more competitive smartphone OS market.

      The competing operating systems were mostly killed by network effects from the app stores. This is also what’s largely killed Android as an open-source platform: you can run AOSP on a handset, but if you don’t install the Google Play services then a load of third-party apps simply won’t run and you must use Google Play Services for a bunch of features (assuming you want those features) if you want to offer the app in the Google Play Store. Since most users use the Play Store, being excluded from there is a problem. I’m really looking forward to a competent antitrust regulator taking a look at this.

      It’s entirely possible that one of the other vendors would have created a decent app store. HP had a very nice model for their WebOS app store where, in addition to their store, they provided the back-end services as something that you could repackage, so you could create your own store for your apps but people would still get all of the update and deployment things that they’d get buying from the HP storefront.

      I think it’s more likely that we’d have seen much more of a push towards mobile-optimised web apps instead of native apps. If no platform had more than 20-30% market share then you could either build 5-6 native apps or one web app for the same market size and that’s a very different proposition to building two for the duopoly.

      1. 5

        I never experienced that Symbian beauty. I needed to port a simple game to it, and its developer-facing werido C++ side left such a terrible impression on me that I only remember promising myself to never touch Symbian again. I still wouldn’t use Qt.

        Anyway, I think Nokia killed itself, and it had nothing to do with the OS kernel. They’ve ignored capacitative screens and tried to keep making featurephones until it was too late. Their popular low-end Symbian was unfit for the smartphone era, and their fancy Symbian, like Windows CE, was a toy desktop OS meant for running spreadsheets, not being a normal phone operated with fat fingers.

        I miss WebOS. They did all the right things in software, but fast-enough hardware to run it it didn’t exist yet. They’ve ended up being a free touch-UI R&D for later copying by Apple and Google.

        Windows Phone was a decent attempt, but at that point having a 3rd party app ecosystem mattered.

        1. 1

          I never experienced that Symbian beauty. I needed to port a simple game to it, and its developer-facing werido C++ side left such a terrible impression on me that I only remember promising myself to never touch Symbian again. I still wouldn’t use Qt.

          Exactly. A beautiful kernel, hidden under an awful userspace.

          Anyway, I think Nokia killed itself, and it had nothing to do with the OS kernel

          I disagree. They had a great kernel and a terrible userland. They tried to fix this by replacing the kernel with Linux, which was completely inappropriate for devices with such a small amount of RAM (Android didn’t become successful until smartphones had at least 512 MiB of RAM). When this failed, they tried to jump on Windows Phone as an alternative.

          They had a few teams building some quite nice UIs on top of Qt, but they kept changing the platform out from underneath.

          I miss WebOS. They did all the right things in software, but fast-enough hardware to run it it didn’t exist yet. They’ve ended up being a free touch-UI R&D for later copying by Apple and Google.

          Completely agreed. I got a TouchPad in their free-toys-for-open-source-developers programme and loved it, but they killed the entire ecosystem a few weeks after I got mine.

          Windows Phone was a decent attempt, but at that point having a 3rd party app ecosystem mattered.

          Yup, my partner had one and it had a great UI (I was astonished - I expected to hate it and ended up liking it more than iOS and Android), but no apps and a really buggy sound subsystem (crashed every few days which made alarms silent and phone calls not work).

          1. 2

            A beautiful kernel, hidden under an awful userspace.

            Do you think the userspace could have been any better, given the resource constraints of the device and the state of C++ at the time? Would modern C++, or a newer language like Rust, enable a better userspace?

            A bit of a tangent: I keep wondering if a modern device that embraces constraints on CPU speed and RAM, similar to Symbian-based or early embedded Linux devices, could achieve outstanding battery life. Your comment the other day about your Psion computer running on two AA batteries made me think again about this. In particular, I wonder how good it could get in a device designed specifically for blind people, and thus having no screen, but only audio output. The big thing I’m not sure about is how much battery power is consumed by CPU and DRAM compared to the wireless radio(s), particularly when wireless connectivity is enabled but the CPU is mostly idle.

            1. 2

              Do you think the userspace could have been any better, given the resource constraints of the device and the state of C++ at the time? Would modern C++, or a newer language like Rust, enable a better userspace?

              There was PIPS, which provided POSIX (no fork but otherwise most of a POSIX syscall API). This would have, at least, been not worse than Linux / XNU as the system interface and would have made porting *NIX libraries much easier if it were the default. The kernel was explicitly designed to support multiple personalities, with the expectation that the EPOC32 interfaces would not last forever. POSIX probably wasn’t ideal but might have been necessary given that Android and iOS were both POSIX.

              The big thing I’m not sure about is how much battery power is consumed by CPU and DRAM compared to the wireless radio(s), particularly when wireless connectivity is enabled but the CPU is mostly idle.

              It depends a lot on how much you’re using the wireless. Active use can drain it quite a bit but modern wireless chipsets are really good at entering low-power modes where they are mostly asleep and wake up as passive receivers periodically to see if the base station has told them to wake up properly.

              From what I remember, I got about 30 hours of active use from the Psion. I remember it told me how much current it had drawn, but I don’t remember the numbers. Wikipedia tells me that alkaline AAs can provide up to 3.9Wh, so probably somthing like 7-8Wh for a pair of them (that sounds high, I vaguely remember it being closer to 3). At 8Wh over 30 hours, you’re looking at a maximum draw of 250mW. That’s quite a lot for a microcontroller, and I think low-power WiFi chipsets can run in about 50mW (based on a 10-year-old and probably wrong memory), so this seems fairly feasible.

          2. 1

            I was a Symbian fanboy and still miss my E61, but the “app store” (it didn’t really exist) was a mess. The entire user-facing software experience apart from the built-in apps was a mess. At one time there were 2 separate web browsers.

            Still, WirelessIRC is the best mobile IRC client I’ve ever used to this day.

          3. 2

            and the book about its internals is now a free download

            Do you happen to have a link to it?

            1. 1

              I think it’s more likely that we’d have seen much more of a push towards mobile-optimised web apps instead of native apps. If no platform had more than 20-30% market share then you could either build 5-6 native apps or one web app for the same market size and that’s a very different proposition to building two for the duopoly.

              That is interesting and I can see that fragmentation would favor the web. My understanding from this interview is that Google’s android bet was an attempt to keep the web (and google search accessed via the web) a viable thing in the mobile world and prevent the kind of monoculture that windows had in the desktop OS world pre-web.

              1. 3

                Android was probably nothing at all until the iPhone, and indeed, really, until the App Store; Google needed to prevent Apple from becoming Microsoft, as you note. Android has succeeded at its initial intent, and too, has become quite good, which is, if I may be snarky, unusual for a Google product that has achieved its aims.

              2. 1

                Since most users use the Play Store, being excluded from there is a problem. I’m really looking forward to a competent antitrust regulator taking a look at this.

                Honestly, I suspect app stores are a natural monopoly on a platform, and addressing that is the wrong symptom and likely to make the experience worse. The actual platforms themselves were what what end-users could care and make a choice over.

                You’re probably right on PWAs making a lot of sense for the average case that has no need to take advantage of platform APIs though.

                1. 5

                  The problem isn’t the app store, the problem is the coupling of the Play Store and Play Services, which makes it incredibly difficult to ship a phone that doesn’t send a load of data to Google.

              3. 2

                Palm may have seen more success with the webos platform.

                1. 1

                  Also I very much enjoy the show. Just wanted to get that out there!

                2. 2

                  I’ve met Chet! I haven’t read his new book yet though.

                  One missing piece here is that Google pays Apple something like $15-20 billion a year for “traffic acquisition” (payments for being the preferred search engine on iOS). The entire cost of the Android program is pretty small compared to the cost of paying someone else for all those eyeballs.

                  1. 1

                    I’m really not sold on “unlikely success” here, there was the element of initial startup having fairly low likelihood of success in the first place.

                    But after the initial acquisition I feel the “unlikely success” isn’t super reasonable. Certainly once announced the success was a given - given that unlike the numerous other google products, android is actually important to google’s income.

                    1. 1

                      Not sure why it is unlikely. They took two enterprise components, Linux kernel + JAVA. Google threw cash behind it, all seems logical.

                      1. 2

                        Many reasons.

                        It started as a start-up of just eight people, with some javascript code. Joined google but was just something google thought might be interesting, not a big bet. Manufacturers didn’t take them seriously at first, Java and heavy memory constraints of mobile are not a given to work out, started before the iPhone, which changed the market, and so on and so forth.

                        1. 2

                          I think the name really helped. Google is known. If you go to manufacturers, etc. it makes a huge difference, even to get an actual meeting with the right people.

                          At a certain size one can force certain things, that for smallers are luck based (meeting the right people) are simply impossible. Of course having the money also helps.

                          I am not so sure about Linux itself helping that much early on, simply because the mobile platform wasn’t the target device back then. And to be fair, it barely is today. The team built an ecosystem that very much feels like happening to have a Linux kernel. Of course various contribution in terms of hardware support have since been made, but I don’t think it’s anywhere close to the only choice, as seen by iOS. What I mean by that is that Google could have when for other, even closed source systems like QNX or partnering up with Palm (though I guess more on a technical side), etc.

                          For Java, even though that’s not a field I know well. I think that might have helped more. Java even back then looked at mobile devices, like PDAs and non-smart phones. And being taught in most schools combined with people that had a touching point I imagine it helped.