Saturday, March 31, 2007

SWX : A good way to start an argument

I have put this post together as a way to keep track of the debate over the recently released SWX. For anyone who hasn't been following along SWX is an alternative technique for loading data into Flash applications. The idea being that the data is placed into an swf server-side and loaded into the Flash application that needs the data. The idea was developed by Aral Balkan. It's definitely an interesting idea worthy of everyones consideration. But Patrick Mineault started the ball rolling with SWX : A bad idea and now we have the makings of a full on debate (I will continue to add entries to this list if and when they appear).

Wednesday, March 28, 2007

Flex : Depth & Breadth

This is a kind of follow up to my last post (Apollo : Too Simple). In that post I was saying the difficult part about learning Apollo is learning Flex. But this sort of misrepresents my attitude towards Flex. On the way to work this morning I was rummaging under the Cairngorm bonnet (as a consequence of Robin Hilliard's excellent MVC session at webDu ) and I found myself awed by some of the powerful Flex techniques Cairngorm uses. It made me really appreciate the depth of what Flex offers. But then I started to reflect on the things I've been able to build with Flex without this deep knowledge. The great thing about Flex is that it has a gentle learning curve. It allows you to very quickly start to develop powerful GUI's with a very shallow understanding of the framework. It's this combination of depth and breadth that continues to fuel my excitement for Flex.

Saturday, March 24, 2007

Apollo : Too Simple

Sydney Airport, Waiting

I've just gotten back from webDu and there are too many things to write about. But there is one thing that has been on my mind since day one : Apollo. Oddly enough I feel a bit let down by Apollo. I suppose I imagined myself going to Apollo presentations and having a moment of revelation; as I had with Flex at MXDU, 2005. But I didn't have a moment of revelation at the conference.

Don't get me wrong. Apollo is very exciting. It will have a major impact on how the desktop relates to the web. We will probably need to coin a new buzz word to describe all the Apollo applications that will soon appear. But Apollo doesn't represent a new development paradigm the way Flex did. Apollo changes the world because developing desktop applications just became a whole lot easier, especially when you consider that you will be able to build it once and deploy to Mac, PC and (eventually) Linux.

I guess I feel let down because Apollo is too simple (if you understand Flex). All the interactive potential of Apollo is the interactive potential of Flex. All the web services you can access from Apollo are the web services you can access from Flex. Sure the html component is new (and very exciting). But it is just a new Flex style component as straight forward to use as many of the simpler Flex components. The File class is new. But it is just another Flex style class with a familiar workflow. Of course, Apollo will evolve to include many new features. But they won't be new because we will be familiar with them from existing desktop applications and because using them will be similar to using existing Flex components. Really the hardest part about learning Apollo will be learning Flex. So I feel a bit let down. I was steeling myself for the learning Apollo journey only to find myself in the arrivals lounge collecting my luggage.

Sunday, March 18, 2007

Amie St : Funk and Functionality


I like Amie St a lot. But there is one thing I find odd. It has all the features of a good web 2.0 company but none of the functionality. Before I explain myself I guess I better give a brief Amie St overview in case you've never heard of them.


Amie St is on online music store with a difference. For a start all songs start out free. A songs price can go up to a maximum of 99 cents based on how many times it bought. Which means everyone has the opportunity to pick up great music at a great price. You can also earn extra credits by recommending songs. The more your recommended songs go up in price the more credits you earn. The other great thing about Amie St is that anyone can get their songs published. Which means it provides a great space to discover new music and for great music to be discovered.


To go back to my original claim. Some of the best things about Amie St is it's web 2.0 features and one of the most frustrating things about Amie St is it's lack of web 2.0 functionality.


When I talk about web 2.0 features I mean that users have a say in what matters on Amie St. A purchase is like a vote and it earns songs a higher value and makes them more visible to buyers. Your recommendations can further promote the songs you like and the system rewards you if users respond to your recommendation. Amie St's web 2.0 features make it a killer app for me. Which is a good thing because I'm finding it's web 1.0 functionality a bit frustrating.


The defining feature of web 2.0 applications is that the action happens within the browser page. You don't need to make a new page request to take some action. In that respect they are similar to desktop applications. But Amie St is all about page requests. Your playlist opens in a little popup window. You need to open a new window or leave a playlist to manage your purchases or to make a recommendation. The only web 2.0 like feature is the tiny dialog that appears to confirm a purchase. But this functionality doesn't exist in the player. There are lots of other things I could point to. But hopefully you get the idea.


Of course Amie St isn't the only web 2.0 service with web 1.0 functionality (most of del.icio.us is very web 1.0). In fact it's this distinction between features and functionality that has made "web 2.0" our best option for a name to describe current trends in web development. If all web 2.0 services offered social networking features without page requests we might have settled on a name that reflects the social aspect of web 2.0. Alernatively if all web 2.0 services had been RIA's (Rich Internet Applications) without a social element we probably been happy with the RIA acronymn. Which begs the question : if a web service can't be considered a RIA does that mean it should be considered a PIA (Poor Internet Application).


If you are wondering where the funk went in this post let me recommend : My House Is So Funky by TnBy.

Friday, March 16, 2007

My Dots Disabled

BlueDot has a tool that will automatically create a blog post from your days Dots. For the last few days I was trialling this here on the blog. Here's some examples :
But I've just turned it off again as I felt it was generating unnecessary noise. It gets particular weird when you are also getting BlueDot to generate Dots based on your blog entries. Because you start to see you blog entries show up on your blog as Dots. Still it is an interesting feature. It allows you to add tags that you want to use to filter the Dots (i.e only add Dots with these tags). It would be nice if you could exclude by tag (i.e don't add Dots with these tags). That way you could ensure your blog entries don't get regurgitated. It would also be nice if you could filter based on your rating (i.e add Dots with a rating greater than 3). Finally more frequency options would be useful. I'd be interested to have a weekly list of Dots. This could be particularly useful for users who Dot infrequently.

