In the case of eBook readers, none of them allow you to save books to the iPhone itself; you have to upload (or purchase) the content on a third-party server and stay online in order to read anything.
That's not correct. I've used Stanza on my iPhone many times without any network connection whatsoever, reading the epub files I've created on my computer myself. They are stored in the application document directory, and Apple doesn't have any issues with that.
There are also some apps like Air Sharing, that offer a Webdav service for transferring any files from and to the iPhone (in its own directory, not the whole file system).
Both apps are available on the iTunes Store.
You can apply a FOSS license to the code, yes, but it's not really free software because it's impossible (without jailbreaking the iPhone/iPod) to run the compiled code on the intended device unless you pay the annual developer membership fee.
The code itself can be free. For example, you can still run the app in the iPhone simulator without paying anything (or even owning an iPhone for that matter) -- except for the Mac itself of course. You being unable to transfer the compiled code onto a platform of your choice doesn't affect the code.
* want your apps to be able to download, save and play back locally-stored media
"3.3.13 If Your Application includes or will include any other content, You must either own all such content or have permission from the content owner t use it in Your Application."
* want to write free (as in speech) software
"3.3.16 If Your Application includes any FOSS, You agree to comply with all applicable FOSS licensing terms. You also agree not to use any FOSS in the development of Your Application in such a way that would cause the non-FOSS portions of the Apple Software to be subject to any FOSS licensing terms or obligations."
SMS actually has a limitation of 140 bytes or 140*8 bits, which are also 160*7 bits. AFAIK both 7bit and 8bit encodings are supported, but usually 7bit is used.
I'm pretty sure there are some apps that have already been developed, since the SDK has been available for some time now. Of course they can't ship them unless they actually have tested it on a device.
In other words, a thinner, lighter, "keyboardless netbook". And the ability to run everything your desktop does, connect to its network shares, etc etc.
I agree with you in the sense that this is what will happen. The reason is that the hardware developers are like you: completely missing the point of the iPad.
Imagine dragging around windows on a 10" screen using a touch interface so you can see the stuff you're working on. Imagine trying to control emacs using an on-screen touch keyboard. Imagine using applications that were designed for a 24" display at 1920x1200, so you can't see half of the dialog boxes due to their size.
The point of the iPad is not its size or performance, but the way you interact with it. Just try to search on youtube for one-year olds that are using an iPhone to look at pictures etc. There are lots of those videos. And now imagine telling a one-year old boy "to look at the pictures, you have to open the file browser from the menu at the top, locate the directory where those images are stored and switch to thumbnail view".
It's certainly possible to create a Linux tablet in a way that it's just as usable (with some custom programming), but my prediction is that it's not going to happen. That's because the hardware developers don't get it. Additionally, you would lose the ability to run any already existing software anyways.
The apps that need that kind of thing (like ebook apps) usually just open an HTTP server on the phone you can connect to from your computer over the network.
Linux is an engineer/hobbyist's OS. You can make it do anything you want, including update itself without breaking stuff and other things that would make it suitable for your mom.
Yes, that I can agree with.
If you are capable of knowing that nVidia's driver existed, and capable of installing it, aren't you capable of writing a simple shell script to handle the driver reinstalls?
Well, I think I'm a bit unusual for a programmer in that regard. I know how to do this stuff, but I just don't want to. My spare time is very short already, and I don't want to spend it fixing problems that shouldn't exist in the first place. I just want to get my work done and then do something productive (I'm not paid by the hour).
I guess that's why I'm one of the comparatively few programmers using a Mac.
I just remembered what happened when I set up the system.
It did offer to install the driver, but that one wasn't recent enough for me, since I needed the newest one for running CUDA. So I resented to installing the one from the Nvidia page instead, which apparently you shouldn't do.
The others in this discussion are probably right in the way that my mother wouldn't need the most recent driver, the old one would probably work out fine.
But still, why do I have to tinker around in the system that much? I'm a programmer, not a system administrator.
If your mother can't run one script from a command line
nope
and follow the prompts to reinstall the driver
she would have called me by then
then she probably doesn't need the extra 3D performance from a proprietary binary video driver either.
uh wtf? So you're saying just because my mother enjoys playing some casual games that require 3D once in a while, she has to become a Linux wizard who's able to recompile drivers on the command line? Don't you think you're a bit out of touch with reality there?
To phrase it differently (and more generically): How is the desire for using the hardware you payed for to its fullest potential (or close to it) related to the requirement that you learn programming?
To move to another example: A 3D graphics artist requires 3D graphics, but programming and/or compiling stuff on the command line (those two are pretty much the same for non-geeks) is not part of the job description.
I've got one more: I'm programming using CUDA right now, so I need the Nvidia drivers (and the latest ones at that). However, I'm not paid to f*ck around with the system every other week to get it to a working state again.
The support contract with my mother does not include an incident every other week.
I'm trying to get her to buy an iPad to get rid of that one support incident per year she's having with her Mac right now (most of them involving moving image files around between Mail, iPhoto and the desktop).
Uh, at least with Ubuntu, the list of unsupported hardware includes such minor things as all Nvidia graphics cards. They work fine with the (supported) default driver, but without any OpenGL.
I've installed the official driver manually, and now every time there's a kernel upgrade (which seems to happen about once every other week right now), the graphical user interface breaks, and I'm dropped back to the command line. Then I have to reinstall the Nvidia driver manually again to get back to work. It took me about two hours to locate the problem and find the solution for the first time (it's not like the system tells you what is broken, it just doesn't work).
Note that the kernel upgrades pop up automatically with the message "there are important updates you should install" and are only a click on "install" away.
So, tell me how my mother should be able to handle that?
But in real life, if I was being jostled back and forth on the noisy subway on my way home and I drew that box and it popped up on my screen looking all fucked-up like I just drew it, the first thing that would cross my mind would be, "God dammit, why is this computer so stupid that it can't tell I was trying to draw a box just now? Why won't it just make a rectangle? Drawing boxes was so much fucking easier when all I had to do is click my mouse button, hold it and drag."
This UI goes beyond a solution looking for a problem. It's a way of actively making it harder for me to get work done with a computer.
I think you're scraping a much bigger problem here that Microsoft totally missed while rushing on creating a competitor to the iPad, even though Apple specifically explained it in their promotional video: The whole user interface isn't intuitive! You actually have to learn where to tap to do what, etc. For example, I would never have expected that dragging a contact to a page shares that page with this person.
The result of this is that the user actually has to get to know the UI. This could be done by a manual (as if anybody ever reads a manual), a tutorial application (bad first experience with the device), or some kind of course like they have for using MS Word (most folks don't put up with this, unless they absolutely need this for their job). This completely removes the whole non-techy population from the target user group.
You just do from the Apple spot isn't an empty marketing line, it's the concept behind good user interaction design: You don't have to learn the user interface, because the user interface behaves like a regular person would expect it to, intuitively. For example, dragging an object from one place to another should put that object there. If you take a photo of your mother and place it on your notepad, you expect the photo to be there, not your mother to know everything that's written in the notepad.
And that's only scraping the surface of that video. The cut-operation is another problem, as is switching applications.
As a contrast, the only thing I ever had to explain to folks trying out my iPhone is the function of the home button ("press the button to get out of an app"), that's it. As soon as they know that, they have full control over the device.
Same thing with this tablet idea. People are too stupid to use computers, apparently, so you want to use all the power of a computer to enable them to do things like they would if all they had was a stack of paper and a Bic -- because that's what they're supposedly comfortable with
Well, the idea behind those real-life UIs is that people have an easier time getting started using the application, if it looks like the thing it's supposed to replace. The important part here is that the UI must not be limited by that metaphor, otherwise you could just use the original thing instead. However, the application should expand on that concept, meaning that everything should work as in the original thing, plus some more behaviors.
And actually, people really do like those interfaces. I wrote one of them, and it's pretty well-received.
Uh, are you assuming that the lawyers are also the coders when they're not out there suing somebody? Otherwise, how would a patent suit hold up the development process?
btw, Apple is in some non-smartphone markets as well (unbelievable, I know), so even if they lose the right to sell cellphones (which I'm pretty sure won't happen), they won't go out of business.
Your idea sounds nice in theory, but I've heard that it has been tried and didn't work out that well (as described in the article these postings are attached to for instance).
I am starting to think about a three-strikes law for politicians - vote for three unconstitutional laws and you are out. Loss of eligibility for any political office for 4 years at last.
In light of the usual way this is implemented, your solution wouldn't be fair, though. It would be better to enact your proposed restrictions when a politician was accused of not handling in the voter's best interest by any citizen three times.
Yes, I know, then there could be a loophole that pedophiles just force their victims to take their own pictures.
Uh, as it is right now, in that situation the victim would get prosecuted, not the pedophile. How is that better?
In the case of eBook readers, none of them allow you to save books to the iPhone itself; you have to upload (or purchase) the content on a third-party server and stay online in order to read anything.
That's not correct. I've used Stanza on my iPhone many times without any network connection whatsoever, reading the epub files I've created on my computer myself. They are stored in the application document directory, and Apple doesn't have any issues with that.
There are also some apps like Air Sharing, that offer a Webdav service for transferring any files from and to the iPhone (in its own directory, not the whole file system).
Both apps are available on the iTunes Store.
You can apply a FOSS license to the code, yes, but it's not really free software because it's impossible (without jailbreaking the iPhone/iPod) to run the compiled code on the intended device unless you pay the annual developer membership fee.
The code itself can be free. For example, you can still run the app in the iPhone simulator without paying anything (or even owning an iPhone for that matter) -- except for the Mac itself of course. You being unable to transfer the compiled code onto a platform of your choice doesn't affect the code.
* want your apps to be able to download, save and play back locally-stored media
"3.3.13 If Your Application includes or will include any other content, You must either own all such content or have permission from the content owner t use it in Your Application."
* want to write free (as in speech) software
"3.3.16 If Your Application includes any FOSS, You agree to comply with all applicable FOSS licensing terms. You also agree not to use any FOSS in the development of Your Application in such a way that would cause the non-FOSS portions of the Apple Software to be subject to any FOSS licensing terms or obligations."
The others are correct, though.
SMS actually has a limitation of 140 bytes or 140*8 bits, which are also 160*7 bits. AFAIK both 7bit and 8bit encodings are supported, but usually 7bit is used.
That'd be great, a command line-only interface on a touchscreen-only device :).
I'm pretty sure there are some apps that have already been developed, since the SDK has been available for some time now. Of course they can't ship them unless they actually have tested it on a device.
In other words, a thinner, lighter, "keyboardless netbook". And the ability to run everything your desktop does, connect to its network shares, etc etc.
I agree with you in the sense that this is what will happen. The reason is that the hardware developers are like you: completely missing the point of the iPad.
Imagine dragging around windows on a 10" screen using a touch interface so you can see the stuff you're working on. Imagine trying to control emacs using an on-screen touch keyboard. Imagine using applications that were designed for a 24" display at 1920x1200, so you can't see half of the dialog boxes due to their size.
The point of the iPad is not its size or performance, but the way you interact with it. Just try to search on youtube for one-year olds that are using an iPhone to look at pictures etc. There are lots of those videos. And now imagine telling a one-year old boy "to look at the pictures, you have to open the file browser from the menu at the top, locate the directory where those images are stored and switch to thumbnail view".
It's certainly possible to create a Linux tablet in a way that it's just as usable (with some custom programming), but my prediction is that it's not going to happen. That's because the hardware developers don't get it. Additionally, you would lose the ability to run any already existing software anyways.
The apps that need that kind of thing (like ebook apps) usually just open an HTTP server on the phone you can connect to from your computer over the network.
Linux is an engineer/hobbyist's OS. You can make it do anything you want, including update itself without breaking stuff and other things that would make it suitable for your mom.
Yes, that I can agree with.
If you are capable of knowing that nVidia's driver existed, and capable of installing it, aren't you capable of writing a simple shell script to handle the driver reinstalls?
Well, I think I'm a bit unusual for a programmer in that regard. I know how to do this stuff, but I just don't want to. My spare time is very short already, and I don't want to spend it fixing problems that shouldn't exist in the first place. I just want to get my work done and then do something productive (I'm not paid by the hour).
I guess that's why I'm one of the comparatively few programmers using a Mac.
I just remembered what happened when I set up the system.
It did offer to install the driver, but that one wasn't recent enough for me, since I needed the newest one for running CUDA. So I resented to installing the one from the Nvidia page instead, which apparently you shouldn't do.
The others in this discussion are probably right in the way that my mother wouldn't need the most recent driver, the old one would probably work out fine.
But still, why do I have to tinker around in the system that much? I'm a programmer, not a system administrator.
If your mother can't run one script from a command line
nope
and follow the prompts to reinstall the driver
she would have called me by then
then she probably doesn't need the extra 3D performance from a proprietary binary video driver either.
uh wtf? So you're saying just because my mother enjoys playing some casual games that require 3D once in a while, she has to become a Linux wizard who's able to recompile drivers on the command line? Don't you think you're a bit out of touch with reality there?
To phrase it differently (and more generically): How is the desire for using the hardware you payed for to its fullest potential (or close to it) related to the requirement that you learn programming?
To move to another example: A 3D graphics artist requires 3D graphics, but programming and/or compiling stuff on the command line (those two are pretty much the same for non-geeks) is not part of the job description.
I've got one more: I'm programming using CUDA right now, so I need the Nvidia drivers (and the latest ones at that). However, I'm not paid to f*ck around with the system every other week to get it to a working state again.
Well, that one can't find my Nvidia driver, probably because I installed it manually...
The support contract with my mother does not include an incident every other week.
I'm trying to get her to buy an iPad to get rid of that one support incident per year she's having with her Mac right now (most of them involving moving image files around between Mail, iPhoto and the desktop).
Why buy a boat when you could also buy a car?
that's all I've got to say about your post.
Uh, at least with Ubuntu, the list of unsupported hardware includes such minor things as all Nvidia graphics cards. They work fine with the (supported) default driver, but without any OpenGL.
I've installed the official driver manually, and now every time there's a kernel upgrade (which seems to happen about once every other week right now), the graphical user interface breaks, and I'm dropped back to the command line. Then I have to reinstall the Nvidia driver manually again to get back to work. It took me about two hours to locate the problem and find the solution for the first time (it's not like the system tells you what is broken, it just doesn't work).
Note that the kernel upgrades pop up automatically with the message "there are important updates you should install" and are only a click on "install" away.
So, tell me how my mother should be able to handle that?
Sounds an awful lot like UML. To cut the story short: It didn't work out.
As usual with FOSS, your plan only adds up when your time is worth nothing.
Yep, I would have expected the same. I guess this kind of issues will be spread all over the interface, making the device a huge learning experience.
If this (potential) future product can do what current products can, handwriting neatness will be of no concern.
My handwriting is so bad that frequently I can't read it myself afterwards. You guess the software can do that for me then?
But in real life, if I was being jostled back and forth on the noisy subway on my way home and I drew that box and it popped up on my screen looking all fucked-up like I just drew it, the first thing that would cross my mind would be, "God dammit, why is this computer so stupid that it can't tell I was trying to draw a box just now? Why won't it just make a rectangle? Drawing boxes was so much fucking easier when all I had to do is click my mouse button, hold it and drag."
This UI goes beyond a solution looking for a problem. It's a way of actively making it harder for me to get work done with a computer.
I think you're scraping a much bigger problem here that Microsoft totally missed while rushing on creating a competitor to the iPad, even though Apple specifically explained it in their promotional video: The whole user interface isn't intuitive! You actually have to learn where to tap to do what, etc. For example, I would never have expected that dragging a contact to a page shares that page with this person.
The result of this is that the user actually has to get to know the UI. This could be done by a manual (as if anybody ever reads a manual), a tutorial application (bad first experience with the device), or some kind of course like they have for using MS Word (most folks don't put up with this, unless they absolutely need this for their job). This completely removes the whole non-techy population from the target user group.
You just do from the Apple spot isn't an empty marketing line, it's the concept behind good user interaction design: You don't have to learn the user interface, because the user interface behaves like a regular person would expect it to, intuitively. For example, dragging an object from one place to another should put that object there. If you take a photo of your mother and place it on your notepad, you expect the photo to be there, not your mother to know everything that's written in the notepad.
And that's only scraping the surface of that video. The cut-operation is another problem, as is switching applications.
As a contrast, the only thing I ever had to explain to folks trying out my iPhone is the function of the home button ("press the button to get out of an app"), that's it. As soon as they know that, they have full control over the device.
Same thing with this tablet idea. People are too stupid to use computers, apparently, so you want to use all the power of a computer to enable them to do things like they would if all they had was a stack of paper and a Bic -- because that's what they're supposedly comfortable with
Well, the idea behind those real-life UIs is that people have an easier time getting started using the application, if it looks like the thing it's supposed to replace. The important part here is that the UI must not be limited by that metaphor, otherwise you could just use the original thing instead. However, the application should expand on that concept, meaning that everything should work as in the original thing, plus some more behaviors.
And actually, people really do like those interfaces. I wrote one of them, and it's pretty well-received.
Uh, are you assuming that the lawyers are also the coders when they're not out there suing somebody? Otherwise, how would a patent suit hold up the development process?
btw, Apple is in some non-smartphone markets as well (unbelievable, I know), so even if they lose the right to sell cellphones (which I'm pretty sure won't happen), they won't go out of business.
Your idea sounds nice in theory, but I've heard that it has been tried and didn't work out that well (as described in the article these postings are attached to for instance).
I am starting to think about a three-strikes law for politicians - vote for three unconstitutional laws and you are out. Loss of eligibility for any political office for 4 years at last.
In light of the usual way this is implemented, your solution wouldn't be fair, though. It would be better to enact your proposed restrictions when a politician was accused of not handling in the voter's best interest by any citizen three times.
Why do you care about 3G coverage for an iPhone 2G?
You probably missed the case Apple themselves are offering: iPad Case (at the lower third of that page).