iPhone 6 + Prompt (a SSH client) + tmux + Neovim/Vim + a remote dev server
for Android phones use JuiceSHH instead Prompt
Usually I use a notebook sshing to my dev server but when I am on the go and get good ideas I immediately try them on mobile before getting home. With tmux I am still in the same session having easy access to all windows and panes. Vim's key bindings are the best way to use an editor on a phone anyway. All very satisfying and not much slower. Sometimes when I need to go to bed and still want to play around with the code the same: I tinker a bit more till I fall asleep.
Or today: I read about a new JS NLP library on my phone I want to quickly test: I just start Prompt and type "npm i nlp_compromise", fire up Vim and play around.
I am quite fast with the iPhone keyboard and I think the reason is that I use the keyboard in general without any assistance, so no spellchecking, prediction, etc. Just the plain keyboard and after a while using it like this you get super good and fast (it took some weeks though). The keyboard of the iPhone is also one of its features I like most: it's extremely responsive and never lagging.
Prompt extends the iPhone keyboard well: you get Ctrl, Alt, Tab and more keys nearby and aesthetically very similar which I like. Prompt is quite slick and iPhone's iTerm.
So, it's not about doing entire projects from A to Z on your phone but it can get ultra productive when your are away from your computer and get those 'shower thoughts' you haven't gotten for three hours sitting in front of the screen. Then a phone as a devkit comes quite handy.
I spent an embarrassing amount of time yesterday figuring out why login forms in my app were incredibly laggy to text entry with stock keyboard + Safari.
Root cause? Had hundreds of login items in the keychain for that domain. Whoops!
Like if you were flying or something sure I guess writing something in notepad then emailing it to yourself later...
But writing in bed? Please.
So with jj you get from Insert to Normal mode and from there just : either from the keyboard or from Prompt's extra keys.
All like on a normal notebook.
You would also probably need to write your own in app keyboard to make typing (),#,',,/ ect easier or buy an external keyboard. Other than my insane idea of FB school I've never tried to be productive on a phone beyond ssh into a remote server to fix something.
My goal was to code offline from my iphone. I was motivated from a trip to Jamaica to chill out. I don't code for work anymore as I have ended up in marketing. But I started coding since I was 4 and I miss it a lot. So I figured it would be fun.
Hopefully this year I will have a Pyra (which actually can double as smartphone) and hopefully I will have progressed with my 'visual IDE'.
Edit: what surprises me is that not more people are working on this; we have more touch devices than anything and more (aspiring) programmers than ever; there is a market and a greater good there.
Do you use a certain mobile app specifically focused on code reviews?
otherwise, I'll often use a "wifi keyboard" app: https://play.google.com/store/apps/details?id=com.volosyukiv...
But there's other issues too that will need to be fixed. When I plug my tablet into my screen Firefox's menu stuff takes about 1/3 of my monitor with no way to adjust the resolution and no way to go fullscreen in the browser.
https://news.ycombinator.com/item?id=11685845 might become pretty awesome, there's a myriad of traditional-ish browser-based IDEs available too.
The writing experience was decent, and I liked how few distractions I got when writing.
Was even able to do corectures without the bt-keyboard, combination of Vim-touch and thumb-keyboard (that has easier access to braces) made it reasonably possible.
I also use Hacker's Keyboard on Android, but on tablets I sometimes don't find it comfortable when I would like to type with my thumbs. Does anyone know a good alternative/solution for tablets?
Some time ago, I ran into a series of posts where someone used an iPad, a bluetooth keyboard and a Linode server to do work. It's not exactly smartphone-"have everything in your pocket" purism, but it's close enough.
These are the 2 blogposts related to that:
It's also nice to see 2 other blogposts of his on the same subject:
My workflow is essentially to think through the problems im going to encounter, make lists of everything, define naming for things that have to be thought through. (All these things are easy to do on a phone) So when I go to actually write the code I can just reference my document and essentially only write the logic on a computer.
The trouble is the lack of feedback. Pythonista can run the script, but if for example I need to edit a django project I'm out of luck.
With ssh + VIM/Emac this could work, but then I find it harder (and I don't like, don't wanna learn that!) even for basic stuff (specially, without a keyboard). Some people are sucesfully with it.
My dream is that textastic/pythonista or similar integrate SSH and the ability to run commands against a server, and have the source sync on save.
Replacing my laptop later this year will cost ~$2k, along with endless time and attention and so much otherwise-useless knowledge to keep it operating and secure and configured. I get bugged every day by software asking me to watch an update download. Every time I boot my computer 2 or 3 different game clients somehow all have 50 - 100 meg of updates.
None of that helps me write web apps.
You should start by setting up a proper environment on your PC that is "distraction free". You are not going to be more productive on a phone when it comes to writing web apps. All is required on a PC is a cli with SSH and a browser. I'm saying that as I'm typing on a $250 dollar laptop that I use everyday for Java development, and it still boots under 10 seconds on windows 10.
I can listen also to podcasts / video courses.
It works pretty good for looking at on-call issues.
For travel I had to get some work done at a conference and decided to skip my usual stuff try out a larger display. I used an HDMI cable and a hotel TV with my little keyboard and stand. It worked pretty ok!
I used VDI to do business-y stuff, and prompt to do UNIX stuff. It worked well, but I wouldn't want to do it every day. The lack of a good mouse style interface is limiting.
On another interesting note, it seems the internet continues to be designed around people that just don't know how to type.
We may need to design a wholly different language/editor combo to make it feasible.