I tried making my iPad my computer three times. Despite its awesome specs, these remain a huge pain in the rear for actual dev work.
iPadOS and iPhoneOS will remain useless for actual dev work until they unlock hardware virtualization in Virtualization.framework.
Apps on the iPhone and iPad will remain sandboxed, and root isn't possible, so being able to run a VM that _can_ run as root is the next best thing.
I believe this framework on mobile uses software emulation, which is horribly slow and guzzles battery.
Well, this and third-party browser engine support. Mobile Safari is absolutely horrible. This doesn't become apparent until you're using your iPad full time. Death by a trillion cuts. It also burns battery when you start using it with desktop websites.
Until then, the experience is basically you using your iDevice as a dumb terminal (don't mean that as a dig against Termius; great app given its limitations) to some server somewhere where actual work is done. Rendering issues galore if you use vim with color schemes.
I've by now come to the belief that there's someone high ranking in Apple Org responsible for iPad who deeply despises developers. Every action done over the past years has made development on the iPad worse, not better. Such as spending extra legal energy to make sure the recently-introduced emulator support on iOS does not cover running any kind of computer VM that could allow software development.
At the same time, Android ships an official terminal that can run a Debian VM and X11 apps.
Android is no panacea either. There are no Android tablets that are anywhere close to achieving parity with the iPad.
I used a Samsung Galaxy Tab S8+ with the Book Cover (the one with the track pad) and the Smart Folio (the one without a track pad).
The track pad was horrible. HORRIBLE. Ghost taps, misfired scrolls, and cheap feeling clicks. The track pad on the Magic Keyboard is as good as the standalone Magic Trackpad; this didn't even come close in quality.
The keyboard was fine, but keyboard shortcuts are implemented on a per app basis. This is fine until you want to use CTRL+L in Firefox to navigate to some URL only to discover that Firefox simply doesn't support keyboard shortcuts! Someone opened an issue for this two years ago too because, insanely enough, FF used to support them but simply dropped them because "reasons."
Then there was the cover. The Book Cover provides a Surface like kickstand that's adjustable. Great on a table; unusable on your legs. The Folio solves this by using a tented support, but this forces the tablet into a 25-ish degree tilt that I didn't find comfortable. There wasn't anything like the Magic Keyboard's excellent magic hinge (though maybe later model Galaxy Tabs have an equivalent).
All that said, Termux worked GREAT, and I think I would've gotten mileage out of using an external screen with DeX though I've heard it's lacking in that department. I badly wanted this setup to work, but there were too many quirks.
I don't think that's true at all. Apple has always marketed itself as a brand for creatives. Image/video editing and 3D modeling software demands a lot from its hardware, just like developer tools do. But removing restrictions on developer tools is inherently a security risk, and Apple seems very willing to ship less capable devices if they're also less vulnerable.
They despise users becoming developers. Apple's entire model depends on these being separate groups of people (as opposed to GNU/Linux OSes where they're assumed to be exactly the same.)
Keeping development tools away from users gives Apple a substantial amount of power over them that they can rent out to approved software development organizations.
I wouldn’t expect third party browser engines to be any better on the efficiency front. Under macOS both Chrome derivatives and Firefox are worse. I think the real problem is that for most web apps, performance and efficiency sit at the bottom of the pile in terms of priorities. Nobody cares if they keep your CPU from idling, occupy well more than a reasonable amount if RAM, and guzzle battery, as long as it technically functions it’s good enough.
The term "virtualization" is being used in this context to mean using features of the hardware to build virtual machines that run at native performance on computational tasks. In contrast, the app you linked to is just relying on JIT compilation to emulate the guest CPUs.
Programming on my phone (with Termux) is the only reason I am still using an Android phone. That and a real filesystem. I actually use so many terminal tools that I can't imagine migrating to a bunch of GUI apps. Like gopass for passwords management, git for syncing my notes, nvim for writing etc.
With Android 15 you even get a full blown Linux VM running on KVM.
I was actually tempted to switch when AAA games like AC got ported to iOS, but then I remembered I love programming more than gaming.
My mobile OS dream has always been to have a phone that I can plug into a docking cradle (or maybe just a USB-C cable these days) to connect it to a full size monitor, keyboard and mouse, and then use it as a regular PC, and then unplug it and have the same “data state” available on the mobile OS (albeit perhaps with different apps, reflecting the different input methods and screen size).
Is this any closer to becoming reality with modern Android?
I recall around 2019 or so plugging an Android phone into a Dell USB C dock and it just worked. Connected to the monitor, USB keyboard and mouse, and even the ethernet port.
The only problems were that the version of Android I was running did not have windowing, so every app was full screen, and it could only drive one monitor. I guess some of the apps were also goofy on a widescreen monitor, but that's not really Android's fault.
It felt like the dream was almost there, but as time went on it was also obvious that nobody was terribly interested in making that dream a reality.
> I guess some of the apps were also goofy on a widescreen monitor, but that's not really Android's fault.
It is the main Android's fault. It's not based on GNU/Linux, so you can only run specifically designed apps and can't run ordinary desktop apps. As such, a large screen is almost useless even if it technically works.
I share that dream and, yes, it's getting closer with modern Android. IMO Google has seemingly embraced this path (e.g. with ChromeOS "merging" with Android) I could see a future where docked desktop mode in Android is basically like what we have today with ChromeOS.
"An upcoming Android update will significantly upgrade the Linux Terminal app, enabling it to run full-fledged graphical Linux programs on supported devices"
However, when I sit in front of a big screen it is just easier to connect a "real" PC to it. Syncing data between my desktop and phones are pretty fast anyway.
I wish Apple would do this. The SoCs in modern iPhones are more than enough to power a desktop OS.
I think the issue is that a unified computing platform would devour a decent amount of their laptop sales, but in the long run I think it would be a superior experience for the user. It really is a political problem and not a technical problem at this point.
Build a monitor with a base to set the iPhone on with wireless charging, you drop the phone on the base and it automatically pairs to the monitor and mouse/keyboard. You can call the system “Apple One” or something similar catchy. There you go Apple, just saved you millions of dollars on product development.
If it was a phone running basically MacOS when plugged in a display with an iPhone skin when mobile it would finally convince me to buy an iDevice for the first time in more than a decade.
Pixel phones can do this today using shared storage and Termux/OotB Linux VMs from Android 15 onwards, and Android apps for phone UI.
However, Google is evolving Android's security model towards app-specific storage and away from shared/global storage access (for legitimate security concerns), so no telling how long the window will be open.
My old LG Android phones were able to do this - worked quite well. I know the V60 had - not sure about the older V20.
Unfortunately they stopped making phones because they didnt sell well. Which I always thought was odd because they had all the coolest niche features and were fairly priced.
It's basically possible with any device that supports DP Alt Mode? Any remaining issues are usually software (lack of proper desktop environment etc) but there are ways around that with Android. Samsung has DeX.
It can — and all the more so since most recent update which adds more features to desktop mode. iPadOS 26 is also prioritising increased convergence with enhanced windowing support. Definitely been a ground shift recently.
> to have a phone that I can plug into a docking cradle (or maybe just a USB-C cable these days) to connect it to a full size monitor, keyboard and mouse, and then use it as a regular PC
Which previous devices? Can you provide some links?
Librem 5 has open schematics [0] and runs an FSF-endorsed distro [1]. What else do you need for the verification [2]? Otherwise Linux could also be a honeypot, right?
I think they might be referring to ANOM which was an FBI honeypot for criminals seeking encrypted communication [0]. However, I'm not sure where they are drawing a parallel there beyond librem not being a 'mainstream' phone manufacturer.
Aren’t laptops a little more ergonomic and flexible to hack on? I am curious what environments one ends up in where a phone is the tool of choice for writing code and such.
For me personally, it's just the convenience of always having my phone in my pocket. Sometimes when out and about and I have a bit of free time, but haven't brought my laptop, it's nice to be able to just pick up my phone and hack for a bit. I wouldn't do full blown project on it though.
I couple of years back, I really liked replit for having probably the best integrated IDE on a phone. Everything was so smooth and well thought out.
Some places are too crowded for even a small laptop. Also, I have seen so many people saying wish I could do that programming thing but I am on my phone right now. Termux allows me to do all of that.
My point is that people do a lot of typing on their touchscreen, with one or two thumbs. Just like most regular people don't need a bluetooth keyboard despite doing a lot of texting.
Also, using two thumbs can be more awkward if you have big hands.
Generally people just get larger phones instead of typing one fingered.
The awkwardness of phone coding isnt the typing of text (wherein most people rely on decent prediction rather than precise typing), it's the use of symbols.
I have a OnePlus 13, which has a nearly 7 inch screen. My two thumbs still block most of the keyboard. Do you know anything larger? I would get a folding phone but they are too fragile.
Not every programming languages require a lot of symbols. Like Python, Go, OCaml etc. For me writing many symbols is awkward even on a physical keyboard.
You mean using both Android and iPhone at the same time? That just adds another device you have to maintain and charge regularly. Not to mention it is not as portable as only one phone. You also can't use one SIM in two phones. It is just awkward overall.
> With Android 15 you even get a full blown Linux VM running on KVM.
With Apple discontinuing the small iPhone se and Android being able to run on folding phones that unfold to have an 8" display... Spending money on an Android phone is interesting again.
Author here. Awesome that this post got boosted by my latest post. As i wrote in an earlier post, my reason for wanting to develop on my phone is that i became a dad, and my kids did not want to sleep in a bed, so i spent a lot of time sitting in a rocking chair with trying to get them to sleep. One arm is needed for child support. One arm left to do development…
I just replied to someone else about this. I had exactly the same challenge with my first newborn. Simply sitting in a chair for hours is really mentally taxing and a huge waste of time. Good for you, that you've found something that doesn't get in a way of helping your child to fall asleep.
> Simply sitting in a chair for hours is really mentally taxing and a huge waste of time.
How do people that rawdog international flights do it? No phone, no books, no music, maybe just the flight screen with the little aeroplane over the map.
You could just let your thoughts wander. That's a form of meditation, letting the mind unravel on its own.
I remember going on family road trips growing up, and my only options for entertainment were reading or looking out the window. We did a road trip a few weeks ago, and my kids were beside themselves if they had to go without some form of interactive entertainment for more than a few minutes.
Of course, I'm sure I was often annoying as hell during long car rides when I was a kid. And the luxury of handing kids a magic-zone-out-device is a lifesaver. But I do wonder if I'm shortchanging my kids by not forcing them to be bored more often.
I tried at first, didn't work. I was frustrated after 15 mins of this. But don't worry - I had a plenty of thought wander time at nights, when I was trying to fall asleep, being awoken for the 7th time that night.
Baby sling and a standing desk! Get's a little uncomfy in the heat, but I could pretty much do a whole workday - with a couple of feeding breaks, and milk for the baby of course ;).
Something that might be worth a look at for anyone in this situation is the Twiddler, it's a one handed mouse and keyboard. Connects via USB and/or Bluetooth
I know of it via a streamer who uses it to control OBS, but this is more its native use case haha
> This is like rsync for your phone. In fact I would not be surprised if this is implemented using rsync. Once you configure an offline folder, it will two-way sync that folder while you use the app. The kicker is: on your phone you can now open that folder in another app (like an editor) and make changes. When you switch back to the shellfish app, the changes are uploaded almost instantly.
One can get this killer feature for free with Android and Syncthing. It’s definitely pretty nice!
And of course one can also run Emacs and other free (as in speech or beer) text editors on Android.
IIRC there are a couple of ways to get a full Linux command line environment as well.
I ended up moving away from it just because ‘typing’ with my thumb is painful.
I’ve explored this idea of portable computing using a mobile form factor for years too. So long that the first devices I tried were PDAs with compact-flash micro drives.
I actually preferred those devices for development work because the stylus is a much better input device than fat fingers when it comes to precision input. However you then lose the one-handed feature that the author is keen on.
These days, MacBook Pros have such long battery lives that I couldn’t imagine wanting to use a phone-form-factor for any serious work. But maybe the new style phones bendable screens that flip open like a book, might tempt me back to using a phone for development work again. Unfortunately such devices are currently Android-only at present.
I keep telling that one scenario I actually would embrace AI glady, is fast enough reckognintion so that I can use a digital pen across all mobile/tablet apps, I rather use that than carry around a 2-1 or detachable keyboard.
On Apple devices it is kind of ok, Android outside Samsung is still pretty much hit-and-miss.
Likewise I don't want AI chat boxes, I want to speak with my computer, in my native language, again still not there yet.
I've also thought about it a lot, but I just need that big screen.
That does not rule out having your phone as your primary development device of course. I was already pleasantly surprised that when I tried to charge my iPad with the USB-C dangling of my ultrawide, the screen came to life! Sadly with the iPad's own screen ratio. My screen-attached wireless keyboard and mouse did work though!
I still dream of having normal Linux (or GrapheneOS, or PostMarketOS) on something like a Fairphone and being able to plug it in USB-C and just work (I just need a terminal, perhaps an editor, and a browser of course). Ubuntu Phone came so close :'( Maybe it becomes workable on the FairPhone 6... (actually, it seems like it is working? Can it do the desktop thing? It does say "Wired External monitor :check:")
Or you know, at least a Padfone [0] (just kidding, I'm just always looking for an excuse to share this masterpiece of a video).
> Google Pixel is supposed to ship a more complete desktop in Android 16 QPR1. Also has a Linux VM.
I'm actually really excited for this and am watching it closely, although I believe right now it's limited to Debian? It might be the thing that finally tempts me out of iOS & the whole Apple ecosystem.
I want the one device dream, but I want to be able to run my own OS on it, even if it's in a VM for desktop mode, so I can bring my arch+hyprland setup with me. It can run Android in "phone" mode that's fine, then when I hook it up to my dock or a kb+mouse it'll launch arch.
I won't go all in on it though until it looks like Google is committed for the long haul. I don't want to switch "ecosystems" and rely on it only for them to kill it by Android 18 or whatever.
Some Android handsets can already so think. I think Samsung phones might.
I was pleasantly surprised with my Son relatively budget Samsung phones, when I plugged it into an external monitor. Instead of showing a the phone screen on the monitor (like an iPhone would), it loaded up a different desktop that looked more like Ubuntu than it did like Android.
I can’t remember the specifics but it was definitely designed to be used with a keyboard and mouse.
It was probably Samsung DeX.
Samsung is helping Google to develop a similar thing for Android.
You can run the browser without any issues, use ssh with JuiceSSH and have the terminal. Running vim on there might be an option but another editor that is not a TUI might be more troublesome.
You can also use a USB-C dock too. Have your monitors HDMI plugged into the dock, along with your keyboard and mouse. Just like you would with laptops too.
I used to share that dream too. But there’s so much proprietary hardware needed to make a smart phone that I just can’t see it happening. Or at least not for anything that would be remotely practical to use.
I think the best we can hope for is something that allows us to run a sandboxed vanilla Linux container. Which I think is already possible on Android?
Ubuntu Touch was a little buggy on my FP4 and flashing Calyx back over it required some finagling with the sensor suite. It was pretty slow and the phone was hot to the touch, so I would agree it was not ready for prime time when I tested it 2.5 years ago.
Termux is as great terminal, AFAIK it can be run on any modern (not even that modern) Android. With that alone you can get most common Linux terminal packages, run vim (including LSPs), tmux, ranger, compile C/C++, Python, Go, Rust...
Termux-X11 lets you run X11/GUI apps. It has settings to properly capture mouse (trackball in my case) and keyboard, preventing annoyances by disabling Android default keys (eg allowing Alt-tab to switch tabs in your Linux desktop rather than switching between Android tasks).
Termux proot-distro lets you install loads of Linux distros. I've daily driven Ubuntu in the past, currently using Debian Bookworm on my Tab S8 Ultra, which although a flagship is a couple of generations old now. I run the same setup on a Tab S4, which is a 7 year old device now. It's slow for some GUI stuff but works well for a lot of things, most stuff in the terminal is great.
The above is without root. With root, I've recently changed over to chroot as I wanted to try it.
You can get GPU acceleration, I'm currently using turnip, there are also virgl drivers, it can take some trial and error depending on which GPU your device has (I don't know much about GPU stuff so if any of those sentences had errors that's why, but it's perfectly googlable).
As I just rebuilt my system a few days ago, here's what I've done since then:
- Installed Debian Bookworm
- Installed Chromium and Firefox, both with GPU acceleration via a custom command eg: `Exec=env MESA_LOADER_DRIVER_OVERRIDE=zink /usr/bin/chromium %U` in a .desktop file
- Compiled yazi (Rust terminal file manager) with rustup and `cargo install`ed another couple of apps
- Been working on a Hugo site, after installing go and dart-sass
- Compiled dwm with standard gcc stuff (dwm is my preferred environment but XFCE etc are around too)
- Worked on some PSDs in Photopea (Krita, Gimp, Inkscape also all work perfectly)
- Installed my preferred vim setup with nvim-coc, so all the LSPs etc
Node works perfectly. Python works perfectly. As above, C/C++, go all work perfectly (ARM64/AARCH64 of course).
What I'm trying to say is, it's strange for me to see so many in this thread wondering about if it's possible to do Linux stuff on Android. I thought Termux was pretty well known (?). I think the first time I installed a full Linux distro on Android was about 10 years ago via LinuxDeploy. I've been daily driving a setup similar to the above for maybe 5 years, on 3 or 4 different devices. I get that this is geeky and a bit niche but I'm surprised to see so many comments on HN without this stuff being mentioned.
I have a Macbook which I use begrudgingly when I have to (Apple lock-in reasons such as needing to compile Flutter stuff for iOS/Mac on Apple hardware --- btw Flutter works well on my Android Debian compiled for ARM64 Linux, meaning I can do most Flutter dev work here and just move over to the other hardware when I want to compile/test other architectures). I have an AMD ProxMox machine for when I need a bit more grunt or have something that requires Windows. Despite these other machines, if I can do it on the Android tablet I always prefer it (love the OLED display and low power usage), meaning 70-80% (guessing) of my work gets done there.
Docker can't/won't work, something to do with proot/chroot and cgroups I think. In my limited experience (Flutter), cross-compiling to different architectures hasn't worked. The OOM killer in Android can be annoying so you want a device with plenty of RAM, but there are ways to mitigate it, and in practice it doesn't bother me (rare and relatively inconsequential in my usage patterns) otherwise I wouldn't work this way.
I get that people in here today are mainly talking about phones, and I'm using tablets. But this all works on phones (I used to do it on my Note 3 up until I lost it a few months ago, that's over 10 years old). You just need a device which outputs video over USB-C, not uncommon nowadays.
I have had to faff a bit to get stuff working. Some people will hate this and just want instant. Horses for courses, I'm happy.
I haven't tried the new Linux stuff on Android 15 as I don't have a Pixel. I get the feeling it won't have much if anything to offer over my current setup and might be slower. But hopefully it will become standard in future. I don't like Dex on Samsung as it forces its own UI sensibilities on you (eg last time I tried it windows had huge ugly titlebars, which I personally don't like, hence dwm preference).
This makes me miss the Nokia N800 I had when I was in college and working part time tech support. Ran a modified Debian and I could whip out a folding Bluetooth keyboard to ssh into a server. Felt like you were part of Hackers, even if the screen was tiny. The physical keyboard made a huge difference for actually getting things done
Secure ShellFish is a very nice app, absolutely worth the money. It's really nice to be able to do a bit of scripting. I don't even bother taking my laptop with me when traveling anymore, my phone/iPad and an external keyboard are enough to quickly jot down a proof of concept for any idea that might pop up in my head.
By the way, the dev also works on a Git client for iOS, Working Copy. I used that together with Shortcuts to make my Obsidian vault sync via git in the background.
I miss physical keyboards, like those on BlackBerry devices. Honestly, I think
SSHing into Claude Code from a phone with a physical keyboard would actually be a
decent choice for vibe coding today. But maybe I just want a 12-inch M-chip
MacBook
I've had this phone as my main device for half a year and now using a Pixel 9 Pro Fold sometimes in "laptop" folded mode. So far, neither of these devices come close in my typing speed to a proper keyboard. The F(x)tec was great though because you do get all special characters in tactile buttons; on the Fold I constantly need to check my keyboard and make sure I'm writing what I think I'm writing. And, it's a shame that the space in between letters on the 'Gboard' keyboard on the Fold remains unused, when it could've been a perfect mouse trackpad.
I think the ideal form factor for a proper development phone would be the Astro Slide (https://www.indiegogo.com/projects/astro-slide-5g-transforme...) – I haven't personally used it but I can imagine it's the smallest size possible for proper two-handed typing. The F(x)tec was a two-thumber instead.
The Fxtec is so damn cool if you can get your hands on one. It can actually straight up run Debian. I also managed to run VS Code on it natively via Termux.
I also had a Gemini PDA, which is basically the Psion 5mx keyboard glued to a shitty Android smartphone. Such a nice keyboard, but such mediocre and unsupported CPU...
@levelsio was posting about this last week: https://x.com/levelsio/status/1953022273595506910. Haven't tested it out yet, but it seems like a cool way to continue hacking away at a project while on the go.
It should have a voice controlled way in that case, at least that is my point oof view on towards all clusmy chat bot interfaces, AI usage should be transparent.
Good to see Secure Shellfish get a mention. Great x-device connection syncing, too. Plus, the full Files app integration is a great complement to the shared/sync’d folders.
Anyone have any new suggestions for similar apps on the Android side of things?
I know the full-blown Linux terminal is "released", but only for Pixel phones by what I've been able to find. Definitely can't install it on my OnePlus 13 yet.
I've been using JuiceSSH for years, but it's getting a bit long in the tooth and doesn't receive updates for years anymore either.
Love this. Sometimes being able to work on a phone is perfect for things that need to percolate a little while you walk around or do something mindless at the same time. I put some effort into finding a good writing and markdown rendering app but didn't realize a whole IDE is possible too.
Any dev choosing iOS in my view has a twisted moral compass as they're perfectly happy to support the social divide apple purposely created and perpetuates to this day with its refusal to move to RCS.
Tried to develop on mobile too. The only issue is the physical keyboard. At that time, I did think about redesign the keyboard for phone to get a precise input experience
Pythonista is awesome. Although it hasn’t been updated in 2 years and only supports 3.10, it’s still a beautiful and capable Python IDE.
Now that iOS and Android are Tier 3 platforms, we should be getting closer to the day that we can generate an IPA or APK from our Python project in a single click.
As far as I know, you can generate an APK from a Python project, using python4android and buildozer. I never got it to work though..
But you can compile an APK from Java/Kotlin source (both your own and 3rd party OSS apps) and install it on your device, the app to do so is called CodeAssist.
Are there any mobile equivalents of a thin client?
sometimes I'd like to keep my regular phone in my pocket, providing internet and cpu-assistance via bluetooth, but the UI be another device altoghether.
My thought for this was not for a mobile IDE, but a navigation device. iwatch is ok, but still not there.
Depends on the age of his son. I spent 2-3 hours daily for 3 months just holding my newborn (because the sneaky one had well tuned bed detector and would just cry forever if not held) and reading AWS docs for the certification on my phone. Not feeling guilty at all.
When did this ridiculous parenting guilt trend start?
You do realize that not every minute you spend with a child is “quality time” right? Like most responsibilities in adulthood, child rearing has many periods where your child simply needs your presence. The child themselves cannot handle full time mental and emotional engagement either.
iPadOS and iPhoneOS will remain useless for actual dev work until they unlock hardware virtualization in Virtualization.framework.
Apps on the iPhone and iPad will remain sandboxed, and root isn't possible, so being able to run a VM that _can_ run as root is the next best thing.
I believe this framework on mobile uses software emulation, which is horribly slow and guzzles battery.
Well, this and third-party browser engine support. Mobile Safari is absolutely horrible. This doesn't become apparent until you're using your iPad full time. Death by a trillion cuts. It also burns battery when you start using it with desktop websites.
Until then, the experience is basically you using your iDevice as a dumb terminal (don't mean that as a dig against Termius; great app given its limitations) to some server somewhere where actual work is done. Rendering issues galore if you use vim with color schemes.
I used a Samsung Galaxy Tab S8+ with the Book Cover (the one with the track pad) and the Smart Folio (the one without a track pad).
The track pad was horrible. HORRIBLE. Ghost taps, misfired scrolls, and cheap feeling clicks. The track pad on the Magic Keyboard is as good as the standalone Magic Trackpad; this didn't even come close in quality.
The keyboard was fine, but keyboard shortcuts are implemented on a per app basis. This is fine until you want to use CTRL+L in Firefox to navigate to some URL only to discover that Firefox simply doesn't support keyboard shortcuts! Someone opened an issue for this two years ago too because, insanely enough, FF used to support them but simply dropped them because "reasons."
Then there was the cover. The Book Cover provides a Surface like kickstand that's adjustable. Great on a table; unusable on your legs. The Folio solves this by using a tented support, but this forces the tablet into a 25-ish degree tilt that I didn't find comfortable. There wasn't anything like the Magic Keyboard's excellent magic hinge (though maybe later model Galaxy Tabs have an equivalent).
All that said, Termux worked GREAT, and I think I would've gotten mileage out of using an external screen with DeX though I've heard it's lacking in that department. I badly wanted this setup to work, but there were too many quirks.
Also, battery life sucked.
Developers are necessary, and their needs has to be tolerated, but only as long as they are successfully kept distinct from consumers.
It's another to have the company go far out of their way to they don't even leave the field open for someone to cater to your needs.
Keeping development tools away from users gives Apple a substantial amount of power over them that they can rent out to approved software development organizations.
Using an iPad Pro with the keyboard works great, plus you can use a bluetooth mouse and even have a second monitor.
Even with all that, I still use my laptop a lot more.
Dev site: https://getutm.app/
With Android 15 you even get a full blown Linux VM running on KVM.
I was actually tempted to switch when AAA games like AC got ported to iOS, but then I remembered I love programming more than gaming.
Is this any closer to becoming reality with modern Android?
The only problems were that the version of Android I was running did not have windowing, so every app was full screen, and it could only drive one monitor. I guess some of the apps were also goofy on a widescreen monitor, but that's not really Android's fault.
It felt like the dream was almost there, but as time went on it was also obvious that nobody was terribly interested in making that dream a reality.
It is the main Android's fault. It's not based on GNU/Linux, so you can only run specifically designed apps and can't run ordinary desktop apps. As such, a large screen is almost useless even if it technically works.
https://en.wikipedia.org/wiki/Windows_Continuum
https://www.androidauthority.com/run-desktop-linux-apps-on-a...
"An upcoming Android update will significantly upgrade the Linux Terminal app, enabling it to run full-fledged graphical Linux programs on supported devices"
However, when I sit in front of a big screen it is just easier to connect a "real" PC to it. Syncing data between my desktop and phones are pretty fast anyway.
I think the issue is that a unified computing platform would devour a decent amount of their laptop sales, but in the long run I think it would be a superior experience for the user. It really is a political problem and not a technical problem at this point.
Build a monitor with a base to set the iPhone on with wireless charging, you drop the phone on the base and it automatically pairs to the monitor and mouse/keyboard. You can call the system “Apple One” or something similar catchy. There you go Apple, just saved you millions of dollars on product development.
However, Google is evolving Android's security model towards app-specific storage and away from shared/global storage access (for legitimate security concerns), so no telling how long the window will be open.
Unfortunately they stopped making phones because they didnt sell well. Which I always thought was odd because they had all the coolest niche features and were fairly priced.
Not sure which model though. So yes, somewhere, somehow this is possible.
I think folding phone is the better approach.
Which AR glasses are good enough in screen quality for coding?
Do you wear the AR glasses when you're out and about like a coffee shop?
This phone exists: https://puri.sm/products/librem-5, and it's my daily driver.
Librem 5 has open schematics [0] and runs an FSF-endorsed distro [1]. What else do you need for the verification [2]? Otherwise Linux could also be a honeypot, right?
[0] https://source.puri.sm/Librem5/l5-schematic
[1] https://news.ycombinator.com/item?id=25504641
[2] https://puri.sm/posts/hidden-operating-systems-in-chips-vs-s...
[0]: https://en.m.wikipedia.org/wiki/Operation_Trojan_Shield
I couple of years back, I really liked replit for having probably the best integrated IDE on a phone. Everything was so smooth and well thought out.
Just judging purely from the weight of devices, no.
Is there anything more than a proof of principle that people (aka anyone who owns an Android 15 device) can try out?
I didn't find any instructions for actually doing that.
https://deepakness.com/blog/android-linux-terminal/
Basically just go to developer options and enable Linux development environment. A Terminal app will be installed.
You just need a non-Snapdragon Android phone. Because Snapdragon uses a different hypervisor than other vendors.
Not if you're using a Swype-style keyboard.
Also, using two thumbs can be more awkward if you have big hands.
The awkwardness of phone coding isnt the typing of text (wherein most people rely on decent prediction rather than precise typing), it's the use of symbols.
Not every programming languages require a lot of symbols. Like Python, Go, OCaml etc. For me writing many symbols is awkward even on a physical keyboard.
With Apple discontinuing the small iPhone se and Android being able to run on folding phones that unfold to have an 8" display... Spending money on an Android phone is interesting again.
I've never looked back at all the time I spent with my infant son asleep on my arms and thought, damn, what a waste of time that was.
Everyone is different I guess.
How do people that rawdog international flights do it? No phone, no books, no music, maybe just the flight screen with the little aeroplane over the map.
You could just let your thoughts wander. That's a form of meditation, letting the mind unravel on its own.
I wish I did it more, actually.
Of course, I'm sure I was often annoying as hell during long car rides when I was a kid. And the luxury of handing kids a magic-zone-out-device is a lifesaver. But I do wonder if I'm shortchanging my kids by not forcing them to be bored more often.
I tried at first, didn't work. I was frustrated after 15 mins of this. But don't worry - I had a plenty of thought wander time at nights, when I was trying to fall asleep, being awoken for the 7th time that night.
I know of it via a streamer who uses it to control OBS, but this is more its native use case haha
https://www.mytwiddler.com/
> This is like rsync for your phone. In fact I would not be surprised if this is implemented using rsync. Once you configure an offline folder, it will two-way sync that folder while you use the app. The kicker is: on your phone you can now open that folder in another app (like an editor) and make changes. When you switch back to the shellfish app, the changes are uploaded almost instantly.
One can get this killer feature for free with Android and Syncthing. It’s definitely pretty nice!
And of course one can also run Emacs and other free (as in speech or beer) text editors on Android.
IIRC there are a couple of ways to get a full Linux command line environment as well.
I ended up moving away from it just because ‘typing’ with my thumb is painful.
I actually preferred those devices for development work because the stylus is a much better input device than fat fingers when it comes to precision input. However you then lose the one-handed feature that the author is keen on.
These days, MacBook Pros have such long battery lives that I couldn’t imagine wanting to use a phone-form-factor for any serious work. But maybe the new style phones bendable screens that flip open like a book, might tempt me back to using a phone for development work again. Unfortunately such devices are currently Android-only at present.
On Apple devices it is kind of ok, Android outside Samsung is still pretty much hit-and-miss.
Likewise I don't want AI chat boxes, I want to speak with my computer, in my native language, again still not there yet.
[1]: https://wisprflow.ai/use-cases
That does not rule out having your phone as your primary development device of course. I was already pleasantly surprised that when I tried to charge my iPad with the USB-C dangling of my ultrawide, the screen came to life! Sadly with the iPad's own screen ratio. My screen-attached wireless keyboard and mouse did work though!
I still dream of having normal Linux (or GrapheneOS, or PostMarketOS) on something like a Fairphone and being able to plug it in USB-C and just work (I just need a terminal, perhaps an editor, and a browser of course). Ubuntu Phone came so close :'( Maybe it becomes workable on the FairPhone 6... (actually, it seems like it is working? Can it do the desktop thing? It does say "Wired External monitor :check:")
Or you know, at least a Padfone [0] (just kidding, I'm just always looking for an excuse to share this masterpiece of a video).
[0] https://www.youtube.com/watch?v=Z2ANnpHnUrc
Google Pixel is supposed to ship a more complete desktop in Android 16 QPR1. Also has a Linux VM.
Of course, Samsung has had a pretty complete desktop on phones that support DeX for a while now.
I'm actually really excited for this and am watching it closely, although I believe right now it's limited to Debian? It might be the thing that finally tempts me out of iOS & the whole Apple ecosystem.
I want the one device dream, but I want to be able to run my own OS on it, even if it's in a VM for desktop mode, so I can bring my arch+hyprland setup with me. It can run Android in "phone" mode that's fine, then when I hook it up to my dock or a kb+mouse it'll launch arch.
I won't go all in on it though until it looks like Google is committed for the long haul. I don't want to switch "ecosystems" and rely on it only for them to kill it by Android 18 or whatever.
edit: You're right, an unfortunate downgrade https://forum.fairphone.com/t/fp6-discussion-about-usb-2-and...
I was pleasantly surprised with my Son relatively budget Samsung phones, when I plugged it into an external monitor. Instead of showing a the phone screen on the monitor (like an iPhone would), it loaded up a different desktop that looked more like Ubuntu than it did like Android.
I can’t remember the specifics but it was definitely designed to be used with a keyboard and mouse.
You can run the browser without any issues, use ssh with JuiceSSH and have the terminal. Running vim on there might be an option but another editor that is not a TUI might be more troublesome.
I will keep dreaming and in the mean time keep my Linux Laptop close.
I think the best we can hope for is something that allows us to run a sandboxed vanilla Linux container. Which I think is already possible on Android?
In principle however, it worked.
Termux is as great terminal, AFAIK it can be run on any modern (not even that modern) Android. With that alone you can get most common Linux terminal packages, run vim (including LSPs), tmux, ranger, compile C/C++, Python, Go, Rust...
Termux-X11 lets you run X11/GUI apps. It has settings to properly capture mouse (trackball in my case) and keyboard, preventing annoyances by disabling Android default keys (eg allowing Alt-tab to switch tabs in your Linux desktop rather than switching between Android tasks).
Termux proot-distro lets you install loads of Linux distros. I've daily driven Ubuntu in the past, currently using Debian Bookworm on my Tab S8 Ultra, which although a flagship is a couple of generations old now. I run the same setup on a Tab S4, which is a 7 year old device now. It's slow for some GUI stuff but works well for a lot of things, most stuff in the terminal is great.
The above is without root. With root, I've recently changed over to chroot as I wanted to try it.
You can get GPU acceleration, I'm currently using turnip, there are also virgl drivers, it can take some trial and error depending on which GPU your device has (I don't know much about GPU stuff so if any of those sentences had errors that's why, but it's perfectly googlable).
As I just rebuilt my system a few days ago, here's what I've done since then:
Node works perfectly. Python works perfectly. As above, C/C++, go all work perfectly (ARM64/AARCH64 of course).What I'm trying to say is, it's strange for me to see so many in this thread wondering about if it's possible to do Linux stuff on Android. I thought Termux was pretty well known (?). I think the first time I installed a full Linux distro on Android was about 10 years ago via LinuxDeploy. I've been daily driving a setup similar to the above for maybe 5 years, on 3 or 4 different devices. I get that this is geeky and a bit niche but I'm surprised to see so many comments on HN without this stuff being mentioned.
I have a Macbook which I use begrudgingly when I have to (Apple lock-in reasons such as needing to compile Flutter stuff for iOS/Mac on Apple hardware --- btw Flutter works well on my Android Debian compiled for ARM64 Linux, meaning I can do most Flutter dev work here and just move over to the other hardware when I want to compile/test other architectures). I have an AMD ProxMox machine for when I need a bit more grunt or have something that requires Windows. Despite these other machines, if I can do it on the Android tablet I always prefer it (love the OLED display and low power usage), meaning 70-80% (guessing) of my work gets done there.
Docker can't/won't work, something to do with proot/chroot and cgroups I think. In my limited experience (Flutter), cross-compiling to different architectures hasn't worked. The OOM killer in Android can be annoying so you want a device with plenty of RAM, but there are ways to mitigate it, and in practice it doesn't bother me (rare and relatively inconsequential in my usage patterns) otherwise I wouldn't work this way.
I get that people in here today are mainly talking about phones, and I'm using tablets. But this all works on phones (I used to do it on my Note 3 up until I lost it a few months ago, that's over 10 years old). You just need a device which outputs video over USB-C, not uncommon nowadays.
I have had to faff a bit to get stuff working. Some people will hate this and just want instant. Horses for courses, I'm happy.
I haven't tried the new Linux stuff on Android 15 as I don't have a Pixel. I get the feeling it won't have much if anything to offer over my current setup and might be slower. But hopefully it will become standard in future. I don't like Dex on Samsung as it forces its own UI sensibilities on you (eg last time I tried it windows had huge ugly titlebars, which I personally don't like, hence dwm preference).
I've probably spilled most of the beans in this novel of a comment, but have written about this stuff before, here https://mm-dev.rocks/posts/android-as-a-dev-environment/intr...
By the way, the dev also works on a Git client for iOS, Working Copy. I used that together with Shortcuts to make my Obsidian vault sync via git in the background.
Works from my iPhone, iPad with Magic Keyboard or Huawei Mate XT depending on what I'm out and about with for the day.
Folding bluetooth keyboard and bluetooth mouse
(obviously flip out phones have a lot of moving parts to get damaged)
I think the ideal form factor for a proper development phone would be the Astro Slide (https://www.indiegogo.com/projects/astro-slide-5g-transforme...) – I haven't personally used it but I can imagine it's the smallest size possible for proper two-handed typing. The F(x)tec was a two-thumber instead.
I also had a Gemini PDA, which is basically the Psion 5mx keyboard glued to a shitty Android smartphone. Such a nice keyboard, but such mediocre and unsupported CPU...
I know the full-blown Linux terminal is "released", but only for Pixel phones by what I've been able to find. Definitely can't install it on my OnePlus 13 yet.
I've been using JuiceSSH for years, but it's getting a bit long in the tooth and doesn't receive updates for years anymore either.
https://news.ycombinator.com/item?id=43985513
Now that iOS and Android are Tier 3 platforms, we should be getting closer to the day that we can generate an IPA or APK from our Python project in a single click.
But you can compile an APK from Java/Kotlin source (both your own and 3rd party OSS apps) and install it on your device, the app to do so is called CodeAssist.
[1]: https://developer.apple.com/swift-playground/
https://www.gpd-minipc.com/products/gpd-pocket4.
sometimes I'd like to keep my regular phone in my pocket, providing internet and cpu-assistance via bluetooth, but the UI be another device altoghether.
My thought for this was not for a mobile IDE, but a navigation device. iwatch is ok, but still not there.
The last part is kind of depressing really.
You do realize that not every minute you spend with a child is “quality time” right? Like most responsibilities in adulthood, child rearing has many periods where your child simply needs your presence. The child themselves cannot handle full time mental and emotional engagement either.
Relax.