I had a conversation today with one of our new employees about the power of the Lucene search engine in MindTouch Deki, and I thought I would share some of the high points here.
Like many of the features of MindTouch Deki, the power of the search engine is only revealed once you start digging deeper into the functionality. On it’s face, our search engine is like many others, with the most common interface being a plain text box on each of the Deki pages. The real power of the search is revealed in the complex expressions that can be interpreted by the search engine. For those of you that have used university library search engines like ABI/Inform or Lexis-Nexus, some of this will be familiar.
First, it is important to note that our search engine indexes not just pages, but also within many common file types, like Word Documents, PDFs, and many other file types. So, a simple search for hello world will return pages that contain the terms hello or world (or both), along with files having the words hello or world in the filename, and even documents that contain the words hello or world in the text of the document. This search probably returned a lot of results; suppose you are only looking for results that have both terms in the title?
It’s the end of the year and everyone is publishing their top 10 lists. In this spirit, I thought I would do one too. The fact is MindTouch is so robust and feature rich there are very few people that fully grasp the power of the platform. Hence this list.
1. WOA. A Web Services Framework and Web Services Orchestration Engine
I have to start with this one because I’m often surprised with the notion that MindTouch is a wiki. Yes, there is a very polished “wiki-like” interface that exposes most, but not all, of the capabilities of the web services layer. Anything you can do through the “wiki-like” interface, and more, can be done through RESTful interfaces. In fact, every MindTouch page is an XML web service that is RESTful. We call this a Web Oriented Architecture (WOA). This has many profound and interesting benefits for developers and enterprise IT architects alike. To start with, you can extend the platform in any programming language. It is easily embedded into other applications and easy to connect other systems, web services and data sources. Also, many use MindTouch as a specialized application server for developing social or collaborative applications. A great public example of this is www.Shelfari.com. This was acquired by www.Amazon.com in mid-2008. Most importantly, while all other social and collaborative enterprise applications provide you with a walled-garden/point-application that forces you to adapt to their pre-defined workflow, MindTouch, with the WOA and DekiScript, allows you to adapt the platform to suit your workflow, needs and existing enterprise ecosystem and you don’t need an army of engineers to do this.
2. Agile Content Management System (CMS)
MindTouch makes a fantastic CMS. For an example, look no further than www.MindTouch.com. The fact is, websites are a collaborative effort and most often involve a team of people of varying degrees of technical acumen. Usability, content versioning, file/asset management, automatic page redirects and search are all aspects of content management for web publishing that MindTouch excels at. Moreover, MindTouch makes it easy to connect other systems and surface data from other properties and services. Indeed, MindTouch provides a high water mark for a social media enhanced website with automatic connections to video, blogging, photo sharing services as well as hundreds of other pre-packaged web services that are useful to website builders. Download and install the MindTouch CMS skin.
From a single MindTouch application host one can run many distinct instances of MindTouch. The largest such “farm” instance (that I know of) is the one MindTouch powers for MindTouch Express at www.wik.is where a single application host runs as many as 30,000 unique MindTouch MindTouch Express instances. There are many others that configure MindTouch in this manner. This is done by sub-licensors of MindTouch software, such as www.dekiwiki.jp and other hosting service providers, but also is common among large companies and organizations that want to minimize the cost to maintain and secure MindTouch. Specifically, this is a wonderful way to keep the smallest possible footprint, provides a single point to upgrade, patch, secure and configure, and allows auto-provisioning of MindTouch sites for projects, work teams, micro-sites, etc…
4. MindTouch Cloud
When MindTouch first launched the SaaS offering MindTouch Express (www.wik.is) we needed an infrastructure to help us maintain the “MindTouch Cloud”. We had already developed the multi-tenant capabilities in order to provide a cloud infrastructure and the WOA gave us significant benefits in scaling, but we needed an infrastructure to ease the complexity of managing hundreds of thousands of MindTouch instances. Hence, MindTouch Cloud. This is a “Cloud” management and analytics console that greatly improves administrators ability to manage a cloud of MindTouch instances. This makes provisioning, configuration, analytics, etc… a snap and is especially useful for companies and organizations running more than a few MindTouch sites.
5. Native SVG and Silverlight Support
That’s right, you can edit SVG and Silverlight natively with MindTouch. For that matter, with the built in syntax highlighting for about twenty programming languages you can present syntax highlighted code samples adjacent to working SVG and Silverlight. Among other things, this makes MindTouch uniquely suited for documenting SVG and Microsoft Silverlight; so, take note SVG W3C WG and Microsoft Silverlight team.
6. Multiple User Interfaces
The most complete user interface of MindTouch is a decoupled PHP client that provides the wiki-like interface most familiar to MindTouch. Beyond this there are also interfaces for the iPhone, Windows desktop (Winform) and Microsoft Office. Given the architecture of MindTouch being WOA (entirely RESTful) building new user interfaces is quick and easy.
7. Multi-Lingual Polyglot
This is a tough one to explain; so, I’ve embedded a video below that demonstrates the preponderance of this very innovative and unique capability. Suffice it to say, I’m not aware of any application that provides this kind of groundbreaking capability for internationalization and localization. Mozilla was a major impetus to the development of this functionality. The Mozilla Developer Center was able to be consolidated from 16 distinct Mediawiki instances into a single MindTouch instance that vastly improved how Mozilla community members from all over the World collaborate.
8. Powerful and Adaptable Search
MindTouch builds on the Apache Lucene search engine. While most other Enterprise 2.0 players are toiling with inadequate SQL searches, MindTouch sports a robust enterprise search engine that indexes MindTouch pages, tags, attached file metadata and the content of attached files. Moreover, Lucene has a rich query language that is easily abstracted by advanced search interfaces. For example, it’s trivial to provide a sophisticated experts search, product catalog search, support knowledgebase search and more. Finally, the search is so robust in MindTouch many customers use MindTouch to improve the search of other applications like Drupal, WordPress and other applications that rely solely on SQL search queries.
9. WordPress Plugin, Blogging and Forums
As mentioned above, many deployments of MindTouch are used to provide improved search for other applications. The most common example of this is WordPress by using the MindTouch WordPress plugin, which syncs content from WordPress to MindTouch. It’s generally recognized WordPress is the best blogging system there is. As such I generally recommend customers use WordPress. MindTouch has a plugin and shared authentication. With a custom skin the experience is seamless. See MindTouch.com for an example. Notice the content from WordPress aggregating on the home page and other pre-defined pages throughout the website and also the seamless experience of the corporate blog with the MindTouch powered site. However, there have been many DekiScript applications developed in MindTouch and one of these applications is blogging. This is not the full featured blogging one would expect from WordPress, but is well suited for Intranet blogging. On the topic of forums, MindTouch integrates nicely with vBulletin (undoubtedly the most popular forum system). Moreover, there is a DekiScript application for foruming in MindTouch. The general rule I communicate to MindTouch customers is: if you’re doing an external community I recommend WordPress and vBulletin with integration for the sake of the full blogging/forum capabilities (trackbacks, comment spam filtering, etc…), but if you’re looking for an Intranet solution the DekiScript built blogging and forums applications are perfectly suitable and capable.
10. Integrated Data Processing
MindTouch makes it easy to automate all sorts of usually complex, painful and time consuming things. Not least of which is the integrated ability to automate the extraction and processing of content from external sources. Specifically, with DekiScript or by point-and-click through the MindTouch Extension Manager, it’s a snap to read XML or JSON from URIs (external data sources and web-services) and process these in page. This makes MindTouch fantastic for creating dynamic pages without any external code. This is useful for both enterprise automation and social media automation. I’ve seen a lot of impressive things down with dashboards and reporting for the enterprise and also some really useful social media use cases.
Freedom of Open Platform
One of the many clear differentiators of MindTouch in the collaboration space is the platform approach MindTouch took in developing the product. MindTouch has been crafted to provide a platform that can be adapted to suit the needs and workflow of the existing enterprise infrastructure. All other players in the enterprise space have provided crude social apps that are very difficult, or impossible, to customize and extend. Other platform plays are closed and only play well in their own proprietary technology ecosystem, widening the knowledge divide in your organization instead of narrowing it. At MindTouch, we’ve taken a different approach. We’ve adhered to open standards and developed an open platform (WOA) that has consistently demonstrated a remarkably higher return on investment and a dramatically lower total cost of ownership