Monday, January 26, 2009

Stephen Fry on Twitter

I just posted about Twitter and then just found a link from @Scobleizer on Twitter showing and interview with Stephen Fry about why he uses Twitter.

Stephen Fry is not the only celebrity on Twitter, many others including Barack Obama was on twitter (until his account got hacked). Check out CelebTwitter for a full list folks you might know. I am currently following Johnathan Ross (@wossy), William Shatner (@williamshatner), Andy Murray (@andy_murray - hero of British Tennis), Lance Armstrong (@lancearmstrong) and of course my favourite, Stephen Fry (@stehpenfry).

Why Twitter?

I started using Twitter around the middle of last year as an experiment to see what the fuss was about. The idea of micro-blogging seemed banal to me, I couldn't understand the popularity of Twitter so decided to give it a go. Needless to say I have been sucked in by it for the same reason most other people. It provides a platform for effortless communication. I can ask things and get real replies in seconds, there is no pressure to read or reply to messages and I can tune in or out at my leisure.

Being on Twitter is like being at party (without the cocktails), there is a lot of idle chat that you can ignore but occasionally you pick up something useful or interesting. According to Robert Winston, participating in social engagements is one of the most taxing activities for our brain. Twitter shields us from those complex social exchanges and allows people to communicate their thoughts as they have them any time any place. I love using Twitter in London since its a great way to kill time while queuing (which is one of the top past times for Londoners).

Twitter may seem a little introverted to the outsider, but I now know more about my friends and the people that I meet than I could have possibly learned through normal communication channels. If I meet colleagues we talk about work, but on Twitter I also find out if they enjoy snowboarding, what movies they like or articles they find interesting. Twitter enables us to engage in a wider social network in a meaningful way.

Friday, January 23, 2009

Friday Fun: Beer

Heineken does it again!

What goes through your mind when someone says "lets go for a drink?"

Wednesday, January 21, 2009

iPhone is from Mars, G1 is from Venus

I recently got my hands on a shiny new G1 phone. Despite being a little jaded by all the promises made by phone providers in the past, I was excited about getting this phone. I am a fan of the iPhone for the most part and I had high hopes because the iPhone has been out for a while now giving vendors time to replicate and improve. However, the G1 is a completely different experience.

The G1 has a touch screen like the iPhone but doesn’t have some of the cool tapping features. Also, I don’t find the screen as responsive as the iPhone but I guess that can be fixed in the OS. The big plus is the G1 keyboard, which is very usable and sturdy (I’m not usually a fan of moving parts on a phone). The G1 interface is easy on the eye but needs the attention of a few UI folks to iron out some of the windozie-behaviour such as the “are you sure” dialogs. I would like to see a more finger-orientated interface. If you want to type you must flip out the keyboard, this can get a bit annoying when typing quick messages or names.

What was startling about the G1 was the complete lack of consideration for entertainment. The iPhone is designed around the very successful iPod, which makes the phone very appealing to a wide audience. I would think this is something to replicate, but the G1 offers a weak story here. There is an MP3 player but no support for video except YouTube, but most troubling is the lack of headphone jack. The do provide a pair of mini-USB headphones, but that ain’t a lot of use to the rest of the world.

Where the G1 excels is in the apps department. The integration with Google Apps means its very easy to work with email and calendar. At MuleSource we use Google apps for our internal mail and calendaring but with the iPhone I had to mess around with 3rd party calendar-sync tools all the time. It was pretty frustrating. With the G1 I see exactly what I would see on-line, no more dropped appointments or duplicates. The Gmail application is great because I can label and archive messages as I would in Gmail. My only complaint here is that the Gmail shortcut keys don’t work on the G1.

My gripe with the iPhone has always been that the phone itself sucks. This is something that the G1 has mastered, calls are clear and accessing the dialer is easy.

The reason I got the G1 phone wasn’t for the phone itself but for the Android platform. Being an open platform, I think we’ll see far greater collaboration between vendors and users on Android. I already find the applications on Android more innovative than the iPhone and believe the community around Android will increase the lead. The iPhone is an iPod with some bells and whistles, which makes it by far the best entertainment device out there. I’d like to see Android close the gap on the iPhone by acknowledging that a phone needs to be an entertainment device as much as a productivity tool.

Tuesday, January 20, 2009

The Server Formerly Known as Prince

I was in the pub the other night discussing Sun’s innate ability to confuse its customers. Sun has just announced that they are releasing a version of the Sun Java System Web Server version 7 as open source software under a BSD license, which is a shining example of a confusing product strategy. For those who aren’t watching carefully, or just don’t care this server has had more name changes than P Diddy. In fact, I didn’t know what “Sun Java System Web Server” was and who on earth thought that was a good product name? This server was formerly known as -

  • Netscape Enterprise Server (NES)

  • iPlanet Web Server

  • Sun ONE Web Server

  • Sun Java System Web Server

This is a classic example of Sun’s ineptitude in the Product Marketing department. Sun is changing for the better and many (including myself) want them to succeed. However it seems they are making the same mistakes with their next generation of product lines with their ESB offerings going by the name of JCAPS, OpenESB, GlassfishESB and Fuji. During the conversation in the pub no one quite understood how each of these related. Sun really needs to align their branding to build a complete story that is easy for customers and users to follow. It looks like they are heading that way with Glassfish, but people are still confused. Sun has a load of great products to offer and is still making acquisitions; it is imperative that they build a better product marketing strategy.

