Tag Archives: community

About open community – a tale of two tools

When you take a step back from a community for spell after being in the thick of it for some time, it’s interesting to see what you find upon return.

In this case, I’m referring to the .NET community and there are two stories that I want to highlight:

  • Documentation automation
  • Decompilation

Town of NDoc

Once upon a time, there was NDoc, a convenient tool to help developers produce reference-level documentation for their .NET assemblies and solutions.

A force from the Pacific Northwest determined that there was much value in NDoc, and Sandcastle was born. (Note: The chapter on NIH isn’t covered here, nor are the alleged actions of an individual in the NDoc “community.”)

Sandcastle was more about the command line than NDoc, and eventually Sandcastle Help File Builder arose:

Sandcastle was originally created by Microsoft back in 2006. The last official release from Microsoft occurred in June 2010. Until October 2012, it was hosted at the Sandcastle project site on CodePlex. In October 2012, Microsoft officially declared that they were ceasing support and development of Sandcastle. The Sandcastle tools have been merged into the Sandcastle Help File Builder project and all future development and support for them will be handled at this project site. The Sandcastle tools themselves remain separate from and have no dependency on the help file builder. As such, they can be used in a standalone fashion with your own scripts and build tools if that is your preference.

Assuming that Kevin Downs and others who originally contributed to NDoc are happily pursuing new ventures (and satisfied to see their initial efforts validated by SHFB et al), it seems like documentation automation is alive and well in the .NET community.

City of .NET Reflector

Once upon a time, Lutz Roeder authored and maintained the most excellent .NET Reflector decompilation tool for the .NET developer community. At its prime, I didn’t know a .NET developer who wasn’t actively using the tool and who wouldn’t readily nominate Lutz for knighthood.

But then .NET Reflector’s future changed

Red Gate will continue to provide the free community version…

Well, until they didn’t!

Other than referencing ZDnet’s coverage at the time, I’ll leave you to Google the rest of the flames that resulted from this decision. Suffice it to say that it got ugly, and the $35 price is now no less than $95 and as high as $195.

The severe curve in price hikes tends to indicate a sharp drop in demand. Furthermore, the original Reflector add-ins portal seems to have been abandoned, which is a shame–lots of solid contributions were made therein that I use to leverage frequently (er, once upon a time)…

So, in the face of a tool that was free but now costs almost a benjamin for the basic version, what to do?

Two potential alternatives quickly present themselves: Telerik JustDecompile and JetBrains dotPeek. Let’s start with dotPeek

I’ve had some experience working with JetBrains in the past to establish a more open stance. Unfortunately, that didn’t result in any great or lasting success:

It’s interesting to see other potential similarities, too, between the Omea progression and the dotPeek progression. For example, JetBrains originally realized Omea by hiring Dmitry Jemerov who authored Syndirella–ironically an open source project. More recently, the first dotPeek plug-in author, Matt Ellis joined JetBrains as a .NET development tools evangelist. Assembly list support is already baked into dotPeek 1.0 directly.

As I remarked on Twitter, I sincerely hope that JetBrains has embraced open development for dotPeek; otherwise, I fear reactions to dotPeek such as this one for Omea.

Switching to JustDecompile, one of my first (positive community-oriented) impressions came from reading the (timely) comments on this blog post.

Even the blog’s first criticism–needs registration for download–has been addressed. I agree that this was a bit heavy-handed, but now you can download JustDecompile straightaway and only provide/create account information if you want support for the free tool (during JustDecompile installation).

Telerik has posted two, free plugins, which installed easily (after I realized that you have to expand the .sflb files for JustDecompile to find the entry points as otherwise instructed). (Telerik, please update your instructions to make this clear.)

Time will tell if the .NET community will rally around this tool by submitting new plugins. It’s clear that Telerik is listening to the community it has (e.g. this feature came directly from the UserVoice site for JustDecompile), and that is a good start.

I wonder if things would have worked out differently if GitHub had been around at the time the original transitions for .NET Reflector and NDoc had occurred. (Lutz is on GitHub, just not including .NET Reflector due to its aforementioned transfer.)

Is it too late for .NET decompilation to become truly open, supported by a vibrant community?

In the tale of two tools, the formative city of decompilation could take some cues from the happy town of documentation.

Adobe Community Action Week – RAFT