Thursday, March 15, 2007

My Dots for Wednesday, March 14, 2007

Quoted: The world's largest social music platform. Show off your taste, see what your friends are listening to, hear new music, get personal radio, recommendations, and downloads, all for free.

[tags: music]

Quoted: Pandora is the music discovery service that helps you find new music based on your old and current favorites. Create custom internet radio stations, listen free.

[tags: music]

Quoted: Essential ActionScript 3.0: Books: Colin Moock by Colin Moock

[tags: actionscript, flash, Flex, book]

New service aims to be a cross between iTunes and Pandora

[tags: music]

Quoted: For a current project I have a container which has a gradient background. Within this I have a series of LinkButtons. I only want the text color of the LinkButton to change on rollOver. If the background of the container was solid I could set the rollOver color to match the background. But the gradient makes this impossible. So I went to the styles

[tags: geekglue]

See the rest of my Dots at Blue Dot

Flex LinkButton : Transparent Backgrounds?

For a current project I have a container which has a gradient background. Within this I have a series of LinkButtons. I only want the text color of the LinkButton to change on rollOver. If the background of the container was solid I could set the rollOver color to match the background. But the gradient makes this impossible. So I went to the styles for LinkButton expecting to find a backgroundAlpha property. But it seems the LinkButton lacks this or any similar style that I could use. It took me a little while to realise there is a relatively simple solution. Which is to create a skin with a transparent background and to use this for the LinkButton's overSkin and downSkin. I already had a few skins that I was embedding from a swf so I just created a new movieClip which contained a transparent object and added a linkageID of clear_bg. Exported the swf and defined a new style for my LinkButtons. Simple and yet effective. I'd love to hear if there was a style I could have used to get the same result.


LinkButton {
overSkin:Embed("my_skins.swf#clear_bg");
up
Skin:Embed("my_skins.swf#clear_bg");
down
Skin:Embed("my_skins.swf#clear_bg");
}

Wednesday, March 14, 2007

My Dots for Tuesday, March 13, 2007

Quoted: Swivel: Where Curious People Explore Data.

[tags: visualisations]

Quoted: Code-Sucks.com is a resource for Web Designers and Web Developers giving away free css layouts, web templates and code snippets

[tags: css, design]

