Archive for January, 2006

badges: a new approach to executable tools for blogs

Blogs and Wikis are about words and pictures. A blogger can write and share photos, while their visitors can simply comment.

What if, like most business professionals, you are a non-technical user, but you also want to do more than that? What if you want to take a poll, or build a to-do list with your visitors? What if you want to connect in an interactive executable version of your calendar, or mash a project management tool in with your blog posts? On top of it all, you want to be able to build interactive executable tools into your web pages that actually look as good as the drop-down lists in Gmail or have the same interactive feel as Google maps?

It’s possible, and, it is highly likely that it will become common place in the very near future.

The technology that will make it all happen is called an AJAX Badge. The folks at BlueWire coined the term. Badges are a magic combination of simple web authoring tools, such as a blog, or a Wiki, a web server, such as Ruby on Rails at the back end, and AJAX. I believe that Badges will be most important application of AJAX in defining the true capabilities of Web Office / Web 2.0 and the amazing degree of empowerment it will bring to knowledge workers.

Here’s how it works:AJAX-Badge-Diagram.png

BlueWire’s Calendar Hub is a great example. On Calendar Hub, you can make and share your calendar entries. If you want to extend the functionality, you can then cut & paste a Javascript AJAX Badge into your blog or wiki post. Suddenly, you have a dynamic little web application built into your page.CalendarHub-Badge.jpg

How do you build this at the back-end?

The easiest way is to use a model view controller framework, such as Ruby on Rails.

Ruby on Rails separates out the code that provides the business logic from the way that information is presented. For someone building an application on Rails, it is a fairly trivial piece of additional code (in the controller and in a new view) to turn the original application into something that interacts with a badge.

What are the business implications?

For Web 2.0 companies, this presents both a tremendous opportunity, and a bit of a mine-field. Badges represent a way for any application to turn itself into something like Google maps. With Badges, bloggers will have even more reason to use something like Backpack’s ToDo lists.

However, there are also business model implications. What if all your users start to use Badges? Obviously, this might impact an ad revenue based model. However, it is not clear whether it would necessarily have an negative impact. For example, the badge could be designed so that simple interactions could take place within the blog, and more complex interactions would have to take place on the original site. Badges could then drive even more traffic. Badges could also represent an opportunity to open up a new revenue stream. Maybe the site is ad supported and free, but bloggers wanting to use secure badges would have to pay.

What are implications for Web Office?

Clearly, badges represent an amazing way to empower Innovation Creators. An enterprise Web Office platform will have to include a badging platform. In the end, that might mean something like Zoho Creator, which is Ruby on Rails powered tool for building mini AJAX powered Web 2.0 applications.

What are implications for Google and Microsoft and Web 2.0 within the enterprise?

Badges represent a huge threat to Office Live because they are out and available today. Badges also prove that it is actually fairly easy to tie all of these Web 2.0 applications together.

It will be interesting to see what amazing things people build as the Badging approach becomes widely used.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

CalendarHub is Web Office Technology

Calendar Hub is a brilliant piece of Web Office Technology. What makes it so important isn’t actually it’s core functionality. The online calendar tool is cool. However, what makes it really cool is it’s Badge technology.

This is another AJAX moment folks. The people who make Calendar Hub are called BlueWire.

They have invented something that, I thin will be more important that AJAX in defining the true capabilities of Web Office / Web 2.0 and the amazing degree of empowerment it will bring to knowledge workers.

Badges are a magic combination of simple web authoring tools, such as a blog, or a Wiki, Ruby on Rails at the back end, and Javascript.

With Calendar Hub, you make your calendar entries, and then cut & paste some Javascript into your blog or wiki post. Suddenly, you have a dynamic little web application built into your page.

Calendars, interactive lists, polls, budgets, stock data. The list is endless. And as far as I know, you saw it at Calendar Hub first.

Many thanks to Ismael Ghalimi for pointing this one out.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

Ruby on Rails Pragmatic Stuido Alumni,

I am now, officially, a proud Ruby on Rails Pragmatic Stuido Alumni, having finished the Pasadena course on Saturday night.

I even have the stamp to prove it.
Pragmatic Studio Rails Alumni

It is an amazing course, and I recommend it highly. It was also an amazing experience to see just how far technology has come in the last few years.

It is truly incredible how such powerful web applications can be built in such a very short time using Rails. This bodes well for Web Office. Ruby on Rails is such a powerful development environment because of its dedication to convention over configuration.

