4 notes
“Apple has conceded. They have essentially rescinded all of the madness associated with 3.3.1. This is an amazing turn of events. It is exceedingly rare for Apple to capitulate, and it can only mean that pressure from the popularity of the far more open Android has taken its toll.”

Apple Blinks. Flash Tools Now Allowed



1 note
“Unlike the fortress-like atmosphere of an iPhone, the Android OS suggests that if you can think of something to try, it might just work. For example, I browsed to a website offering an mp3, and clicked on the link just to see what would happen. The song started downloading! It showed up in the music player!”

Why AT&T Deserves To Fail



13 notes

Attention internet: that’s not how Android multitasking works

Hey everybody, please stop confusing John Gruber and his legion of flying monkeys with strangely wrong statements about multitasking in Android.

On Android, apps are suspended when they are no longer visible to the user. Suspended means the app is still in memory, but it is frozen. No processing or event handling happens.

David Quintana

LIES. Or, more likely, IGNORANCE. Whichever it is, there is no redeeming this objectively wrong statement. I don’t know who this guy is or how much Android programming he has done. Neither did PCWorld but they still wanted to marry his “clearly, straightforwardly, simply written” bundle of bad guesses on computer phone stuff, proudly not “mired in the technical details” such as whether or not its fundamental assumptions were correct.

ANYway. That was months ago. It seemed like this nonsense would be corrected at some point by people that knew what they were talking about. But then today:

When a user switches apps, or hits the home button, your app has a brief time when it “runs in the background.” Then it becomes suspended. In its suspended state, it is still in memory, but gets no CPU cycles.

Michael Galpin

WHAT. No. But this guy actually does Android programming. What is he talking about? [You can find Michael’s response in the comments below.] Was Coderspiel itself mistaken? Let’s test it!

  scala.actors.Actor.actor {
    while (true) {
      Thread.sleep(5000)
      println("hello")
    }
  }

See for yourself: the world is wrong and Coderspiel is right, like usual. You just have to copy and paste that scrap of code somewhere into your Scala Android app (IF YOU HAVE ONE LAZY PANTS) and see what happens when you leave the application.

Here is what happens, for the lazies: the thread keeps printing crap forever. The app containing it can not be described as “suspended” or enjoying a “brief time”, in any universe. At some point the app may be terminated, if you open a bunch of porn from Steve Jobs’s famous Android porn store. But on our test device it ran for like an hour before we got tired and stopped it.

Crazy, right? It took just a couple of lines of code to disprove this misconception flowing through the torrent of “this thing is somewhat like that Apple thing, please RT” pieces. (Those are boring btw. At this point the only reason to read them is to drink a beer each time they type something completely wrong about Android.) How has this confusion spread so far? Surely most Android programmers know how their platform works. Perhaps they are just so admirably used to packaging long running processes in services, and recognizing that background apps may be terminated at any time, that they think of background apps as being suspended. It’s just that, crucially, they aren’t. It’s the application’s responsibility to be idle if it is not doing anything of value.

As for users and their precious experiences, this distinction is actually really interesting. It means you can do this thing where you’re reading RSS feeds in NewsRob and there’s a link you want to follow, so you “open in browser”, and then you switch back to NewsRob while it’s loading. Later, you go to the browser and the page has loaded. If you’ve used a computer since 1995, you’ve probably experienced this feature already, which is called “multitasking”. You don’t have to do anything special to make it work.

Of course, Mobile Safari is made by you-know-who, so it already multitasks swimmingly in the current iPhone OS. It will keep on loading pages while you are playing Doodle Jump. But poor iPhone Opera is crippled with amnesia: not only do loading pages fail to finish when you leave the app, they’re forgotten entirely. In iOS 4 they will pause or something, but Opera can’t just load them like normal because it is not Pandora or a jogging route recorder.

Or who knows, maybe Opera will be allowed to multitask because as a browser it’s already “duplicated functionality” and the ever-changing, non-binding platform rules are nothing but a complex piece of misdirection.

“Apple is testing whether a tightly controlled and managed app console platform will succeed or fail based on its own merits, as determined by customers.”

Apple is not Being Evil, Apple is just Testing Evil

“A long time ago … AT&T sold phones also, and other people were coming in and trying to sell phones. AT&T argued to the FCC and others that these phones were going to ruin AT&T’s transmission system. That’s the basic idea. The FCC rejected that argument, but it’s that kind of argument that gets made.”

US government jealous of other unaccountable, overreaching authority



12 notes

On Praise of Closed Platforms

The greatest damage of Cocoa Touch’s exclusive-distributor policy is not its effects on individual users, programmers, or software companies. It’s how it has corrupted our decades-long discussion on computing platforms.

Our computing culture encompasses many different views on software freedom and access, but over time its trajectory has curved towards greater openness. Even proprietary systems have benefited from incorporating open-source into their foundations, Mac OS X being the most famous example. Open-source projects have in turn been improved by salaried contributions from some of their beneficiaries. And most importantly, these symbiotic relationships have bubbled up to platform interoperability: I don’t have to worry if my Mac ssh client will work with a server on Linux when they’re built off the same codebase, and this confidence creates a stable platform for higher level platforms like git.

Things were looking swell for a liberating and innovative future in software. That is, until a formerly counter-cultural computer company in Cupertino decided to disruptively innovate in extreme software market control. Dude. What? If you had told me in 1998 that it would be intellectually fashionable in 2010 to support a reversal of computing’s trend towards openness because of Apple Computer, I would have spewed Zima all over my Performa.

But here we are, with Apple Employee #66 Bruce Tognazzini:

The blogs have been filled for three years now with the constant wailing of the technorati complaining bitterly about the iPhone’s, now the iPad’s, closed system.

The blogs! They complain bitterly and wail constantly—this is a popular thing to type! Let’s never mind that this “free webzine” article is itself a blog post: it’s text that would not have been written or read if not for web publishing, which is blogs. They’re a good thing.

Until blogs we weren’t often able to learn about technology from people who made it happen, the great inventors and designers of our times. I really appreciate being able to read what people like Tog have to say. The web has opened the floodgates of mass publishing and it’s making our civilization collectively smarter. :) Even so, our species remains tragically susceptible to the ancient vice of ad hominem fueled by hubris. :(

… the iPhone’s, now the iPad’s, closed system.

It’s nothing new.

Yeah, that’s not actually true.

[The first Mac] was designed to always have a fixed amount of memory—128k—with no way of ever expanding it. The core of the OS was in ROM, not RAM. It was Steve’s vision that if you made every single computer with the same exact OS and the same amount of memory, developers would always have a fixed platform for which to develop, making their jobs easier.

No hardware expansion, okay.

Users could forget about plugging in add-ons, too, because there wasn’t anywhere to plug them. The system could not even connect to anything as basic as a hard disk, for example, again “supporting” developers by giving them a single, known quantity for which to develop.

Also, no hardware expansion.

Sound familiar?

Notsomuch.

In hardware terms Apple’s Macintosh started off less open—expandable is the natural term—than the PC and Apple II platforms. And when Mac add-ons were enabled their adapters were of course proprietary. The much later adoption of PCI and USB standards were the significant cross-platform measures in this vein, taken in desperate times by the formerly go-it-alone platform.

But to pretend the original Mac, current Macs, or any Mac in between is evidence of the value of “closed platforms” in the context of Cocoa Touch is foolish of people who don’t know better, and dishonest of the rest. Our new platform debate is specifically and significantly about software distribution, and in that respect the Mac has never set itself apart.

In fact the original Mac proved that a culture of excellent software can thrive without centralized software distribution. You could even unfairly point out that the plain old Mac software market had a lower share of junk than the fancy authoritarian App Store, but that’s of course because the cost of distributing software back then helped keep the rabble out. Apparently the accidental capitalist solution worked better than Apple’s army of bureaucrats—that is, if you think the availability of crappy software is a real big problem in the first place.

Slippery Hopes

As much as the Cocoa Touch situation sucks, don’t despair that computing in general will slide that direction. For one thing, the platform will be overtaken by its unimpeded competition. That’s what happens. But as for those who do support Cocoa Touch’s legal and technological meshwork because they support closed platforms as a general rule (wtf), they are not so much sliding down a slope towards software disempowerment as taking a swan dive into it. If such restrictions are necessary to progress, what exciting next step are they anticipating after ceding exclusive control over software to a single corporate entity? Tasers? [Update: almost!]

A timeline for iPad competition was evident even before it was announced. By January 2010 Google had already, remarkably, caught up with Cocoa Touch’s lead in mobile touchscreen computing. While Android 2.0 predictably fell short in its user interaction, it got close enough for its killer feature of mobile multitasking to strike fear into the hearts of the Cocoa Touch gods. If the ability to switch between blocked and responsive activities is worth more to you than a few dropped animation frames, Android was already in the lead. (And webOS probably even more so, but sadly without the marketplace clout.)

So when the iPad made its inevitable appearance, the significant revelation that day was not the initial version’s lack of a camera (which is just mean) but its lack of anything technologically surprising, at all. It seemed to come without any advancements, an observation that reliably attracted two retorts: “it’s not about the tech features, stupid” and “it’s a post-computer device, stupid”. Both of these condescending fireball talking points avoid the intended point admirably.

Which is, that without gap-widening tech the iPad was set to be challenged within months, and even surpassed by Android devices. It does not take so long to produce hardware that is like current devices, but bigger and bigger. And as for the software platform, Android was born ready for the move to larger devices capable of richer computing. They had prudently built device-independent pixels and multitasking into it from the start. It seems Google does not typically let Tog’s “young geniuses” run wild without those annoying design constraints.

“Start your xeroxes” would have been a little awkward

To close his free webzine article Tog characterizes the fated arrival of larger Android hardware as “Google” using its “copier”. That is just weird. These devices have been on drawing boards since the computer screen was first imagined, especially in the offices of computer and touchscreen phone manufacturers. The difference now is that the market has been primed and several viable platforms are ready to go.

Whatever you think about Android’s past borrowings from Cocoa Touch, there is not that much new stuff to copy. Neat-o pop-up menus were in Android 2.1’s gallery app before the world was inexplicably impressed by them on the iPad. Mostly Apple seems to have spent their iPad prep-time setting a good interface example with their office software. That’s a fine idea and I’m sure I’d be impressed if I used office software, but its inspiration will help people design better big-Android apps as much as it helps Cocoa Touch apps. Yay for unwanted openness.

Now if I were inclined to return the copier jeer I could call Cocoa Touch’s long awaited interpretation of “multitasking” a carbon copy of Android’s.

But, that would be a pretty ignorant appraisal.

“To be clear, developing within the constraints of a platform is incredibly important for getting an application right. But using Apple’s sanctioned tools doesn’t guarantee that, and using a legal document to enforce said tools steps into the ridiculous.”

Ben Fry



1 note
“But when we saw the NASA App for iPhone, we used the Freedom of Information Act (FOIA) to ask NASA for a copy, so that the general public could see what rules conrolled the technology they could use with their phones.”

EFF hacks US law to reveal Cocoa Touch’s puppet strings

}