29 March 2011

Gamification of the Business

If you have not come across the term "Gamification" before, think of it as a kind of rewards or loyalty scheme in which the rewards are generally social, not material in nature. For instance, completing a particular task in a software application results in earning points or badges which are visible to your peers, and earn you kudos in the user community around that software.

Gamification essentially exploits the fact that social status is an incredible motivator, and if the right social rewards are available, it is possible to get people to do the dullest of tasks with gusto. As Daniel Pink explains in this video, traditional carrot/stick incentives are highly flawed for any reasonably cognitive task:


 Take FourSquare for example. FourSquare asks people to install a mobile phone application and periodically press a button to tell FourSquare where they are (using built in GPS functionality in many modern phones). This would be completely dull and unlikely attract much success, if it wasn't for the fact that FourSquare have completely "gamified" the experience, and have millions of users happily sending frequent location updates without any financial incentive.

All FourSquare had to do was to introduce an element of fun into the application by giving users game rewards. An example: A user becomes "mayor" of a locality when they have visted (and updated FourSquare) from that locality more times than anyone else. You can become "mayor" of your local coffee shop, for example,  by going there and updating your location in FourSquare more times that anyone else. Users also earn points which accumulate as their overall reputation score.

Another noteworthy example is StackOverflow. StackOverflow is a question and answer site for computer programmers. Ask your question, and have it answered by a community of experts who work for nothing. The site is a raging success with over 16 million unique visitors per month, and growing rapidly. It attracted US$6 million in VC funding in 2010. So how did they get thousands of skilled software people to work for free? You guessed it - a form of gamification involving a repution score and a system of badges that reward the very members that contribute back the most to the community in terms of quality answers, and by acting as moderators to keep the site free from irrelevant content and spam. (As an aside, this is my StackOverflow profile).

"Stack Overflow has many overtly gamelike elements, but it is a game in service of the greater good – to make the internet better, and more importantly, to make you better." - Jeff Atwood

I have found myself using StackOverflow as a resource, asking and answering questions. It has become an invaluable resource to my work, and it truely breaks new ground on the web by providing an experience that has not been achieved on any basic (non-gamified) forum-style site before.

Wikipedia was perhaps one of the first major endeavours to exploit the community, in a good way, to encourage everyone to get involved as contributors. Wikipedia's system of reward is perhaps more subtle, perhaps even unintentional. Contributors gain nothing but the pleasure of knowing that they have helped articulate and perhaps even shape a part in the greater sum of human knowledge. This, judging by the success of Wikipedia with its 23 million articles and growing, must be a powerful incentive, to say the least.

Can we use the success of gamification in other areas of software? What about business software? Most business software depends upon top-down business pressure to get its users to use it, and to use it correctly, and at the right times. Timesheet entry software is a classic example - my observation is that people generally hate using it, and do so only under duress. The organisation has to provide considerable pressure, and waste valuable time and resources to ensure timesheets are done on time, and that time is coded correctly. It isn't too hard to imagine a successful self-governing group of timesheet users that are rewarded with points or badges for accurate and timely completion of timesheets.

We, (and by this I am mostly referring to business managers) have typically assumed that people are motivated by things like money, and big sticks. Social rewards are an exteremely powerful motivator that is frequently overlooked.

It would seem that we have only just scratched the surface in terms of what can be achieved when we draw people together to form a community that rewards its contributors. I sense there's a whole new field opening up here - we may well be drawing upon anthropologists and social psychologists, as well as software people to help shape software development in the future.

From what I've seen of these early adopters, there are huge opportunities to gain people's loyalty and voluntary contributions through the use of gamification.

The Intranet Landing Page is the Intranet!

The landing page is going to leap out at every staff member every time they open their web browser. When staff members talk about “The Intranet” they are talking less about all those documents, applications, training materials and forms, and more about the home page.

That’s why the landing page really counts. You already have the documents, applications, training materials and forms – the trouble is finding and accessing them. The landing page is like Google is to the web - a veneer over the top of all this that will make or break it. The landing page is THE page that everyone comes too. It should be the most dynamic page on the whole Intranet, updated frequently with the most important information.