The success of a convention over configuration approach can be seen again and again. For example, feeds such as RSS and ATOM force bloggers and news sites into broadcasting in a convention, rather than forcing news readers to configure to each site.

In the context of empowering innovation creators, this means giving them a highly structured platform to share knowledge. Tangibly, this means some well defined conventions, such as People Pages, Client Blogs, or what ever simple set of categories your enterprise blogging system will require.

Define a few obvious and simple conventions, and you free up innovation creators to focus on developing and sharing knowledge, rather than forcing them to constantly re-format information so that they can communicate with each other.

If this sounds fanciful, let me give a specific example. The Wall Street analysts that issue buy/hold/sell reports on stocks are usually highly educated and highly paid. They spend most of their time manually cutting and pasting information from quarterly and annual reports into spreadsheet models. Imagine. $250,000 a year to spend most of your time cutting and pasting.

A simple set of XML based reporting conventions that were actually stuck to and these analysts could focus 100% their brilliant minds on actually finding real value. I should mention that this isn’t a new idea and there have been some attempts.

Regardless, if you want to truly empower your knowledge workers, and turn them into innovation creators, then you have to do two things.

First, you have to given them tools to share information more efficiently, such as enterprise blogs and enterprise Wikis.

Second, you have design the enterprise blogging and Wiki platform so that their is just enough structure, or in Ruby terms, just enough convention, so that your knowledge workers do not spend all their time on configuration.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

Pragmatic Manager - Lessons from Ruby on Rails

I am currently attending the Pragmatic Studio training course for Ruby on Rails in Pasadena, California.

It is amazing what truly successful programmers can teach you about how to manage capable people. The cliche is socially awkward geeks. Nothing could be further from the truth. Look at Linux and Apache and even Wikipedia, and realize that these people have figured out how to get large teams of people to build massive open source applications for free.

Think about that. What other organizations can get hundreds of brilliant self-motivated individuals to come together and collectively build world class solutions to common problems?

For those unfamiliar with Ruby on Rails, Ruby is a programming language. Rails is a web application development tool that is revolutionizing the way that web based applications are being built.

If you have not heard the hype, check out the Ruby on Rails Screencasts. Watch how very easy it is for coders to build truly interesting and valuable web applications. If you are a manager, think about how long it took your own IT people to build the last solution they put together for you. These Ruby on Rails Screencasts are proof that decent web based applications can be built within weeks. Not years or months, but weeks.

The course I am attending is being taught by Dave Thomas and Mike Clark. Their hit books include
Agile Web Development with Rails : A Pragmatic Guide (The Facets of Ruby Series)
and Pragmatic AJAX.

In addition to being great teachers, they both have interesting insights into how to manage for constant innovation.

Dave showed us that Ruby is designed upon a principle of trust. Ruby and Ruby on Rails allow any coder to overwrite any part of the system (by redefining the methods, classes, etc).

In a way, this is just like Wikipedia, where literally anyone can come and re-write an entry on the system.

In shock and disbelief, one of the guys in the class asked ” What if you work with a bunch of morons”?

Dave replied “Why would you want to work with a bunch of morons?”

Brilliant, but also totally correct. Some managers might feel that they manage a bunch of morons. Dr. Curtis Crawford, former CEO of AT&T labs and author of
Corporate Rise: The X Principles of Extreme Personal Leadership
says “Expect what you Get”. In other words, expect morons, and that’s the best you will get.

By trusting that most of the time, programmers will do the right thing, Ruby gives coders access to powerful tools, with powerful results. This produces fantastic increases in the pace of innovation and amazing productivity. Applications that would take months to build in Java take days to build in Ruby on Rails. The price is a steep requirement: managers have to trust. Java was explicitly designed to prevent users from making mistakes. Dave Thomas says that by trusting coders with all the “sharp and pointing tools, Ruby gives coders the power to hurt themselves, but it also gives coders all the power they need to cut through the red tape that holds up Java applications”.

When a Ruby does do something that breaks the whole application by overwriting important methods, Dave suggests invoking what he calls “The Home Depot Rule”

Go to home depot, buy four feet of hose, take the guy out into the parking lot, and beat him senseless.

I talked with Dave at lunch about the importance of trust and the lessons that managers can learn from successful IT development.

Dave gave some great advice.

Managers should not treat their employees as equals. Instead, treat them as suppliers. Don’t tell them how to do what you want. Instead, challenge them to provide you with better work products and innovative solutions.

Dave calls it management by intentions.