This week has been Adobe Community Action Week for Adobe employees globally. On Monday, I mentioned that I was looking forward to my particular action choice: RAFT. Today I had the privilege of serving local teachers with members of my team (LiveCycle) along with others from Adobe by investing time and energy into RAFT (Resource Area for Teachers).

Adobe at RAFT

RAFT provides thousands of Bay Area teachers and community groups with a wide range of interactive learning materials, enhancing math, science, technology and art programs. Materials are surplus items donated by over 1,000 local businesses and range from cardboard tubes to computers!

My Mom was a middle-school teacher for 16 years; so I know firsthand how great an impact teachers have on the lives of their students, yet how underappreciated teachers often are in broader society. So, it felt especially good to “give back” to such important individuals in the local community.

Adobe at RAFT

There were about 50 volunteers altogether and together, in just a few hours, we were able to make a significant contribution in the assembly of various kits that will be used by local teachers (e.g. glove-a-phone packs, sticker packs, etc.).

Adobe at RAFT

I was drawn, along with my project-teammates, to the adhesive paper station. Basically our task was to unroll, about 12 feet at a time, lengths of two foot wide adhesive backed white butcher paper, rolled up and rubber-banded for individual application by teachers. A full roll of this paper weighs about 350 pounds, and we proved this by finishing the better part of one roll and starting on a second, new roll before our time ran out. The photo above captures the state of the receiving bin for these individual rolls before we started with our contribution.

Adobe at RAFT

Adobe at RAFT

There were roughly four distinct tasks involved, although some of us on the team (ahem) were a bit more creative about “tasks.” :-) Unrolling was easily the most strenuous; cutting; re-rolling and rubber-banding; binning.

Adobe at RAFT

Adobe at RAFT

Adobe at RAFT

Adobe at RAFT

It may not seem like much, but when you compare the previous two images with the first bin capture, above, I’d say that we accomplished a fair bit of work. It’s fun to think about all the classroom projects that were enabled in the process, too!

Adobe at RAFT

Acts of service are always more rewarding to those who serve, and today’s experience at RAFT was no exception.

If you’re a teacher and can make your way to Sunnyvale, you should really check out RAFT. If you’re a parent of a student whose teacher can get to RAFT, consider giving a RAFT gift card. If you want to make an impact on Bay Area teachers, volunteer your time and energy at RAFT. You’ll be glad that you did!

Rich Internet Applications

During the MAX 2009 conference, Duane Nickull was interviewed by DZone on the subject of RIA architectures. As an architect, I appreciated Duane’s comments about the responsibility of architects, versus developers, where RIAs are concerned (e.g. focusing on and valuing interaction design and user experience, distilling key business requirements by working closely with those the RIA will serve, being mindful of the framing process-oriented context, etc.).

In particular, don’t frustrate users resonates with me (e.g. it’s a non-technical answer to “what is an RIA?” (or “reeyah”). Duane’s Revenue Canada example (or not “getting” this) is a good one. It just so happens that I encountered my own today…

First, two exhibits off Twitter:

Don’t get me wrong, more vendors need to be reaching out and engaging with their communities in deep and meaningful ways. So, I’m not suggesting that creating a forum for community discussion is bad. However…

What if, instead, the forum was seeded (pre-launch) by a reasonable distillation of those who’ve already voiced their concerns, like Pie? The Web is there to be culled–“listened to” if you will–you just need to mine it.

As Duane and his co-authors talk about in Web 2.0 Architectures, more and more of us are living declaratively. Certainly this is true when it comes to providing candid feedback and standing behind things we believe in (e.g. vendors we want to succeed…and those we don’t).

So, an alternative forum post could have listed Pie’s identity management feedback alongside the feedback of others–fully annotated with community profiles, source links, etc. Of course, those supporting the forum could proactively reach out to folks like Pie to confirm that discovered feedback is appropriate for syndication and could enable contributors to easily follow the conversation moving forward–ideally in the medium of their choice (e.g. email, feed, etc.).

Update 12/29/2009: Of course, Pie, being the strong advocate he is, reached out again and updated the forum post himself. :-)

EMC Documentum Developer Edition

Today we launched a new EMC Documentum developer-oriented community within the EMC Community Network. Front and center is the new developer edition of the EMC Documentum ECM Platform.

So, what does this developer edition include? We believe it includes a lot of goodness for the development of content-enabled applications.

  • First of all, free software for developers
  • A new one-click installation process for the core of the EMC Documentum ECM Platform
  • xDB and new XML components – please visit the just-launched XML Technology Developer Community for more details about our native XML database and other technologies
  • Integration between the resulting development environment and online community resources and support mechanisms – think of this as a starting point and means to the ends you want to pursue, not an end in itself

