So, you would actually program on the phone?
This is going to sound crazy, but I've been doing something halfway
there for a while now. Because I have a regular job and little free
time, and my commute is like an hour or more on the subway (total, not
each way), I bought a Samsung Q1 Ultra and actually program on my
commute. I have linux on there, intellij idea and eclipse. I didn't
actually run the emulator, but did coding that I ran at home.
The two big hurdles are the lack of real keyboard and the screen size
makes programming difficult. Other than that, processor speed and
whatnot are distant thirds or less. The keyboard and screen size are
the biggest problems, respectively.
My Samsung sucks to program on, but for what it is, its ridiculously
good. The screen size isn't so bad. There is a mini split keyboard.
Not great, but it works. Its what I needed. The real value wasn't
for programming so much as getting me geared up before I got home, and
to do some thinking about the app.
My suggestions would be to focus on the hot key/macro support. I
think if I'd spent a few hours defining hot keys in Idea that worked
really well with the Samsung, it would've been significantly better.
This will help with the keyboard issues.
My other suggestion would be maybe focus less on full development and
focus instead on a "tweaking" platform. Maybe you could edit the
layout xml files, or the styles, animations, etc, and have them
immediately, or as fast as possible, rerendered. "Face" the app while
on the phone. This would, of course, also work in the emulator.
Literally programming on the phone is slow, but changing layouts and
other stuff on the computer and redeploying on the emulator is also
slow going the other way. You know?
A graphical layout designer, that could actually run on the
emulator/phone. Ehh? The app would work as usual, then you click a
menu option or some key combo, and the layout becomes editable (under
the hood it actually swaps out a different activity or whatever). You
move stuff around, hit "Done", and it sends all that to the dev
server, recompiles and whatnot, then reloads.
I assume your system does the recompiling and whatnot that way. I
think the graphical layout editor would be a really cool addition. If
you've already built that, say hi to the other 49 for me.
Yes. There are "themes". I actually used the "Light" theme in my app
as the base. They didn't really update it to look good in m5. Dark
and light looked similar in m3, but only the Dark theme got changed
for the update. I had to do some significant massaging of the theme
to make it look better.
Why did I bother? How many apps are going to have the Dark theme?
98%. I figured sticking out a little doesn't hurt.
I didnt' really mean a visual designer for the theme anyway. Having
said that, I'm not sure what would be wrong with it. There are visual
css designers all over the place. I do it by hand, but that's not
everybody.
I was referring to a visual component layout tool of some sort. Like
the various swing gui design tools.
The part where you lost me is the "good enough" argument. What does
that mean? Was Emacs "good enough"? Its a great app, and I used to
program in it, but now I use Idea and Eclipse. Weren't horses good
enough? I guess if you're concerned with global warming you might say
"yes", but that's a different discussion.
Making the screens for android is probably less painful than other
phone platforms, but I did much of my mockups in a web application
because it was easily an order of magnitude faster. What would be
nice is something that puts the components on the screen, lets you
drag them around and set properties, builds the R resource class, then
(maybe) adds them as fields to your activity. Like the endless line
of desktop gui designers.
But what we have is "good enough" for now ;)