New Tutorial and Updates for the SoundCloud AS3 API

I just wrote a new tutorial for the SoundCloud AS3 API, “How to Go Through OAuth Authentication in a Single Browser Window”. This tutorial explains how to set up a web-based Flash application in a way that the user stays in the same browser window during the OAuth authentication and does not need to copy /paste the verification code manually.

For example, this could be a good solution for a music player that lets users listen to their favourite SoundCloud playlists. It works without any backend services by using some Javascript and the Local Shared Object aka “Flash Cookie”. The tutorial requires some basic knowledge of how to pass variables to Flash, a little bit of JavaScript and intermediate AS3 skills.

The basic concept of the solution applies to every other API using OAuth 1.0a as well, so you also might find this tutorial interesting if you use Flash clients to access the API’s of Google Apps, Twitter or MySpace. Read More »

Posted in Soundcloud | Tagged , , , , | 1 Comment

We don’t need Flash on the iPad, we need better tools to build HTML5 sites

The recent discussion about whether the web needs Flash or not was overdue. My opinion is this: Yes, we need an alternative to Flash Player, and HTML5 could soon replace it in most cases. But most of all we need a good IDE to develop content for modern browsers.

Flash has two critical shortcomings that make it hard to use for many projects, not only on mobile devices:

  1. Flash Player is an alien in the browser. You just need to look at the strange code that is necessary to embed it to know that. You can’t use your browser’s “Find” function to search its text. The browser can’t save passwords you’ve entered in a Flash form or even fill out a form with the data you’ve entered on other sites. Flash wouldn’t trigger special input tools of a device like mobile Safari’s Picker UI or work with the tap-to-zoom feature. You can’t use the browser’s controls to increase the font size used inside Flash Player. And there are many other examples. I wouldn’t create a complex UI for the browser with Flash anymore because of this.
  2. Flash needs too many system resources. Thats’s something I always thought would get better over time with faster CPUs, but it never did. I don’t know if it is because of Adobe’s laziness or because content keeps getting heavier as well (more pixels per videoframe, more complex video codecs, more 3D objects, bigger screen sizes etc). All I know is that a site that makes heavy use of Flash burns my 2.4 GHz Core 2 Duo today just as it did with Flash Player 4 and my 500MHz Pentium III ten years ago. And that’s why I think Flash Player will never really work on a mobile device.

But today, using HTML5/Canvas for rich clients instead of Flash is no option either as it is not widely adopted by the browsers yet. You would end up in browser hell again. So what can you do as a Flash Developer to solve this situation in the next years? I think it depends on the type of project you are creating:

Read More »

Posted in Flash Platform | Tagged , , , , , , | 6 Comments

Introducing Scup

ScupToday I’ve released a little AIR tool for all SoundCloud heavy-users. It’s called Scup, which is short for SoundCloud Uploader – and it does just that. You can upload tracks from your desktop by simply dragging them on the program window and then create a set (i.e. a playlist) consisting of these tracks. Grab it here! I hope you’ll find it useful.

I’ve built Scup as a demo application for the SoundCloud AS3 API and also as a learning project for myself, because it’s the first project I’ve done with the Swiz framework and the first using Spark components. When I find time to clean up the code a little I’m going to put it on github.

Thanks to the wonderful people at SoundCloud for having the idea (Eric), making the screen design (Katharina) and most of all helping me master the API and OAuth stuff (Hannes)! This is for you ;)

Posted in Scup | Tagged , , , , , , , | Leave a comment

Updates to the SoundCloud AS3 API

During the last week I made some improvements to the SoundCloud AS3 API library:

  • Full ASDoc documentation is now available online
  • Uploaded an example file for Flash CS4
  • API is now prepared for scenarios where you want to automatically get an access token after authentication (I’ll do an extra post on this in the next days)
  • Added support for requests to public resources without having to authenticate first

I should say a few words about the last point: If you want to build a simple audio player app like Citysounds (check it out, great stuff!) that only accesses public resources, chances are you don’t have to deal with OAuth authentication at all. Read More »

Posted in Soundcloud | Tagged , , , , | 3 Comments

Quick Start Tutorial for the SoundCloud AS3 API

The first release version of the SoundCloud AS3 API wrapper is now available on github. This library enables your Flash or Flex projects to communicate with SoundCloud’s API to upload tracks, create playlists, edit user info and so on. It handles all the complicated OAuth authentication in the background so you only have to deal with a few simple methods. The project is still work in progress and needs some more testing, but I think the API won’t change anymore so you can definitely include it in your projects.

I’ve also written a little Quick Start Tutorial on the Wiki pages and put a sample AIR application in the download section that will hopefully help you getting started with the API.

Some features are currently only documented in the code comments, e.g. switching the response format between JSON and XML. I hope to find some time soon to set up a proper ASDoc documentation.

Posted in Soundcloud | Tagged , , , , | 1 Comment

Renaming Flex Builder solves one problem but causes another

Yesterday I had a meeting with a client who was looking for a Flex Developer to maintain an existing Flex project. I had a look at the code and was pretty confused because, well, it wasn’t Flex. It was just a huge Flex Builder ActionScript project including several .fla files full of library assets. Just because he had been given a repository with a Flex Builder project in it, the client thougt he had to look for a Flex Developer to add some features to his application.

It took me a while to explain the difference between Flex, Flash, the Flash IDE and Flex Builder and why it makes a big difference whether you create your project as an ActionScript or Flex project. That made me realize why renaming Flex Builder to Flash Builder absolutely makes sense. If this would have been a “Flash Builder” project, the client wouldn’t have thought he’d have to look for a”Flex Developer” that is still much harder to find than a “Flash Developer”. Read More »

Posted in Flash Platform | Tagged , , , | Leave a comment

Soundcloud API for Flash and Flex

I’ve just started working on an AS3-Wrapper for the Soundcloud-API. If you never heard of Soundcloud: It’s a very cool service for sharing audio files on the web. Something like Youtube for music, but with style. They already have API-wrappers for Ruby, Cocoa and Python and there are several great apps using these APIs, e.g. the excellent recording app FiRe for the iPhone.

I build the ActionScript-API as the basis of an upcoming project called Scup. That’s a Soundcloud Uploader (hence the name) for the desktop which I’m going to build with AIR. But I’ll write about Scup later.

You can find the code of the API-Wrapper on github. I’ve uploaded a first version with just the basic features and will continue to commit updates during the next weeks. Let me know if you want to use this for your own Soundcloud app. I still accept feature requests ;) And of course, it’s open source. Drop me a note if you want to contribute!

Posted in Soundcloud | Tagged , , , , | Leave a comment

Why can’t Adobe get the settings dialogs right?

Recently a client called me and asked how he could get rid of the update dialog that suddenly kept popping up on the nice AIR video app running in his lobby. It only took a minute to find the answer, but I was really surprised by what I found.

You probably know the cumbersome Flash Player Settings Manager that you can only access on a special Macromedia page? I’d really like to know how many people think that they fell victim to a phishing attack when they see this Adobe page with a macromedia.com URL. But I know that Adobe is aware of this issue, so I’m not going to rant about it. At MAX 2008 Jim Corbett from the Flash Player team called the Settings Manager a “terrible experience” and said they are working on it.

But changing settings for AIR is an even worse experience: You have to download the AIR Settings Manager and install it as a separate application. All it does is switching automatic updates on/off by putting an empty file called updateDisabled in the AIR Application Data/Application Support folder.AIR Settings Manager Read More »

Posted in User Experience | Tagged , , , , | Leave a comment