HomePod + Android #ForbiddenLove

14 years… It’s hard to believe, but that’s how long it’s been since Apple introduced AirPlay audio streaming (originally called AirTunes) with the release of the first AirPort Express. From Apple’s press release in 2004:

AirTunes is Apple’s breakthrough music networking technology which works seamlessly with iTunes running on either Macs or PCs to let users easily create a wireless music network in their home. iTunes 4.6 automatically detects remote speakers and displays them in a simple pop-up list for the user to select. Once the remote speakers are selected, AirTunes wirelessly streams the iTunes music from the computer to the AirPort Express base station. AirTunes music is encoded to protect it from theft while streaming across the wireless music network and uses Apple’s lossless compression technology to ensure no loss of sound quality.

Shorty after the public release, I reverse engineered the AirTunes protocol and the key used to encrypt the audio stream and released JustePort, an open source AirTunes client.

When Apple in 2010 released iOS 4.2 with support for sending video to the 2nd gen Apple TV, they renamed AirTunes to AirPlay.

Since I co-founded doubleTwist a decade ago, we’ve been at the forefront of restoring digital media interoperability for users trapped in walled gardens. On Android we’ve supported AirPlay since 2011 and we currently support all three major protocols (AirPlay, Chromecast and DLNA). Whether you prefer to store your music locally or in a cloud service like OneDrive or Google Drive, we’ve got you covered with doubleTwist Player and CloudPlayer.

Like many others, we’ve been eagerly awaiting the launch of Apple’s first AirPlay speaker. We got our hands on the HomePod today for some testing and everything works flawlessly. Anything you can play in the doubleTwist apps (local music, cloud music, podcasts, radio) can be streamed to the HomePod.

Currently streaming my lossless music collection stored on Microsoft OneDrive to the Apple HomePod using my Google Pixel XL – sounds amazing!


5 things Google doesn’t want you to know about Play Music

  1. When you buy an MP3 on Google Play from your Android phone, Google prevents competing apps and 3rd party developers from accessing the file using technical and legal means. It can only be played in Google’s Play Music app. If you thought DRM was dead, think again.
  2. Google Play Music limits the number of devices you can use to listen to your own music and only allows you to “deauthorize” 4 devices per year, including phones and tablets. In addition, each time you flash your device with a popular custom ROM such as CyanogenMod, you use up one of your authorizations.
  3. Google Play Music degrades the sound quality of lossless files such as FLAC and Apple Lossless by transcoding them to lossy MP3s.
  4. Google Play Music doesn’t allow you to share your music library with other members of your household.
  5. Once your music library is on Google’s servers, you can only download a song twice from the Play Music website back to your PC or Mac. Until the end of time.

Our philosophy at doubleTwist has always been to break down the walls that large corporate entities build around their platforms to lock you down. To further that goal, we’ve released a new Android app called CloudPlayer that turns your favorite cloud storage service into a giant jukebox. Your music — no limits!

Amplify your music with MagicPlay and the Raspberry Pi

MagicPlay is an open cross-platform audio streaming standard (think “HTTP for music”) that supports synchronized streaming to multiple speakers (like Sonos). For more details, see this Verge story. In the near future you’ll be able to buy WiFi speakers, TVs and other products that come with MagicPlay support out of the box. If you want to try MagicPlay right now, you can turn an existing device such as the Raspberry Pi into a MagicPlay device and stream music to it using doubleTwist Music Player for Android.

Prerequisites:

If you would like to skip building the source code, you can download a binary package instead.

1. Download the AllJoyn source code (AllJoyn is a P2P framework developed by Qualcomm to power the Internet of Things).
2. Unzip the AllJoyn code: tar -zxvf alljoyn-3.3.0-src.tgz; cd alljoyn-3.3.0-src
3. Clone the following two repositories:

4. Apply this patch: zcat magicplayd.diff.gz | patch -p0
5. Build AllJoyn library: make OS=linux CPU=armhf VARIANT=release
6. Build and install audio service: cd services/audio; make CPU=armhf; sudo make CPU=armhf install

The MagicPlay service (/etc/init.d/magicplayd) has now been installed and will automatically start on boot.

Note that if you want to use a USB sound card with MagicPlay on the Raspberry Pi, you will need to modify services/audio/src/posix/ALSADevice.cc prior to step #7 and replace “plughw:0,0” with “plughw:1,0” and “hw:0” with “hw:1” (since the USB sound card would be sound card #2).

To get beta builds of doubleTwist Music Player for Android, make sure to join the doubleTwist Google Plus community.

The setup pictured below includes a LP-2020A+ Lepai amplifier ($20) and Micca MB42 speakers ($50).

RaspberryPi-MagicPlay

MagicPlay1MagicPlay2

The Men Who Stole the World

A decade ago, four young men changed the way the world works. They did this not with laws or guns or money but with software: they had radical, disruptive ideas, which they turned into code, which they released on the Internet for free. These four men, not one of whom finished college, laid the foundations for much of the digital-media environment we currently inhabit. Then, for all intents and purposes, they vanished.

