February 28, 2008

MindTouch at Microsoft’s Mix Conference

Aaron Fulkerson @ 9:57 pm

Mix08 Logo

I’ll be speaking on a panel at the upcoming Microsoft Mix conference. Details are as follow:

Opportunities and Challenges in Mashing Up the Web
Wednesday, March 5 1:30 PM - 2:45 PM, Delfino 4101A
Speaker(s): Shawn Burke, Aaron Fulkerson (MindTouch), Andi Gutmans (Zend Technologies), Sam Ramji (Moderator), Mike Schroepfer (Mozilla)
Audience(s): Business, Technical
Session Type: Panel
There are lots of different vendors offering lots of different technologies on which platforms may be built. Web 1.0 and Web services suffered from interoperability problems. What should we, as designers and developers of the next web do to avoid the same mistakes? What standards are best for us? Does JSON answer our data needs? Is HTTP enough?

MindTouch will also be making some big announcements timed for Mix that we’re all excited to get out. Stay tuned, great stuff to come.

MindTouch Technology and Progress Report

Aaron Fulkerson @ 3:27 pm

Technology image

Over the past few days I’ve been grinding away on the most comprehensive written explanation of MindTouch’s technology completed to date, at least, high level laymen explanation. I finished it today and then Steve polished it and added a couple sections.

Technology - MindTouch
MindTouch is the developer of Dream and Deki Wiki. Dream is a Distributed REST Application Manager that Deki Wiki is built on. Deki Wiki is a wildly popular wiki, but it is much more than just a wiki. In fact, Deki Wiki is a wiki interface to a composition of loosely coupled web services that serve as a distributed application platform. Meaning, users of Deki Wiki get the immediate value of a wiki: improved collaboration around text, file, and email, but are also able to connect and mashup systems, databases, external services, and Web 2.0 applications in the form of composite applications and data mashups. This is achieved while still allowing a site administrator, presumably an enterprise IT professional, to provide governance of the data and services that users can access. The end result is a user-centric interface to data that is dynamically generated from data silos and the ability to create business user specific applications (situational applications).

I encourage everyone to read the full write-up. The quote above is just the abstract and the article should be accessible even to the less technical reader. I’m amazed at how far ahead we are of anyone else in this emerging space. Our technology is easily a couple years ahead of anyone else and there are some very big companies entering this space including IBM, BEA, SAP, etc. I know we have a brilliant team, but in comparison to the big boys our resources are just a drop of water in an vast sea.

I frequently marvel at what we’ve built, but what I find even more amazing is how we’re dominating the market. Primarily because I’ve always known we have a team of amazing engineers, but I guess I never realized just how damn good we are about getting the word out. Case in point, there isn’t any vendor that is seeing the kind of distribution and adoption that MindTouch is driving. To be honest it is shocking when one realizes how much more market penetration MindTouch has. I knew we could build some bleeding edge technology, but I hadn’t thought we would be equally successful in marketing it to the extent and as quickly as we have managed. Especially since it’s been entirely organic. People find our software by searching for “MindTouch” and “Deki Wiki”. Our SEO is atrocious. Anyway, if you look at only our download stats at Sourceforge you’ll see we’re driving around 1100-1200 downloads a day. It is important to note that this only accounts for a portion of our total distribution. Deki Wiki is now in several build systems and other people are regularly redistributing our software from places other than Sourceforge. MindTouch Deki Wiki is being distributed well over 2,000 times a day! There is no other vendor even remotely close to this in our space. What about adoption? Well, I looked at some stats earlier this week and I was stunned by our total count of unique users. That is to say, it was more positive than I ever imagined. :-) Of course, we can only count a percentage of the total unique users of Deki Wiki, but we have a really good idea what percentage we’re counting. As I said, I was stunned and very very happy with what we’ve accomplished in this first year and half of Deki Wiki being public. I will announce these numbers at a later date.