He has some amazing insights. I am going to try to convince him to write a book called “The Pragmatic Manager”. Who knows…maybe I can convince people in the Ruby community to help me Dave into it.

Digg this Article

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

The Economist on The New Organization

In this week’s Economist, Tim Hindle has written a brilliant survey called Knowledge and the Company. I recommend getting a copy.

The way people work has changed dramatically, but the way their companies are organised lags far behind.

The first article, entitled The New Organization, compares the hierarchy loving 1950s suburban American “organization man” of companies like IBM with the “networked person” of today. While organization man protected knowledge as a key to power and avoided decisions as a survival strategy, networked person is the complete opposite.

Networked person, by contrast, takes decisions all the time, guided by the knowledge base she has access to, the corporate culture she has embraced, and the colleagues with whom she is constantly communicating. She interacts with a far greater number of people than her father did.

The Economist goes on to say that the old idea of 6 degrees of separation, which was based on a study done in the 1960s, has changed. Today, it’s no longer 6 degrees. It’s shrunk to 4.8.

The article goes on to reference a McKinsey Quarterly article.

Last year, Lowell Bryan and Claudia Joyce, two of the firm’s consultants, argued that “today’s big companies do very little to enhance the productivity of their professionals. In fact, their vertically oriented organisational structures, retrofitted with ad hoc and matrix overlays, nearly always make professional work more complex and inefficient.” In other words, 21st-century organisations are not fit for 21st-century workers.

This is echoed by Mercer Delta:

[Mercer Delta] recently observed that “the models and frameworks that shaped our leading organisations from the end of the second world war through the conclusion of the cold war are clearly obsolete in this new era of e-business, perpetual innovation and global competition.” The design of today’s complex enterprises, says Mercer Delta, requires an entirely new way of thinking about organisations.

Trust is the driving issue here, and one that you will find I come back to again and again as I talk about implementing new management techniques and new technology to empower innovation creators.

Networked person can add a tremendous amount of value to a large organization. However, to get the most out of her, senior management has to trust her. Senior management has to trust her with key information about the company’s strategies and challenges. Senior management has to trust her to make decisions. Finally, Senior Management has to trust her with all the tools she will need to communicate efficiently with the rest of the company.

That trust issue gets highlighted for me when I suggest to a company that they should give their employees access to enterprise blogs and wikis. I hear things like “What if they write the wrong thing?” If you trust your networked person to make decisions, then, you have to demonstrate that trust by giving her the power to communicate with the whole company, and potentially, with the whole world.

Beyond the use issues of trust and the use of tools like enterprise blogs and wikis, the Economist suggests that the whole approach to management needs to change. Centralized hierarchies do not work. Matrix management doesn’t work.

Instead, the Economist quotes Gerard Fairlough, former CEO of Shell and author of “The Three Ways of Getting Things Done: Hierarchy, Heterarchy and Responsible Autonomy in Organizations“.

Mr Fairtlough’s preferred alternative is something he calls “responsible autonomy”, a form of organisation in which groups of workers decide for themselves what to do, but are accountable for the outcome.

To me, that sounds an just like the Emergent Organizations I talk about in Turning Knowledge Workers into Innovation Creators.

Responsible autonomy is what makes Open Source work. It is the way to get the most out of the bright networked people in your organization.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

Web Office Means Instant Switch to Apple iMac

Yesterday, we bought one of the new iMac Core Duo computers. It’s the iMac with the new Dual Core Intel chip.

Getting productive on this new computer was a matter of simply plugging the computer into the wall. There really is only one wire. Internet. keyboard and mouse are all wireless. Before, I had only ever owned PCs. Apple has a great product in the new iMacs, but my productivity issues actually had very little to do with the computer.

For email, I opened up my Gmail account, and continued as though there was no switch.

For blogging, I logged into MovableType, and continued as always.

When you use Web Office productivity tools, it doesn’t matter what OS you are using. The World Wide Web is my OS.

Why switch to Apple? Why not? Have you seen Keynote? Or Pages? For $79, my presentations and white papers are going to look beautiful. Why on earth would I not switch.

Ultimately, I switched because Web Office means that I can be instantly just as productive on my new Apple as I was on the PC. Economists would say that my switch costs have sunk to zero.

And… the new Apple makes me grin like a kid in a candy store….

First Photo from the iMac.jpg

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

What is Web Office

Web Office is a platform of web based tools that knowledge workers will use to efficiently communicate and work with a large audience.

