Photophlow: flickr + irc + web2.0 = awesome

Adrian Spender | Photography, web2.0 | Saturday, January 12th, 2008

photophlow
Click for large version.

I first read about Photophlow on Ajaxian a few days ago. Of course I signed up immediately for their limited beta and this morning an invite was waiting in my inbox.

Photophlow is an extremely well designed web application for community viewing of photos from flickr. The best way of describing it would be to imagine a photo slideshow application mashed up with an IRC chatroom. It hosts a variety of virtual rooms (you can create your own) in which people can gather. There are rooms available for flickr groups and the application will highlight room for groups you are already a member of. Anybody in a room can perform a flickr search and then select a photo to be viewed. Meantime all people in the room can talk and discuss in real-time as well as having direct access to usual flickr features such as adding contacts, favourites and comments.

From within a room you can display a list of photos from either a choice of options (the photostream for the related group, your photos, your contacts, explore etc.) or you can search. If you click on a photo from the resultant list it is shown larger on the right hand side of the window. People then naturally start commenting on it, critiquing and generally interacting with each other. It is fascinating to see how the conversation develops. This morning I entered the Stobist.com room and began looking at a couple of photos. A few more people came in and I struck up a conversation with a guy from Huddersfield. Somebody else started looking through his photos and in the meantime a conversation was taking place about the best wireless remotes for off-camera flash. The Huddersfield guy then took us off to view a photo from a friend which recently made the top spot on explore.

The beauty is the way that other people can control what you view. It has the potential to be disruptive if people are constantly changing photo, and I guess as more people come into the system this will be something to keep an eye on. It would be tempting for a lot of people to go into a room and immediately start displaying their photos for instance. Thankfully there are a couple of different modes. In any room you can choose to go into manual mode which means others cannot override the photo you are currently viewing. You can also go private which means others cannot see the photo you are looking at, but you are still in the room and can still participate in conversations.

Things get even more impressive when you try the built-in support for twitter, allowing you to create tweets when you enter a room of ad-hoc from directly within the photophlow interface. They also have tumblr support, and the ability for the system to notify you by email or IM when certain events happen, like somebody entering your personal room.

The screenshot above shows a rather serendipitous moment when one of the other people in the room did a search for “shielding” and one of the photos that came up was by Roo.

I have three invites to give away, so please leave a comment (make sure you enter your email address on the form) if you want one.

MashupCamp 5 in Dublin

Adrian Spender | Connections, Tech, Work, web2.0 | Tuesday, August 21st, 2007

I and a few of my team have just registered to attend and participate in MashupCamp 5 which is being held at Trinity College Dublin on 12-13th September.

The two days are being run as an open space/unconference with a preceeding Mashup University on the 10-11th. We will be bringing Lotus Connections along to show and play with, with the aim of discovering integration points between social computing within the enterprise and beyond the firewall. There’s already a proposed discussion item about “Mashup Adoption Issues Across the Enterprise” which sounds promising.

So, if you are going be sure to look out for us. I don’t know yet how we will advertise our presence or anything! IBM are a sponsor of the event so maybe we can get some goodies or something. The list of attendees includes Stephen O’ Grady from Redmonk, who I look forward to meeting.

Facebook security compromised?

Adrian Spender | web2.0 | Tuesday, July 31st, 2007

Is it just me or is Facebook’s security not working as it should this morning? On logging in today the login screen presented me with another person’s login email (but not password) and seems to be doing this on a regular basis. What’s more, when logging in as myself I’m taken to the News feed page of another person entirely. I can see their notifications, and access their friend’s profiles (who are not friends of mine). Sometimes when I click on Profile to go to my profile page I’m taken to somebody else’s profile entirely (but in read only mode)

As I write this it seems to have started behaving itself. However there was definitely something wrong there for a while. I don’t know if it was with Facebook itself or some intermediate proxy issue (but then surely FB are setting no-cache on their pages?)

