What Is A Computer?

On the podcast, [Tom] and I were talking about the new generation of smartphones which are, at least in terms of RAM and CPU speed, on par with a decent laptop computer. If so, why not just add on a screen, keyboard, and mouse and use it as your daily driver? That was the question posed by [ETA Prime] in a video essay and attempt to do so.

Our consensus was that it’s the Android operating system holding it back. Some of the applications you might want to run just aren’t there, and on the open side of the world, even more are missing. Is the platform usable if you can’t get the software you need to get your work done?

But that’s just the computer-as-a-tool side of the equation. The other thing a computer is, at least to many of our kind of folk, is a playground. It’s a machine for experimenting with, and for having fun just messing around. Android has become way too polished to have fun, and recent changes on the Google side of things actively prevent you from installing arbitrary software. The hardware is similarly too slimmed-down to allow for experimentation.

Looking back, these have been the same stumbling blocks for the last decade. In 2018, I was wondering aloud why we as a community don’t hack on cell phones, and the answer then was the same as it is now – the software is not friendly to our kind. You can write phone apps, and I have tried to do so, but it’s just not fun.

The polar opposites of the smartphone-as-computer are no strangers in our community. I’m thinking of the Linux single-board computers, or even something like a Steam Deck, all of which are significantly less powerful spec-wise than a flagship cell phone, but which are in many ways much more suitable for hacking. Why? Because they make it easy to do the things that we like to do. They’re designed to be fun computers, and so we use them.

So for me, a smartphone isn’t a computer, but oddly enough it’s not because of the hardware. It’s because what I want out of a computer is more than Turing completeness. What I want is the fun and the freedom of computering.