Now it’s time for the obligatory “thank you”s. Credit to the Gardeners, these are the folks that have been spreading the word. It certainly wasn’t due to any PR or advertising efforts on our part because MindTouch just began these campaigns near the end of last year. So, MindTouch users and customers please continue to spread the word and we’ll continue to make kick ass software.

February 27, 2008

MindTouch Dream is a .Net library for REST-oriented programming. It ships with a REST micro-server for Windows and Linux (thanks to Mono) that can be embedded into applications or used as a standalone .Net REST web-server. Dream is open source, written in C#, and licensed under LGPL. You can download Dream “Emerald” 1.5.0 from SourceForge.net.

Dream “Emerald” is the follow-up version to “Denim” which shipped last September. Since then, we’ve done many improvements to this versatile library and server. The mission of Dream is to make REST-oriented programming as simple as possible without introducing abstractions that obfuscate the versatility of HTTP. Dream includes classes such as Plug and XUri that make the WebRequest and Uri/UriBuilder classes obsolete. They promote better programming practices and require less lines of code. Similarly, the XDoc class is a generalization of XmlDocument, XmlNode, and XmlNodeList that streamlines direct operations on XML documents, alleviating the need for generated wrapper classes.

Dream also provides a concurrency and asynchronous execution library that enables efficient programming. Most of the complexity is encapsulated through the versatile Result class, which acts as synchronization point for future results.

Dream includes a REST micro-server that can act as a standalone host or embedded into applications to provide a REST API.

Improvements in Dream “Emerald” include:

  • performance tuning
  • memory footprint tuning
  • simpler instantiation of the host service
  • XDoc diffing and 3-way merge
  • catch handlers for asynchronous operations
  • eliminated all uses of NameValueCollection (it’s slow, a memory hog, and buggy)
  • support for independent culture per request for multi-lingual services
  • much improved support for instantiating objects from a database catalog
  • and many more…

Dream is robust and well tested as it lies at the heart of Deki Wiki, the most popular vendor-backed wiki platform.

Let us know about your Dream projects on our our forums!

February 26, 2008

Deki Wiki 1.9.0 RC1

royk @ 8:33 pm

Hey everybody,

I’m proud to announce the availability of Release Candidate 1 of Deki Wiki 1.9.0. Since this is a Release Candidate, it is not available yet for our VM users - we will do more QA coverage on this release to make sure upgrading won’t break your systems! The final release of 1.9.0 will be ready by next week. If you’re a brave techie, please try out this release; I think you’ll be pleasantly surprised at all the UI goodness.

A quick run-down on the major changes in this release:

  • Revamped dialogs - we’ve significantly improved the ability to locate content from any dialog that traverses your Deki Wiki (like the link + image dialogs)
  • Mashup generator - Guerric created a new dialog which exposes a user interface for generating output to embed Deki Wiki Extensions into your page. Now it’s even easier to create mashups! (Check out an example of how useful these mashups are!)
  • Revamped installer - to be more compatible with Linux packaging best practices, we’ve overhauled the installation process of Deki Wiki
  • More extensions! - Max wrote a Mantis extension, which I’m already making use of in the release notes page (see the changelog!)

If you have suggestions (or issues) about this release, please join our forums. We will continue to polish up this release and make it ready for upgrade in production environments!

Deki Wiki 1.9.0 RC1: source download or release notes

SVN Mirroring with SVK

PeteE @ 9:11 am

Since everyone at MindTouch has decided to jump on this newfangled blogging bandwagon (just another fad like the Internet, IMO), I figured it was a good time to do my first post.

At MindTouch, we use svk to synchronize our private SVN repository with our public svn repo over at SourceForge.net. Over the weekend, that sync broke for some reason and I was forced to actually learn how the magic worked. I put together a document describing how our svk sync works here:

Synchronizing SVN Repositories with SVK

February 25, 2008

Welcome Aboard

