I could not be more pleased about this news. iTunes 8.1, which was released about an hour ago, renamed "Party Shuffle" to iTunes DJ. I've used Party Shuffle for a long time as a queue of music to play for day-to-day work, and have been frustrated with Apple's Remote iPhone app and its lack of support for Party Shuffle. But their 1.2 App Store update, also released earlier today, has full support for it.
iTunes DJ divides iPhone users into two groups - guests and, for lack of a better term, the admin. The admin's iPhone is paired to iTunes as before, and they get the iTunes DJ playlist added. You can skip through songs, cast a vote (addressed below), and request songs. While iTunes DJ is playing, selecting a song anywhere else throughout the app brings up a menu asking if you want to add to iTunes DJ or play on its own.
Guests don't have to pair their iPhones to iTunes. They get to see a modified Now Playing screen, devoid of playback control. They can, however, request songs for iTunes DJ, and cast votes for songs. When they request a song, it automatically casts a vote for it.
Votes are pretty simple on the facet, but appear quite useful. Songs in the queue can be voted on by anybody. As they get voted on, they are automatically resorted in the queue by number of votes. However, you might get some guy at the party vote-clogging all night; fortunately, votes can be shut off by the admin.
All in all, this is the Big Deal feature in iTunes 8.1, and seems very well thought out.
Amit Singh, creator of MacFUSE, has just released an experimental version of XBinary, which allows the Mac OS X kernel to execute binary types other than Mach-O. Examples of using this include executing ELF binaries, PDP-11, Java jar files, and Windows executables.
South Park Studios:
On Wednesday March 11, 2009 at 10 pm EST South Park goes HD. We are really excited because, not only will the season premiere be in HD, but we have been working hard for over a year re-rendering previous seasons in native HD. We are not up-converting the episodes, but actually going into each episode and re-rendering every shot and frame at true HD.
South Park hasn't been made with actual construction paper for years. The studio uses a sophisticated rendering farm with tools like Maya and Motion (made on Macs, of course). And recent seasons have been far more visually stunning. The jump to HD is great news and will make the show look even better.
While the WebOS SDK is not yet publicly available, Palm is seeding it to select developers. One of them came forth yesterday to talk to Ars about the new Palm device, OS, and Mojo framework.
There's been quite a bit of misunderstanding about what Palm's new WebOS is, versus what it isn't. So I'd like to dispel some of the questions surrounding it from the information I've been able to find on it. There isn't much I was able to find (not surprising, as the thing was just announced today), but we can draw some conclusions from the information.
From Web Apps to Widgets
Many people will respond with derision at the fact that applications in WebOS are built with HTML, CSS, and JavaScript; given the state of most web applications today, this isn't hard to understand. However, the biggest reason web apps are crap compared to their desktop equivalent is that web apps have no integration with the host OS. Which means that web apps have a tough time dealing with multiple OS windows, the clipboard, and offline access.
When Apple released Tiger, they shipped with it the popular Dashboard interface. Inside were miniature applications which were also written with HTML, CSS, and JavaScript. There was a slight difference, however; Apple included the means to integrate the Dashboard with JavaScript. One example is how a Dashboard widget will display its settings via a smooth, GPU-accelerated 3D animation where the 2D widget flips over. This is possible because Apple included JavaScript hooks to perform this animation. But the core tools were just the same - HTML, CSS, and JavaScript.
The Mojo Framework
WebOS applications are much more sophisticated than Dashboard widgets, and certainly more so than regular web applications. This is because WebOS includes a set of tools for creating apps, called the Palm Mojo Application Framework. This, at its highest level, is conceptually similar to Cocoa Touch on the iPhone; it provides common functionality to all applications. It's what will provide all the common code on the device, from data manipulation of stuff like your calendars to the whizzy animation effects you'll see throughout the interface. It's the reason that, in most iPhone apps, the scrolling behavior feels exactly the same.
So, from what I can tell, the Mojo framework is an implementation of all of these ideas, using JavaScript as the programming language, and using HTML5 and CSS for drawing to the screen. Despite there being very little information, they do mention the following features on the developer website:
- apps are installed and run on the device,
- apps are designed to be multitasked and run in the background,
- apps have full access to gestures and the touch screen,
- apps can use a Growl-esque system to display user notifications,
- apps will have access to sqlite databases for data storage (part of HTML5), and
- apps can exchange data via a common messaging mechanism.
The Performance Argument
"But won't it come down to speed?" Yes, it will. However, WebOS is based on WebKit, and likely is using the latest enhancements from the SquirrelFish project. There is a battle royale going on right now between the developers of WebKit, Firefox, Chrome, and Opera for fastest JavaScript interpreter, which means that JavaScript is only going to get faster and faster.
Why go with JavaScript? It provides a low barrier to entry; nobody really needs an SDK to write apps. It makes it very easy to sandbox apps, as the underlying operating system is still invariably written in some form of C, and JavaScript provides no way to break that barrier. And many other reasons, which I talked about last year before the iPhone SDK came out.
tl;dr: JavaScript is just a language. Palm used that to build a system for making applications. They're nothing like web apps.
The interface looks to be pretty snappy, although there was a little lag when they were doing web browsing. Here's hoping that gets ironed out before release.
I'm dying to see a video of this in motion. Their new developer platform appears to be very similar to Dashboard on the Mac; apps are written with CSS, HTML, XML, and presumably JavaScript.