Essentially, we’re trying to provide a low-touch, DIY experience. That being said, by integrating your local installation to an online community, the developer edition enables you to reach out to fellow developers and EMC employees as your pursuit your content management development interests grows. For example, you’ll find a range of white papers, documents and videos, as well as sample code in, for example, Java and C# (.NET). Topical tutorials available online are drawn from our Education Services library.

So, what is the process to obtain the free developer edition? We hope that it’s straightforward.

  1. Browse here and login into ECN/EDN
  2. Navigate here and complete a short (less than 30 seconds) registration form. Click the “Continue” button to proceed to the download site. (You may need to add ecn_communications@emc.com to your email safe senders list so as not to miss messages from that address (i.e. have them interpreted by Outlook as junk).)
  3. Navigate the EMC SubscribeNet links to arrive at the FTP download (or HTTPS-based download, if you prefer). Note that the download is a bit more than 1.73 GB and represents a Zip archive, which means that you should ensure adequate disk space to extract, deploy, etc.
  4. Commence your download.

In a follow-up post, I’ll walk you through the installation experience and how to leverage the version of DFS that comes with the developer edition. BTW, if you’re too anxious to dive in and can’t wait for my post, go for it! There is an online getting started guide as well as an online tutorial for building your first application.

Cheers! :-)

Update 5/20/2009: Well, I’m about to take a much needed vacation, and I have yet to follow-up with a walk-thru post. So, I wanted to at least provide some details here as to what this software requires system-wise. System requirements are as follows (and are displayed in the initial installer screen):

  • No Microsoft SQL Server or SQL Server Express installed [1]
  • No other Documentum software installed [2]
  • Microsoft .NET 2.0 or higher [3]
  • Browser with Sun JRE 5.0 update 16 or higher [4]
  • Minimum of 3 GB RAM (4 GB RAM is recommended)
  • 5 GB of free disk space [5]
  • Intel x86 CPU
  • Operating system–again 32-bit only for this release–is one of the following: Windows XP SP3, Windows Server 2003 SP2 or Windows Server 2003 R2 SP2
  • You must be logged in as a member of the Windows Administrators group, but not necessarily as Administrator

[1] Be aware that if you already have Visual Studio (e.g. 2005 or 2008) installed on your target machine, you may need to first uninstall the version of SQL Server that may have been installed with the IDE. If you are running Windows SharePoint Services or UDDI on your target (Windows Server 2003) machine, you may also need to see what embedded database is supporting these services before proceeding with this developer edition installation.
[2] Be sure to understand where you may still have Documentum-related configuration files on disk (e.g. dfc.properties, C:\Documentum, etc.).
[3] Microsoft .NET Framework 3.0 is required for WCF-based consumption of DFS endpoints; so, I recommend .NET 3.0, which includes (requires as its foundation) .NET 2.0. .NET 3.5 is also supported by DFS, if you prefer to leverage WCF “v2.”
[4] This is supported by Webtop and DA.
[5] Keep in mind that, as I noted above, the Zip archive download is a bit more than 1.73 GB. The total size of its extracted contents is not that much larger, but you’re also starting to approach 4 GB; so, I recommend that you have 10 GB free disk space in order to complete the installation with room to spare before cleaning up the extracted bits and the original archive to reclaim that 4 GB.

…and, welcome, CMS Watch readers! :-)

Update 7/16/2009: Be sure to run Windows Update after installing DevEd. Typically, you’ll need to apply SQL Server 2005 SP3. Note that if you upgrade a DevEd environment from 6.5 SP1 to 6.5 SP2 (via uninstall-reboot-install) that you should still run Windows Update after your upgrade, and you may need to re-apply SQL Server 2005 SP3.

When upgrading a DevEd environment from 6.5 SP1 to 6.5 SP2, I also recommend that following the uninstall and reboot, that you confirm C:\Documentum and C:\Program Files\Documentum are empty before you proceed to install the newer DevEd.

Finally, if you’re reading this blog but not the installation guide, please note that you should uninstall DevEd via Start | Programs | Documentum | Uninstall, not via Add/Remove Programs under Control Panel.

Getting Twitter


