And yet it seems like this is already supported by so many other smartphones. Why can't Apple do what they do?
Apple can. They won't, and it would be a bad idea for them to with the current technology, just as it's actually a bad idea for several of the devices on which it's already being done.
If the iPhone ran a RTOS from the screen down to the bones, and if consumers were used to what that meant, it'd be different. But if you accept that certain aspects of a phone have hard RT requirements (and I think Apple does), this places severe restrictions on what you can do in the background.
(Regarding separating apps into separate pieces that are submitted together, such as UI app and background daemon:)
I think this is way too pessimistic.
Look at Android...
I really, really do hope you're right, and I confess I don't know enough about Android internals. We'll see how they do in the marketplace. With luck, it'll all work out, and then Apple will shamelessly rip off the architectural features that make this work. I really do hope so, I want various background behaviors in several apps, including some that I haven't finished writing yet. (For example, a "pill timer" that reminds me to take my Ritalin is useless if it can't notify me unless the app is running.)
And yet people still use MMS, even though it's imperfect. People know its limitations and still want to be able to use it on their iPhones.
Now, see, you have to be careful here. SOME people know its limitations and want to be able to use it. But an awful lot of the target market for the iPhone do NOT understand its limitations. Apple will NOT enable the feature unless it can be done in a way that doesn't impact those people at all. This is the sort of lowest-common-denominator thing Apple does which infuriates Linux users and many other hackers, but which is pretty much non-negotiable. Is there a set of people who want it and are willing to live with it being imperfect? Absolutely, but that's not good enough for Apple, especially not when full-fledged email is right there already.
(Regarding MMS receipt of MIDI files:)
Um... it would get played through some sort of MIDI synthesizer? QuickTime can do that.
But the iPhone cannot.
You can try this today. You talked (under the mass storage device section) about setting aside a portion of the internal storage for use as a storage device. There are apps on the app store that do exactly this, just not via USB. I have a WebDAV one installed. You can load arbitrary files in there. If you load an MP3, or an AAC, or an MPEG, or a PowerPoint file, or a PDF, or any number of other files, you can tap on them from within that app and they all load up fine -- the MIME stuff and the "open this resource" stuff all kicks in, and it just works.
I ran tests, though, and can confirm that the iPhone has no MIDI capabilities at all. The QuickTime frameworks that formed the basis had them, but they were stripped out intentionally in moving them to the iPhone.
COULD Apple enable 'em? Sure, honestly, they just have to refrain from disabling them. But they intentionally disabled them. The interoperability issues are larger than most people think. Yes, this is in part because Apple is MAKING them larger than they necessarily have to be, but that's something we have to take into account.
Well. Maybe. I'm unwilling to give up the dock -- it has too much utility that you can't trivially replicate just via USB (audio/video in/out, other signaling).
So, if we take for granted that the dock is sticking around, this would be either in addition to the dock port, or via a dongle.
If it's in addition, what happens when you have this and the dock plugged in at the same time? To two different computers? I think this is confusing enough for this phone's target market (which is *not* geeks) that it's a decent reason for Apple to rule this solution out... unless they do what they did with the eMate. The eMate had the same dock connector that other Newtons had, but it also had a standard serial port. They could not be used at the same time, as they only had one set of electronics "behind" them. So what Apple did was cover them with a door that normally covered both, but could be slid aside to expose one or the other at any given time. That worked fine then, and would work fine for this.
Or people could just get a dongle for this, which you can do today.
-USB mass storage support
Might be nice. But I think we'll never see it. Opens up too many avenues for hackery of too many kinds. I wouldn't hang my hopes on this.
-Video recording
Yeah, this is something I'd like to see, and I can see Apple eventually doing this. I could see some special integration with iMovie and MobileMe here, something like tying in your GPS coordinates.
-Tethering
Would definitely be nice. I think AT&T is the bad guy here. I don't expect to see it. (Until/unless one of the things *I* have been waiting for shows up. That is, a documented, supported API for a Bluetooth stack. When that happens, we can get things like Salling Clicker ported to the iPhone.)
-Multitasking
I understand why people want it. But it's really a bad idea on a device like this. That is, fully unrestricted multitasking is.
What *might* work is for apps to have associated background threads that follow different rules than the rest of the app.
Essentially, permit devs to submit apps as app/daemon pairs, with rules around the behavior of the daemon, and make one of those rules that the app *must* work correctly when the daemon is disabled. Then let users prioritize apps in the background. Maybe it's like "if any app gets background time, it's AIM, and if there's cycles left over, it's Facebook". Or maybe a user gets to pick exactly two and no more apps that get background time.
But this is hard to explain to developers, and hard to explain to consumers. Hackers will rail against how restrictive this is compared to what they're used to. Many "regular people" won't understand what's going on unless the message around it is crafted *very* carefully. I think from some standpoints this could be made to work, but I'm not sure enabling it would end up being a win.
-MMS
Everyone thinks this is simpler than it really is.
I can send an SMS (plain text) message from my iPhone (via AT&T's GSM) to someone on Verizon (CDMA) with a StarTAC, or to someone with a European phone, or to an email gateway.
How many MMS-capable phones have you experimented with?
I've experimented with a few on a few different networks. They all work fine... within the network you're on... if you're sending media that the target device understands. Once you start to go cross-network, all bets are off. Sometimes it works, sometimes it doesn't work, and sometimes it translates it to a normal text message with a link to a web site that lets you view the multimedia. This is not a situation... that's not going to come to the iPhone. When SMS is more standardized across all devices and carriers, so that everyone can always send it without worrying about it... that won'
Something I recommend to cope with management(?) such as yourself, is for that person to note down over 6 months the things they'd improve, and then see if in 6 months they still believe that.
Where I work, we have a wiki set up for this. I've got my own page in it. The starting point for my page is a table with three columns. First column has a link to some writeup, like "here's a problem we're facing that we have to think about", or "here's a proposal for a new way of doing this thing". Second column is a link to a status document, "on date ${FOO}, these six people sat down and discussed this, and here's what we figured out". Third column is a timestamp for that status thing in the second column, so it's easy to eyeball which things have had recent activity.
Sometimes, the ideas go nowhere. But more than once, someone higher up the management chain has come to me with a problem, and I've been able to say "oh yeah, three of us were discussing this eighteen months ago, and here's a link to our conclusions, and here's another link that lets you follow how it evolved".
Do not throw away ideas. But do not shove them down the throats of people who are not ready for them yet. Document them, work to improve them, work on them with other people, and store them. Find the right time and place to pull them out. My experience is that this improves the chances for actual improvement, and it also leaves a "paper trail" of the thinking that led to it. And the more you document other people's help, the more those people have an interest in continuing to help in the future.
Is it more work than just brainstorming out loud at your manager? Sure, but the work is worth it IMO.
Some players actively avoid free games, particularly for MMOs.
I know players who want to make sure that everyone around them has at least something invested in the game world. They want some barrier to keep out dabblers, people whose commitment to the game is below a certain point, overly casual players. For big, shared worlds, when there's a lot you can't do solo, when you're forced to team up with people, there's something to the idea of ensuring that the people you're teaming up with take things at least little seriously.
And thus, the population of people who consider "free" to be a signal to stay far, far away from an online multiplayer game.
Honestly, I think this is one of the reasons some people honestly prefer the XBox Live network gaming model to the PS3 one.
"The first episode after they were canceled" and "the first episode after they were renewed" are the same episode. New episodes of a show do not generally come out while a show is canceled.
No discussion of obscure and strange Emacs features is complete without meta-X psychoanalize-pinhead.
See, Emacs has a command to produce a random "Zippy the Pinhead" quote.
And, Emacs has a command to start up the "Eliza" program, which pretends to do psychological analysis based on what you type into it.
So someone wrote some glue code to fire up the Eliza program and feed the Zippy quotes into it, and you access that via meta-X psychoanalize-pinhead. Go ahead and try it out! It's enabled in the version of Emacs bundled with MacOS X, I just checked.
Back in the days the software was known as SoundJam MP, iTunes had all sorts of skins and UI enhancements.
Still does, if you buy into the truly Unix way of doing it.
What do you think FrontRow does to play music? It puts a new interface on top of iTunes! That is all it does!
There are a ton of dashboard widgets that are nothing more than replacement skins for iTunes.
And World of Warcraft also does this -- under MacOS, it can become a user interface for iTunes, controlling music playback and displaying song metadata right from within the game.
The key is, you don't try to change or turn off the existing iTunes interface. That's not the way you do things in this environment, even if it is the way you'd do it under Windows or Linux.
No, what you do is run the existing app, but hide it. Then use the glue built into MacOS to drive it. You send events to and receive events from iTunes, usually via AppleScript.
This is the reason why MacOS is the most Unix-y of any GUI system out there. The Unix philosophy is to have small, discrete components that you chain together in standard ways to achieve results. You don't write a brand new text processing program if you could instead write a simple script that uses pipelines and file redirection to coordinate sed, awk, grep, sort, and all those tools, do you? You don't expect sed and awk to support looking for DLLs to load plug-ins, do you? No. You make small discrete pieces that have documented and standardized interfaces, and you provide a framework for using scripts to glue those together.
This is exactly what MacOS does at the GUI layer. You've got AppleScript, you've got the standard mechanisms for tying into the PDFs produced via printing workflows, you've got the standard mechanism for applications adding items to the global "Services" menu... the GUI of MacOS (based on the GUI of NeXTstep) really, really does follow the Unix philosophy at a very deep level.
This idea that each application should own every aspect of its own execution, but should look for plug-ins in order to grow larger and let users extend that application... do we know an OS that you extend by adding DLLs to directories? Yes, we do. That sort of plug-in philosophy is the philosophy of the Windows operating system, and in the long run it's really not a thing to aspire to.
essentially you are asking for automated library updates whenever new files are added to the system.
This is trivial to do under MacOS X via AppleScript, actually. Set up a folder action and you're done. It's actually been easy to do since the very first version of iTunes under MacOS 9, if you weren't afraid to write a little AppleScript -- and if you want a feature as advanced as this, you shouldn't be afraid of the MacOS equivalent of writing one shell script or batch file.
You can even control whether the file is copied, or whether it's left in place and iTunes only imports metadata and a pointer to the file.
Yeah... this article, not so good. It's playing down the strengths of MacOS iTunes "in its ecosystem", and it's playing up the strengths of these other music players for some reason I don't quite get. Ah well, nobody ever pretended this web site was in any way objective, did they?
I hope in the Buffy MMO you can wander into Lorne's club and play a karaoke minigame, something like the singing portions of "Rock Band". It would fit perfectly.
Actually... the iPod Touch also won't work without activating it by connecting it to iTunes. It's got a notepad application, a YouTube viewer, a mail client, a web browser, none of these things are set up by iTunes, but none of them works until the iPod Touch is activated by connecting it to iTunes.
The iPhone will only put the "lackluster Java-based cell phone gaming market to death" when most phone users out there are iPhone users.
No. It'll put it to death when mobile developers all across the spectrum, from garage hobbiests to GameTap, can predictably make more money by targeting the iPhone than they can by targeting Java phones.
This doesn't require iPhone ownership to be even 10% the size of Java-phone ownership -- it can be done with a lower market share and higher attach rate.
Now, I'm not going to say that's certainly going to be how things shake out, but I wouldn't bet money against it.
Just as an aside, you can use "EasyToReadAndEasyToType" in a language which is not case sensitive. Nothing is stopping you.
The real question is, should "EasyToReadAndEasyToType" be a different symbol from "easyToReadAndEasyToType"?
I happen to think the answer is "yes, it should be a different symbol". But that's a separate issue from whether you can use camel case in case-insensitive languages.
Here's something I've always wanted to try, which I believe in theory should work, but I've never gotten around to testing.
Step 1: Hit up some buddies or a college or a dumpster or something for old DLS modems from previous installs which nobody is using anymore. Get two of the same make/model.
Step 2: Put one DSL modem somewhere with an ethernet connection, like plugged into a hub at a buddy's house.
Step 3: Put the other DSL modem somewhere where you want an ethernet connection.
Step 4: Run a plain-old low-tech copper pair from one location to the other, terminated the way a phone line is, and plug the two DSL modems into each other.
Step 5: Power everything up and see what happens.
As I understand it, you should have a low-budget homebrew point-to-point SDSL connection. But as I mentioned, this is all theorycraft, I have not actually tried it yet (though I have finished step 1).
Can't give you advice on the PC, but on the Mac, the default compiler is the GNU compiler suite. That's where the C, C++, and Objective-C compilers come from.
The GNU compiler suite also has an ADA compiler (GNAT, GNU Ada Translator). Should be possible to get it and plug it in without much trouble, and then it'd integrate with everything else. Heck, should be possible to include ADA modules into an Objective-C Cocoa application, even.
There is also a GNU FORTRAN, worth checking out. Even today, you can't do mathematics as efficiently in C as you can in FORTRAN. (This is because of the language; in Fortran, taking the address of an existing variable isn't normal, so variables don't end up with the possibility of "aliases" that they don't know about, which means a lot more stuff can safely be done all in registers and stuff like that.)
There is also a GNU Pascal, but unlike ADA and FORTRAN, I'm not personally aware of any reason to actually use it.
I just wish that there was a real-world version where all of the MySpace users could voluntarily commit themselves and withdraw from the rest of the world.
You don't in fact have to be careful. In both of those situations, the IT guy should be fired.
Sure, the core of their job may be technical, but just about every job requires a little bit in the way of interpersonal skills. Somebody who goes around calling people idiots and acting bellicose does not meet minimum acceptable standards for human interaction.
They're saying that DVDs make up 80% of sales and Blu-Ray 20% right now. A lot of people don't believe it.
I believe it. Why? Rentals. Most of the people I know with DVD players do not buy many DVDs. They rent tons, but do not actually purchase many.
Is it hard to believe that Blu-Ray early adopters are more likely to buy media than rent it when compared with late adopters? No, it's not hard to believe at all, which means each DVD sold is on average viewed by more people via rentals. And that makes the 80%/20% split much more plausible.
Can they drive up Blu-Ray usage so it makes up 50% of sales? Dunno. Seems ambitious. But the thing to remember is, the number of people consuming Blu-Ray does not have to equal the number of people consuming DVD for it to be true. You could have 90% of the population sticking with DVD, but as long as the Blu-Ray folks make purchases all out of proportion to their numbers and the DVD folks stick with rentals, it's possible for Sony to hit their numbers.
On the whole "do mice and keyboards belong in the living room" thing, well, if you've got a gaming setup that has ergonomic environment/support for a racing wheel (and many people with consoles do), then you can probably handle a mouse/keyboard.
A keyboard is no issue at all, it's comfy on the lap. If you've got a keyboard with built-in trackpad or trackpoint, you're done. But in my case a mouse can be comfortably used with a little end table at one end of my couch. I don't often use it, but when I want to, there's no problem. I've played WoW that way (with a laptop running WoW, just to see how it was).
From my research to get a console, which only plays games. It would cost me 300+ $ (American) to buy new. To buy a PC which does more then just play games. It would cost me 500+ to buy new. (A bit more then basic) I built my own power gameing system for 1500$.
So, on this point.
I didn't have any current-gen consoles when "BioShock" came out. But we have an XB360 at work.
I knew for sure I wanted to play this game. What do I do? Rational thing is, make a list of my options and do a cost/benefit analysis. So that's what I tried to do.
I downloaded the demo version for the XB360 and played it on the 50" 1080p plasma screen at the office. I downloaded the demo version for Windows and played it on the big flat screen at my desk. I compared the visuals and gameplay.
XB360 was a much better experience. And it turns out that buying a new XB360 was going to cost me less than upgrading anything I owned to be able to get even half the visual quality the XB360 did.
I was prepared to hate the XB360. I do not like Microsoft in general. But I did a fair analysis, given my own situation.
I have an XB360 now. (And 1000 gamerpoints earned on BioShock.)
It's very easy to believe the cost/benefit analysis would work out differently for other people. But I'm a developer, and had a developer desktop at work, and that's still the way it worked out for me.
1) "Halo" is the game that changed many peoples' minds about this with regard to FPS games. It is going to be very interesting to see whether "Halo Wars" can do the same for RTS games. It's due out this year. I'm not very interested in it myself, but I will be watching the market's reaction to it.
2) More and more people are hooking up a mouse and keyboard to their consoles anyway. All the current-gen consoles have USB ports and support keyboards. I've got a Logitech wireless keyboard/mouse attached to my XB360. I used to attach a keyboard and mouse to my PS2 and play FPS games with them -- I first hooked up the keyboard/mouse to the PS2 in order to play Deus Ex on it, and it worked. Even if RTS games are strongly enhanced via the use of the mouse, there's nothing stopping developers from using the mouse (or just about any other input mechanism that works on a PC) on consoles. Heck, I consider my XB360 to have more input options -- those "big button pads" for the XB360 version of "Scene It!" communicate with the console via IR, and few of the computers in my house have IR receivers (only some of my portables do).
How can they prevent third-party applications from running in the background?
You don't understand how this is all working.
The only way for ordinary consumers to install anything at all is going to be through Apple. You won't be able to hand someone a floppy with your own program on it and have them load it on their own iPhone. It won't work.
So, all Apple has to do to prevent third-party applications from running in the background is refuse to distribute any apps that do. An ordinary consumer with an ordinary iPhone who hasn't done any kind of jailbreak is not going to have any other source for applications, besides Apple. Period.
(Regarding multitasking:)
And yet it seems like this is already supported by so many other smartphones. Why can't Apple do what they do?
Apple can. They won't, and it would be a bad idea for them to with the current technology, just as it's actually a bad idea for several of the devices on which it's already being done.
If the iPhone ran a RTOS from the screen down to the bones, and if consumers were used to what that meant, it'd be different. But if you accept that certain aspects of a phone have hard RT requirements (and I think Apple does), this places severe restrictions on what you can do in the background.
(Regarding separating apps into separate pieces that are submitted together, such as UI app and background daemon:)
I think this is way too pessimistic.
Look at Android...
I really, really do hope you're right, and I confess I don't know enough about Android internals. We'll see how they do in the marketplace. With luck, it'll all work out, and then Apple will shamelessly rip off the architectural features that make this work. I really do hope so, I want various background behaviors in several apps, including some that I haven't finished writing yet. (For example, a "pill timer" that reminds me to take my Ritalin is useless if it can't notify me unless the app is running.)
And yet people still use MMS, even though it's imperfect. People know its limitations and still want to be able to use it on their iPhones.
Now, see, you have to be careful here. SOME people know its limitations and want to be able to use it. But an awful lot of the target market for the iPhone do NOT understand its limitations. Apple will NOT enable the feature unless it can be done in a way that doesn't impact those people at all. This is the sort of lowest-common-denominator thing Apple does which infuriates Linux users and many other hackers, but which is pretty much non-negotiable. Is there a set of people who want it and are willing to live with it being imperfect? Absolutely, but that's not good enough for Apple, especially not when full-fledged email is right there already.
(Regarding MMS receipt of MIDI files:)
Um... it would get played through some sort of MIDI synthesizer? QuickTime can do that.
But the iPhone cannot.
You can try this today. You talked (under the mass storage device section) about setting aside a portion of the internal storage for use as a storage device. There are apps on the app store that do exactly this, just not via USB. I have a WebDAV one installed. You can load arbitrary files in there. If you load an MP3, or an AAC, or an MPEG, or a PowerPoint file, or a PDF, or any number of other files, you can tap on them from within that app and they all load up fine -- the MIME stuff and the "open this resource" stuff all kicks in, and it just works.
I ran tests, though, and can confirm that the iPhone has no MIDI capabilities at all. The QuickTime frameworks that formed the basis had them, but they were stripped out intentionally in moving them to the iPhone.
COULD Apple enable 'em? Sure, honestly, they just have to refrain from disabling them. But they intentionally disabled them. The interoperability issues are larger than most people think. Yes, this is in part because Apple is MAKING them larger than they necessarily have to be, but that's something we have to take into account.
In Polish syfy means syphilis so you are right it is disease
Hm. Once I remove this channel from the "favorites" list on my set-top box, perhaps I shouldn't describe myself as "Syfy-less".
-Standard USB data/charging cable
Well. Maybe. I'm unwilling to give up the dock -- it has too much utility that you can't trivially replicate just via USB (audio/video in/out, other signaling).
So, if we take for granted that the dock is sticking around, this would be either in addition to the dock port, or via a dongle.
If it's in addition, what happens when you have this and the dock plugged in at the same time? To two different computers? I think this is confusing enough for this phone's target market (which is *not* geeks) that it's a decent reason for Apple to rule this solution out... unless they do what they did with the eMate. The eMate had the same dock connector that other Newtons had, but it also had a standard serial port. They could not be used at the same time, as they only had one set of electronics "behind" them. So what Apple did was cover them with a door that normally covered both, but could be slid aside to expose one or the other at any given time. That worked fine then, and would work fine for this.
Or people could just get a dongle for this, which you can do today.
-USB mass storage support
Might be nice. But I think we'll never see it. Opens up too many avenues for hackery of too many kinds. I wouldn't hang my hopes on this.
-Video recording
Yeah, this is something I'd like to see, and I can see Apple eventually doing this. I could see some special integration with iMovie and MobileMe here, something like tying in your GPS coordinates.
-Tethering
Would definitely be nice. I think AT&T is the bad guy here. I don't expect to see it. (Until/unless one of the things *I* have been waiting for shows up. That is, a documented, supported API for a Bluetooth stack. When that happens, we can get things like Salling Clicker ported to the iPhone.)
-Multitasking
I understand why people want it. But it's really a bad idea on a device like this. That is, fully unrestricted multitasking is.
What *might* work is for apps to have associated background threads that follow different rules than the rest of the app.
Essentially, permit devs to submit apps as app/daemon pairs, with rules around the behavior of the daemon, and make one of those rules that the app *must* work correctly when the daemon is disabled. Then let users prioritize apps in the background. Maybe it's like "if any app gets background time, it's AIM, and if there's cycles left over, it's Facebook". Or maybe a user gets to pick exactly two and no more apps that get background time.
But this is hard to explain to developers, and hard to explain to consumers. Hackers will rail against how restrictive this is compared to what they're used to. Many "regular people" won't understand what's going on unless the message around it is crafted *very* carefully. I think from some standpoints this could be made to work, but I'm not sure enabling it would end up being a win.
-MMS
Everyone thinks this is simpler than it really is.
I can send an SMS (plain text) message from my iPhone (via AT&T's GSM) to someone on Verizon (CDMA) with a StarTAC, or to someone with a European phone, or to an email gateway.
How many MMS-capable phones have you experimented with?
I've experimented with a few on a few different networks. They all work fine... within the network you're on... if you're sending media that the target device understands. Once you start to go cross-network, all bets are off. Sometimes it works, sometimes it doesn't work, and sometimes it translates it to a normal text message with a link to a web site that lets you view the multimedia. This is not a situation... that's not going to come to the iPhone. When SMS is more standardized across all devices and carriers, so that everyone can always send it without worrying about it... that won'
Where I work, we have a wiki set up for this. I've got my own page in it. The starting point for my page is a table with three columns. First column has a link to some writeup, like "here's a problem we're facing that we have to think about", or "here's a proposal for a new way of doing this thing". Second column is a link to a status document, "on date ${FOO}, these six people sat down and discussed this, and here's what we figured out". Third column is a timestamp for that status thing in the second column, so it's easy to eyeball which things have had recent activity.
Sometimes, the ideas go nowhere. But more than once, someone higher up the management chain has come to me with a problem, and I've been able to say "oh yeah, three of us were discussing this eighteen months ago, and here's a link to our conclusions, and here's another link that lets you follow how it evolved".
Do not throw away ideas. But do not shove them down the throats of people who are not ready for them yet. Document them, work to improve them, work on them with other people, and store them. Find the right time and place to pull them out. My experience is that this improves the chances for actual improvement, and it also leaves a "paper trail" of the thinking that led to it. And the more you document other people's help, the more those people have an interest in continuing to help in the future.
Is it more work than just brainstorming out loud at your manager? Sure, but the work is worth it IMO.
Some players actively avoid free games, particularly for MMOs.
I know players who want to make sure that everyone around them has at least something invested in the game world. They want some barrier to keep out dabblers, people whose commitment to the game is below a certain point, overly casual players. For big, shared worlds, when there's a lot you can't do solo, when you're forced to team up with people, there's something to the idea of ensuring that the people you're teaming up with take things at least little seriously.
And thus, the population of people who consider "free" to be a signal to stay far, far away from an online multiplayer game.
Honestly, I think this is one of the reasons some people honestly prefer the XBox Live network gaming model to the PS3 one.
Wait, they're making netbooks that you can taste now? That really is going to revolutionize the porn industry.
...
I should know better, but...
"The first episode after they were canceled" and "the first episode after they were renewed" are the same episode. New episodes of a show do not generally come out while a show is canceled.
No discussion of obscure and strange Emacs features is complete without meta-X psychoanalize-pinhead.
See, Emacs has a command to produce a random "Zippy the Pinhead" quote.
And, Emacs has a command to start up the "Eliza" program, which pretends to do psychological analysis based on what you type into it.
So someone wrote some glue code to fire up the Eliza program and feed the Zippy quotes into it, and you access that via meta-X psychoanalize-pinhead. Go ahead and try it out! It's enabled in the version of Emacs bundled with MacOS X, I just checked.
Still does, if you buy into the truly Unix way of doing it.
What do you think FrontRow does to play music? It puts a new interface on top of iTunes! That is all it does!
There are a ton of dashboard widgets that are nothing more than replacement skins for iTunes.
And World of Warcraft also does this -- under MacOS, it can become a user interface for iTunes, controlling music playback and displaying song metadata right from within the game.
The key is, you don't try to change or turn off the existing iTunes interface. That's not the way you do things in this environment, even if it is the way you'd do it under Windows or Linux.
No, what you do is run the existing app, but hide it. Then use the glue built into MacOS to drive it. You send events to and receive events from iTunes, usually via AppleScript.
This is the reason why MacOS is the most Unix-y of any GUI system out there. The Unix philosophy is to have small, discrete components that you chain together in standard ways to achieve results. You don't write a brand new text processing program if you could instead write a simple script that uses pipelines and file redirection to coordinate sed, awk, grep, sort, and all those tools, do you? You don't expect sed and awk to support looking for DLLs to load plug-ins, do you? No. You make small discrete pieces that have documented and standardized interfaces, and you provide a framework for using scripts to glue those together.
This is exactly what MacOS does at the GUI layer. You've got AppleScript, you've got the standard mechanisms for tying into the PDFs produced via printing workflows, you've got the standard mechanism for applications adding items to the global "Services" menu... the GUI of MacOS (based on the GUI of NeXTstep) really, really does follow the Unix philosophy at a very deep level.
This idea that each application should own every aspect of its own execution, but should look for plug-ins in order to grow larger and let users extend that application... do we know an OS that you extend by adding DLLs to directories? Yes, we do. That sort of plug-in philosophy is the philosophy of the Windows operating system, and in the long run it's really not a thing to aspire to.
This is trivial to do under MacOS X via AppleScript, actually. Set up a folder action and you're done. It's actually been easy to do since the very first version of iTunes under MacOS 9, if you weren't afraid to write a little AppleScript -- and if you want a feature as advanced as this, you shouldn't be afraid of the MacOS equivalent of writing one shell script or batch file.
You can even control whether the file is copied, or whether it's left in place and iTunes only imports metadata and a pointer to the file.
Yeah... this article, not so good. It's playing down the strengths of MacOS iTunes "in its ecosystem", and it's playing up the strengths of these other music players for some reason I don't quite get. Ah well, nobody ever pretended this web site was in any way objective, did they?
Cyrillic? Arabic? Kanji? Unicode is pretty big...
I hope in the Buffy MMO you can wander into Lorne's club and play a karaoke minigame, something like the singing portions of "Rock Band". It would fit perfectly.
Actually... the iPod Touch also won't work without activating it by connecting it to iTunes. It's got a notepad application, a YouTube viewer, a mail client, a web browser, none of these things are set up by iTunes, but none of them works until the iPod Touch is activated by connecting it to iTunes.
No. It'll put it to death when mobile developers all across the spectrum, from garage hobbiests to GameTap, can predictably make more money by targeting the iPhone than they can by targeting Java phones.
This doesn't require iPhone ownership to be even 10% the size of Java-phone ownership -- it can be done with a lower market share and higher attach rate.
Now, I'm not going to say that's certainly going to be how things shake out, but I wouldn't bet money against it.
Just as an aside, you can use "EasyToReadAndEasyToType" in a language which is not case sensitive. Nothing is stopping you.
The real question is, should "EasyToReadAndEasyToType" be a different symbol from "easyToReadAndEasyToType"?
I happen to think the answer is "yes, it should be a different symbol". But that's a separate issue from whether you can use camel case in case-insensitive languages.
Here's something I've always wanted to try, which I believe in theory should work, but I've never gotten around to testing.
Step 1: Hit up some buddies or a college or a dumpster or something for old DLS modems from previous installs which nobody is using anymore. Get two of the same make/model.
Step 2: Put one DSL modem somewhere with an ethernet connection, like plugged into a hub at a buddy's house.
Step 3: Put the other DSL modem somewhere where you want an ethernet connection.
Step 4: Run a plain-old low-tech copper pair from one location to the other, terminated the way a phone line is, and plug the two DSL modems into each other.
Step 5: Power everything up and see what happens.
As I understand it, you should have a low-budget homebrew point-to-point SDSL connection. But as I mentioned, this is all theorycraft, I have not actually tried it yet (though I have finished step 1).
People like you are the reason that the developers sometimes permitted gameplay to be less unpleasant than smashing your dick with a hammer.
Can't give you advice on the PC, but on the Mac, the default compiler is the GNU compiler suite. That's where the C, C++, and Objective-C compilers come from.
The GNU compiler suite also has an ADA compiler (GNAT, GNU Ada Translator). Should be possible to get it and plug it in without much trouble, and then it'd integrate with everything else. Heck, should be possible to include ADA modules into an Objective-C Cocoa application, even.
There is also a GNU FORTRAN, worth checking out. Even today, you can't do mathematics as efficiently in C as you can in FORTRAN. (This is because of the language; in Fortran, taking the address of an existing variable isn't normal, so variables don't end up with the possibility of "aliases" that they don't know about, which means a lot more stuff can safely be done all in registers and stuff like that.)
There is also a GNU Pascal, but unlike ADA and FORTRAN, I'm not personally aware of any reason to actually use it.
cf. "the mall"
You don't in fact have to be careful. In both of those situations, the IT guy should be fired.
Sure, the core of their job may be technical, but just about every job requires a little bit in the way of interpersonal skills. Somebody who goes around calling people idiots and acting bellicose does not meet minimum acceptable standards for human interaction.
They're saying that DVDs make up 80% of sales and Blu-Ray 20% right now. A lot of people don't believe it.
I believe it. Why? Rentals. Most of the people I know with DVD players do not buy many DVDs. They rent tons, but do not actually purchase many.
Is it hard to believe that Blu-Ray early adopters are more likely to buy media than rent it when compared with late adopters? No, it's not hard to believe at all, which means each DVD sold is on average viewed by more people via rentals. And that makes the 80%/20% split much more plausible.
Can they drive up Blu-Ray usage so it makes up 50% of sales? Dunno. Seems ambitious. But the thing to remember is, the number of people consuming Blu-Ray does not have to equal the number of people consuming DVD for it to be true. You could have 90% of the population sticking with DVD, but as long as the Blu-Ray folks make purchases all out of proportion to their numbers and the DVD folks stick with rentals, it's possible for Sony to hit their numbers.
On the whole "do mice and keyboards belong in the living room" thing, well, if you've got a gaming setup that has ergonomic environment/support for a racing wheel (and many people with consoles do), then you can probably handle a mouse/keyboard.
A keyboard is no issue at all, it's comfy on the lap. If you've got a keyboard with built-in trackpad or trackpoint, you're done. But in my case a mouse can be comfortably used with a little end table at one end of my couch. I don't often use it, but when I want to, there's no problem. I've played WoW that way (with a laptop running WoW, just to see how it was).
So, on this point.
I didn't have any current-gen consoles when "BioShock" came out. But we have an XB360 at work.
I knew for sure I wanted to play this game. What do I do? Rational thing is, make a list of my options and do a cost/benefit analysis. So that's what I tried to do.
I downloaded the demo version for the XB360 and played it on the 50" 1080p plasma screen at the office. I downloaded the demo version for Windows and played it on the big flat screen at my desk. I compared the visuals and gameplay.
XB360 was a much better experience. And it turns out that buying a new XB360 was going to cost me less than upgrading anything I owned to be able to get even half the visual quality the XB360 did.
I was prepared to hate the XB360. I do not like Microsoft in general. But I did a fair analysis, given my own situation.
I have an XB360 now. (And 1000 gamerpoints earned on BioShock.)
It's very easy to believe the cost/benefit analysis would work out differently for other people. But I'm a developer, and had a developer desktop at work, and that's still the way it worked out for me.
1) "Halo" is the game that changed many peoples' minds about this with regard to FPS games. It is going to be very interesting to see whether "Halo Wars" can do the same for RTS games. It's due out this year. I'm not very interested in it myself, but I will be watching the market's reaction to it.
2) More and more people are hooking up a mouse and keyboard to their consoles anyway. All the current-gen consoles have USB ports and support keyboards. I've got a Logitech wireless keyboard/mouse attached to my XB360. I used to attach a keyboard and mouse to my PS2 and play FPS games with them -- I first hooked up the keyboard/mouse to the PS2 in order to play Deus Ex on it, and it worked. Even if RTS games are strongly enhanced via the use of the mouse, there's nothing stopping developers from using the mouse (or just about any other input mechanism that works on a PC) on consoles. Heck, I consider my XB360 to have more input options -- those "big button pads" for the XB360 version of "Scene It!" communicate with the console via IR, and few of the computers in my house have IR receivers (only some of my portables do).
The only way for ordinary consumers to install anything at all is going to be through Apple. You won't be able to hand someone a floppy with your own program on it and have them load it on their own iPhone. It won't work.
So, all Apple has to do to prevent third-party applications from running in the background is refuse to distribute any apps that do. An ordinary consumer with an ordinary iPhone who hasn't done any kind of jailbreak is not going to have any other source for applications, besides Apple. Period.