> Easily develop software, view code or take notes on the go
"Develop software", which means writing code without the ability to run them, or the ability to compile multiple files as a "project", like all the other code editors on iOS?
I stopped paying attention to these apps because of how App artificially limit what apps can do. Writing Java offline? Good, but you can compile one class at a time, and the possibility of importing another user package is thrown out of the window. This makes it only useful for absolute beginners. There are alternative approaches, e.g. using a web browser, online compilation (which is not too different from web browser) and using a terminal that happens to support JDK. I saw developers literally say "Don't write reviews to complain, we have to follow the rules"
Which is sad because these devices as expensive as $1k are very powerful and have all the necessary APIs to make that work, it is only the app store rules that prevent the device from becoming a "real" computer
Used to be on android and it wasn’t that much better either. I love the GitHub app, and with good CICD I have made many PRs from my phone itself and let the GitHub actions tell me if I did something wrong (though creating PRs I need to open the website). If I can get a really good code editor integrated with GitHub I can totally see myself working half my day from the phone.
I don't think it's meant to work from a mobile device (iPad with keyboard and mouse is probably very acceptable) but pushing the period key on your keyboard while viewing a GitHub.com repo will give you a fully client-side vscode editor in the browser.
There's termux which is a linux userland compiled for Android, more or less. I vaguely remember some play store policy issues with that. Last time I tried it I couldn't install anything as they were out of CDN quota for the packages.
On iOS the termux equivalent is iSH and a-shell. Both of these are, somehow, Apple-approved, free downloads from the App Store, and generally work well[0]. But they all have had to fight Apple on Section 2.5.2, which is kind of similar to whatever was tripping up termux on Google Play.
Ostensibly, 2.5.2 should mean "do not hide things from App Review by loading unreviewed code", which is entirely reasonable and defensible. But in practice, App Review likes to interpret it as "do not allow the user to load unreviewed code onto their device" - which neatly prohibits all emulation and virtualization apps. iSH was banned for a time because of this exact provision - it's an x86 userland emulator with an API-compatible Linux kernel shim, much like that weird Java MIPS emulator[1] a lot of old CS courses taught assembly and OS dev in. The reason why iSH is back up is because App Review changed their mind, for reasons I don't quite understand.
There are on-device code interpreters for scripting languages in the App Store too - 2.5.2 has a separate, explicit carveout for them that Apple made very clear in the iDOS 2 rejection does not apply to emulators. In fact, that rejection letter pretty much spells out in plain language that Apple thinks emulators are piracy tools. They rejected UTM's TestFlight submissions on a similar basis, albeit with less righteous indignation and more silence.
I think the biggest problem here is the "you're holding it wrong" factor, though. Apple didn't notice iDOS 2 until media outlets were telling people how to install Windows 3.1 onto it. One of Apple's big no-nos is "do not give the user a windowing interface", because the core philosophy of iOS is that touch inputs need dedicated software with different code from mouse input[2]. Likewise, Apple doesn't think coding on an iPad is a good idea. That 2.5.2 carveout I mentioned before patronizingly calls those script interpreters "learn-to-code apps", with the idea that these are educational tools and that developers are expected to graduate to a Mac in order to get real work done.
Google likes to blindly copy what Apple does sometimes, without understanding why and what tradeoffs Apple is making. In the case of termux, Android used to be way less strict about loading code and let apps load binaries straight from user data; but they decided to enforce the same restrictions Apple does, which broke the app if they updated it for Android 10. The underlying problem is, again, "you're holding it wrong" - the people who work on security for these devices at both Apple and Google do not consider development workflows and do not want to have to do so. It's much easier to keep malware off a device if you just put your foot down and say "no programming on-device".
[0] I can't get Rust to run on iSH, and a-shell would require patching it into `ios-system` or retargeting rustc to run in WASI hosts.
[1] MARS, I think it was called?
[2] This is literally the reason why the iPad was even created. Back in the days of Windows XP, one of Steve Jobs' friends was bugging him about how XP tablets were going to storm the market. Jobs had Apple make a tablet computer demo that only accepted finger input, and this demo later became the iPhone's touch input mechanism. The entirety of what we awkwardly call "mobile devices" today exists purely out of spite.
Yes, I know Catalyst muddies the waters on this, and the Magic Keyboard breaks this ideology in half. I'm literally typing on a Magic Keyboard right now and it absolutely does make the iPad the most confused device I've ever used.
Why should Apple be obligated to make their hardware open? You have the option of not buying Apple products. Apple is not forcing anyone to buy their products. Apple is a private company. The vast majority of their customers don’t need to worry about compiling their own software. Apple is selling a product for the average consumer. Arguably, Apple doesn’t want hardcore users like yourself as a user. Hardcore users are nit picky and complain a lot. They are not selling raw hackable hardware. If that was a sufficiently compelling market , another player would have provided comparable hardware/software/platform already. What we have is a few niche Linux hardware makers, but they aren’t reaching the scale of Apple because I guess the business is not a Scalable.
Because it is a really expensive device I own, it is not apple’s business to decide what I am allowed to do with it after purchase. As far as I know I don’t rent it — even though they would prefer such a business model.
Also, come on - this “you have a choice for another device” is just such a stupid “argument”. There are 2 tradeoffs to choose from, period. And there will likely not be another for a very long time, as the main reason Windows Phone couldn’t gain traction is that mobile app developers had more than enough work to support 2 markets.
This is a forum for technologists who are often interested in this functionality. Many have fallen for Apple's shiny marketing, and they have every right to complain if they feel they have been hoodwinked. It helps other people make better purchasing decisions.
Has Apple marketed iOS as a self-hosting software development device ?
> This is a forum for technologists who are often interested in this functionality
Are people who are interested in functionality seriously expecting Apple to be the most “functional”? Isn’t that the whole schpiel of Linux, open source, where everything is customizable? Why are people seeking out Apple then? This same forum frequently complains about Apple’s pricing and does comparative pricing for similar, or rather analogous, commodity hardware. If things were really comparable and substitutable that easy, then all else being equal people would be happy with the cheaper option instead of being upset that Apple doesn’t provide x, y, z.
People are desiring Apple’s hardware, form factor, quality and design. The R&D in these areas are funded by the preferences of average consumer, and the pro/semi-pro media creatives. It feels like a sense of entitlement that Apple’s R&D / strategy in building sleek consumer products that made Apple the most valuable company should now focus specifically on developers, who may not make ROI sense.
Opening up the platform for such things that running arbitrary code poses security risks, but controlling that risks makes the user interface / preferences more complex. That’s the strategy that Google / Android took. But if this approach was superior, why are these same technologists fawning over Apple then ?
> Has Apple marketed iOS as a self-hosting software development device ?
Apple has marketed iPhone as an everything device. "There's an app for that."
> But if this approach was superior, why are these same technologists fawning over Apple then ?
People feel a psychological need to justify their expensive purchases. On some axes, Apple's hardware is superior to alternatives. On pretty much all axes, Apple's software is inferior. People understandably want the best of all worlds, but in practice, they have to make compromises. If they find that they do not like the compromises they have made, they understandably will complain. Complaining about what is wrong with each device incentivizes companies to make them better, and criticizing people for complaining is not helpful.
> Complaining about what is wrong with each device incentivizes companies to make them better
Not really. Financial incentives incentivizes companies to make devices “better”. Additionally, adding more complexity and adding low level hooks for developers is likely to make things worst for the majority of users.
Not really without Apples approval I guess, but in Playgrounds you can build full apps and distribute them via TestFlight, even submit them to the App Store.
I have also found getting the TF approval is trivial. I use it to build small apps for myself and friends for one off things.
I appreciate the effort that goes into these products but I find the market position weird.
Case in point: by the time I add a keyboard case to my 11" iPad Pro, it weighs more than my MacBook Air does and it's not a lot smaller. I think I should just take the MacBook Air with me. That has the same CPU, storage and memory and I can run full stack on it fine.
That is not to denigrate the usefulness of the iPad, which I run a big chunk of my life on, but editing text or code is one place it really doesn't add up.
The killer app I find with my iPad is when you need pen input. For drawing, doing route planning in OS maps and general research and note taking it's an amazing little device.
As a person who codes on MacBooks and iPads and also uses them for fun..
You’re missing the segment of people who are traveling and don’t want to take their entire MacBook places. Even if it’s smaller, I can’t simply detach it’s screen and hold it to watch Netflix or such.
I often take on the extra size an iPad may have for size versatility down the road. One doesn’t always have or want to figure out a flat surface to place your device when on the road, in bed, on toilet, or in a bath.
I also code quite a lot on my iPad as an iOS dev, because playgrounds are a fantastic way to create mini libraries, apps, or explore some idea you may have on the go. Performance is amazing with the M1 series as well.
The one thing I dont do with my iPad is any sort of pen input. I’ve never found it useful, but I’m also faster at typing than drawing or annotating. I used to always by the pencil to go with the pro, but stopped doing that a couple years ago because I simply never use it.
> You’re missing the segment of people who are traveling and don’t want to take their entire MacBook places. Even if it’s smaller, I can’t simply detach it’s screen and hold it to watch Netflix or such.
This is the solution being applied before the problem again. It is a case of applying compromises to fit the solution into the available device rather than look at the problem and choose a device suitable for it. I travel with my iPad. It's fine for that. But I'm certainly not going to be writing up anything extensive or writing any code on it.
> I often take on the extra size an iPad may have for size versatility down the road. One doesn’t always have or want to figure out a flat surface to place your device when on the road, in bed, on toilet, or in a bath.
I prefer not to shit or wash where I compute :). As for the surfaces, the iPad is the least flexible device. At worst you have to hold it constantly which is painful after an hour or so.
> I also code quite a lot on my iPad as an iOS dev, because playgrounds are a fantastic way to create mini libraries, apps, or explore some idea you may have on the go. Performance is amazing with the M1 series as well.
Having used Swift Playground extensively, I think you must be living in the future where they fixed all the show stopping bugs and crashes. It's totally unusable for me and doesn't meet even a minimum bar for quality.
>The one thing I dont do with my iPad is any sort of pen input. I’ve never found it useful, but I’m also faster at typing than drawing or annotating. I used to always by the pencil to go with the pro, but stopped doing that a couple years ago because I simply never use it.
It's definitely quicker to type. But it's quicker to draw than type if the scenario isn't suited to textual description.
> This is the solution being applied before the problem again. It is a case of applying compromises to fit the solution into the available device rather than look at the problem and choose a device suitable for it. I travel with my iPad. It's fine for that. But I'm certainly not going to be writing up anything extensive or writing any code on it.
To each their own I guess.
> I prefer not to shit or wash where I compute :). As for the surfaces, the iPad is the least flexible device. At worst you have to hold it constantly which is painful after an hour or so.
11in iPad isn't that heavy, I use it for hours on end this way. Don't skip arm day?
> Having used Swift Playground extensively, I think you must be living in the future where they fixed all the show stopping bugs and crashes. It's totally unusable for me and doesn't meet even a minimum bar for quality.
Maybe try the new version? I don't know what to tell you. It works great for my primary work which is in SwiftUI and app development.
> It's definitely quicker to type. But it's quicker to draw than type if the scenario isn't suited to textual description.
Never in that scenario personally.
----
It's almost like personal devices are used in personal ways and your weird application of "logic" to peoples decision making processes differs from how others think.
You have to carry a separate keyboard and mouse/trackpad for a laptop if you want to use it ergonomically, anyway. The built-in stuff is great for occasional use, but awful as a main interface over long periods of time. You need to be able to have the keyboard and pointer way under where the monitor is, not stuck permanently to the bottom of it.
I think I don't want a laptop, but the only thing preventing me from getting the most powerful iPad is Apple policies, you are right, when you put a keyboard on the iPad it weights as much as your MacBook Pro, but then the tablet is on his desk, and the ability to remove it and just use it in the bath to read something, or to hang it to a iron arm and watch a video are not that easy with a MacBook, as soon as iPad supports virtualization and proper development workflow I am sold, I go and never come back to laptops (but I don't have laptops, only the work one)
Another potential benefit of the iPad over macOS alternatives: you can get a waterproof case for an iPad. There’s just no easy way to make a macOS device waterproof.
As for virtualization of other OS on iOS: already exists!
Beware - performance isn’t great and you can crash your iPad (I’ve don’t it — it was quite scary as I had never seen that happen). The iPad just doesn’t have enough memory to make running a VM a viable option for coding on an iPad, even an iPad Pro.
(My experience from a few years ago on an iPad Pro 12.9).
I think it could happen given legislation allowing easy sideloading of apps and competition on app stores, and maybe a production simplification where it would make sense to use the same CPU on both Macbook and tables
Oh, my bad. Though I'm pretty sure it was free when I got it way back?!
Kind of irritating that you can no longer see the the price of an app you have installed.
I think you're extrapolating that far beyond the specification.
Honestly I've actually tried to sit and write code on an iPad. I forced myself to exclusively use one for 2 months. It's one of those things where it's entirely the wrong tool for the job. Casual note taking perhaps but that's about it.
I write a lot of code on the iPad (more than 40h/week, both webdev and native, since at least 4 years) and I like it better than using my (aging) laptop or a desktop computer. It's incredibly smooth and forces me to do mostly one thing at a time. I find it a better match with how my brain works. That being said, you cannot do everything on it, but that is part the point.
> I think I should just take the MacBook Air with me.
This is the core differenciator: people who don’t take a MBA with them will benefit from the product.
And there can be so many reasons. Obviously not everyone buys laptops. Or they might not want to bring the work laptop on a trip but still have an option to do some coding by just pairing a keyboard. Or they hate the laptop keyboard and bring an external keyboard with them anyway. Or really love iOS and prefer the iPad. Or they killed a laptop screen when bringing it around on a tough trip and don’t want to do that again. Or they have cellular on the iPad.
What I see a lot at airports is: people traveling with ALL of the following:
- mobile phone
- iPad
- Laptop
So each time another smaller device gets invented people just _add_ it instead of the smaller devices replacing the bigger ones. So despite all the technical integration, the weight of people's hand luggage (gadgets + adaptors) actually goes up, not down!
Yeah exactly and each device has a time & place imo too, while I said travel without - I typically don't. But when it comes to the device I can wield in a given scenario it absolutely depends, having the options is great.
Half of these are the problem I faced and solved with the bigger iPad Pro. I prefer it to my macbook for a lot of things, and that’s what I’m typing this response on.
Would you have the same approach to desktops vs laptops ? You would sure acknowledge that a 5k screen tower desktop on Gb LAN, TBs of disk space, no compromise CPU, powerful graphics card with an excelent keyboard is a better coding machine than a MBA in the absolute. But I don’t see someone explaining using a laptop for the same tasks as “working back from the solution to the problem”. Different form factors have different trade-offs and their pro and con.
I bought an M1 iPad Pro (12”?) last year and feel about the same. The processor is overkill and the battery life suffers as a result. It’s bulky, not nice on my lap (w/ keyboard) and is heavier than the more capable MBA. It does have some redeeming features which stop me from selling it:
+ Excellent mini-LED screen (some bad ‘blooming’ effects though)
+ It’s highly portable without the keyboard
+ It’s great for weird locations, like watching something in the bath, or while cooking
+ Enables me to easily sign and fill forms without printing
I am disappointed by the offerings for note taking with the pencil. I’m nearly through with a civil engineering degree and have had the iPad for 2 semesters. I thought this thing would be super handy for marking up plans, highlighting in textbooks, making hand-written notes in class… nope. I’ll read a pdf on it every now and then, but I find all of the other tasks too cumbersome to repeatedly perform on the iPad.
Notes are annoyingly stored inside apps (goodnotes) until you manually export them. Goodnotes itself is not very ‘good’ either. It’s clunky and turns the device into a space heater. I cannot find a pdf/note-taking app that:
+ Doesn’t have intrusive menu bars that are permanently on
+ Has sane keyboard shortcuts
+ Can edit/markup pdfs in-place without ‘importing’ them
+ Has a smooth drawing feature. (Goodnotes is smooth. Apple default is crap)
+ Has drawing tools that are more than just making squares and circles
+ Has good support for equations and scientific notation (OCR or other interaction).
Have any other science or engineering students found anything better than goodnotes or notability?
Concepts (https://concepts.app/en/) has been my go-to for several years. Several engineers I know use it for much of their draft work. I don't do much beyond diagrams and wireframes, but I think it covers at least half your points, and the UI is pretty wonderful.
Last I checked, you can markup PDFs in iCloud without importing / exporting, but YMMV.
>The killer app I find with my iPad is when you need pen input. For drawing, doing route planning in OS maps and general research and note taking it's an amazing little device.
this is one of things I still love about Apple (being Mac user since Apple II). They really done their market research and how users use the devices. Each device is designed for some specific purposes on daily usage.
At least for me, I do'nt have a Macbook Air. I've got a 10" ipad air, and a 14" Macbook Pro - this would make a huge amount of sense for me for travel.
This is so good. Back in undergrad I had a setup with a powerful PC at home running Linux with jupyter notebook running. Then I could connect with my iPad from the university and get all the power. This makes me want to try that setup again!
I do not understand why people can be happy with the artificial software barriers. I'm really happy with my Apple M1 but I'd never use it if I could not run Emacs and free software on it.
Cars, dumb TVs, dishwashers, etc. aren't general purpose computer platforms. There's no market for running arbitrary software on them, nor do they contain a web-browser.
Smart TVs, game consoles, phones and tablets on the other hand already are general purpose computers. It is possible for someone to run whatever they want on them, be it by jumping through all the hoops or just by hosting a website. These artificial software barriers exist purely as anti-consumer rent extraction; they don't limit the functionality of the device beyond putting a price on participation.
The marketing website totally sold me on it, but as soon as I opened the App Store and saw that it's only 3.9 stars I decided I don't really want to pay for it. The only reason I bother to start using apps under 4.1 stars is if I have no choice. 3.9 stars hints that there is a major problem with the app that the developers haven't addressed. Meanwhile, the similar app Textastic has 4.8 stars.
My 4.8 star rcmd app (https://lowtechguys.com/rcmd) had 1 stars on the Germany store for a long time, because one guy gave a 1-star "App is terrible. It isn't working." review.
I responded as soon as I noticed the review (App Store doesn't notify me for some reason) and the reviewer never responded back. The issue was most likely on his side, because some keyboards send the wrong Command event (Left instead of Right)
Screenshot (it has 4.3 stars now in Germany, thankfully because of other 5 star reviews): https://cln.sh/mmWPd8
Just trying to say that you shouldn't put too much price on the reviews. A lot of the most vocal reviewers are those that don't understand what the app should do and give it 1-3 stars because they think they were robbed when the app doesn't do what they expected.
They don't even know that they can ask for a refund within 14-days of the purchase and nothing is lost.
Another option people may want to consider is hosting a version of Code Server[1]. I do this with my iPad Pro and it has been incredibly convenient.
I even have it configured so that ports can be routed to via my domain, meaning I can do web development with a local server on port 3000 and view it live at 3000.my.domain.tld.
It’s not Code-Server, but actual VSCode with additional fixes for mobile backed in inside Blink itself. Which is extremely awesome, having this in mind you can connect to variety of services to start coding on the fly(Codespaces, Gitpod, etc.) without thinking about setting up VPS.
GitHub Codespaces works decently well on an iPad as well. I had to send in my MacBook for a repair that took and week and I managed to use the iPad with a bluetooth keyboard and mouse fairly successfully. It was a web project, so that helped.
I wrote a program on the iPhone once using Pythonista. It was a little slower to type but I found it kind of revolutionary.
I started writing it on the couch while watching tv, then finished it lying in bed. It was just such a relaxed experience compared to sitting up straight at a desk and forcing myself to write. It’s hard to describe.
Maybe I could code on an iPad Pro, but definitely not an iPhone. The thought of coding on a phone is terrifying, unless you're one of those people who is super good at manipulating text on a phone. I'm not one of those people.
I’ve written short scripts on my phone using Pyto (https://pyto.app/). It’s a bit of a hassle but if you just need to write ~15 lines or modify some copypasta it’s not too bad. The Pyto GUI feels sympathetic to phone users.
Different preferences. Some people are in situations where they only have a phone and want to be able to do something. The app shouldn’t be restricted to iPad only due to lack of imagination.
My friend wrote two(!) novels on his lunch breaks using an iPhone and a Bluetooth keyboard.
I've been looking for a good code editor for my phone for a very long time already. This looks supernice, but I have an Android smartphone... Can anyone recommend a good IDE that runs on an Android phone?
Looks great, just a comment on the marketing screenshots. There seems to be an awful lot of "wasted" space in the editors. Maybe at least consider showing code that is a bit wider ? ~80 chars? (maybe HTML Code?) I feel like horizontal space is way more important on a 9.7" screen than on a 24" monitor.
It's $5. Even if it sucks and I only ever used it once, it's $5. I spend way more than that on a book I know I'll only read once.
Our sense of value is kinda skewed these days when it comes to app costs. Probably because so many folks believe that ad supported free apps should be the norm.
On Mac/iOS, Notes is hard to beat honestly. No I can't code in it, but I don't want to code on my phone and on my laptop I have other tools to code in, sorry..
I will agree that Notes is pretty awesome. But, and it's a big but, it's not at all portable across OS. This bit me recently as I had to switch to a PC for recording, and the sudden loss of access to all my notes was a bigger blow than I'd expected.
I took that as a sign, and take notes with synced text and markdown files now.
No idea why this got voted down. The app in question is for Apple ecosystem, it's not cross-platform. In the Apple ecosystem, yeah, Notes is simple, capable and hard to beat
"Develop software", which means writing code without the ability to run them, or the ability to compile multiple files as a "project", like all the other code editors on iOS?
I stopped paying attention to these apps because of how App artificially limit what apps can do. Writing Java offline? Good, but you can compile one class at a time, and the possibility of importing another user package is thrown out of the window. This makes it only useful for absolute beginners. There are alternative approaches, e.g. using a web browser, online compilation (which is not too different from web browser) and using a terminal that happens to support JDK. I saw developers literally say "Don't write reviews to complain, we have to follow the rules"
Which is sad because these devices as expensive as $1k are very powerful and have all the necessary APIs to make that work, it is only the app store rules that prevent the device from becoming a "real" computer