
Apple: iPad and Emacs - mnemonik
http://jjinux.blogspot.com/2010/05/apple-ipad-and-emacs.html
======
jimmyjazz14
"Emacs was written by Richard Stallman, and it practically defines the Free
Software movement (in a manner of speaking at least). Stallman's vision for
the future of computing is very open, and Apple's vision for the future of
computing is very closed. Hence, it's ironic that Emacs, which is such a
profound part of Free Software history, can't ever run on the iPad."

I fail to see the irony.

~~~
swombat
You know... it's ironic in the _Alanis Morissette_ sense. As in, it's not.

~~~
shrikant
Heh. Reminded me of this - <http://www.youtube.com/watch?v=nT1TVSTkAXg>
(Comedian Ed Byrne picking apart the song)

------
kqr2
Maybe he can try ymacs -- an emacs like editor that runs in your browser.

<http://www.ymacs.org/>

Quick link to demo:

<http://www.ymacs.org/demo/>

~~~
hogu
ymacs is emacs in a browser.

emacs-w3m is a browser inside emacs

I just tried to run ymacs in a emacs-w3m, but it didn't work.

that woulda been cool though, emacs in a browser running inside a browser
which is inside emacs.

~~~
jrockway
<iframe src=...

------
jrockway
The point of Emacs is that you can write code to solve immediate problems. The
point of the iPad is that you can't run your own code on it.

Problem.

But what's great is that you can just buy yourself a $300 netbook that will
run Emacs just great, and you have plenty of money left over to donate to the
FSF.

------
rsl7
We're unlikely to see emacs on the iPad, but it raises an interesting question
in my mind. On the virtual keyboard, since we're not limited to pressing keys,
might there be UI alternatives to the whole escape-meta-alt-control-shift
behavior we're limited to today? control-x could be a swipe, for instance, or
perhaps a larger area of the display could function as various temporary mode-
specific functions. Dunno, just a thought.

~~~
angusgr
FWIW, the iPhone Terminal app for jailbroken users has similar gestures like
this for the common control sequences.

They work pretty well, it just takes a while to remember which one is which
(early on, trying to guess the Ctrl-C swipe can take quite a while.)

------
speek
Would ssh-ing into another machine count?

~~~
dasht
No.

When you give control over YOUR computer to some third party, you are giving
up you freedom. Apple insists on having that kind of control over iPad
purchasers.

I can't speak for the FSF but I think it is a safe prediction that there will
be no support port of GNU Emacs to iPad unless Apple changes its tune.

~~~
lallysingh
Say it with me:

 _The_ _iPad_ _is_ _not_ _a_ _computer_.

It's a _web_ _browsing_ _appliance_. Hackers want computers, full computers.
And plenty of vendors (including apple) sell them in many different
configurations, styles, and prices. Many other people do not want full
computers -- they're a pain to manage and maintain, and their interfaces are
too general-purpose and get in the way.

Complaining about the freedom about an iPad is like complaining about the
freedom in your TV's firmware or (fairly-advanced) toaster.

~~~
bodhi
I've heard this line of reasoning many times, and I've just figured out what I
dislike about it.

The iPad _is_ a computer. It has a general-purpose operating system, and a
_very_ general-purpose input method.

The reason that people like me are irritated is that the limitations that lead
to you saying "[it] is not a computer" are business/social reasons, not
technical. Given that a lot of the people here are technical-minded, it's
reasonable to complain that the iPad is artifically restricted.

~~~
lallysingh
Any line between embedded and "full" computers isn't technical, without
choosing fairly arbitrary criteria. A palm pre runs linux, and has a keyboard,
it's SDK is HTML/JS. Why aren't people complaining about that? I believe that
it's b/c they already knew what a phone was, and that they were happy that
they got some power to hack phones when the smarter ones came out.

The iPad went the other direction. The endpoint's the same -- a specialized
device for a specific set of activities -- but now developers feel that things
have been taken away instead of added. A social reason if I ever heard one.

We're only going to see more specialized devices -- embedded systems are
getting enough power to get really interesting -- so it's best that us hackers
get used to it now.

~~~
bodhi
Ok, so you see the iPad as a "a specialized device for a specific set of
activities", whereas I and others see it as a general-purpose computer, that
is artificially restricted. An iPad _could_ technically run Emacs, but _won't_
due to policy restrictions.

> it's best that us hackers get used to it now

I'd rather not, and I'd rather complain about companies that push computing in
that direction. It seems to be a philosophical difference between us.