Full article in TIME

Google’s mismanagement of the Android Market

Earlier this week, CNET ran an article critical of the permission model of the Android Market. Google’s response to the criticism was that “each Android app must get users’ permission to access sensitive information”. While this is technically true, one should not need a PhD in Computer Science to use a smartphone. How is a consumer supposed to know exactly what the permission “act as an account authenticator” means? The CNET opinion piece “Is Google far too much in love with engineering?” is quite relevant here.

Google does far too little curation of the Android Market, and it shows. Unlike Apple’s App Store, the Android Market has few high quality apps. A study by Larva Labs (the developers of the excellent Slidescreen app) estimates that Apple has paid out 50 times more money to developers than Google has. While the Android Market is available in 46 countries, developers can only offer paid apps in 13 countries (for instance, Canada has only had access to paid apps since March 2010). In addition, the price for foreign apps is not displayed in the user’s local currency and developers do not have the option of customizing pricing by country. To make matters worse, you can’t pay for foreign apps using your Amex card or carrier billing. There’s also no support for in-app payments and changelogs (to communicate app changes).

Below are just a few examples of what’s wrong with the Android Market. Those 144 spam ringtone apps (which are clearly infringing copyright) are currently cluttering the top ranks of the Multimedia category. I was not surprised to find that they were being monetized through Google Ads.

Trademark and copyright infringement is widespread in the Android Market:

The music downloading app “Tunee” (one of many such apps) is one of the Top Free apps in the Multimedia category with more than 250k downloads. While some would dishonestly try to pretend that such apps are meant for downloading public domain classical music, the developers of Tunee are very clear about their intent. Their screenshot shows copyrighted music by the band Muse (Warner Music Group) being illegally downloaded.

These apps are damaging to companies that are building legitimate Android music apps (e.g Rdio, Spotify and MOG), not to mention Amazon whose MP3 store comes bundled with most Android phones in the U.S. Is Google’s strategy to turn a blind eye to illegal music downloading until they launch their own music store?

Developers and users are getting fed up and it’s time for Google to clean up the house.

Follow me on Twitter

Steve Jobs admits iTunes for Windows is a sub-standard app

In defending recent changes to the iPhone SDK agreement, Steve Jobs made a general argument about platforms:

We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.

Since iTunes for Windows uses non-native APIs such as CoreFoundation and CoreGraphics, Steve Jobs is effectively calling iTunes for Windows a sub-standard app.

Is iTunes hindering the progress of the Windows platform by not taking advantage of the latest native Windows APIs? By Steve’s logic, Microsoft should start banning apps such as iTunes from Windows.

iTunes for Windows DLLs

Kernel 2.6.32 for your Nexus One

Unlike the locked down and user-hostile iPhone, the Google Nexus One is not SIM-locked (even when bought subsidized) and ships with a bootloader that can be unlocked to enable custom firmware flashing. More importantly, you can use the Nexus One to make calls that last longer than 10 seconds 🙂

The Nexus One ships with a 2.6.29 kernel but if you like living on the bleeding edge you can install your own kernel (e.g. the experimental 2.6.32 kernel). Below you’ll find an update image I built which includes a 2.6.32 kernel, su, scp and ssh.

Steps to unlock your Nexus One bootloader and install your own firmware:

  • Verify USB debugging is turned on in your Nexus One settings (Applications -> Development).
  • Install the Android SDK and fastboot.
  • Power off your Nexus One. Hold down the trackball and power the device back on.
  • Run ‘fastboot oem unlock’ and then follow the instructions on the device.
  • Download Amon_RA’s custom recovery image for the Nexus One.
  • Run ‘fastboot flash recovery recovery-RA-nexus-v1.5.3.img’ and then reboot your Nexus One.
  • Copy nexus-2.6.32-root-signed.zip to your Nexus One SD-card and then run ‘adb reboot recovery’.
  • Once the device boots into Android system recovery, select “Flash zip from sdcard” and then nexus-2.6.32-root-signed.zip.

With root on your Nexus One, you can use apps such as n1torch (use your Nexus One camera flash as a flashlight).

Note that for security reasons you may want to replace the standard su with something like superuser.

Btw, my company, doubleTwist, is hiring engineers in San Francisco and Android experience is a plus. Perks include a doubleTwist engraved Nexus One 🙂

Pogue and Mossberg on doubleTwist

David Pogue in his Nexus One review last week:

The Nexus doesn’t come with any iTunes-style companion software, either. Enterprising techies know about the free DoubleTwist program for Mac or Windows, which simulates iTunes for the purposes of loading up your phone with music, photos and videos.

This week, Walt Mossberg in a follow-up to his Nexus One review:

Google doesn’t supply any equivalent to Apple’s iTunes or the BlackBerry media-syncing software. However, the third-party program doubleTwist, available at doubletwist.com, is designed to function as a sort of iTunes for syncing Android, Palm and BlackBerry devices.

What are you waiting for? Go download doubleTwist now and sync with your Nexus One 🙂