New Job at Mindquarry

March 1st, I will start my new job at Mindquarry as VP Marketing.

Mindquarry’s Open Source product is enterprise social software, simply called “Mindquarry”. It supports spontaneous collaboration by including a Wiki, task tracker, file management, etc. The software is MPL licensed, version 1.0 will soon be available to the public. There’s an early access program available upon request.
The company was founded in 2006, it is located in Potsdam, Germany close to Berlin. The main investor is HP Ventures of SAP co-founder Hasso Plattner.

I’ll be in charge of strategic and operational marketing and community relations.

What I like most about this new job is:

  • I move from an Enterprise 1.0 Open Source company (eZ Systems and its eZ Publish ECM) to an Enterprise 2.0 Open Source company (Mindquarry).
  • Having 5 years of PHP programming experience, I am now looking forward towards working for a Java company. Although programming is not part of my job, I am very interested in digging deep into the code to really understand the application’s inner workings.

I actually have known one of Mindquarry’s co-founders for a few years via internet: Lars Trieloff. We only recently met in person. His expertise always impressed me.

I created a dedicated Mindquarry RSS feed for my future postings about Mindquarry, also served by the newly created Planet Mindquarry.

At this cross road of my professional life, I would like to especially thank the following persons who always supported me:

  • Zak Greant
  • Georg Richter
  • Aleksander Farstad

Thanks guys! And of course, thanks to my wife, my biggest supporter 🙂

Learning to Cope with the Evolution of a Weblog

At February 13th, it will be 4 years that I posted my first blog entry – I am still lovin’ it! Let me tell you about some of the changes I had to deal with in those 4 years and what you can do about them.

The most important changes were:

  1. My Weblog has moved to different domains (from zzoss.com to sandrozic.de to groganz.com as of today).
  2. I changed the software several times (from b2 to a self-made eZ Publish-based blog to WordPress).
  3. There were times when I blogged actively (~5 blogs per week) and less so (1 entry per month).
  4. My focus on certain topics varied over time (e.g. from general LAMP-based Web development to ECM, from development to marketing).

Points 1. and 2. lead to the fact that I repeatedly lost some link love, especially on Google and Technorati, because Trackbacks and Pingbacks got lost. Just recently, I managed to import all posts I wrote in my first 2 years of blogging – it’s amazing to see that some of them made it back to be listed among the most visited pages in my site stats (mostly referrals from Google).

What’s most unfortunate is that I could not recover comments to old postings. Well, I could, manually, but that would mean a lot of work. Lost comments is like lost friends.

If you want to avoid the same mistakes, make sure

  • to keep your blog at the same domain at all times to keep your permalinks valid,
  • to choose a Weblog software that is well supported to avoid migration problems.

When it comes to point 3., it has a lot to do with point 4.: The level of active blogging correlated with what I did. I blogged more actively while I was self-employed, simply to raise awareness which would lead to consulting contracts. After getting employed, there were times when I was simply buried with work that did not require me to blog.

Concerning point 4., I believe that there is nothing you can do about the shifting focus of what you write about. I even think that Weblogs are there to show how individuals change over time and how their interests change.

If I narrowed down my blog to one specific topic (e.g. Open Source ECM), it would not be in sync with my personality. My general interest is in being open and combining Open Source software with the knowledge society. That’s a rather broad topic, but also a thrilling conjunction where most new things happen these days.

The only problem I see is that my tagcloud does not reflect the change of interest. Some tags (e.g. “pear”) appear much too prominent, although they are outside of my scope of interest these days. Hm, I should get a chronological slider for my tagcloud, just as they did here to display Microsoft’s evolution based on a tagcloud.

In the end, it’s all about transparency and authenticity in the blogosphere, including the ability to deal with changes. Blogging is a lot about learning to cope with evolution, reflecting upon what happened and letting others know how to avoid some of the traps. Hope that helps!

Digg is too Slow!

I tried out Digg the past weeks for social bookmarking – it’s much too slow! Why should I use such a service if it feels like 100 times slower compared to saving a bookmark in Firefox? The slow performance cannot be compensated by the nice features offered by Digg. Google’s services are always simple to use and fast. If your Web 2.0 site is not as fast as Google, forget it!