Nope, It logs me in ok, and shows my news feed, but when I click on the 1 notification it tells me I have it goes off to somebody elses notifications. Oops. Now I can access their inbox :-(

I think somebody needs to page a Facebooker out of bed!

Project Zero and why community driven commercial development is good.

Adrian Spender | Software, web2.0 | Monday, July 2nd, 2007

Whilst many colleagues have already blogged about it, I thought I’d just do a quick post about Project Zero. The aim of going public with the site is to provide a community based development aspect around some work that IBM has been tinkering with for a little while now. The goal of Project Zero is to define a revolution in dynamic web application development by bringing together scripting from Groovy and PHP along with RESTful web services, Atom feeds and (say it quietly) even Java.

The interesting thing about the who project is the approach it is taking towards community driven commercial development. Project Zero is not going to be open-source software, so the immediate question is what value does making it’s development community driven have? I think the best example of why socialising the Zero technology core at this stage is a good thing is to make a comparison with another IBM technology vision which started in a similar way, namely Service Component Architecture (SCA)

As I’ve written about before, SCA started life within IBM as the brainchild of a couple of people. From there it grew and a lot of work was done by some talented people (and me) to prototype it, define the programming model and turn it into a technology which we could build a product on. It became the basis of WebSphere Process Server (and thus WebSphere ESB) and really lies at the core of those products. Along the way IBM started to work with BEA and then other vendors to open the spec up, to the point where it is now going through OASIS.

So, we’ve had products in the market built on top of a lot of internal work to define SCA. The problem is however that SCA has evolved much quicker in the open than it probably would have done if it remained entirely within IBM. Had it been kept internal then we would be able to easily manage the trade off between feature and function versus other considerations such as API compatibility from release to release. Problems such as the latter are likely to be more significant as the openly evolved SCA diverts more quickly away from the original IBM implementation (Note, that’s not to suggest that customers with WPS/WESB will suddenly break as and when those products adopt the openly developed SCA spec!)

Now compare this with the community driven approach being taken by Zero. Once again the initial core ideas have come from a small number of people within IBM. They have been socialised a bit within the company (indeed, there’s was and still is a significant amount of input into Project Zero from my old stamping ground in Hursley, some of which I was lucky enough to be involved with when I was there) The difference is that there was no IBM product deliverable driving the creation of Zero. It’s whole raison d’etre is to radically simplify the process of web application development, and the early and hopefully significant input of the wider community can only help those working on it to better understand the problems, issues and their solutions. By getting this input much earlier than ever before in the way these type of projects are incubated within IBM then hopefully the result will be a technology which is more feature rich, stable, performant and documented then ever before, which future IBM products can utilise, and which will help our customers be more successful. As a customer (or even a prospective one) you get to have much more input into what we do as a development organization as well.

Facebook platform introduces Twitter app

Adrian Spender | Software, web2.0 | Wednesday, May 30th, 2007

Further to my recent entry on Federated Status, Facebook have launched their Facebook Platform which allows applet style gadgets to be embedded into one’s Facebook page. One such widget integrates Twitter and Facebook, but sadly not to the extend I’d hoped for in my previous post. Rather, it allows you to put an extra gadget onto your page to display your Twitters (but not those of your Twitter friends) which is then visible to anybody who can see your FB profile. It only displays your last tweet, and clicking edit on the gadget brings up an error page saying they are still ironing out a few issues, so hopefully more functionality may appear.

Additionally to the gadget, the profile owner can also twitter directly from FB, and also see their Twitter friends’ tweets.

What it doesn’t appear to do is put any integration between the status I can set at the top of my FB profile and Twitter. It would be nice to have the option to set one from the other. Most probably FB -> Twitter rather than the other way around.

Federated status

Adrian Spender | Software, web2.0 | Monday, May 21st, 2007

Unusually, I am awake very early this morning, probably because Lana isn’t here at the moment. As such I logged on and sent a message to Twitter. Then I logged onto Facebook to see what’s happening, and updated my status there as well. Finally, I took a look at the new Plazes interface (thanks Andy, Roo. Andy has more on it here) and lo and behold you can now augment your current plaze with what you are doing.

So that’s three places where I independently had to type “Wondering why I am up at 5:20am” There is an obvious opportunity to develop a federated status system whereby you can update in one place and it propagates out to various social sites, as well as allowing your IM clients to pick that state up as well. Obviously in the case of Twitter there is value in doing more than just automatically sending status type messages, but it would still be useful.

Looking around google, I’m not surprised that others have thought the same, but so far there only seem to be partial solutions to the problem (e.g. Twitterbook which updates Twitter with your Facebook status, and a PHP script to allow Adium to retrieve from Facebook as well.

It would be nice not to have to use piecemeal solutions but to have a single web service in which I could publish my status and have it federated out to my designated subscribers. Unfortunately, this would rely on suitable APIs being available, and looking at Facebook as one example, it doesn’t allow status updating via API. Whilst you could nominate one site as your “master” site in this case, this would fall down as soon as you added another site with no update API. Thinking about it, what’s really needed is a standard and simple ability for all these sites to grab a status Atom feed and to automatically update from the latest entry in that, then it is just a case of deciding which site is the master (feed creator) and which are the slaves (feed consumers)

ETA:

Twitterfeed is interesting.
And somebody has found a way to push status updates to Facebook via their mobile service.

I’ve resigned…

Adrian Spender | Connections, Dublin, IBM, Lotus, Software, WebSphere, WebSphereESB, Work, web2.0 | Thursday, May 3rd, 2007

Yes. I’m leaving IBM UK.

To join IBM in Ireland ;-)

I’m taking up a Development Lead role working on Lotus Connections. Due to the way that IBM is structured, moving from one country to another means resigning from the UK company to join another IBM company, which is a bit bizarre, but no big deal. Needless to say my management have been involved in this process from the beginning and it is really not much different from an internal job move. That is apart from the change of salary currency, pension, benefits… ;-)