Damien Howley @ 11:48 am

We’ve got some new faces here at MindTouch and I’d like to offer a formal welcome. Mathieu joined us about 3 weeks ago and Vivien joined us just earlier this week. Mathieu has filled the much needed roll of Systems Administrator. Right now he’s working on some internal stuff that has been needed for a long time. He actually just posted to the blog on Friday so if you’re interested on reading about his work check it out.

Vivien joined us about a week ago now and is going to be working on technical documentation for the time being. Vivien is currently working for us part time because she is finishing up her senior year at UCSD where she is studying computer science.

It’s nice to have some new faces in the office, not that there’s anything wrong with everyone else, but we are always looking for new talent. They’ll both be blogging so keep an eye out to for some new stuff!

Damien
DamienH[At]mindtouch.com

February 23, 2008

Mashups Event in San Diego

Aaron Fulkerson @ 7:38 am

Later this week I’ll be speaking on a panel about Mashups in the enterprise. I hope to see you there. Details follow.

SDSIC Service Oriented Architecture BIG, February 27, 2008

By 2010 Mashups will be the dominant model for the creation of composite enterprise applications. What is YOUR enterprise Mashup strategy? Sean Van Tyne has assembled a panel of Mashup industry experts for the SDSIC SOA BIG to explore these questions and help you find the right solution for your company.

The event will be held at Websense, 10240 Sorrento Valley Road, San Diego, CA 92121. Registration and Networking is from 5:30 to 6:00 pm and the program runs from 6:00 to 7:30. For additional information and to make your reservation, please visit SDSIC Events.

Moderator:

Sean Van Tyne, User Experience Architect, Van Tyne Consulting, www.vantyneconsulting.com

Panelists:
Kelly Abbott, Co-Founder and President, Dandelife, http://dandelife.com
Geoffrey Hueter, Co-Founder and CTO, Certona, http://www.certona.com
Aaron Fulkerson, Founder and CEO, MindTouch, http://mindtouch.com
Kevin Parker, VP and Chief Evangelist, Serena Software, http://www.serena.com
Patrick Neeman, User Experience Practice Manager, speakTECH, http://www.speaktech.com
Jason Noble, Portals and Collaboration Practice Manager Neudesic, LLC http://www.neudesic.com

February 22, 2008

Deki Wiki coming on Amazon EC2

MathieuO @ 11:52 am

Let me first introduce myself, I am Mathieu, full-time open-source preacher and proud new sysadmin of this powerful MindTouch team. Today I wanted to tell you about one of my first projects here at MindTouch : Setting up Deki Wiki as an Amazon EC2 instance.

Amazon Web Services

If you’re not familiar with it, Amazon Elastic Compute Cloud (EC2) is a Xen based virtual hosting solution. Among some outstanding features, we will notice its flexibility, a “pay as you go” pricing system and its virtually unlimited extension possibilities.

For Deki Wiki, an EC2 instance works pretty much the same way as the VMware appliance except for one thing : all the resources Amazon loans you for the run are volatiles, so whenever you your instance gets stopped, all your working data is lost. The workaround for that is simple : backup, backup and backup again. For that purpose you can either use “scp” to keep a local backup or preferably use Amazon Simple Storage Service (S3) for optimal performances along with EC2.

I am currently writing a script to easily backup and restore the Deki Wiki data of an EC2 instance so you will be able to recover your data on any new Deki Wiki AMI, or also clone your server, or even launch 100 instances of your Wiki to serve your billion wiki users !!

The EC2 instance I work on is based on CentOS and I use the extended interface provided by Rightscale. Moreover the pretty interface it provides, the “RightScripts” technology from Rightscale allowed me to customize a vanilla CentOS image in a very convenient way. You should definitely have a look at it if you plan to migrate some services to EC2.

An EC2 Deki Wiki AMI (BETA) will be released soon so be sure to give it a try !