See the rest of my Dots at Blue Dot

Tuesday, March 13, 2007

My Dots for Monday, March 12, 2007

Quoted: The GORB's goal is to create a reliable, balanced and widely adopted rating system that measures our 'online' reputations. This measure is free for our members to give and free for our members to take. It helps us to find the great people around us.

[tags: rate]

See the rest of my Dots at Blue Dot

Sunday, March 11, 2007

Social Networking : Participation and Abuse

A Social Networking system (i.e Digg, BlueDot) reaches it's optimal usefulness when system activity exceeds a minimal value and is below a maximal value. This probably sounds pretty obvious on the surface. But it has some very significant implications for how much income a system can hope to generate from traffic. Just to tease this out a bit.

Some systems are useful on their own. For example, the most useful place to store bookmarks (to my mind) is online. So Social Bookmarking tools are useful even if you don't want to be social.

But for the Social element of these systems to be useful they need to achieve critcal mass across a wide range of topics (tags). This critical mass is different for each system. But needs to take into account each individual users level of participation. Critical mass is the systems minimal level of activity. For web 2.0 systems to survive they need to achieve this crital mass as quickly as possible.

A systems potential for growth is limited by two factors. The first is how well the sytem is organised. Not all systems are equally scalable. I suspect that the more input users have within a system the less scalable it is. For example, Google's search engine is theoretically infinitely scalable. Because users have very limited influence within the system. Which brings me to the second limiting factor. A system is limited by how open it is to abuse. In recent months theres been quite a bit of traffic around abuse within Digg. The evidence suggesting that Digg's top contributors were in fact employed to promote specific items within the system. This sort of press must have an impact on a systems potential growth. Obviously these two limiting factors are interdependant. The better a system is organised the less open it is to abuse. The way it detects and manages abuse is a measure of the quality of it's organisation.

Wednesday, March 07, 2007

Social Bookmarking : The Urge to Search

Regular readers will probably have noticed that I'm currently a bit obsessed with Social Bookmarking sites. In the recent past I've posted on del.icio.us, BlueDot and Ma.gnolia. Part of the reason for this obsession is that I want all my bookmarks in one place and to have a custom interface to them on geekglue.com (you can still see my old system in the links area). Which brings me to my problem. Working with the BlueDot API (the del.icio.us version) I realised that none of these services offer a bookmark based search facility. You can search by tags but not on the title or content of a bookmark. For example, I currently have 391 bookmarks, 41 tagged as actionscript. I can easily select a second tag to further filter my actionscript bookmarks. But there have been a number of recent occasions when I knew the bookmarks title but was a bit vague on it's tags (partly this is poor tag organisation; what can I say it is a work in progress). What would be great is to be able to search bookmarks rather than tags. For most people it's not really a problem because they maintain a relatively short collection of bookmarks. But as soon as your largest tag group starts to exceed 20 bookmarks (2 pages on BlueDot). Then you'll start looking for a bookmark search button. Being able to select the number of bookmarks displayed per page could help. But really thats just postponing the inevitable primordial urge : the urge to search.

As Mohit points out, see comments, a search method is available through the BlueDot SOAP API. My bad for not following through my research properly. It isn't entirely clear in the documentation but you can search purely using a keyword (i.e with tags = NULL; thanks Mohit for the clarification).

Monday, March 05, 2007

Apollo for Adobe Flex Developers Pocket Guide

Apollo for Adobe Flex Developers Pocket Guide (cover)

There are posts all over the place about the Apollo Pocket Guide. But I want to offer my perspective now I've had a chance to read the sample chapter. The chapter looks at File operations using Apollo. Specifically it deals with the File and FileStream classes. The book is written in the clear and concise style we have come to expect from the O'Reilly pocket guides. They are straight to the point with clear examples to illustrate the application of the concepts discussed.

What was really exciting was to see some clear examples of how easy it will be to leverage Flex skills into Apollo development. The concepts for File operations were familiar from other languages (in my case PHP) and the methodology was familiar from Flex/AS3. This sample has really whetted my appetite for having a play with the Apollo alpha (which is apparently really close). Bring it on Adobe!