32 thoughts on “What Is A Computer?

    1. I consider every system that is turing complete to be a computer. Human brains are turing complete (and were historically computers that did all the math digital computers are doing now), and perhaps even some non turing complete systems (i.e. analog computers, for example a planetary positioning predictor or hand cranked tide prediction machine) could be considered to be computers. The only thing that holds us back is proprietary software, and the lack of infinite creativity/motivation. :)

  1. When I was young, “computer” was a job title. Youngsters should see and listen to the movie “Hidden Figures” :)

    At school, it was something with up to 100V on the exposed ends of parch panel wires. Operator beware.

    I now have Datron test equipment with many many exposed connections, with up to 1kV on them. Plus an example of school physics equipment with 250-500V on an external connector. Touching that causes dekatron counters to whizz round.

  2. if i could just have two factor authentication on my laptop, i might just skip my crappy four year old cracked-screen android cellphone (and its stupid Cricket cellular plan) across the Caribbean like in that Corona ad. i would love a device that was the form factor of a cellphone, had G4 cellular service, and allowed me to run a proper windowing OS. but i would still need that crappy android phone for 2FA

    1. Form factor of a phone? You want a tiny screen and no mouse/trackpad/keyboard on a computer?
      To each his own I suppose.

      It might make more sense for you to get a small laptop with a cellular modem for your 2FA.
      Or insist on Yubikey/FIDO2 auth, which is supported by more entities than one would expect.

      1. assuming you could, as needed, plug in a screen, keyboard, and mouse. it would be handy to have a desktop os in your pocket to awkwardly pick at in a pinch without having to view the world through proprietary apps constantly screaming to be updated

      2. The device being the size of a phone doesn’t mean the peripherals you’d use with it are – a smartphone sized device that you can just wirelessly or directly plug into a more reasonably sized screen and HID collection of choice for when you want to use it like a computer would work well with the performance available even with the serious thermal throttling phones generally have.

        Also define form factor of a phone – some of them are pretty darn big these days, so at least for those of us with good eyes windowing freely on such a small but sharp screen wouldn’t be bad.

    2. Do you use Linux? You might be able to get your 2FA apps working with Waydroid; app support can, alas, be hit-or-miss. I have not personally tested it, but Ubuntu Touch does have Waydroid in its repositories, so you you could (concievably) get a Fairphone or something that supports Ubuntu Touch (or another mobile linux solution) and have exactly what you describe: a 4G-equipped, phone-form-factor computer with a proper OS.

      That’s only if you consider Linux a “proper OS”.

    3. On a Mac you can install bluestacks and then Android authenticator apps within that. Saves me getting up and dragging myself to wherever I put my phone down when I got home to open my email.

  3. On the podcast, [Tom] and I were talking about the new generation of smartphones which are, at least in terms of RAM and CPU speed, on par with a decent laptop computer. If so, why not just add on a screen, keyboard, and mouse and use it as your daily driver? That was the question posed by [ETA Prime] in a video essay and attempt to do so.

    We alaready had been there before.
    The Nokia Communicator of 1996 had an 80386 based microchip and ran DOS and GEOS.
    Same time, ’94-’96, 386DX40 bud-get PCs were still common and capable of running Windows 95 RTM.
    The Nokia Communicator had 4 MB of RAM, which also same time was the bare minimum to run Windows 95.
    Many 486 notebooks of mid-90s shipped with merely 4 MB and had to be upgraded via proprietary RAM modules..
    I’ve seen many notebooks and PCs that struggled running Windows 95 on those 4 MB.

    https://en.wikipedia.org/wiki/Nokia_Communicator

    1. The new Apple MacBook neo ‘laptop’ is a iphone chip that runs the desktop OS.

      I use quotation marks for the word laptop because I’d almost describe the Neo as Apple’s version of a Chromebook, a Safaribook, rather than a laptop, I mean it only has 8GB of RAM FFS, at a point where many phones have 12GB.

      Anyway, the point is that it’s a phone with a keyboard and larger screen/battery but without the cellular.

      1. 8GB when you are not running a really bloated Windon’t OS isn’t bad though, really should be plenty for most folks. Also no doubt that choice was made in part because the AI bubble has pushed RAM prices up so high it made sense to drop the RAM potential to hit the price point – lots of new devices are coming out with less RAM than you’d have expected.

      2. There are already plenty of benchtests and youtube videos of people using a MacBook Neo in normal operations and pushing it with video editing, coding, etc and basically it’s going to be fine for its intended audience.

  4. I would argue it is the hardware, because Linux is known to run on almost anything. What is missing is the basic hardware that everyone does not agree on — on purpose?? — so every jail break and every bootloader works differently.

    Compare that to SBCs or anything “IBM compatible” since the 1980ies: burn a near generic ISO to a media, drop it in, install, run whatever you want.

    My personal experience is that I treat phones like a toaster or microwave: I don’t change the firmware, ever. In contrast I will install a different OS on anything “computer” just for a weekend because the hardware does not get in the way.

    1. I am torn. Like obviously smart phones have cpus, gpus, I/O, memory, machine instructionsets, an OS and by all means is a computer.

      At the same time… I agree with the article, it doesn’t operate in a way that the user is aware or maybe even cares that it is a computer.

      Is a kiosk to buy train tickets a computer? Probably. But if I bought one because it was sold as a computer I would demand my money back.

      It is interesting to see how the social expectations can move technical specifications into irrelevance. Is my microwave a computer, I mean maybe, but it doesn’t work like how I enjoy using computers so it may as well not be. To someone else though, maybe it’s just as much of a computer as any desktop they have ever owned.

      1. Essentially, that’s embedded computer vs PC.
        And an PC is (was) intended as a general-purpose computer.
        That’s why it’s open and expandable by design.

        In the past, to name a few, the Sharp MZ, Apple II and Commodore PET were similar here.
        They were intended as flexible business computers more than they were home computer.

        Though to be honest, the PC 5150 was a bit of a mix between a terminal, an electric typewriter and a home computer (thst datasette port). ;)
        At the time, IBM wasn’t really sure which direction things would take.

  5. Desktop mode and Debian Linux with Terminal on a stock Android Pixel 9 phone works fine with a power feeding USB-C hub and full sized keyboard, mouse, ethernet and HDMI (I use this one https://amazon.com/gp/aw/d/B08C9HZ5YT ). Lots of playing around possible with CLI, apt getable packages, python programming, etc.

    It is rather a shame that just when packaging a custom DIY program to run on Android has become automatable with agentic AI coding tools Google has trued to make it more difficult for us to install things on our own phones.

  6. Android sadly is a scaffold we need to build over. The power of available apps in this ecosystem essentially means we wont see android being useful for commerce and business like os x/win are. Entire categories of professional grade apps are missing, instead we get 10,000 simple tasking apps any one of which could be malware

  7. We don’t need all the computing power and memory we use because a lot of power is soaked up by ‘analytics’ — code loaded to keep track of who we are, where we are and what we’re doing. The problem is made worse by there being lots of competing companies all wanting to plant their own trackers on your system through the web browser (which is now used for display rendering, not just for web sourced material). Inefficient scripting code and poor use of net bandwidth piles the loading onto the system without actually contributing anything to system usability. So its not surprising that a modern phone can run everything a powerful desktop could a very few years ago — the base computing power is enormous. Its just wasted in the never ending search for monetization.

  8. I am disappointed in this article for a few reasons. first off, it didn’t address the question in the headline, which is the question that determines whether you think a phone is a ‘computer’. The other is, it repeats the FUD about Android locking down non-play-store apps. Android has many many many severe problems, and that simply doesn’t rank compared to the others. And then the article contradicts itself, “the same stumbling blocks for the past decade” — if it’s the same then how is the future change relevant?

    The fundamental thing is that developing for android poses a series of practical questions, not philosophical ones. Hyper ventilating about the exaggerated slippery-slope implications of restricting third party app distribution makes a great philosophical treatise. But it not only ignores the practical considerations, it drowns out discussion of them. People who never wanted to install those apps are becoming disgusted with Android! There is a much bigger problem, which you are ignoring somehow.

    And anyways, i don’t happen to agree that the hardware is holding back anything at all. The hardware is amazing, and between USB OTG and wifi and bt, it really can meaningfully interface with ‘big computer’ sort of things. Depending on what you think a ‘big computer’ is, or what you want it to do. Of course.

  9. I’d normally define a computer as a physical implementation of a machine you Turing-complete program.

    So, if you have a blank MCU, that’s not a computer, because you can’t program it. If you strap up an 8-bit PIC to a rudimentary tact-switch programmer. Now even this is a computer, if you can write a program in Flash that can implement a turing-complete machine in its RAM.

    https://youtu.be/Rif9cserayI

    Dear Hackaday, feel free to feature toggle-programming an 8-bit PIC!

    So, an android phone you can’t actually program isn’t a computer. Add an app that allows you to program it, then yes, it is. e.g. add a VIC-20 emulator that provides a keyboard, then yes it’s a computer.

    Or, let’s say you have a Mac 128K, and MacPaint and MacWrite. No, that’s not a computer yet. Add MacASM or MacBasic or MacPascal, then yes you have a computer.

  10. … or even something like a Steam Deck, all of which are significantly less powerful spec-wise than a flagship cell phone,

    I’d have to cry foul there – the specs on paper of the smartphone might sound better sometimes, though its often an apples and oranges comparision where the numbers might be bigger but it doesn’t mean the same thing. But even if you compare more fairly inadequate cooling means all those on paper specs are basically irrelevant and the reality is most of the budget SBC are able to massively outperform the majority of premium phones on any sustained load – as they don’t have to throttle down just to avoid burning the user because the case is the heatsink.

    Though most of these SBC do not tend to have nearly as much graphical compute potential so even unthrottled they may fall behind on those tasks, but something like a Steamdeck probably not.

    Your smartphone might well feel snappier flicking around the UI than any Pi, and if you start say a CPU based video render race do that first Vine/shorts length video render vastly quicker, but as soon as you need to render something longer…

    1. Does “computer” now imply fancy graphics, rather than text and maybe the ability to display some static graphics?
      Not to me, but … maybe to most people. The problem with the phone isn’t that it can’t calculate; it is that getting information (let alone my own program) input is difficult, and reading the results (as text) is a pain because of a combination of screen size and how the OS prioritizes pretty pictures rather than text. It functions more like a smart TV than a computer.

      1. Indeed, I’d suggest these days basically everyone expects a reasonable graphics focused compute if only so all those bloated window animations etc are smooth. (reasonable at least by the standards you are implying, which would be below minimal probably for most – if it can’t at least play acceptably HD+ video)

        However the point is the phone also can’t really calculate on the compute side, at least not anything like its on paper specs suggest – that compile of your code will be in the thermal throttle range and take way way longer than you’d expect.

  11. a device who’s primary purpose is computing. a phone is not a computer because its primary function is communication, though it does contain a computer, the user does not interact with it directly but through a really dumbed down interface.

    1. Apparently I’ve never in my life owned a ‘computer’, just gaming thingies that I also made a living on.

      Perhaps some of the obsolete gaming thingies became ‘computers’ late in life.

  12. Just use a remote desktop; many clients exist that allow the host server to be cross-platform.
    Long ago, I used RealVNC (viewer) on my Samsung phone for local LAN management several Raspberry Pi’s but in today’s world the selections are better and some work well through home router firewalls.
    Just do a bit of research and pick a solution that clicks your checkboxes.

Leave a Reply to LightislightCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.