Whilst I’ll be sad to leave Hursley and the WebSphere family, I am very excited about joining the WPLC part of IBM Software Group, and super-duper excited to be working on a product which really ties in with my growing interest in all things around web 2.0 / social networking. Middleware is great stuff to work on, but I’m looking forward to getting a bit closer to the end-user.

Technically, I’m still awaiting the paperwork from the Dublin side to arrive, but my manager has assured me the resignation can be withdrawn should it need to be. All things being well however Lana and I will be over in Dublin from the start of June to begin a new chapter in our personal and work lives, and I can’t wait!

WebSphere related posts Yahoo pipe

Adrian Spender | ESB, IBM, SOA, Software, WebSphere, WebSphereESB, web2.0 | Saturday, February 10th, 2007

I’ve been playing with Yahoo Pipes again, this time for something a bit more useful.

There are a number of blogs from IBMers here in the UK which cover WebSphere related topics at varying degrees of frequency. Some are solely WebSphere related whilst others talk about all sorts of subjects including WebSphere.

The WebSphere related posts from UK IBMer blogs pipe takes the feeds from a number of these blogs and uses the content analysis module to filter only the WebSphere related posts into one convenient feed. It currently takes input from the following blogs:

This is not an exhaustive list of the possible bloggers, but is a start. If you think a blog should be added, let me know. This pipe could easily be cloned to add feeds for other IBM software brands as well.

What would be really nice (if the folks at Yahoo Labs are listening) is if the fetch module could take a URL input that pointed to an OPML file such as the one maintained by Elias Torres. Then you could imagine a configurable pipe with a text input that fed into the filter meaning you could filter on all sorts of topics such as Second Life for example.

Yahoo Pipes UI

Adrian Spender | Software, web2.0 | Friday, February 9th, 2007

Yahoo pipes screenshot