~~~
loewenskind
Personally I'm glad that Apple ignores people like you and hope the trend
continues. Hackers (a kind of slang word for "producers") already have a
capible device. It's called a desktop computer. Everyone else is mostly a
_consumer_. Apple has given us the (almost) perfect consumer device. Finally a
machine that can be with us literally all time.

We've tried the "I know! Make it a real computer!" route before. They were
called tablets. Tablets failed for two reasons: horrible interface (stylus,
yuck) and it was a real computer. Netbooks got closer by fixing the interface
but they still suck because it's a whole computer. It took Apple figure out to
forget the computer. Give a good interface in an instant-on device.

~~~
bodhi
I'm not sure how any of your comment is relevant to this thread? I don't want
technical changes, I think the iPhone is quite a fine feat of interface design
and usability -- I haven't seen an iPad in person, but I assume it's just as
good.

Being able to install non-app-store applications wouldn't technically impact
in any way on your, or my, or any other person's use of the device. Does the
ability to jailbreak an iPhone somehow make it less usable for people who
don't jailbreak it?

Edit: discussion -> thread.

~~~
loewenskind
You're asking for it to just be a computer again with a different interface.
We've known for a while that the next big thing in technology would be when we
moved away from this model and started making appliances, etc.

There is no reason for the iPad to do everything. It should do the things it's
good at and we should have other devices to do other things.

If your comment is no more complex than to just say "I want to install what
ever I want!" then you're letting an idealogy blind you. I don't think Jobs is
trying to take away anyone's freedoms. He just doesn't want to get a
reputation for expensive devices that crash all the time. Much of the reason
that windows has such a reputation for not being stable is that anyone could
install anything they wanted. That does give them more flexibility for those
who can use it, but it gives the opposite impression for the less tech savy
(the bulk of Apples market, no?)

~~~
bodhi
I'm not asking for anything. I'm saying that I think it is a flaw of the
device that without paying $100/year, I can only install applications from the
App Store. If you disagree, that's fine, but can you accept that my opinion is
not as black-and-white as you make out?

> just say "I want to install what ever I want!" then you're letting an
> idealogy blind you

What ideology? I fail to see how it is ridiculous to say "I'd like the ability
to install application X" when X isn't in the App Store. This doesn't imply
that I think Steve Jobs must fall over his feet to make it so, it's just
straightforward criticism of a flaw that I perceive in the platform.

~~~
loewenskind
You're welcome to your opinion. Just as, on a public forum, I'm welcome to
critique it.

Do you see it as rediculous to say "I'd like the ability to install arbitrary
things on my d-link router"? Of course you could say "I should be able to do
that and just not get any support if I do". But what about reputation? How can
e.g. Apple ensure that (a) just _you_ can install things on the iPad (i.e.
experienced people only) and (b) that you wont complain that their product
sucks if the unsupported software you load causes your machine to become slow
or unstable?

~~~
bodhi
Actually I don't see it as ridiculous, and neither do a lot of people[1].
Recognising the _technical_ features/limitations of the device, the kind of
software that would be useful is obviously different to that of the iPad.

Your two reputation questions are good. How can Apple ensure that only I can
install apps on my device and not others? I have some ideas, but as I'm not
privy to the internals, I have no idea whether they are feasible or not.
Perhaps an iTunes preference (plist-style would be fine, it doesn't have to be
exposed in the interface) that allows unsigned applications to be added to the
list of apps in iTunes? As for (b), I have no idea. Looking at the reputation
of the Mac and OS X, I don't think it's that big an issue, but I can see the
difference in reputation usability-wise of the desktop versus the Cocoa Touch
products. I attribute this to the difference in interaction paradigms and the
hard work that Apple put in to polishing the UI, rather than the
business/legal restrictions.

