Saturday, February 21, 2009

My Web 2.0 stack

I have earlier blogged about how Firefox is becoming my OS. Since then I've employed several Web 2.0 services, and Firefox is again a key tool for getting everything running smoothly. While some of the services will work in the exact same way with other browser it is the complete experience I am talking about here.

First there is plugins for sharing links. Since last post on this subject I've added Feedly.com, Friendfeed.com, Flickr.com, Youtube.com, Digg.com and Facebook.com (did not use it for sharing that way before) to the list. To make sharing as easy as possible the Shareoholic plugin comes in handy. This plugin can share links on almost every service that exist.

For now Twitterfox had to go, as I've started to use Tweetdeck, and if they run in parallell my Twitter API limit is reached pretty fast.

It has been a while since I started using Feedly, but it is only recently I have discovered what a great service it really is. Together with Google Reader, Feedburner and Friendfeed, it just makes everything very very easy and smoothly. Feedly instantly shows me how many have digged a page, how many have shared on Friendfeed. I can directly post to Twitter, and probably a lot of other things I have not discovered yet. And did I mention it is a great and innnovative news service. You've really have some aha's to discover if you haven't tried it yet, but be sure to check out Google Reader first, since it is tightly integrated with that service.

Because everything works across all OSes, and it is really fast to set up on a new computer (just bought a new home pc so its verified), I can move across machines and stay informed all the time. It was Adobe Air + Tweetdeck that was the most time consuming thing to install, because it is a fat client application. I find it pretty useful, therefore I bother installing it on multiple machines.

Wednesday, February 11, 2009

2 Icons, 2 movements

Last night a thought struck me: there is a striking similarity in how the open source- and snowboarding movements has evolved. Both has been led by strong iconic persons namely Terje Håkonsen and Richard Stallman. They are both controverse untouchables (as in the movie with Kevin Costner), they do and say exactly what they believe in. Their influence has been very important in establishing these movements that is not controlled by any commercial interests, although none of them would have made it this far with commercial support.

Håkonsen is reknown for boycotting the IOC and FIS and olympic qualification for halfpipe when it was introduced in the omlympics. Stallman is so reknowned for his controversery that a lot of people thinks he is just a childish troublemaker.

The reason these movements have become so powerful, even in a commercial sense, is that they consists of large crowds of people. They have to some varying degrees developed ethics and morale, and those not conforming are effectively kind of excluded or frozen out. The crowds is not driven by commercial interests, but it would be false to state that is not commercial interests involved. Snowboarding is not for economically faint hearted, and software development is seldom gratis.

An example showing the power of the Open Source movement: Try to imagine the WWW without the Apache Http Server. It is undeniable the very reason the acronym http is known probably by half or more of the world population. It has lost "market shares", but it is the Apache http Server that has made the widespread deployment of the WWW possible. It has alwasy been on the frontiers of the WWW, and I guess it still is. In addition most application servers has an Apache http Server in front of them to handle caching and serving static content and many other tasks. I think the success for Linux in the server room is largely because of Apache http Server. The Apache Foundation has long been sponsored by IBM.

The Open Source movement has laid a foundation for business, information spreading and social interaction over the internet that would not have taken place or would have looked completely different without it. In fact, I think Open Source has been genuinely good for the internet and computing in general, lowering the bar for adoption. It makes it possible for everyone the freedom of speach if they want to.

Open Source is again showing it's strength in times where financial crisis otherwise might have strangled innovation. Instead innovation on the internet is flourishing, largely powered by Open Source. I think now the movement has become strong enough to transform the software business. I do not dare predict how it will transform it but I think it will be good.

During the US election campaign in 2008 i think I overheard a statement made by John McCain , when he started to realize he was not winning the election: The man (Barack Obama) is a movement. You can't stop a movement.

BTW: This weekend I will do practice som freedom of speech here: http://twitter.com/OfficalWRC

Sunday, February 8, 2009

Let Open Source set you free and be unique

A bit of a bold heading, you would say? Well that may depend on your attitude against and knowledge about Open Source. My opinion is that when you master a set of open source products, they will let you develop more freely. This is probably not that different from proprietary products, but with Open Source you can get deep knowledge very fast. Chances are that there are many developers "out there" having expert knowledge about most widely used Open Source products.

This post focuses on these advantages of Open Source:
  • Competence can be inhouse and not just on a support line
  • Defines what is more or less standards of how software us built today
  • No up front costs and procurement process
Now I will try to explain what I mean by stating this.

Inhouse competence
By hiring or employing the adequate Open Source competence software companies can get a head start on a project. The good thing about this is that the competence is not on the other side a phone or just being an email address. When challenges are met or there is a problem in production, the competence is right there with you.

Software standards
There is a lack of defined standards on how software should be designed. By design I mean what this article by Jack W. Reeves says. I do not doubt the value of visual software design, but this is just a vehicle for making the correct code design.
A lot of Open Source products has made such a strong foothold in software development that they more or less dominate in some categories of applications, e.g. the Spring Framework . Spring framework is very flexible, but by following the recommended conventions you will probably run into less trouble (not that impedes more trouble than other frameworks). That said, Spring is not very intrusive, so it should be pretty simple to adjust to conventions that is often also common sense.
When you adhere to the common sense conventions it mostly makes the software produced easier to use with other components and frameworks. It is necessary though to have the necessary competence when decisions is made along the way, just as you would with proprietary products. The difference, again, is that you do not have to get it from the vendors support or experts.

No procurement process
There is no costs, or at least they are very low, so getting permission to use Open Source is not an issue to discuss with the financial department. It is necessary to evaluate different products, also proprietary when they exists, for the project. Until now commercial products has often won these evaluations, but mainstream development is taking a new direction. I am not surprised that is happening right now, as the financial crisis raises questions about costly software.

An important consequence pointed out in the Agile Executive post, is that the software lives before the eyes of the user because with Open Source you can move as freely as the available competence is able to produce new features. This is very attractive, as the users keep coming back for exploring new functionality.

Another important point here is that when new technology surfaces, there is easier to switch when there has not been investments in commercial products. Software with a good design is flexible and makes as few assumptions of it's surroundings as possible.

Be free and unique
Now to the point of this post! Open Source let you, with the right competence, focus on the things you are good at, and deliver faster than with proprietary products. The business value or end user experience is what counts. Users mostly does not care how software is designed, but they value good software.
When you can focus on this, chances are that the product will be better and the users more happy. Unhappy users can express them self freely and quickly on the internet, especially after the advent of Web 2.0. A product must often rely on the word of mouth. With Twitter and the like being adopted at a blazing speed, word of mouth is spreading very fast.

Examples that this is true is flourishing:
BTW this post is written in Firefox, utilizing the Delicious plugin all the time.