A few years ago I bought my first Apple PowerMac G4 in order to try and get into producing my own music. At the time I was doing a bit of part time DJing and fancied getting into creating bootlegs and remixes. Sadly, a lack of talent let me down. However, one app I did find easy and intuitive to use was Propellerheads Reason. Reason allowed you to link up soft synths, mixers, drum machines and more into a virtual rack. When you spun it around, it displayed the back of the rack panel, complete with patch cables for joining everything together. You could direct an input such as a drum machine into a modulator such as the subtractor and produce all sorts of weird and wonderful sounds.

Propellerheads Reason rack

As you moved cables around and tweaked knobs on the front of the rack, so the output generated changed in real-time. All very impressive and fun.

The Pipes API is very similar and employs a lot of the same concepts. It has the same patch cable type approach to wiring the modules together, and the debugger shows you the results of your actions pretty much immediately. All in all it is one of the most impressive web based UIs I’ve ever seen.

Looking again at Tim O’Reilly’s post about pipes, I notice that Jamie Pitts makes the same connection to Reason in a comment. On his blog, he also references the similarity to Apple Quartz Composer, which I admit I’d not come across before.

My first pipe

Adrian Spender | Photography, Software, web2.0 | Friday, February 9th, 2007

Whilst the US are asleep and Yahoo Pipes is up, I’ve been having a quick play.

My initial idea was to utilise the machine tags feature of flickr to create a pipe which would work with photos tagged by members of the Hursley photo club. Members who post to flickr have used machine tags to tag photos taken on our recent trip to Winchester. The following tags are in use:

So the idea was to have a number of inputs which would allow you to then utilise the machine tags to find pictures that matched. To begin with I started with location and member. Not overly exciting, but a start.

Getting the input is easy, just use a couple of text inputs, then a string concatenation to turn them into the machine tags, which in turn was wired to another string concatenation to create the search string e.g. “hurlabphoto:member=aspender hurlabphoto:location=winchester”. I then fed this into the flickr source module. However whilst it appeared to handle a single machine tag ok, it didn’t return results if two were present. Instead, I used the URLBuilder and Fetch modules to create a valid flickr feed request (using the API reference documentation to get it right) which worked.

What this gave me was a feed containing the photos which matched both the location and member. Unfortunately this is where things started to get disappointing. Firstly, it would be nice to be able to use wildcards with the machine tags, but they are only supported when using the full blown flickr APIs. So you have to input both a member and a location. Additionally there are not any facilities for validating/checking inputs so you cannot even check for null/empty and not include that input as a result. What’s more, it would be nice to be able to provide a list/drop down style of input. For example it would be awesome to be able to do a wildcard search on a machine tag such as hurlabphoto:member and then take all the values to populate a drop down to present to the user.

One way I tried to get around this problem was to initially retrieve all photos tagged with hurlabphoto then attempt to successively filter on the tags returned for each photo using the inputs. In the results returned by flickr, the tags are contained as such:


<category term="hurlabphoto" scheme="http://www.flickr.com/photos/tags/" />
<category term="hurlabphoto:location=winchester" scheme="http://www.flickr.com/photos/tags/" />
<category term="hurlabphoto:date=20070127" scheme="http://www.flickr.com/photos/tags/" />
<category term="hurlabphoto:member=aspender" scheme="http://www.flickr.com/photos/tags/" />
<category term="hurlabphoto:subject=candid" scheme="http://www.flickr.com/photos/tags/" />

The filter node recognises the term attribute, but unfortunately doesn’t seem to successfully return results when you filter against it with a machine tag such as hurlabphoto:member=aspender.

So, the net result is that I’ve created a pipe which simply removes the need to insert the full machine tag and which also sorts the results. Not very useful. Most of this is down to the current limitations of machine tag searching by anything other than the full API, something which will hopefully be relaxed over time. When/if it does, then the combination of flickr and pipes will be very powerful indeed.

So, finally, if you want to have a play with the pipe and maybe play around with taking a clone of it, you will find it here. FYI, valid values for the inputs are:

location: winchester
member: aspender, currie, calanais, Fragments of eternity, Liam O’Neill

Next Page »

Powered by WordPress | Theme by Roy Tanck