Hi dear Plan9 fellows,
my Name is André Günther. I'd like to participate in the gsoc with an
implementation of a drawterm on the iPhone platform.
In this Mail I'd like to do the following 2 things:
1) Say some words about me and motivation of this project.
2) Present preliminary suggestion how I would proceed with the project.
I'd like to ask you to:
1) Discuss if this project is actually wanted.
2) If 1) is positive: Discuss my application.
Me and my Motivation:
I am 21 and an undergraduate in Philosophy and Cognitive Science at
the university of Freiburg. During the course of my studying i've been
taking several computer science classes. The reason I am not studying
computer science is, because I have the feeling for problem solving an
autodidactic method is sufficient for most cases and for which it is
not I am taking those specific classes.
I have about 8 years experience with programming C and working in unix
like environments. I am working on the mac platform for about 5 years
now and aquired some ObjC skills. That means I have done Cocoa
development. So I am familiar with apple like APIs and also the whole
XCode environment. I haven't done any iPhone development yet, but I am
pretty confident, that I can acquire those skills with my background
in no time. (I have no apple developer license for the iPhone, but I
have an iPhone and I am able to test custom applications on it. I
would of course apply for a license if I do the project)
Unfortunately I can't show you any recent work of mine, because it's
all internal university stuff I am doing for the lab, which I am not
supposed to post anywhere.
I've been following Plan9 shallowly for some while now. But just
recently got more into it. I am using it exclusively in a Qemu/
Drawterm fashion. I'd like to explore more of Plan9 in the future.
Though I don't feel confident just now messing with kernel sources or
other important infrastructure, a drawterm port may just be the best
thing to do. My mac experiences will come in handy, too.
Why is the port necessary?
Well Plan9 is awesome. Being able to drawterm into it with my iPhone
would be totally awesome. I don't know how you guys feel about this.
Please discuss!
How to proceed:
Because I might have just failed with the above text, I don't want to
go into much detail now. Still a small outline here:
I think there are two parts to the question:
1) How does drawterm theoretically transform into an iPhone
application.
2) What are the technical things to deal with
1) is much about interface design. Clearly the iPhone doesn't have a
keyboard nor a three button mouse.
For the keyboard it might be sufficient to provide the standard
onscreen keyboard apple provides. For the mouse I haven't yet wraped
my mind around the problem. Double tapping and gestures come to my
mind though. Another possibility would be to have onscreen virtual
mouse buttons, but that might be not the best solution.
Also Bladerunner type of zooming gestures might come into handy, with
such a tiny screen, which is clearly another limitation of the
hardware platform.
2) The drawterm code base is pretty much self contained and C based.
The iPhone OS is pretty much a stripped down OSX and should be stable
enough for that and doesn't amount to much more than a recompile.
So the main part is providing the draw/audio and other devices.
Reusing osx code is not possible, because the iPhone doesn't share
that particular API the code base is using.
Here a new implementation using ObjC and the iPhone API is necessary.
Best wishes,
André Günther