"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."
That's incredible. I've wanted something like that for a while now. Thanks for pointing it out. Are you aware of a vim oriented one anywhere? (I switch back and forth on which I prefer given the time of year / language of the hour)
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.
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.
Good point. The whole reason for using the keyboard is to avoid the 'cache miss' of moving your hand to the mouse. But on the ipad, the keyboard and screen are all the same, so it might actually be more efficient to use gestures
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.
It's a webbrowsingappliance. 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.
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.
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.
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.
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.
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?
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?)
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.
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?
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.
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).
My N800 manages to be an "Internet Tablet" and have XTerm installed by default. Using it isn't necessary but it's nice to be able to run command line programs when I want.
I disagree. Does it have, or potentially have a full OS? Sure. So do tons of embedded devices (e.g. home routers), but I bet many of those devices would void your support if you "jail broke" them.
It's meant to be a device, regardless of what you think it's capable of. There is a reason nerds/geeks are never consulted by sales. If you don't like the device then don't buy it. I'm sure plenty of nerds will be out there saying "but! Lets make it a whole computer! Then we'll kill apple!". Buy one of their devices to go with your Android phone. Don't mind all the people laughing as you trudge your way through using them.
I don't think the Author actually cares about emacs so much as what emacs stands for. Emacs represents the Free Software movement, and for it to be on the iPad would mean that Apple has changed their perspective on software development.
So, as an iPad owner who is wondering about emacs, this is one avenue I've considered.
A second: distribute emacs as source and let people who own the developer kit compile and install it. Given the rather large overlap between developers and emacs users, this might not be so bad. But it may be hard to envision anyone going through the effort.
I'd be very curious to see what kind of emacs-like editor could be written in Javascript. Or a hybrid, with a JS front end Ajaxing away to a back end.
And, of course, there's the obvious alternative of writing something that looks and works sort of like emacs but is written in Objective-C. If indeed there is sufficient interest in a serious text editor for the iPad, the BBedit and Textmate folks would appear to be sitting pretty.
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.
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.
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.
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.
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.
Well, the NeXT engineers were firmly in the emacs camp, and that heritage is still present in the Cocoa text system.
I don't know if the iPad text system also supports emacs shortcuts, but if it did I'd rush out and buy a Bluetooth keyboard just as a token of solidarity.
And I suppose the iPhone will also work with Bluetooth keyboards when OS 4 is released. I can't wait to tell my mom that her cellphone supports emacs keyboard shortcuts.
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?
No. Fat-fingering is a real problem on the iPad. Small screen + big fingertips => large minimum size for any hitbox => bad for getting lots of code on the screen
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.
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.
The GPL requires that the source code be made available to people to whom you distribute the program. It does not require that it be publicly availble for everyone in the whole world. Therefore, I believe that bundling the source code with the application, such that they are both purchased at once, would suffice.
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.
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?
"open source" ordinarily refers to code licensed under any of the licenses that are "approved" by the self-appointed board of the "Open Source Initiative". The license terms of those vary wildly and most of them do not give strong protections to users.
What is more specifically at stake here is code licensed under one of the GNU free software licenses that may have wound up in iPhone apps. To my (non-lawyerly) eyes, any programs that include code derived from a third party's GPL or LGPL licensed code are likely being violated unlawfully.
My point was to challenge the assertion that making source code available for apps, libraries, frameworks, etc. that use the iPhone sdk, is in violation of the apple terms.
Regarding L/GPL, which part do you think would be violated if one incorporated such code in an iPhone/ipad app, assuming one makes the resulting source code available?
Lastly, my original comment pointed out that one can port emacs and run on your device. Nobody can stop you because nobody would know.
Other comments have pointed out some factors of the L/GPL problems but I'll point out some and repeat that have not been mentioned yet.
Apps in the App Store are encumbered by Apple's right to disable use of the app by users who have already downloaded it. This is in clear violation of both GPL and LGPL.
Apparently (again, per the EFF) an app sold through the App Store may not be free distributed by other means. Another clear violation.
Also, you may not modify the app running on your apple device unless (and even then, only perhaps if) you sign the app dev agreement. That restriction on modifications is again in violation of GPL and LGPL (to, again, my non-lawyerly eyes and this is lay commentary, not legal advice).
We shall see. I'm confident that as a matter of principle the FSF would not support or endorse ports to these devices but what the EFF's discoveries make me wonder about is the extent of app store programs that are currently being distributed in violation of some of the third party code they use.
Finally, yes, I suppose that one may port GNU Emacs for personal use but, at the same time, it appears to me that one can not share the results lawfully, even with their friends. Taken to the extreme, perhaps everyone interested in running GNU Emacs (or XEmacs) on the iPad can do their own private port after paying Apple some money.
Yes I know. I still don't see how this is relevant to my orignal comment. I never suggested trying to distribute a ported emacs on the app store or in binary form.
Well... It is a stretch calling Emacs Lisp an interpreted scripting language, but the idea remains - an Emacs that's not programmable is just a text editor with hard-to-learn keyboard defaults.
I fail to see the irony.