In any sentence including the word “cloud” if you substitute “network” the sentence still makes sense, and normally makes a lot more sense.*
I’ve recently been doing some stuff with cloud computing and thought I would offer the above insight. It’s slightly flippant however, in that there is a difference (at least to me) between cloud services and network services and that is in their focus. “Cloud services” tend to be focuses towards consumers whereas “network services” are rendered by businesses to business, although as is normal in business they’re further
obfuscated translated to b2b services or, if intended to portray an image of easy-consumption “b2b cloud services”.
You’re currently reading this blog on the cloud or syndicated by a cloud service (like google reader, netvibes (oh yes I see you), bloglines etc.) on a device of your choice. I’m writing it on a cloud service and other cloud services (like google, bing, whatever) are providing search for curious folks to find this blog.
So what does all this mean? Is cloud pointless or the most important thing since 7 layered network protocols? Or all of the above?
Personally I’m leaning towards the third option. In many ways this is nothing new. I’ve been able to use network based search, hosting, virtual provisioning, remote servers, remote APIs for many years. In another way it’s totally new, I can provision a network based on a topology of my choice based on a collection of OSes for little or no money for whatever purpose suits me, storing data in a federated fashion and integrated with a number of web services after just a few clicks, both as a business or an individual.
There are many excellent cloud services out there, I personally use the Ubuntu One service to transfer files between my main desktop PC and my Android tablet, it’s actually more convenient than using a USB stick (and free) – this for me is the real distinction between “network” services and “cloudn” services (deliberately misspelt for those who do the copy/paste search/replace exercise). They’re so convenient and cheap (or free) you’d use them above anything else. Amazon is really trailblazing in terms of consumer and business cloud services.
I recently setup a website. I entered my credit card details and literally moments later had a linux server with the web server of my choice running. I was able to FTP and SSH to the box and do whatever I wanted as it appeared to be my box. Of course it’s not my box, it’s a virtual box hosted by a (probably virtual) hypervisor or similar on a bunch of racks distributed around a bunch of data centres in various places but that’s not relevant to me as a consumer, I just ask for a “box” and get a “box” in moments, in a convenient and cheap way.
That is what cloud computing is all about.
* Try this trick with this blog, copy and paste the blog to gedit/notepad/whatever and replace “cloud” for “network”
I recently spent a little while thinking about an open, transparent and honest way to deal with innovation/staff objectives/supporting work in a small company. Note that this isn’t what my current employer does, just an idea for how these things can be done.
Firstly people need time to do this stuff, if it’s valuable for your organisation to spend time doing supporting work, intellectual property development or general innovation then they need the time to do it. People need the Google 20%. I’m very fortunate that in my job I get that time, or close to it normally.
Create a wiki page or similar somewhere (that everyone can see and everyone can edit) – a bit like the Google ideas wall. Start it with a freeform/categorised ideas list in the form, this is a bit like a backlog, once an ideas done/delivered/published it drops off this list
Ideas – Owner – State:
Idea for doing something – Mike – Identified
Idea for taking over the world – Unassigned – Identified
If someone like one of these ideas they can run with it, recruit a team of colleagues if necessary and get on with it. Once I’ve asked someone to help with my idea I can be fairly sure they’ll ask for reciprocal help on something. This improves teaming in distributed companies and provides a channel for autonomous action, critical for motivation.
In Progress Ideas:
When ideas are in progress they’ll have their own tracking and information in the appropriate technology. For example a blog idea probably goes from being picked up to being published without any tracking. Maybe there’s a review process if it’s a big position piece so it might go through Identified to In Review on the list above but that’s it. Another idea might be for the development of some software, in which case it’ll take some time and probably have a project web and bunch of tools and info to communicate.
Complete bits of work:
Once something has been done the owner can add it to the achievements table, a column for each person where they can list what they’ve done with links to the various bits of output.
|Person A||Person B||Person C|
|Blah Practice published||Blog series on X|
|Paper published on Y|
All bits of achievement aren’t the same size, but this allows people to see the creativity and production of their colleagues and find all of the useful things people have been doing. It also applies some peer pressure to Person C who on the face of it doesn’t appear to be adding much, although there could be a good reason for that.
Why did I say all this was agile?
Individuals and interactions over processes and tools
Individuals ideas are valued and encouraged, as are their achievements. People are encouraged to help each other and work together on ideas. There’s very little process and tooling involved, just a list on a wiki. If I had a co-located team I’d just use some whiteboard paint on a wall or some post-its.
Working software over comprehensive documentation
Well we’re not talking about software here, but achieving ideas. The emphasis is on the achievements table, not the detail of how people go there. In progress ideas can be tracked and reported using whatever info is relevant for the type of thing being done, which can be determined by the people doing it.
Customer collaboration over contract negotiation
This is an open and transparent process. Anyone can comment on the ideas on the list have a look at in progress ideas or question published/achieved goals.
Responding to change over following a plan
All this stuff is just written down, it would be easy to rewrite it if things changed. People, ideas, the environment etc. will all change so we need to be responsive to too and not plan the next 50 ideas to the hour.
Since the list at the top is a bit like a backlog, it could be managed with input from management to direct the backlog, prioritise and agree. But I’d be wary of applying that kind of governance to creative/innovative ideas. I’m not proposing this as a general work management process, just an ideas/ancillary objectives process. Remember, bad management kills great ideas and worse this kind of management intervention stifles bad ideas, which are necessary and valuable.
Also, there are few things worse in life than an “Ideas Process”
Pictures that are worth 500 billion words!
Google Ngram Viewer shows graphs of how many times words or phrases have occurred in a set of 5 million books over the years. They’re a really interesting way of seeing trends in information and relative importance between words. It’s free and easy so check it out.
Here’s some I recently ran that I found interesting. I ran most of them from 1950 onwards and the info only goes up to 2008.
Comparison of programming languages
Ngram link – When looking at this you’ve got to mentally remove the baseline Java and Pascal references from the 1950 as they’re about coffee, islands and mathematicians. Interesting to see Java so dominant.
Ngram link – I found this one really interesting. Compared to the others in my query “structured programming” had a lot more books written about it. I wonder how much this is a reflection of the rise of the internet… these days although there are lots of programming books the primary source for learning a language is online material?
Ngram link – I was a little surprised to see RUP so much more prevalent than agile but then I did have to add “software development” to the term to avoid including the bendy and stretchy. Also as with the previous one I suspect that there’s a difference here between a vendor driven process with supporting books and a more open source philosophy on agile as a generic umbrella for methodologies, and therefore more online sources. As Ivar Jacobson says: “No one reads process books”
Shareware, Freeware and OSS
Ngram link – This one speaks for itself 🙂 I wish I could have worked out how to add “expensive vendor products” to the query!
User Stories vs. Use Cases
Ngram link – Ah yes, this argument again. Interestingly this dominance of use case over user story in written books correlates with query stats between user stories and use cases on by blog and the ivarjacobson.com site. Personally I think they’re both great and complimentary, I often use them together on software projects.
Windows vs. Linux
For more fun with Ngrams watch this very funny video explaining this stuff
In honour of Google’s 10th birthday they’ve dusted off an old search index from 2001 and tied it up to the Internet Archive. The Web was a lot different in those days (no ipods, facebook etc.) and it’s fun to ego search and see the difference.
In Google 2001 if you search for “Mike MacDonagh” I think the first hit is my Dad at the Smithsonian, and my sister features on Page 3 (har har, not like that!) because of a school play she was in but I’m nowhere to be seen! At that time I was running Midnight Skulker Software of which there’s a whole page of hits, but I seem not to have put my name on it anywhere! An exercise in bad branding! I’ve still got all the old source for that stuff, and still use some of it myself 😀
I a blog stat fanatic. I’m obsessed. It’s so bad I wrote a FireFox extension to show me the current daily hit count of my blog. I started this blog in April 2008 and since then the readership has gone up month by month:
If you look at this on a weekly basis rather then on a monthly basis some more info is apparent. This graph below shows a slow start then some action starting when I started writing about IBM Jazz. Then the next peak was some RSDC blogging in June. All was then returning to the baseline readership level of about a 1000 hits/week until I posted some Google Chrome screenshots on the morning before Chrome was released. This led to over 3,000 people turning up in one day!
Finally the daily chart. Normally this goes up and down a bit (slow weekends, mid-week peaks etc.) Unfortunately the 3k Googlers completely flattened my graph 😦 At least that peak is about to drop off the side and the normal scale will resume 🙂