Fraser Speirs's iPad commentary: Future Shock
speirs.org
speirs.org
There was a great submission here recently called "Programming as a super power" (http://blogs.msdn.com/alfredth/archive/2010/01/20/programmin...), where the author said that "there are more programs that should be written than professional programmers can ever write." This could be abstracted to "there are more things that should be done at a low level than superusers can ever do." So if the iPad doesn't let you do things at a low level, there will be negative consequences.
The question, then, is if one is designing a mass-market computing device, is the ability to tinker with it going to produce enough good in the world to offset all the misery it causes to other people? For every person that saves ten hours using VBA to program their spreadsheet, how many other people lose hours because they get a virus or install incompatible programs or corrupt some obscure system file?
In other words: you're 100% correct that there will be negative consequences, but don't forget that there will be positive consequences as well. It's a judgment call as to which side you think weighs more heavily and where the overall balance will be. Yes, you lose something important and valuable when you lose the ability to tinker. Yes, the world would be better if you could have that AND not have people frustrated and crippled by their technology. But no one has figured out how to do both yet.
I think it's fair to say that you have to make the choice, and you can't have it both ways. And given that choice, my personal accounting tells me that we gain a lot more by removing the frustration than we lose by removing the power. While we lose something, I think we gain a lot more, and I don't see any way to gain it without giving something up.
Excellent question!
I would answer yes. I would also add that I think Geeks often under-estimate how much simple tinkering non-geeks sometimes do.
The number of competent windows and macintosh users is constantly increasing. Even for those outside geek circles, this basic competence can be a jumping-off point for further tinkering.
Just as it’s hard to be a doctor and a lawyer at the same time, so is it hard to be a programmer and a lawyer at the same time. Even if you only know a bit about medicine. Even if you only know a bit about programming. That’s not to say you can’t do it, but it’s not easy and many won’t do it.
It’s frustrating: I (not being a programmer) spent a few hundread hours of my life understanding programming and programming. Heck, I can explain bisection search or bubble sort to you. I can write cute little (clumsy) programs that do stuff (useless stuff, that is). But that’s not enough to save me hours in Excel. The most frustrating part about this is that I know what kind of automation is theoretically possible but I can’t actually do it. That knowledge is so often so unbearable. But I don’t have the time to invest a few days worth of work into understanding how to go from theoretical to practical, not for this one specific problem.
But that’s just how it is. You can’t be an expert at everything.
The basic concepts and main ideas aren't that hard: certainly no harder than understanding high-school level mathematics. Ever see what Alan Kay was able to teach children to do in the 70s, with an intuitive enough development environment and programming language.
Being able to write straightforward little algorithms to solve data-munging tasks is more and more a matter of basic literacy, especially for people like lawyers, or scientists, who need to sort and sift through masses of data, find the interesting patterns, and explain it to the world.
There is no easy way to do this at the moment. Not if you want to ignore details, just write something and have it work. The best I can do at the moment is guess if something is possible to do, guess the amount of work and tell someone (who’s an expert) what to do.
You are probably right about scientists, though. It’s a pain to see social scientists working with the mess that is called SPSS when r is so cool. I don’t know why that is but when toying around with r I feel for the first time that I am able to actually do something useful with what I know about programming.
Granted, he's a smart guy, and obviously he should really spend a few weeks or months learning the ins and outs if he wants to get especially sophisticated, but seriously, these things are essential for anyone with any kind of research or curation job ... and frankly for anyone: so much of our society runs on searching and sorting through masses of data that it’s important to understand just to know what’s going on, even for those uninterested in answering their own questions.
"""It is a very important lesson in rationality, that at any time, the Environment may suddenly ask you almost any question, which requires you to draw on 7 different fields of knowledge. If you missed studying a single one of them, you may suffer arbitrarily large penalties up to and including capital punishment. You can die for an answer you gave in 10 seconds, without realizing that a field of knowledge existed of which you were ignorant.
This is why there is a virtue of scholarship."""
- Good Ol' EY - http://lesswrong.com/lw/qx/timeless_identity/
This is the answer to the endless questions from my schooldays - "when are we ever going to use this?" and "will it be on the test?". If you know something you can recognise if you are in a situation where it is useful and benefit from knowing it (or choose not to use it). If you don't, you cannot recognise when you are in a situation it would be useful and will suffer arbitrary consequences from the lack of it, and won't even realise that there was a missed opportunity.
A few people in their teens and twenties are pretty comfortable, many more are not.
It will make money for Apple in a similar fashion to the way the Wii made money for Nintendo. If it truly is for the masses then the only success or failure is based on if those masses adopt and use it.
I wish we would approach these two subjects in a completely separate fashion: Yes, the iPad proposes a new interface to computing that is quite revolutionary and ultimately healthy I think. Separately, it continues to push an ecosystem that is closed an unhealthy.
So I don't think you can separate the environment from the equation, it's part of the entire end user experience.
Personally I think it's putting the onus back in the right place, which is on developers to make things work and make them work dead simple.
In theory yeah if you run your own code you can run bad code, but it should be up to Apple to ensure that newbies never have to leave the app store. I can't remember the last time I went hunting for code instead of using apt-get. Sandboxing isn't hard either.
With luck Apple will look aside as everyone jailbreaks it. After all they sell hardware, not software.
To actually make things simpler you've got to make it easier to choose. When you download a desktop app, you've got to trade off between, "is this app useful to me", and, "will this app break my computer". Since apps on the iPhone are sandboxed, and are garunteed to uninstall cleanly, you don't need to worry about the second question.
Also have a look at what Microsoft are doing with permissions in .Net, they are slowly making it easier for Windows applications to be sandboxed. In a secure Linux enviroment, it is standard practice to give different apps their own users, with tailored permissions, eg the www user.
Not everyone. It's more and more obvious to me that I only thrive in computing where I can control my environment. I do make a living from the tech industry, and I find myself in the same position as "normals" do when faced with "software for normals", and I hate it as much as "they" do.
Error messages are meaningless to "them" but meaningful to me. So called 'friendly' error messages are also meaningless to "them" and worse they are meaningless to me as well.
Hiding complexity isn't simplifying things. Arjan van de Ven said about the 5 second linux boot project "Don't settle for 'make boot faster'; it's the wrong question. [..] It's not about booting faster, it's about booting in 5 seconds". - http://lwn.net/Articles/299483/
Apple are saying "it's not about a nice GUI over the top of a complex system, it's about a simple system". They've thrown out everything they can get away with and then a bit more; which Linux distro's can't or wont do. Linux is 'simplified' by people who don't want or need it to be simple, Windows is 'simplified' by people hobbled by backwards compatibility, inertia and lack of focused obsessive direction.
Bravo. I would hazard to guess ChromeOS is Google's stab at this. There's also Jolicloud and some others for netbooks, so maybe there's hope in that direction.
I think this is a very significant point that is often misunderstood. Android isn't something that competes with the iPhone OS, it's the platform you build that competitor on.
I'm not sure that competitor exists. Not for lack of quality in devices, but for lack of the right approach. Google is saying "write apps for Android" when they need to be saying "write apps for the Nexus One (and the Nexus Two will be the same, but better)".
Why is "non technical" there? Do electronics engineers construct TV and Radio sets for themselves, or just grab one off the shelf and are happy with it?
I do not want to write a browser when I want to consume the web I will be more than happy to use one someone already wrote — given that it is good enough for the task. What iPad comes with is more than good enough for the things it is intended for.
I'm not talking only for the product itself, but derivation of the product, the mission, and all this stuff. By fantasy I mean that they overestimate, creating tales, of what it's simply a business decision, following current trends.
Not just hype, but fantasy.
EDIT: I'm not saying that it's a bad thing, I really like to learn new perspectives. Fantasy in the sense of fanboys of StarTrek, Apple, WoW, Dungeons & Dragons.