Web office is not just a Web 2.0 replacement for MS Office or Open Office. Instead, Web Office provides a platform for turning knowledge workers into innovation creators. Knowledge workers will use Web Office to create dynamic, ad hoc, or highly customized information distribution solutions and process automation tools. Web Office is the platform that will fold end users into process of building long-tail solutions. Thus, Web Office will change the way you work.

Here’s the beginning of the Web Office list of components.

  1. Enterprise Web Email - See Zimbra
  2. Enterprise Blogs
  3. Enterprise Wikis - See Social Text
  4. Enterprise Social Network Tools - When will LinkedIn an enterprise gateway to their network?
  5. Enterprise Project Management - See Basecamp or Backpack
  6. Enterprise Digg
  7. Enterprise Netvibes
  8. Enterprise Widgets
  9. Enterprise Search
  10. Enterprise Web IM
  11. Enterprise IP Telephony

Here is a screencast introduction to the technology that will power Web Office.

Digg this article

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

The Role of IT Departments in building Web Office

What should IT’s role be in deploying a Web Office solution?

Does IT have a role in determining taxonomies and specifying works flows?

These are the questions that Dennis D. McDonald raised in a conversation I had with him this morning. Dennis is an IT management consultant, and he runs an interesting blog called ALL KIND FOOD*.

These are actually really important questions as companies beginning to implement enterprise blogs, enterprise Wikis and other Web Office technology.

I believe the answer is fairly simple. Internal IT departments should provide the platform, but should not determine how people work with the information.

Email provides a good example. IT should make my email work, but IT shouldn’t let tell me what to write about in my emails, and nor should they tell me who to write to.

Similarly, within an organization, this means that IT departments should tell the business users what types of blogs they are going to use. Nor should IT departments force the business users to adopt specific taxonomies.

What does this mean? For enterprise blogging needs to provide a platform that gives business users the ability to quickly define types of blogs. Today, a blog type is a combination of the templates that make up the blog, the types of blog roll links within the blog, the blog CSS and the information and the plug-ins that are used by the blog. In the future, a blog type will probably also include a list of widgets that can be dropped into posts by users.

Dennis asked me “What if business users want to use 3 different types of blogging tools? One wants to use WordPress, another MovableType. Doesn’t IT have a legitimate concern that all these systems mean multiple upgrades, multiple interfaces, even multiple contracts?”

In a properly built Service Orientated Architecture environment, this shouldn’t be much of a problem.

It’s a great question, however, because it points to an important understanding of what Web Office is. Web Office is a platform that knowledge workers (or Innovation Creators) use to deploy applications that allow them to efficiently communicate with a large audience.

The point of Web Office is that there will be many types of server tools. We need to develop standards to make sure they work together efficiently, but there is nothing that is going to stop the torrent.

Dennis D. McDonald and Jeremiah Owyang have written a very interesting white paper on this topic called Business and I.T. Must Work Together to Manage New “Web 2.0″ Tools. It’s worth checking out.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

Enterprise blog as information capture system

As Scott Abel of Content Wrangler says:

Write once, use often

One of the main aims behind using an enterprise blogging system (or any Web Office solution) is to leverage existing workflows and automatically generate extra information as you go.

One of the ways we are doing this in the Enterprise blogging system I am building for my firm of 130,000 is to automatically add cross links.

Today, one of the commenters on the site (Mazer) asked how do we make this happen. It’s actually fairly simple. We are going to use BigPapi to modify the interface for MT to produce something that looks like this:


Crosslinks using Blog Rolls in Enterprise Blogs - (c) 2006 Rod Boothby.jpg

For the user, adding a crosslink means simply editing one of specific purpose blog rolls shown in the diagram above. For example, a people blog roll might keep a list of all the people working on a project. A second client blog roll might have just one link to the client. To build this functionality means coming up with a modified version of something like Arvind Satyanarayan’s Blogroll plugin.


There are three extra steps to make this work. Let’s use an example of someone creating a list of people working on an engagement.


First, we need to get the list of all the people who could work on the engagement from somewhere. That means we have to have a series of directories. The system is based on a few simple types of blogs. People Pages, Engagement Blogs and Client Blogs are examples of these blog types. When we create each type of blog, we are going to build a directory of the things that blog represents. For example, for people pages (formerly bio blogs), we are going to build a directory of the people who have a People Page. This will form the full directory of people who can be added to a list of people on an engagement blog. In our system, if you do not have a People Page, you don’t exist, and can’t be added to the list of people working on an engagement. Here’s a diagram of the directories.:


Automatic directories in enterprise blogs - (c) 2006 Rod Boothby.jpg