[1]
[http://en.wikipedia.org/wiki/List_of_wireless_router_firmwar...](http://en.wikipedia.org/wiki/List_of_wireless_router_firmware_projects)

~~~
loewenskind
I didn't figure you would find it ridiculous, but I think looking at the
expectations most people have of devices that are just as much computers but
don't _look_ as much like computers is instructive.

I'm sure (a) would be feasible in the way you describe, or some other. I see
the problem as (b) and that would trump (a).

The place where I differ with all the people saying Apple is so
evil/closed/whatever is that I've seen Apple, from the beginning as far as I
can tell, be obsessive about their reputation. And it’s hurt them along the
way. It may end up hurting them in the end. But I’ve also seen Windows get a
bad rap for things that weren’t actually their fault. That’s the cost of being
so open and unless Google does a lot of testing they are going to feel this
pain on Android at some point (unless it just never gets enough users).

------
sshirokov
I'm curious what a native port of Emacs on an iPad actually contributes over
an Screen/SSH session on a "real" machine with "real" compilers and tool-
chains.

~~~
jjs
_I'm curious what a native port of Emacs on an iPad actually contributes over
an Screen/SSH session on a "real" machine with "real" compilers and tool-
chains._

To get it running, you'd need (a) the ability to modify, redistribute,
compile, and install arbitrary code (including GPL'd code), and (b) the
ability to run interpreters and virtual machines (emacs lisp).

So emacs itself is just a bellwether for the things he _really_ wants in a
computer.

------
mankoff
I use emacs on my iPhone and plan to use it on an iPad if I get one. It isn't
the official emacs, but is 'mg' the MicroGnuEmacs editor

<http://en.wikipedia.org/wiki/Mg_%28editor%29>

Jailbreak your iPhone/iPad and Cydia will allow you to install Vim or mg, plus
Ruby, Python, etc. MG even supports LaTeX syntax highlighting, although of
course the compilation must be done elsewhere.

~~~
TechDogg
How did you get mg to work on iphone? I try to open a file with mg on my iPod
Touch and I get "bus error".

------
thought_alarm
If you want to try and build a version of emacs for the iPad that would be a
fun exercise. If you bought an iPad with intention of downloading and
installing a version of emacs you're doing it wrong, regardless of how Apple
chooses to manage its app store.

Anyway, Apple ships emacs with OS X, and I think they're one of the last *nix
venders who still installs emacs by default.

How ironic?

~~~
hyperbovine
It always surprised me that Apple still ships Emacs. It strikes me as just the
sort of thing--bulky, unintuitive, feature-laden, slow--that Steve Jobs would
have a personal vendetta against.

~~~
jrockway
Let me guess, you still call it "eight megs and constantly swapping". 1980 was
a fun year...

~~~
hyperbovine
I can only assume it was, seeing as i was conceived around then.

A 3-second lag to start a program you use thousands of times a year adds up.

~~~
jrockway
You reboot your computer thousands of times a year? You might want to have
that checked out.

~~~
hyperbovine
Zing!

------
yurifury
I was anticipating an explanation of multi-touch allows the iPad to become a
productive coding platform. Typing would still be slow, but is efficient code
manipulation with emacs + iPad feasible?

~~~
apgwoz
In an all keyboard controlled app that relies haevily on chording, not a
chance.

------
joubert
If you have an app store account, you can port it, install on your iPad, and
make the code freely available so others with app store accounts can also
build & install on their devices.

~~~
dasht
Actually, from what the EFF is saying, you almost certainly may not port GNU
Emacs to iPad or, for that matter, offer any derivative work of a GPL program
in the app store.

If you agree to the terms of the App Store developer license, it appears that
you would violate the GPL.

See: [http://www.eff.org/deeplinks/2010/03/iphone-developer-
progra...](http://www.eff.org/deeplinks/2010/03/iphone-developer-program-
license-agreement-all)

~~~
kqr2
_App Store Only: Section 7.2 makes it clear that any applications developed
using Apple's SDK may only be publicly distributed through the App Store,_

I think this is the most relevant section. Any distribution mechanism that
bypasses Apple's app store is strictly verboten.

~~~
joubert
So you can then still port it and install on your own device.

~~~
kqr2
In your original comment:

 _make the code freely available so others with app store accounts can also
build & install on their devices._

If you make the code freely available so others can install it on their
devices, then you would have a distribution mechanism that bypasses the app
store.

You can do it, however, it violates your agreement with apple.

~~~
joubert
Yes, I realized, after I writ my first comment, that sharing the source code
would constitute an alternative distribution mechanism (if i just share with a
couple of friends, does that constitute "public distribution"?). Hence, my
comment to which you responded focused on the first part of my original
comment, which pointed out that it is entirely possible for one, if one is so
inclined, to port emacs and run on your device. Perhaps not practicable, but
possible.

EDIT: actually, I'm thinking about this some more: are you saying that iPhone
source code (for code modules, frameworks, etc) available online are violating
the prohibition on alternative distribution?

~~~
rsl7
hang on. Distributing an xcode project is not the same as distributing an app.

------
krishna2
I know JJ - he is a die-hard Vim fan! :)