Yeah, I know that Twitter lately is all about Oprah, CNN and Ashton Kutcher, but it’s also about brief remarks, gripes and triumphs related to products and/or services that you send into the world wide market. (And if you were waiting for The Tipping Point, it’s already occurred for Twitter, IMHO.)

BTW, before I go any further, I’m @craigsmusings on Twitter. (Thanks, Dan.)

If a tree falls in a forest, it always makes a noise–regardless of your presence there. There are social conversations that occur online (e.g. Facebook, blogs, wikis, Twitter, newsgroups, IIRC, etc.), and they will continue to occur regardless of your presence there, too. However, that’s an especially risky position to take these days–see the conversation but not engage.

Consider the following conversation on Twitter:


Very disappointed in _YOUR_PRODUCT_HERE_, does not appear to have very much to it at all….if anything!
12:10 AM Apr 23rd from TweetDeck


@johnsmith Did you see a live presentation or play with it,
4:45 AM Apr 23rd from TwitterBerry


@janedoe Had a play with it, will blog later this week, does not seem to give us anything to use as an accelerator
4:52 AM Apr 23rd from TweetDeck in reply to janedoe


@johnsmith Ouch! That’s the point in theory.
4:58 AM Apr 23rd from TwitterBerry

So, what will John Smith blog exactly? He’s indicated that his post is forthcoming but also that there may be time to engage him–understand his concern and possibly influence him after listening by demonstrating value.

Jane appears to be an interested party, too. Is Jane a known advocate, possibly trying to reach out on your behalf? Is Jane known to be skeptical?

How can you “see” this conversation?

I use TweetDeck, an Adobe AIR-based Twitter client, for my tweeting, etc. It works equally well on both MacOS and Windows. (There are many other clients out there, too!)


TweetDeck allows me to do a number of useful things.

  • For example, the leftmost column/pane is a group. (You can read that tiny font, right? ;-) ) In my case, I filtered All Friends (i.e. those I follow in Twitter) into just the subset that tweets about content management. (You can see that there is a horizontal scroll bar on the bottom, and the default “All Friends” column/pane is off to the far right (where I moved it to reduce seen UI changes).)
  • The “Replies” lumn/pane is just what it implies–tweets in reply to me from others.
  • The “Direct Messages” column/pane contains DM’s from me and DM’s to me.
  • The two rightmost columns/panes in view above are searches. Since these are Twitter-based searches–one for tweets containing “CMIS” and another for tweets containing both “EMC” and “Documentum”–I receive traffic updates that apply in near realtime (unlike, e.g., a Google search that requires one to hit Refresh to see new results).

Anyway, I can visit John Smith’s Twitter profile to learn that he has a 70:30 ratio (i.e. he’s following 70 twitters and 30 twitters are following him). Clearly, Mr. Smith is not a “rock star” by Twitter standards. (Certainly, I am not either!)

However, consider the junior high campfire song’s sentiment: “It only takes a spark, to get a fire going…” This goes back to my point above: there may be time to engage him–understand his concern and possibly influence him after listening by demonstrating value (and create a positive fire–however big or small–about your product or service).

The truth is that, although I’ve been blogging for awhile now, I’m relatively new to Twitter. Fortunately for me, I have great resources in my “2.0 type” EMC colleagues and elsewhere online. For example, I recommend that you check out Gina Minks’ Twitter Cheat Sheet. (I understand from Gina that a v2.0 release is due out in time for EMC World, too.)

I recall during last year’s Microsoft Strategic Architect Forum (SAF) that a good industry colleague of mine suggested a “I don’t get Twitter” topic for the open space segment of that afternoon. I egged him on to make the suggestion; so, of course I attended…and I think that everyone learned a fair bit in the process.

Since then I’ve only recently begun to seriously tweet. Already that engagement has paid dividends, and due to the fact that most of my cross-domain architect colleagues don’t yet tweet, I thought I’d humbly offer this post to get them to “dive into” Twitter, too, in a way that’s both meaningful to them and meaningful to their communities. (You know who you are. :-) )

For those who weren’t at or don’t know about SAF, Microsoft worked with Mindjet to mind map the open space sessions. Here are the notes from the “I don’t get Twitter” session in mind map form–just click the following image for the .mmap (MindManager 8 format) file:

SAF08 topic - 'I don't get Twitter' (notes as mind map)

So, what do you think of Twitter? If you find it useful, how do you receive value from it?

Update 4/30/2009: Gina Minks just published a new cheat sheet for tweeting from your phone.