
Android device as dev machine - 6ren
https://market.android.com/details?id=com.spartacusrex.spartacuside
======
cryptoz
Oh this looks awesome! I am so excited for the future of developing on
Android, with hardware keyboards and devices like the Transformer Prime. I
can't wait to try this out. The idea of carrying around just a tablet and
being able to write Android applications on the fly is just too cool.

I wonder how far we are from a total replacement of old desktop operating
systems in the mainstream, even for developers? I'm aware they're not going
away since there will be millions and millions that cling to them. But they
may become specialty cases, not sold on computers in stores, etc.

~~~
fredley
I honestly can't tell if this is sarcastic or not. The idea of developing on
anything without a fullsize keyboard makes me nauseous just thinking about it.

Handy for tweaking something on the go, but developing projects (especially in
such verbose languages) on a pocket-sized device would be incredibly painful.

I'd be interested to see how this works on a laptop-ish Android device though.

~~~
jerf
The future is a cell phone that can be plugged into a dock that has a monitor,
keyboard, mouse, other sound, additional power, possibly additional cooling,
etc. None of this is a particularly far-out projection, either, as USB pretty
much does everything necessary to enable that, it just hasn't quite been done.
(Close, though. There are existing Android cell phone/laptop hybrid thingies,
and they will only develop further in this direction.) Specialists may use
laptops or desktops for various high-powered computing needs, but it would no
longer be the common case.

Unfortunately, the cell phone in the cell phone is really hobbling the whole
process, because that attaches the future of computing to the whims of the
cell phone companies. That dependency needs to go.

~~~
6ren
I've long thought this, but there may be a problem...

ARM processors probably can't get much faster without an unacceptable loss in
battery life - for e.g., the iPhone/iPad are underclocked, and the Tegra 3
quad-core in the new Transformer Prime has three modes, each with lower
clocking. Batteries might address this, but their rate of improvement is slow
(no Moore's law there). The apparent solution is "multi-core", but we aren't
able to parallelize in general, after decades of research. Note that desktops
are stuck at quad-core - there's more cores on server chips, but they are
usually doing many tasks already (e.g. webserving). The dramatic multi-core
progress is in GPUs, which again is a naturally parallel domain.

You _could_ switch to power-hungry performance when docked, like the
Transformer Prime... but it seems a bit of an ugly chimera in general. If
performance is needed for development, then x86 desktops will win. Eventually,
ARM could catch up to what is needed (even if x86 keeps ahead) - but if this
is to simultaneously satisfy mobile needs, it will be at a _much_ slower pace
than Moore's Law.

An ARM _purely_ for desktop could catch up easily; but what benefit does it
offer over x86, if its power-consumption advantage is irrelevant? And it lacks
the massive ecosystem of x86 software. But that's not the idea discussed here,
of a dockable mobile device.

Other factors: (1) ARM SoC is cheaper and smaller than x86; but Intel has made
a SoC x86. (2) people like the convenience of the same data, apps and UI for
mobile and desktop; but cloud provides the same data; webapps address the same
apps and UI. A prediction: the iPad 3 won't be quad-core. It's too hard to
convert multi-core into user performance, so it's an efficient use of power
and silicon. Instead it will have masses of GPU silicon (at least x4 the iPad
2, for the x4 pixels in the retina display - possibly x8, to give an sense of
improvement in addition).

tl;dr battery life and multi-core prevent an ARM-based dockable desktop.

~~~
jerf
I never said ARM. ARM != mobile, a point you make yourself but apparently
didn't follow through to its logical conclusion. I also _did_ say the future.
Only prototypes exist now (though they _do_ exist), but I don't expect
widespread adoption for at least another three years. In three years, a cell
phone with at least as much power as a netbook of today will be perfectly
feasible.

I don't much care what's in them. I'm much more interested in whether they are
open computers with a cell phone attached, or closed cell phones with vaguely
computery locked down capabilities.

~~~
6ren
These are just my thoughts, I wasn't attacking you. I was hoping for a
refutation of my argument, if you can spare the time.

BTW: arguably, a cell phones are already comparable in performance to
netbooks: my old eee PC has a 900MHz celeron (though less powerful than
today's netbooks); the samsung galaxy 2 has a dual-core 1.2 GHz Cortex-A9, and
the Transformer Prime has a quad-core 1.3 GHz Cortex-A9 (though that's a
tablet, not a cell phone)

 _EDIT_ I should point out we're on the same side: I've said what you say
(e.g. <http://news.ycombinator.com/item?id=2014578>), and I submitted the
present story.

------
caller9
"Also vim has been setup by default in a humane way (arrow keys work,
backspace..), so that starting on this long and glorious journey won't begin
with a punch in the face."

Awesome.

~~~
kruhft
What would be more awesome would be including emacs as well.

~~~
jsnell
I had been wondering about why there were no editors with Emacs keybindings
around, and it turns out that the reason is that they just wouldn't work very
well.

The Android keyboard event model has horrible handling of modifier keys.
Basically it's a total crap-shoot whether a chord is passed through to the
application or silently eaten. So you might e.g. get events for something very
simple like Ctrl-A, but not Ctrl-Space or. Meta-Left.

And even rooting your device and editing the key mapping files to specify
outputs for these chords doesn't necessarily make them available to the app. I
haven't dug too much into why. If anyone knows, I'd love to know.

~~~
kruhft
That's unfortunate, but as I'm seeing through my own development and
exploration, android is a lot less 'hacker' and a lot more 'consumer' than I
originally thought it would be.

------
vinsanda
It's great application, last couple of days I was searching to change the
hosts file to test localhost mobile web app. But it was difficult to root
access and push the host file to the android system. Anyway this may help to
all the things.

------
Karellen
Is there any android hardware out that could make good use of this?

I'm thinking a phone with a mini-HDMI port, so whereever I go I can just
connect it to any real monitor which is to hand. If the thing can act as a USB
host, add in a micro-USB to full-USB dongle, and I can connect a real keyboard
and mouse too.

What'd be even nicer would be a deck-of-cards sized "docking station", which
could have 4 full USB ports (keyboard, mouse, thumb drive, spare), VGA out,
and wired ethernet.

------
hack_edu
Can someone point me to an IDE as awesome as this but for iOS? This will go on
my phone, but I want something awesome like this for my iPad!

~~~
pvarangot
I'm not completely sure since I have no experience with almost nothing made by
Apple, but I think the terms of service of the iOS App Store disallow
compilers/interpreters. Also, you can't run unsigned binaries.

If I'm accurate, both of the aforementioned policies are sort of showstoppers
for an IDE, except maybe for jailbroken devices.

~~~
hack_edu
Yeah, I was worried about that. Such a shame; Apple's the only one losing out
on the opportunity. Codea rocks, but I'd like to see a more useful editor.
Even without a real compiler or debugger.

------
mlntn
Pretty cool and I almost installed it before I noticed it was the largest
filesize (31MB) of any Android app I've ever seen.

~~~
bogdand
I gave it a try, and it's great. Love the keyboard and vim :)

------
jimrandomh
This is awesome! What I'd like to see added next, I think, is gcc - I'd like
to bootstrap from there to a package manager to installing all the other tools
I'm used to having in a command line environment. Vim, bash and javac are
nice, but I can't use it to work on my existing projects unless I can compile
their dependencies.

------
clvv
The problem is the lack of an efficient input method. I personally haven't
come across any good soft full keyboard. And special keys won't work on
bluetooth keyboards on old Android versions. I personally do not have a ICS
device yet, but I think it's definitely possible to develope on ICS if the
input problem is solved.