The Intranet is a strange beast - its kind of like your own private Internet, but with lot of strange quirks, legacy technologies, security paranoia, and corporate politics thrown in for good measure. The key to a making good Intranet for your organization is to forget all of these things, and just make your Intranet fast, friendly and have people use it because its the best way to find stuff, not because they have to.

I wanted to share some thoughts on the subject of the corporate Intranet, so I have published a lightweight whitepaper to help organizations to focus on what really matters when building an Intranet.

Read it here: The Intranet Landing Page

28 September 2010

Internet Explorer still dominates browser stakes

Internet Explorer still holds a dominating 60% market share in web browsers. With all the hype around Google Chrome and Firefox, its easy to forget that most users are actually quite happy with IE. With IE9 due out very soon (update: IE9 is out now), Microsoft could even increase its browser share, as IE9 promises to pack some serious performance punch, thanks to its use of hardware accelerated graphics to render web pages faster than any current browser. However, it sounds like IE9 will not run on XP, which is a shame since it may mean IE6 lives a little longer yet. IE6 is notoriously difficult to for web developers to support due do the fact that it behaves a bit differently to most modern browsers in regards to many CSS and HTML constructs. Many long hours are often wasted trying to get a website to render perfectly in IE6. The frustration of web developers has spawned a whole movement dedicated to the eradication of IE6! Update: Microsoft themselves have put out a website dedicated to the demise of IE6.

If you want to see how the web looks through another browser, why not try one of these:
browser icons

So how does this relate to EPiServer website development? While the global browser market share figures are important, it is also important to consider what browsers your website's visitors are using. For instance, in an Intranet, you may have complete control over the browser your users run. This means you can potentially design your page templates to optimise for a single browser, saving on cross browser testing.

However, I'd recommend that even in that case you would still be best to take the approach of using the most widely supported web standards (eg. CSS 2, HTML 4.01) and testing on at least the 3 major modern browsers: IE8, Firefox 3 and Chrome. If you are in a position to dictate the browser to use, choose one of those (or Safari) - but stick with IE8 if your organisation is Windows based. This will ensure that your site is at least using CSS and HTML in a way that is mutually agreeable to the modern browsers. I've excluded Safari as it uses the same Webkit rendering engine under the hood that Chrome uses, and renders pages identically to Chrome in nearly all cases. I've also excluded a version number from Chrome, because it updates itself to the latest version by default. Web developers will find that IE8, Firefox 3 and Chrome/Safari will render pages nearly identically most of the time. There are a few edge cases that will be different, and this is where it pays to do some cross browser testing. You will end with a largely standards-compliant site, and you'll save the pain of IE6 compatibility.

If your website is on the Internet, not Intranet, you are stuck with supporting IE6 for a little while yet. IE6 hangs in there doggedly at around 10% market share overall - still a little too big to ignore. It seems the only thing that will eliminate IE6 is the death of Windows XP. As users migrate to Windows 7, they will get IE8 automatically. XP (and IE6) will continue hanging in there until Microsoft stops supporting XP SP3, which looks a couple of years away yet, although it seems that Microsoft have not finalised this date.

10 September 2010

Throwing out the bathwater

I was once a contractor involved in a web CMS platform migration where the client had a large investment in their existing website in terms of the content, layout, design, functionality and so on. Their content management system resulted in very fragmented storage of content across multiple silos, and required frequent interventions from the original developers, and in house IT staff, which was both costly and time consuming. All in all, a bit of a disaster in terms of architecture, resulting support costs, and the sheer time and effort required to make even minor content changes, let alone adding new application functionality. The website was a huge source of new customers, and sales, and therefore a critical piece of this medium-large enterprise.
If this sounds like a worst case scenario, you haven't seen inside too many businesses websites. This is not only a common situation, it's practically the norm.

What I hope to show is that the predominant way of thinking when fixing such a system is usually wrong.