Folksonomy in the Enterprise: Will it pay off?

Although semantics in content management are being discussed and marketed for a long time already and always make up for a cool topic at conferences, they are rarely being used in real life. It is already hard enough for CMS users to get the content right and it is even harder to put it in the right context of a metadata set (especially if it is a large controlled vocabulary). This is where corporate “librarians” come into place, who control the use of controlled metadata – but they cost money…

Theresa Regli, principal with CMS Watch, published the article Human Touch, discussing today’s problems and solutions to motivate users of content management systems to annotate/tag/classify/etc. information with metadata. The currently preferred solution for the taxonomy dilemma is group-dynamic annotation (folksonomy), as the article states:

â??The best motivation for tagging is almost instantaneous feedback,â? adds Busch. â??Things like Flickr, del.icio.us, and Technoratiâ??the key to those is the instantaneous feedbackâ??the alerts, the feeds, the group tagging. Thatâ??s why people get into it and get excited about it.â?

It will be interesting to see, how large businesses and SMEs will adopt that strategy. They are not likely to communicate with the outside world to establish a swarm-intelligent taxonomy. Large enterprises might set up their own tagging infrastructure, while SMEs fall back to existing vocabularies, but don’t share the tagged information externally.

Additionally, there are different levels of confidentiality concerning corporate information: Some of it is for all employees, other only for the top management, certain teams, etc. This fragments the group-dynamics due to confidentiality gaps especially in large enterprises, who could actually profit from a broad collective intelligence when it comes to a high quality folksonomy.

The big hope concerning Social Tagging For The Enterprise is of course to optimize knowledge flows and to save money. Yet, it needs to be testified whether collaborative annotation can really live up to its expectations in firms. The larger and more complex the corporate environment, the more likely you will need dedicated and professional metadata reviewers. It would be an illusion for large enterprises that folksonomy translates into knowledge-management-for-free. SMEs on the other side could suffer from limited resources to ever have a useful folksonomy at hand. They might be blinded by a massive tag cloud.

On the other side, as with all data that becomes part of the public domain: in the end, all sorts of enterprises and organizations could profit from social annotation, simply because experiences are already being made by many people. Related Open Source software and publicly showcased approaches are being constantly refined, existing tag collections are readily available to be directly included or used for inspiration. That will in sum lift up all enterprises when it comes to how effectively they make use of their organizational knowledge with the help of a tagging staff.

The question is not, how much enterprises will profit from folksonomies, the question is how effectively they will make use of it by combining social software with a corporate culture where most of the employees are happy to share what they know by providing hints what their knowledge means to colleagues.

Syntax Highlighting in WordPress

After some research, I decided to use the iG:Syntax Hiliter v3.5 plugin in my WordPress 2.0.5.

Installation and use are fairly easy. I only adjusted syntax_hilite_css.css which ships with the plugin to get an output compatible with my site’s style.

Here’s the CSS code and itself a demo of the plugin:

[css]

.syntax_hilite, li .syntax_hilite {
padding:3px 3px 10px 8px; border:1px solid #aaaaaa; background-color:#FEFEFE;
font-family:’Courier New’,Courier,monospace;
/* comment the line below to remove scrolling in code boxes */
overflow:auto; white-space:nowrap;
}

/* change this line to set the width of code box */
.syntax_hilite {
width:100%;
}

/* change this line to set the width of code box in a list */
li .syntax_hilite {
width:100%;
}

/* text bar above code box */
.igBar {
width: 100%;
text-align:right;
text-decoration:none;
font-size:10px;
padding-top:1px;
margin:0px;
}

.igBar a {
text-decoration:none;
text-transform: lowercase;
border-left: 1px solid #aaaaaa;
border-top: 1px solid #aaaaaa;
border-right: 1px solid #aaaaaa;
padding:2px;
}

.syntax_hilite .langName {
color:#000000;
font-weight:bold;
}

.syntax_hilite textarea {
margin:0px -5px -2px 0px;
border:none;
}

[/css]

Read here about which other useful WordPress plugins I use.

Migrating Old Permalinks to WordPress

Now that I migrated to WordPress for blogging, the permalinks of my previous blog entries have changed.

For example:

/article_php_5_enterprise_edition_available_online

changed to:

/2006/11/26/article-php-5-enterprise-edition-available-online/

My initial idea was to use mod_rewrite by adding a RewriteRule for each old link redirecting to the new location, but that looked like a lot of copy&paste to me and would not teach me anything new.

Instead, I chose to redirect requests for old links to the WordPress search page. Try it out yourself: Click on this old permalink /article_php_5_enterprise_edition_available_online and you will be redirected to the search page, which displays the blog entry to you as a search result. This looks like a more flexible solution to me, just in case that my permalinks might change again one day.

The implementation was simple. I added a few lines of PHP code to the 404.php page of my WordPress theme as described in the support topic 404 Search Function for WordPress. I also added a header redirect directive.

This is the full code:

[php]

// Adjust if WordPress is located in subdirectory,
// e.g. http://www.example.com/weblog. Otherwise leave empty.
$blog_uri = ‘weblog’;

// Don’t change from here.
$search_url = $blog_uri.’/?s=’;
$search_term = urldecode( substr($_SERVER[‘REQUEST_URI’],1) );
$find = array(“‘”.$blog_uri.”‘”, “‘/'”, “‘[-/_]'”) ;
$replace = ” ” ;
$new_search = preg_replace($find, $replace, $search_term);
$new_search = urlencode($new_search);

// Redirect to search page.
header(“Location: /”.$search_url.$new_search.”&http_status=404″);
exit;
[/php]

Notice that for security reasons, I use urlencode() for the search page URL to avoid HTTP Response Splitting.

Useful Extensions for WordPress and MediaWiki

These are the WordPress and MediaWiki extension I use on my site:

WordPress Plugins

  • Ultimate Tag Warrior: Very nice and powerful plugin which lets me add tags to my blog entries and display the tag cloud in the sidebar. It also allows me to retrieve tag suggestions from Yahoo! for a post – easy to install and configure and very helpful!
  • WP-Leftycats: A mini patch which makes the feed icons display to the left side of a category name. I was just too lazy to hack it myself 🙂

MediaWiki Extensions

  • GoogleMaps: This extension allows me to show where I am located on the page with my contact details.
  • XFeed: Aggregates RSS feeds and displays them from within MediaWiki. Look at the startpage of my site to see it in action. There I show the 5 latest blog entries. I had to tweak the code a bit though, from $feedItems = array(); to $feed->items = array();. The author had it the right way initially, don’t know why he changed it.

The Freedom of Open Source Employees

The getting fired for blogging discussion is highly interesting when seen from the Open Source perspective. The basic question then is: Does the Open Source collaborative model lead to a more sound relationship between Open Source companies and their employees?

I can whole heartedly answer with yes.

Independence

The key to a sound relationship between a company and its employees is independence – not only in the Open Source business. In general, any relationship between humans can only work if all parties can keep their independence.

The term independence, as I understand it, includes the ability for mutually beneficial consensus. Only individuals or organisations who are able to act independently, can find healthy solutions in a conflict situation.

Such an understanding of independence includes, paradoxically enough, that you are very much aware of your dependence. You simply know that nothing great can be achieved in life, if you are doing it solely on your own.

Freedom

The freedom of an individual or an organization to shape its future, leads to the afore described independence. Because freedom implies that the executing party is responsible for failures and successes. This inevitably leads to understanding independence as a result of responsibility and freedom, with the awareness of dependence.

Pride

From here on, it is simple to put together the pieces: When working in an Open Source project that appreciates your contributions, you gain self-confidence. Even if you’d never become a core-developer of the project, even little success can make you feel proud and aware of your abilities. This makes you more independent from others, because with knowing what you can achieve, you can better achieve what you want.

Respect

Business organizations who employ an Open Source developer, always have to respect that this person is being respected by the Open Source project’s community. The employee’s self-confidence is fueled by a community, not necessarily by the company that pays his salary. Although working in a company, especially if it is an Open Source company, can be very rewarding.

Open Relationships

Now ask yourself, how big problems with blogging can really become in an Open Source company like MySQL or eZ systems? I’d say that they tend towards zero, because any Open Source undertaking is based on the kind of independence and mutual respect laid out here.