Second, the person running the engagement blog needs to build the list of people working on the engagement. He or she would start off by clicking the “Edit list of people working on the project” link on the MT main page, as shown in the first diagram in this post. Then, he or she would build a list of people on the engagement in the same way that you would build a list of people in the address field of an email. The diagram below shows what adding people looks like.


Adding Crosslinks using Blog Rolls in Enterprise Blogs - (c) 2006 Rod Boothby.jpg

The relationship between all these cross links and the types of blogs in our enterprise blogging system is shown below:


Automatic crosslinks in enterprise blogs - (c) 2006 Rod Boothby.jpg
Third, we need to create an automatic link back mechanism. For example, add someone to an engagement, and a link should be automatically added to their People Page. That way, People Pages automatically maintain themselves.


Using the example of a person being added to the list of people working on an engagement, this is accomplished through two scripts that do the following:


Part one - At the Engagement Page - Send the Ping

  • A name is added to a list of people working on the engagement
  • A script calls the directory. The script works for all types of cross links, so we have to tell it that we are interested in getting information from the “People Page”. We also have to give the script the the list of names that have been added to the Engagement Page.
  • The script returns with the URL for each associated People Page crosslink CGI script.
  • Each People Page crosslink CGI script is called, and the following XML is sent.

    <Crosslink Request>
       <Action> Add </Action>
       <OriginatorType> Engagement </OriginatorType>
       <OriginatorURL> http://www.xyzinc411.com/engagements/abcbank/baselII </OriginatorURL>
       <OriginatorName> ABC Bank Basel II Engagement</OriginatorName>
       <OriginatorReference type=”project-code”> ABC-1243897</OriginatorReference>
    </Crosslink Request>

Part two - At each People Page site that is called


The People Page crosslink CGI script adds the cross link to the Engagement Blog Roll on the People Page.




So, how is it that the Enterprise blog is turned into an information capture system?


There are two ways. First, these blog roll links are stored twice. They are obviously included in the blogs. So a people page will show all the engagements that a person has worked on. Second, the information is stored in an an XML page behind. The XML page behind is just another MT Template. Instead of writing an HTML page, it writes an XML page. The XML page behind stores information gathered from the blogging process in a structured way. The result is that simple People Page blogs are turned into powerful, extensible HR tools.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

1,000 Blog Servers for 1,000 Enterprise Blogs

Implementing Web Office is not going to be trivial. At least not with today’s technology.

One of the ideas I have been looking at is using a separate install for each enterprise blog. That means a full MovableType or WordPress install for each People Page or Client Blog. Because blogging servers like are fairly small (MT is only 5 MB), this isn’t as crazy as it sounds. We could easily fit 1,000 enterprise blogs on one physical server with tons of room to spare.

I had lunch today with Ismael Ghalimi, who is CEO of Intalio, and runs IT | Redux. We discussed Web Office / Office 2.0 with him. He has some amazing insights into the future of this new space.

Ismael did, however, call me on this idea:

my only concern would be that deploying one MT instance per blog might be overkill. Have you thought of deploying multiple blogs on the same MT instance? Any reason why you would not do so?

It is total overkill. I agree completely.

However, given that MT is only 5MB, there isn’t much cost to taking this approach, and it does seem simpler. For example, if we were going to build this with WordPress, we would have to have a full install for each blog.

The work flow is supposed to look like this.

- User goes to their own blog
- User clicks on “Edit me” link
- User logs in
- User directly starts to edit their blog

If we had multiple blogs per installation, we would have to work out what to show users when they get to the MT landing screen, which shows all the blogs in the system. Taken to an extreme, that interface would show hundreds of blogs, which would lead to user confusion.

There are some other advantages to this approach. First, if one blog breaks, it is the only blog that breaks. Second, the approach is certainly machine scalable. Third, I am 100% sure it will work. I have used MT’s install script. We only have to add some extra cut & paste steps to it, and we are ready to go.

That third reason represents the most important reason to go with this overkill approach.

I am not 100% sure that we can extend and rebuild MT to make sure it can handle hundreds or even thousands of authors on an even larger number of blogs.

Finally, this approach forces us to design the interface to each of these blogs (including track-backs and XML page behinds) so that they are 100% MT independent. That means we could implement the first 100 blogs with MT, and the next with WordPress. I like the flexibility.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] Sphere It

Next Page »

Mandatory Headshot




My Work




View Rod Boothby's profile on LinkedIn

Contact Information








Blogging Groups




EI-V19-Badge-V6.png