The most common approach I see amongst stakeholders and technical staff when designing a roadmap to a better website is an approach based on a foundation of crippling caution and a sickening fear of disaster. To make matters worse, many staff involved in the implementation will decide that the project is doomed before it has started, and therefore start immediately to minimise their personal culpability, ready for when the proverbial hits the fan. But I digress.

The existing investment in the web site is often something that weighs to heavily on the business. Its the conclusion that "because we've invested $x million in this website, we cannot simply throw it away".

Lets take a closer look at that assumption.

  1. What have you really invested in? When you look at where that investment has gone, it will be a combination of things like, hardware, licenses, staff salaries, third parties, web design, software development, testing, project management etc. Only the intellectual property that you have created is an asset of the business, the rest is an expense. You may have spent $5 million over 10 years, but your intellectual property asset, the value of the content created, is completely unrelated to that expense. It may be more or less valuable, depending on how well that content is able to drive revenue and profit. 
  2. If what you have created is intellectual property, where is the intellectual property? What form does it take & what does it look like? I think the commonly held view is that a web page, like a document, is a self contained piece of intellectual property. The way the page looks an feels is assumed to be integrated with the content into a whole, but this is misleading. Content and presentation can easily be separated (this has been the point of HTML and CSS since the 1990's). Yes there is intellectual property in the appearance of the content, no doubt. But the larger the web site, then less of the asset is tied up in the cosmetic appearance of the content, and the more that is pure content.
Where am I going with this? I want to point out that when you have a large web site, chances are that the cosmetic appearance of the content is of very little value relative to the value of the content itself. Going back to our migration roadmap, the approach put forward by the business is usually to "migrate the content to a shiny new WCMS platform whilst keeping everything looking exactly the same". This is considered the safest approach ("hey we can just paste the HTML across"), but is in fact a very bad idea. Why? Well, for a start you are keeping the dirty bathwater in order to keep the baby, when the two are easily separable. Separate your content from its presentation. Secondly, you are never going to get a better opportunity to implement a substantial overhaul of the look and feel. Thirdly, you have probably grown very comfortable with your old site design, but chances are its not that great to someone with fresh eyes. And forth, your HTML and CSS is likely to have grown fat and bloated over the years as various people have had a go at altering it over the years, each looking at only one part, each with a different idea in mind.

The problem with keeping the old HTML and CSS is that you are actually making work for yourself, not saving work or reducing risk. Importing bloated, bad HTML and CSS into a new WCMS is going to take longer and cause more pain in the long run than writing clean HTML and CSS from scratch. This is because all that bloated code is going to take many hours for web developers to understand, and is going to cause inconsistencies across the site, and major headaches in testing.

The outcome of a major website migration is more likely to be successful when the business seizes the opportunity at hand, keeps the content, but re-designs the look and feel. Don't keep the bathwater to save the baby!

08 September 2010

"Add This"

Ever wondered what all this is about?...

Bookmark and Share

You may have seen this hundreds of times on various web pages without paying too much attention to it. But if you have a web site, its time you understood the relationship between "Add This" and your Google ranking. "Add This" is probably one of the easiest things you can do to enhance your Google page rank over time, for free. It works simply by making it easy for people to link to you. If your readers like your content, in one or two clicks they can share it via their favourite social site.

This has at least two significant effects on traffic to your web site. Firstly, you can expect to get direct traffic from social networking sites. Second, the link into your site will improve your ranking in Google, and drive search based traffic to your site.

Adding "Add This" to your site is trivial. You have little to lose and everything to gain from adding it to your site, so go ahead and give it a go. If you have an EPiServer site, I'd recommend you have your developer add it to selected page templates, such as those for news articles and events. You can also add it via the WYSIWYG editor, but for consistency it is better to have it built into the page.

02 September 2010

Gartner Positions EPiServer as a Visionary

"EPiServer announced today that the company was evaluated and listed as a Visionary among Web Content Management (WCM) vendors in the 2010 Gartner report, “Magic Quadrant for Web Content Management.” The report, which analyzes a select group of vendors in the WCM market, evaluated EPiServer on its completeness of vision and ability to execute."
Source: Gartner Positions EPiServer as a Visionary

Gartner defines the Visionary category as:
"Visionaries are very forward-thinking and technically focused. For example, their products may have unique multilingual capabilities or be driving the inherent direction of the market through their innovation and product development. To become Leaders, they need to work on some of the core aspects of their offerings and increase their Ability to Execute. They may need to build financial strength, functional breadth, service and support, geographical coverage or sales and distribution channels. Their evolution may hinge on the acceptance of a new technology, or on the development of partnerships that complement their strengths."

31 August 2010

How to reference an EPiServer page?

When I started out developing on EPiServer, I was frustrated by the bewildering number of ways to reference and access pages, and at times none of these seemed quite right for the task at hand.
I was using an EPiServer PageList control to display a navigation aid to child pages of the current page, but I needed one of the child pages to trigger some special formatting. I ended up checking the PageID to detect when to trigger the special formatting, but I was never particularly happy with that solution. I stored the PageID of the "special page" in the web.config file, but it still left me feeling like I'd missed a better way to do this.

This blog post by Emil Åström has excellent coverage of this topic, presenting the pro's and con's of each approach quite nicely. The last two methods are my favourites, and I will be using those techniques from now on.

Ted Nyberg has also put up an simple example of how to access an EPiServer page's friendly URL.

25 August 2010

Can I develop on EPiServer with Visual Web Developer Express?

I was asked today whether it is possible for EPiServer developer's to develop on EPiServer using the free Visual Web Developer Express Edition. The answer is yes - you can use the free developer tools from Microsoft to develop templates and plugins for EPiServer without paying a cent.
Visual Studio 2010 is expensive to buy at around USD1000, so this is good news, especially to the freelance developer.
The catch is that you will not have access to the EPiServer plugin that you would have in Visual Studio since Visual Web Developer Express does not have support for Visual Studio plugins/extensions. Thats going to make development a little tricky until you get more familiar with the EPiServer SDK, because you won't have the ability to simply create a new blank EPiServer Page Template. You're going to have to create an EPiServer Page Template from scratch.

Fortunately there's an easier way to get started. Just open an existing EPiServer project from Visual Studio - the Public Templates from the EPiServer SDK are ideal. If you don't have access to an existing project, contact me and I'll help you out.
Basic instructions: Download the Microsoft Web Platform Installer. Run the 'WebPI' and install Visual Web Developer Express 2010. You will need to install SQL Server Express if you to not have it, or you do not have access to a SQL Server instance. Then install the EPiServer CMS 6 SDK.
Grab your existing VS2008 or VS2010 EPiServer project, the EPiServer Public Template, and open it in Visual Web Developer. Use that as your basis for creating your own EPiServer development project.
Happy developing!

18 August 2010

.NET Roasts Java's Beans

Infotech reported a couple of years back that .NET adoption amongst enterprise customers has taken off at the expense of Java's market share.
I think if we are honest, most in the .NET and Java communities have known this for some time.
Oh, and then there's the fact that Oracle (which owns Java thanks to the Sun acquisition) is suing Google over patent infringement for including a Java VM with its Android operating system. Not a nice way to treat the Java community, and a sure fire way to turn big companies in particular, away from Java.
Preston Gralla sees Microsoft as the big winner in this contest, and I have to agree.
The trouble is its not all good news for .NET to see Java take a slide like this. My reasoning is simple: Microsoft need Java - they need the competition in order to make them innovate. And since .NET came out, Microsoft have been moving at light speed, averaging a major new release of the .NET framework every two years, and more recently packing the framework full of goodies like WPF, WCF, Silverlight, Entity Framework, ASP.NET MVC, Linq, new languages (F#, Iron Python), and not to mention regular new versions of Visual Studio, and now Blend.
I just hope the gradual demise of Java does not completely put the brakes on all the good, and mostly free stuff, that Microsoft is doing right now for developers.
In any case, an investment in .NET based technology (such as EPiServer) is still the safest technology bet by a long shot. .NET is here to stay, and is the dominant technology in the enterprise. Developer's love the technology, and a huge and supportive community exists around .NET in a way that has never existed for any previous Microsoft technology. There's a lot of good will in this community, a lot of sharing of ideas, and a strong, growing open source movement (check out Codeplex).

17 August 2010

Translating EPiServer Pages

Language Wire provides a translation service with a bit of a twist. They have a developer API that allows developers to hook any system into Language Wire's human translators. You could call it a 'machine to man' interface I suppose.
It works like this. Lets say you are publishing a new web page in your EPiServer site. You have the content in English, but you need it in German and French as well. With Language Wire's API, your EPiServer editor interface can include a 'Translate' tab to allow you to send the page to Language Wire, and request translation into the language(s) of your choice. After translation, the pages are returned directly into your EPiServer editor interface, where they can be published as pages.
This is not some 'Google Translate' equivalent, but a translation service delivered by real live translators, so you get results that are good enough to publish on your website.

04 August 2010

Make PDF's from Office 2003 and 2007

One thing that has bothered me (for the last 13 years or so!) about using MS Office as a publication tool is the absence of any support for creating PDF documents. Given that PDF is the de facto standard for publishing documents to the web, would it not be unreasonable to ask for built-in PDF publishing support from the world's most used office productivity suite (MS Office)?
Microsoft have made available a free "Save as PDF" add-on for Office 2007 which allows Office 2007 users to save documents as PDF. Why it is an add-on and not part of the core product I have no idea.
But for those of us running earlier versions of Office (I run 2003), we are still not getting any love from Microsoft when it comes to PDF publication. Fortunately there is Bullzip's Free PDF Printer, which does a reasonably good job of creating PDF's from almost any Windows application that can print (it installs itself as a 'printer' on your system). I tried it today with great results on Word 2003 and Excel 2003.

30 July 2010

Think There's No Room For Social Media in the Workplace?

http://thenextweb.com/socialmedia/2010/02/23/think-theres-no-room-for-social-media-in-the-workplace-think-again/

Top 10 Mistakes When Selecting a CMS

This is an excellent introduction to the topic of selecting a CMS. Don't make the same mistakes that others have made - read James Robertson's article and learn from a recognised expert on content management.

Plugins for EPiServer

Looking for commercial, 3rd party or open source plug-ins for EPiServer?
Here's some starting points:
http://www.episerver.com/extras/
http://episerver.codeplex.com/
https://www.coderesort.com/p/epicode/wiki/WikiStart

EPiServer Composer Video


Pure eye-candy. Even if you're not a fan of EPiServer, you have to admit these guys know how to market their product!

29 July 2010

Website Migration Handbook

A colleague was doing a little 'Googling' recently on the topic of large scale website (CMS) migrations, and came up with a little nugget of wisdom. He was quick to acknowledge the danger of Googling, but in this case the results speak for themselves.
I read the Website Migration Handbook and was immediately impressed by the author's depth of experience, knowledge and wisdom, and his ability to explain the material is such a clear manner. It is so refreshing to hear the voice of someone who's been there on the ground doing the hard, often thankless task of content migration, as opposed to another consultant-type offering vague best practices, lacking in the hands-on advice that the people on the ground really need.
IMHO this handbook is destined to become one of those industry bible's - an absolute must read for those undertaking any sort of website migration.

23 July 2010

Where's my spell checker?

While working on an EPiServer proposal for a client today, the client had a requirement that the CMS must have a spell checker built into the WYSIWYG editor. Fair enough. Feeling fairly certain that it would, I thought I'd just check that it supported multiple dictionaries. To my surprise, there was no spell check icon in the editor! For some reason it seems to have been removed by EPiServer when they integrated TinyMCE.

Thankfully, Ben Edwards has shown how to add the TinyMCE spell checker back in.

Community features on content pages

Today I was looking for a way to add some "community" centric features to standard content pages. As would be expected I'm not the first to make this request, and a bit of Googling soon came up with a gem from Per Hemmingson:

With a little bit of a tweak, EPiServer's Relate+ can empower your plain old content pages with community features. You can allow visitors to rate the content, comment on it, see most viewed & most popular pages. Refer Per Hemmingson's blog post.

20 July 2010

What do you mean its not open source?

Thats right, EPiServer is not another open source CMS. Its closed source, commercial software. And in my opinion this has a lot to do with the success of EPiServer (9000+ web sites use EPiServer), in a market that is absolutely awash with free, open source content management systems, and literally thousands of (often) home grown web CMS's that have been cobbled together by well meaning, but typically under resourced web agencies, with little experience in designing scalable, maintainable, extensible, and not to mention quality software products.

The sheer number of CMS's out there in the market today is absolutely ridiculous. Most estimates put the number well over 2000, and that is likely to be on the low side as most of the home grown CMS's are not even advertised. Then you need to count in all the slightly modified open source CMS's that have been branched away from their original source code by modifications, leaving the poor web site owner with an orphaned product which cannot easily be updated to a newer version.

I'm all for consumer choice and variety, but maintaining so many near-identical products is just an enormous waste of human effort. Think how much better these products could be if just some of these fragmented development efforts were to unite, share their thoughts, and reduce duplicated effort. There is simply no way all these products and open source initiatives can continue to thrive. Consolidation is inevitable, and that means the end for the less successful CMS's out there.

Open source projects are not immune to failure - you'll hear more from me about this soon. I have nothing against open source software, in fact I think the movement has an emormous amount to offer society, I just happen to think that it is not a silver bullet for all scenarios, and that the apparent savings in license fees are all too often lost on development hours, or lack of availability of suitably experienced developers, lack of support, and delayed projects.

20 June 2010

Why blog about EPiServer?

Welcome to my blog. This is a place for me to share my experiences on EPiServer, and showcase some of its features. EPiServer is a web content management system that is, in my opinion, one of the best in the market. As an EPiServer developer, I am constantly discovering new features, and new ways to use this product, and new ways to enhance my client's web sites.

I am planning to keep this blog non-technical and focus more on features, insights and thoughts.

This blog is a place to help me cement my thoughts and ideas, by gaining feedback from the web development community, from the EPiServer community, and from EPiServer users and site owners. I also hope that this blog will help new customers find their way to me!

23 June 2009

EPiServer Project for Cadmium

I have now completed my first ever EPiServer site in conjuction with Cadmium, a web design shop based in Lorient, France. The developer experience with EPiServer is generally very good, and a good developer experience leads to fast project delivery.

That aside, EPiServer is still the most powerful Content Management System I have come across - it is in fact the only CMS I would consider recommending. There are far too many small market share CMS's that lock naive website owners into a single vendor or small pool of vendors, and this is a major problem in the website industry at present. If you become dissatisfied with the service from your website vendor, there are often few or no alternatives. This situation is very common because website vendors strive for your initial business, but have little interest in ongoing support.

Because EPiServer sites are ASP.NET applications, ASP.NET developers can quickly make the transition to EPiServer developer. When you need to modify your EPiServer site, not only do you have the full power of ASP.NET at your disposal, but you can choose from literally 1000's of development shops and contractors that specialise in ASP.NET and/or EPiServer. No more lock-in!

29 May 2009

EPiServer Developer Training

I've recently completed EPiServer developer training, so I'm pleased to be able to offer EpiServer development services. EPiServer is a web Content Management System in a league of its own. The product is very mature, having been around since 1997, and is based on ASP.NET 2.0 technology. The beauty of this CMS is that it gives all the power of an ASP.NET application to the content managed site. The result is that the client gets a content managed site with very easy to use features like right-click to edit page content, and they get the option to add community oriented features such as blogs and discusion forums, whilst leaving open endless possibilities for customisations using ASP.NET.