Links :
http://aws.amazon.com
http://info.rightscale.com/

Mathieu (mathieuo[at]mindtouch.com)

February 21, 2008

MindTouch Austin Bound - SXSW

Damien Howley @ 5:42 pm

sxsw logo (south by southwest)I just found out last week that we’re going to make an appearance at Austin’s ‘South By Southwest’. I’m going with Aaron and we’re getting in on Saturday March 8th. We’re really only going to be there for the Interactive stuff.

It’s going to be my first time at SXSW but from what I have gathered it makes for an awesome time. Plus Austin was one of my favorite college road trip locations so I’m excited to visit again. I’ve done a little reading and here’s what I’ll probably be doing

  • Saturday March 8th
    • 3:30 - Blood, Sweat, and Fear: Great Design Hurts - fighting the urge to conform with design
    • 5pm? - Behind the Scenes at the Onion News Network - Sounds interesting, i might be there
    • 5pm? - Social Marketing Strategies
    • 6pm - Google Party - why not?
    • 10pm - 16bit - open bar and 80’s music, good combo
  • Sunday March 9th
    • 2pm - Zuckerberg speech
    • 7:30 - Adobe web awards
    • 9pm - Web award after party
  • Monday March 9th
    • 10am - Lost in Translation? Top Website Internationalization Lessons
    • 11:30 - Social Networking and Your Brand

Well that’s it!
Deki Wiki fans let us know if you’re going SXSW, we’ll say hi and get you some schwag.

Damien
DamienH[at]mindtouch.com

February 19, 2008

Deki Wiki–the Platform

Aaron Fulkerson @ 5:19 pm

BrigetteK just beat me to a post about DekiScript. I’m glad she did because her post is a lot better than what I’m posting about; so I encourage you to read her post below this one. The reason I thought to post about DekiScript is because I got a phone call from a Deki Wiki user today who was porting a knowledge base to Deki Wiki. He wanted to have on each wiki page a hyperlinked UID for that page and use this is a page reference and link that could be quickly shared. I’m not certain how his call ended up on my desk, but I’m glad it did. Upon hearing his question I hollered across the room to Steve for a solution, he came up with this solution in just a few seconds:

{{ web.link(page.uri, 'Document #' .. page.id) }}

This snippet of DekiScript dynamically generates link to the page and displays the page UID. Needless to say the fellow on the phone was impressed and is now purchasing support. Please do not take this as an invitation to call me with support questions without already having purchased support :-). Read more about DekiScript. If Deki Wiki doesn’t provide an interface for some functionality out-of-the-box it’s almost certain DekiScript can be employed to achieve the desired effect. Moreover, it’s important to note, primarily because so few people realize this, that every page in Deki Wiki is it’s own REST based web service. Yes, really. Think about that. Every page in Deki Wiki is an XML-based web service that can be operated on with standard HTTP verbs. Here is what the home page of OpenGarden, MindTouch’s developer community, looks like through the API. Wow, this creates a vast universe of opportunities for someone with some basic scripting skills and a little Curl know how. Or even better, if you really want to be dangerous use Bungee labs, you won’t even need basic scripting skills to do some amazing things. :-) For more information read the API reference documentation. But adding new functionality is easier than operating directly through the API. It’s very easy to add extensions to provide just about any functionality you desire. In most cases this is as simple as integrating with another service, API, application, or widget. Read more about how easy this is at OpenGarden. Of course, once you have your external apps or services integrated you can mash them up with one another to create all kinds of interesting composite applications or data mashups because Deki Wiki pages have a communication bus.

While the majority of Deki Wiki deployments are being used as a traditional wiki we’re beginning to see a growing number of enterprise customers realize Deki Wiki’s true potential as a distributed application platform for connecting apps, services, and databases and as a platform for building new kinds of social and collaborative applications. As you build your own creations on Deki Wiki please share your stories with MindTouch (AaronFatMindTouch.com).