Smartphone Hackability: A Pocket Computer That Isn’t
Smartphones boggle my mind with their sheer power and complexity, yet they feel like the furthest from being pocket computers. As far as personal computers go, smartphones are surprisingly user-hostile. In recent years, even YouTube recommendations are filled with people talking about technology getting bland, and how smartphones have created ecosystems that are more alienating than empowering.
The Decline of Hackability
One of the most significant issues with modern smartphones is their lack of hackability. This is a thought-provoking exercise: compare smartphone development timelines to those of home PCs, and see how the timelines diverged, which forces acted upon which aspect of the tech, and how that impacted user feelings towards these devices long-term.
Phone tinkering is a path you explicitly set out to do, whereas computer-based hacking is something you can do idly. There are good reasons for this – phones were never meant or able to be used as development benches unto themselves. Proprietary technology reigned supreme, with NDAs and secrecy being prominent fixtures in the industries surrounding phones.
Why Hackability Matters
Hacking starts by probing at a device's inner workings, deducing how things work, and testing boundaries, but it doesn't happen when boundaries are well-protected and hidden away from your eyes. A typical app is surprisingly non-explorable, and unlike with PCs, you need another device to explore it.
But what benefits do hackers get? For sure, a polished user experience is not the main goal here. I believe that modern phones are suffocating, and that the lack of transparency is more akin to encasing an already reliable device in epoxy for no reason. A device designed to never challenge you is a device that can't help you grow, and it's not really a device you can grow attached to.
Reviving Hackability: An Arduino IDE-like Environment
If I were asked how to fix this, I wouldn't limit myself to opening filesystems back up to user exploration habits. I think modern phones could use a pre-installed Python interpreter, with a healthy amount of graphics libraries, decent control over the system, snappy well-configured autocomplete, and a library of example scripts you could edit in place.
Think about it: let people easily program phones to flash the screen every time an SMS from a specific person is received, or start audio recording when the user taps the touchscreen three times as the phone's locked. Then, let them wrap those programs into apps, share apps easily with each other, and transfer them from phone to phone quickly.
The Importance of Hardware Customization
My bonus idea would be an I2C accessory port on phones. With modern tech, you don't need to compromise waterproofing either. This would give users a way to access GPIOs, PWM, and more.
This resembles the PinePhone addon scheme, with FPCs wedged between the back cover and a set of pogo pins. The idea is simple: if phones are to be personal computers, they should be very easy to program. And that's exactly what I'm proposing – a phone-contained sandbox, not in a security sense, but in an educational one.
A Sandbox for the Future
Now, if that's the case, we should make it one. If it's a sandbox, then it can be molded to your needs through hacking and tinkering. And if it can be molded to your needs, then it belongs to you in a whole different way.