By the way according to comments on InfoQ, Java System Web Server version 7 does not include Admin tools or support for dynamic web content. The Web Server race was won by Apache WebServer long ago, I'm not sure Sun would bother spending time on this.

Monday, January 12, 2009

How to Define Services

Defining what constitutes a service when building service-orientated applications seems to be a common problem for developers and architects who are new to building services. The main issue seems to be the scope, i.e. what is the granularity of the service. This is actually quite difficult since the granularity of a service can vary depending on the application. The trick with any fuzzy problem is to break it into smaller pieces. There is a very simple service taxonomy defined in Thomas Erls SOA in Principals of Service Design book which I believe makes the approach to defining services much easier.

Essentially you can group services into 3 categories –

Utility Services
– These are usually fine-grained services that perform a single function. They are the most reusable.

Entity Services – These are services that model something concrete in your application (When I was at University, Entity Relationship diagrams were all the rage, we’re talking about the same sorts of entities here). These are business centric services that may model one or more entities in the organization such as Customer or Ledger. These types of service are highly reusable within the context of the organization.

Task Services
– These types of service typically model a specific function or process. They tend to compose or orchestrate other services. These are less reusable since their function is very specific.

Thinking of services in terms of task, entity and utility will make it easy to extract service definitions from your problem domain but it will also help to define the granularity of the service, i.e. you wouldn’t define utility or task functionality in an entity service. This makes the job of defining services much easier and ultimately your services will be of a higher quality and easier to consume by your users.

Sunday, January 11, 2009

Got the kites, now where's the wind?

I finally got my kiteboarding stuff yesterday after a TNT mix-up between New Zealand and here. I'm proud owner of 2 Slingshot Rev 2 kites and and an Underground FLX 35 board.

What I need now is a App for the iPhone and/or Android for tracking the wind. Everyone I know uses WindFinder. They have good mobile browser support and there is a great OS X Dashboard widget, but alas I haven't found any Apps for the mobile platforms. There are some good ones for snowboarding, sailing and surfing, but not kiteboarding yet. Is anyone working on one?

Thursday, January 8, 2009

Did SOA Just Die?

There is an interesting post by Anne Thomas Maines from Burton Group exclaiming that SOA has gone the way of the Dodo:

Once thought to be the savior of IT, SOA instead turned into a great failed experiment—at least for most organizations. SOA was supposed to reduce costs and increase agility on a massive scale. Except in rare situations, SOA has failed to deliver its promised benefits. After investing millions, IT systems are no better than before. In many organizations, things are worse: costs are higher, projects take longer, and systems are more fragile than ever.

Of course the part we all want dead is the vague, hand-wavy, SOA hype. Those that bought into proprietary-SOA and its heavy-handed, “big bang” approach lost out and everyone else got sick of fuzzy SOA promises. But behind any hype in the enterprise space you can find good ideas. The fact is that the ideas behind SOA are as important to us (the distributed masses) as Object Orientation was to the development of complex applications. The difference is that OO required that a single developer to think differently, SOA requires a whole organization of people to think differently-

Successful SOA (i.e., application re-architecture) requires disruption to the status quo. SOA is not simply a matter of deploying new technology and building service interfaces to existing applications; it requires redesign of the application portfolio. And it requires a massive shift in the way IT operates.

I believe this is true to a greater extent, but the large vendors have sold this "massive-shift" to companies with a hefty license price tag and endless services engagements. The fact that SOA requires a fundamental change has been the undoing of traditional SOA initiatives. The main hurdle that is often overlooked is the natural human resistance to change. The challenge of SOA is to be able to demonstrate change in a way that is recognizable by the people it affects. It doesn’t mean hooking together an suite of enterprise tools and dropping documents of new processes on peoples desks.

For Service Orientation (lets drop the A shall we?) to succeed it is important to understand the impact of change on the processes and people affected. The technology just helps facilitate this change; it does not provide the complete solution.

The latest shiny new technology will not make things better. Incremental integration projects will not lead to significantly reduced costs and increased agility. If you want spectacular gains, then you need to make a spectacular commitment to change.

I disagree that “spectacular commitment” is required. If this was so, we’re in real trouble because anyone that’s worked in a large company knows that it is difficult to get commitment on anything. What we have found at MuleSource is companies have a lot more success when they do start small with a view to a grander goal. Small means manageable, it means there are only a few stakeholders and it means many risks are mitigated. Starting small means a team can test the waters, not just with technology but also assess how these changes affect people and processes. When a project is small the number users affect by the change is smaller and easier to obtain feedback and educate. One of the key benefits of Mule being open source is that people can try introducing Service Orientation without the hefty cost of entry.

The other thing we’ve learned is that for Service Orientation to take hold the people affected must be able to recognize the value of the changes they experience. Once you get buy-in from users its much easier to affect further change without hitting their pain threshold. Conversely, the traditional SOA “big bang” approach creates an unmanageable amount of change that is often impossible to correct and the project usually fails.

I’ve seen firsthand the struggles of the SOA approach and fundamentally the organizations that succeed are those that recognize Service Orientation is an evolution not a project. Lets hope the SOA hype died so we can focus on the value of Service Orientation.