<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2463248461941170156</id><updated>2012-02-16T23:40:22.225-05:00</updated><category term='Mobile'/><category term='virtualbox'/><category term='Project Management'/><category term='Publishing'/><category term='Agile Software'/><category term='java'/><category term='Standards'/><category term='Topic Maps'/><category term='future computing'/><category term='Software Estimating'/><category term='Software Development'/><category term='verizon'/><category term='XML'/><category term='Semantics'/><category term='Publishing trends'/><category term='Agile Publishing'/><category term='smartphone'/><category term='Folksonomy'/><category term='Retrieval Systems Corporation'/><category term='job'/><category term='android'/><category term='Gilbane San Francisco'/><category term='Mashup'/><category term='CMS Framework'/><category term='Content Management'/><category term='Tractare'/><category term='bill gates'/><category term='Offshore'/><category term='microsoft'/><category term='.net'/><category term='ubuntu'/><category term='MODS'/><category term='OOXML'/><category term='RSuite'/><category term='silos'/><title type='text'>Carton's Content Blog</title><subtitle type='html'>Exploring software technology — Thinking outside the box.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-2690485104087306804</id><published>2012-02-07T09:05:00.003-05:00</published><updated>2012-02-07T09:06:20.688-05:00</updated><title type='text'>MoDevDC 2/1/2012</title><content type='html'>I went to MoDevDC meetup last Wednesday night - two subjects were presented and both were (for me) very interesting. &lt;a href="http://www.meetup.com/modevdc/events/48923902/?a=ea1_grp&amp;amp;rv=ea1"&gt;http://www.meetup.com/modevdc/events/48923902/?a=ea1_grp&amp;amp;rv=ea1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;First was a presentation on PhoneGap by Andrew Glover of App47.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;I had been fooling with PhoneGap for a while now - mostly to see just how easy it would be to create a multi-phone app. I had not moved beyond the "HelloWorld" stage, but had gotten that deployed on both a Droid and a Blackberry. I figure that the iXX wouldn't be any harder. So I was very interested in this presentation. Here were my take-aways:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;PhoneGap is a framework for creating multi-platform apps.&amp;nbsp;&lt;/li&gt;&lt;li&gt;It is designed for creating apps using javascript, HTML5 and CSS3.&lt;/li&gt;&lt;li&gt;It provides a way to create a "shim" (my word) for leveraging a webkit browser on any mobile device. In the iXX world, this happens fairly automajically. In the Droid and other mobile worlds, I still have some file organization and a little coding to do.&lt;/li&gt;&lt;li&gt;PhoneGap provides a seamless javascript API to some of the phone's features, such as the GPS, camera, accelerometer, and so on, so that my app will work across devices without having to change the way I access those phone functions.&lt;/li&gt;&lt;li&gt;In addition to PhoneGap, I need a decent mobile javascript framework for my app. There are several such frameworks:&lt;ul&gt;&lt;li&gt;jQueryMobile&lt;/li&gt;&lt;li&gt;Sencha Touch&lt;/li&gt;&lt;li&gt; Appcelerator&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Second was on HTML5 Caching by Ryan McGeary of BusyConf.&lt;/b&gt;&lt;br /&gt;This was a very interesting discussion of the caching capabilities of HTML5 and how to use them to create an HTML app that could be downloaded and then used when offline. Most of the discussion was on the contents and syntax of the cache file and some of the "gotchas" that come from that. The material Ryan presented is from &lt;a href="http://diveintohtml5.info/"&gt;http://diveintohtml5.info/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-2690485104087306804?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/2690485104087306804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=2690485104087306804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/2690485104087306804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/2690485104087306804'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2012/02/modevdc-212012.html' title='MoDevDC 2/1/2012'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-7760261184110195101</id><published>2012-02-02T11:10:00.003-05:00</published><updated>2012-02-02T11:10:52.393-05:00</updated><title type='text'>Verizon, Thunderbolt, Network Connectivity</title><content type='html'>I have an HTC Thunderbolt and I've been having problems lately maintaining a connection to Verizon's broadband network. After reading a few comments on this, it would seem that the issue has to do with 3G/4G network availability (someone please correct me if I'm wrong). I found this suggestion:&lt;br /&gt;&lt;br /&gt;&lt;div style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #959595; font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Enter the following from your dial pad- *#*#4636#*#*&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="background-color: white; border-width: 0px; color: #959595; font-family: Arial,Helvetica,Verdana,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin: 0px; orphans: 2; outline-width: 0px; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Then open the phone information- scroll down and change from CDMA + LTE/EvDo auto to CDMA auto (PRL)&lt;/b&gt;&lt;/div&gt;&lt;div style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #959595; font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;Well - this seems to have done the trick for me.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-7760261184110195101?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/7760261184110195101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=7760261184110195101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7760261184110195101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7760261184110195101'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2012/02/verizon-thunderbolt-network.html' title='Verizon, Thunderbolt, Network Connectivity'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-4987000653617965264</id><published>2011-12-12T12:11:00.003-05:00</published><updated>2011-12-12T12:22:05.826-05:00</updated><title type='text'>Windows 7 Symlinks</title><content type='html'>I'm finally realizing (maybe the last person to cotton on to this), that starting with Windows Vista, we now have the capability to create Unix-style symlinks between Windows files and folders. YIPPEE!&lt;br /&gt;&lt;br /&gt;It's done with the mklink command (from the cmd window):&lt;br /&gt;&lt;pre&gt;mklink&lt;br /&gt;Creates a symbolic link.&lt;br /&gt;&lt;br /&gt;MKLINK [[/D] | [/H] | [/J]] Link Target&lt;br /&gt;&lt;br /&gt;        /D      Creates a directory symbolic link.  Default is a file&lt;br /&gt;                symbolic link.&lt;br /&gt;        /H      Creates a hard link instead of a symbolic link.&lt;br /&gt;        /J      Creates a Directory Junction.&lt;br /&gt;        Link    specifies the new symbolic link name.&lt;br /&gt;        Target  specifies the path (relative or absolute) that the new link&lt;br /&gt;                refers to.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In my particular case, I'm experimenting with the &lt;a href="http://www.sencha.com/products/touch/" target="_blank"&gt;Sencha Touch&lt;/a&gt; mobile application development kit. Creating the simple "Hello World" app as a place to start. This requires that Sencha SDK. I downloaded that and would prefer not to create a copy of it in my app server. Symlinks to the rescue. Since my Hello World app makes reference to the SDK as&amp;nbsp;&amp;nbsp;&amp;lt;script src="lib/touch/sencha-touch.js" type="text/javascript"/&amp;gt;, I simply created a lib directory in my app folder and then made a symlink to the Sencha Touch folder:&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;mkdir lib&lt;br /&gt;cd lib&lt;br /&gt;mklink /D touch ..\..\sencha&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And voila - no copying.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-4987000653617965264?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/4987000653617965264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=4987000653617965264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/4987000653617965264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/4987000653617965264'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2011/12/windows-7-symlinks.html' title='Windows 7 Symlinks'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-5583233327979754087</id><published>2011-10-06T11:03:00.002-04:00</published><updated>2011-10-06T11:03:51.179-04:00</updated><title type='text'>Thanks Steve Jobs</title><content type='html'>Even though I was expecting it, I was saddened to hear that Steve Jobs had passed away last night. I'm not going to repeat all of the fantastic things he accomplished in his short lifetime. Nor the incredible vision he brought and left as an indelible mark on so many areas of technology.&lt;br /&gt;&lt;br /&gt;I just want to say "Thank you Steve, you will be missed".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-5583233327979754087?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/5583233327979754087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=5583233327979754087' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5583233327979754087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5583233327979754087'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2011/10/thanks-steve-jobs.html' title='Thanks Steve Jobs'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-2491244666278225271</id><published>2011-10-04T16:28:00.000-04:00</published><updated>2011-10-04T18:32:17.068-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualbox'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu/VirtualBox/Java Team Development Stack - Part II</title><content type='html'>&lt;b&gt;Part II - Install the Development Stack.&lt;/b&gt;&lt;br /&gt;&lt;a href="http://tractare.blogspot.com/2011/10/ubuntuvirtualboxjava-team-development.html"&gt;Continued from Part I&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Having a virtual machine with Ubuntu installed, we now need the developer tools in our stack.&lt;br /&gt;&lt;br /&gt;My target developer's stack has:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Java JDK &lt;/li&gt;&lt;li&gt; Eclipse&lt;/li&gt;&lt;li&gt;Ant &lt;/li&gt;&lt;li&gt;jEdit&lt;/li&gt;&lt;li&gt;Firefox (or Chrome)&lt;/li&gt;&lt;li&gt;Tomcat&lt;/li&gt;&lt;li&gt;MySQL&amp;nbsp;&lt;/li&gt;&lt;li&gt;MySQL Client &lt;/li&gt;&lt;li&gt;DropBox&lt;/li&gt;&lt;/ol&gt;It's worth installing Ubuntu Tweak. At the least, this gives us the window icons on the upper-right corner. Open a browser and go to http://ubuntu-tweak.com/. Install that.From within that, I also found the Chrome browser install and did that. &lt;br /&gt;&lt;br /&gt;The approach Ubuntu uses for typical software installation is through the "Ubuntu Software Center" which is invoked from the bottom of the Applications menu. Easiest is to use the search box to find the software we want and then choose the version (if there are options) to install. I simply searched for and installed each package. Some notes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Java JDK: I chose the "OpenJDK Development Kit".&lt;/li&gt;&lt;li&gt;Tomcat is installed on port 8080. Something else must be running on port 80 so I wasn't able to change the tomcat port.&lt;/li&gt;&lt;li&gt;Tomcat installs as a service. As such, it can be stopped and started: service tomcat6 stop|start|restart&lt;/li&gt;&lt;li&gt;I added a manager role and user ID/Password so I can access the tomcat manager and use the Eclipse/Ant deploy tasks.&lt;/li&gt;&lt;li&gt;I created a new folder in home: /home/projects and made it read/write/execute accessible to the users group.&amp;nbsp;&lt;/li&gt;&lt;li&gt;When I installed dropbox (by going to the www.dropbox.com website and installing from there), I pointed Dropbox at the projects directory so that those files would be under /projects.&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-2491244666278225271?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/2491244666278225271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=2491244666278225271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/2491244666278225271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/2491244666278225271'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2011/10/ubuntuvirtualboxjava-team-development_04.html' title='Ubuntu/VirtualBox/Java Team Development Stack - Part II'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-7054987732632500908</id><published>2011-10-04T10:27:00.004-04:00</published><updated>2011-10-04T18:31:24.075-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualbox'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu/VirtualBox/Java Team Development Stack - Part I</title><content type='html'>&lt;b&gt;Part I - Setting up a Virtual Machine and Ubuntu&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;A controlled java web development stack for a distributed development team.&amp;nbsp; I did this a few times before but never documented it, and (of course) versions of the tools have all moved on. But I have to resurrect it, so this time I think I'll write it up. No where near as easy as Dave Winer's EC2 for Poets (http://poets.scripting.com/), but he's a much better writer than am I!&lt;br /&gt;&lt;br /&gt;So, the idea is this: several developers; some co-located and others not; working on a web project being developed in Java. This project is also using MySQL for an underlying database. Code is managed in a remote CVS repository. What I want to create is a controlled environment in which each developer has the same set of tools and test data against which to work. The answer: a virtual machine with all the tools installed and configured so that I can simply deliver a copy of the VM disk image to each developer. I've played with this before in VMWare and some other virtual machine kits that I don't recall, but most recently in Oracle's VirtualBox. So I'm repeating that experience here. It&amp;nbsp; bears noting that I am doing this stack creation on a Windows Vista 32-bit laptop (no flaming please). But I believe the overall approach here would work on pretty much any host machine. Also of note: since I don't want to deal with licenses (and fees) for virtual machines that I send out to developers, I am using Linux Ubuntu as the virtual client. This being a java development project, what we develop is (or certainly should be) portable across different operating systems, but the production target for this is also Linux, though not Ubuntu.&lt;br /&gt;&lt;br /&gt;My target developer's stack has:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Java JDK &lt;/li&gt;&lt;li&gt; Eclipse&lt;/li&gt;&lt;li&gt;Ant &lt;/li&gt;&lt;li&gt;jEdit&lt;/li&gt;&lt;li&gt;Firefox (or Chrome)&lt;/li&gt;&lt;li&gt;Tomcat&lt;/li&gt;&lt;li&gt;MySQL &lt;/li&gt;&lt;li&gt;A VPN connection for CVS&lt;/li&gt;&lt;/ol&gt;In addition, there needs to be a way to share files from the host machine to the virtual machine. Here are the rough steps I followed:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A. Create an ISO Image of Ubuntu: &lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download Ubuntu (http://www.ubuntu.com/download/ubuntu/download).&amp;nbsp;&lt;/li&gt;&lt;li&gt;The ISO image will need to be available to VirtualBox for installation, either on a CD or a USB drive.&amp;nbsp; I use a USB drive. Just copy the ISO image to that.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;B. Set up a Virtual Machine with Ubuntu:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;VirtualBox: https://www.virtualbox.org/wiki/Downloads. This is&amp;nbsp; simple enough to install - just follow the steps and accept the defaults. Once it is installed, start it and create a new virtual machine.&lt;/li&gt;&lt;li&gt;New Virtual Machine: I chose Linux/Ubuntu and then set memory to 1Gb.&lt;/li&gt;&lt;li&gt;New "Hard Disk": I set it to dynamically expanding.&lt;/li&gt;&lt;li&gt;At this point, I'm done creating the virtual machine - I need to install Ubuntu. By clicking "start" on the newly created machine, I get the "first run" wizard. From there, point to the USB drive from A. above.&lt;/li&gt;&lt;li&gt;Follow the setup for Ubuntu.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;C. Create a root Password.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;By default, Ubuntu is installed without a root login. I'm guessing this is for security reasons. But these developer VMs are not really subject to security issues and having the ability to run as root makes a lot of things easier. So I add a root password, enabling me to su and run as root when I need.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;sudo passwd root&lt;/li&gt;&lt;/ol&gt;First, you'll have to enter your password. Then the password you want for root. &lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;D. Add my ID to the "users" group.&lt;/b&gt;&lt;br /&gt;I found that my user ID was in its own group. I added "users" as my group so that I can access common folders more readily.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;E. Install Guest Additions&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This is a big/important key step. It makes many of the hardware and device features of the host computer pass through to the virtual machine. Like the screen size/resolution. And others.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;There is a virtual machine menu bar with a "devices" menu. This has a "Install Guest Additions..." item. Clicking this will *not* actually install the guest additions; it only mounts the guest additions as a virtual drive. So I did this, but then still had to run the actual install.&lt;/li&gt;&lt;li&gt;After the mount, open a terminal window and cd to the mount for the additions. These seem to be under /media.&lt;/li&gt;&lt;li&gt;Run the autorun.sh (sh ./autorun.sh). I switch to root before doing this (su).&lt;/li&gt;&lt;li&gt;Restart the server.&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;F. Ensure Networking Works.&lt;/b&gt; &lt;br /&gt;Since we need to access CVS over a VPN, we need the VPN access to work. For our purposes, each developer has VPN access from the host machine (my laptop). So I want this to "pass through" to the virtual machine. I'm not a networking guy, so I don't know much about this, but it seems that by setting the network adapter in the virtual machine to "NAT" (which seems to be the default anyway), I go the pass-through I wanted. Perhaps someone more knowledgeable than me can elucidate? Anyway, I simply tested this by connecting to the VPN and pinging a machine on our internal network.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;G. Set up Sharing.&lt;/b&gt; &lt;br /&gt;We'll want to be able to share files from the host file system to the virtual machine file system. This means setting up a Shared folder.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;On the host machine, create a folder (I called it "Sharing" and located it in the root).&lt;/li&gt;&lt;li&gt;In the Virtual Machine, create a permanent share - from the "Devices" menu, select "Shared Folders..." and create a new share. I created a "permanent", "Auto Mounted" share and named it Sharing.&amp;nbsp;&lt;/li&gt;&lt;li&gt;After restarting the VM, this share is now found in /media/sf_Sharing.&lt;/li&gt;&lt;li&gt;I had to change my user ID and add "vboxsf" as a group to be able to access this.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;a href="http://tractare.blogspot.com/2011/10/ubuntuvirtualboxjava-team-development_04.html"&gt;&lt;b&gt;Continued: Part II - Install the Development Stack.&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-7054987732632500908?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/7054987732632500908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=7054987732632500908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7054987732632500908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7054987732632500908'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2011/10/ubuntuvirtualboxjava-team-development.html' title='Ubuntu/VirtualBox/Java Team Development Stack - Part I'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-4108237724127734210</id><published>2011-09-29T12:00:00.001-04:00</published><updated>2011-09-29T12:00:32.770-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing trends'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><title type='text'>Publishing and Mobile Devices</title><content type='html'>I've been interested for a long time in writing applications that will provide some useful service on a mobile phone, and with the advent of smart-phones I get to explore this a little more. This got me to thinking about apps that run on smartphones and that are possibly useful to information customers - apps that a publisher might develop and deploy to their subscribers. And since I have a new Droid phone, I started doing some programming for that. But it begs an interesting question - what phone(s) should a publisher target in developing a new app?&lt;br /&gt;&lt;br /&gt;Of course, this is heavily informed by the particular publishing sector and by the kind of information being published. Phones, with a small-ish form factor, will favor small units of data; pads would more readily support larger. In fact, the form factor on a pad (like the iPad) is such that simply using a browser in the pad to access the same publisher web resource that one would access via a computer is usually an acceptable user experience. So, if I were a publisher, trying to decide what phone to develop an app for first, what factors might influence my decision? Here's what's floating around in my head:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Hard to ignore the overwhelming presence of the iPhone. Huge market penetration. But small form-factor. And it just plain pisses me off that I have to go through the iTunes marketplace and pay Apple a pound of flesh. It's my data after all! And I suspect most publishers are not really selling the app; they're selling content.&lt;/li&gt;&lt;li&gt;Hard also to ignore the skyrocketing increase in iPads. Seems like everyone has one these days! Wish I did. And, given that the iPad runs the Safari browser (which is Webkit compliant), I can develop a variation of my website using an HTML5/CSS3 approach, host it on my own servers and not have to go through iTunes/Apple. More on Sencha/jQueryMobile/PhoneGap in another post... But if I need to create something that runs on the iPad, I run into the same iTunes/Apple question.&lt;/li&gt;&lt;li&gt;Some of the stuff I'm reading indicates that the various Droid phones are increasing market share considerably. And I can develop an app for a Droid phone and distribute it myself without going through the Google market or, if I choose, I can go that route.&amp;nbsp;&lt;/li&gt;&lt;li&gt;It seems that in certain market segments Blackberry is ubiquitous. Especially in the legal and lobbying worlds. As with the Droids, I like the fact that I can deploy an App frmo my own sites and am not forced to go through a marketplace. The small form-factor makes the BB somewhat limited for larger units of data and the differences between versions of BBs and the attendant differences in API support make BB develop somewhat challenging, although a cross-platform approach such as HTML5/CSS3/PhoneGap may limit those difficulties. OTOH, RIM is trying to shift to QNX and allow Droid apps to run on Blackberries. But when? And how long will it take for that upgrade to penetrate the marketplace. And a lot of the stuff I read indicates that RIM is losing market share.&amp;nbsp;&lt;/li&gt;&lt;li&gt;And then there Microsoft. I sometimes think that if MS creates a phone that integrates seamlessly with their back-office servers (Exchange, Sharepoint, etc.), those would become the darlings of IT departments worldwide. Enough so that they could drive RIM out of that spot. But that hasn't happened and MS phones are distant cousins in terms of market share.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Kindle Fire? I love the idea and the price, but it means limiting app development to Android 2.2. We'll see!&lt;/li&gt;&lt;/ol&gt;So, I think I still have more questions than answers. And I know that some of this is a religious argument - I hear fans of the droids espousing their virtues over the iPhones and vice-versa. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-4108237724127734210?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/4108237724127734210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=4108237724127734210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/4108237724127734210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/4108237724127734210'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2011/09/publishing-and-mobile-devices.html' title='Publishing and Mobile Devices'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-7789156682991278289</id><published>2011-09-28T11:26:00.000-04:00</published><updated>2011-09-28T11:26:27.999-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smartphone'/><category scheme='http://www.blogger.com/atom/ns#' term='verizon'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Android Thunderbolt and Verizon</title><content type='html'>So, my ancient cell phone having started death throws, I went to my Verizon store (with whom I've had service for years) and started looking at "smart" phones. I was particularly interested in a droid phone as opposed to an iPhone or a blackberry. I'm suspicious that if RIM can't make a big splash with QNX next year, they're history. And I really want to do some app development but the idea of being forced into the Apple iTunes marketplace just pisses me off. So I went with a Droid phone. It helps that App development for Droids is in Java and although I like to talk about developers being language agnostic, my most extensive and recent experience is in Java.And as I looked at them, I ended up buying the Thunderbolt. Mostly because the screen size is bigger than the other non-pad phones.&lt;br /&gt;&lt;br /&gt;So now I have a Thunderbold and a brand-new 2-year contract for voice and data from Verizon. I have some minor gripes about the phone. I think the touchpad is too sensitive for my fat fingers and I'm always mis-dialing. The blue-tooth voice recognition is a continual source of entertainment and not accurate for me at all. And the battery life just plain sucks (though the salesman did warn me about that). But my biggest gripes are a) that the phone comes preloaded with a pile of app that I have no interest in, and b) that connecting the phone to my laptop causes a pile of messages about installing the Verizon media application on my laptop.&lt;br /&gt;&lt;br /&gt;The bloated list of installed apps is particularly troublesome. I can't un-install them in any normal way. I'm told by my (many) nerd friends that I need to "root" my phone and then, as super-user, I can remove the apps I don't want. Well, it may come to that. But I don't feel like I should have to hack my phone to make it into the device I want. And the idea that Verizon is intentionally burning my data plan so that all these apps can "phone home" regularly is seriously insulting and may in the end cause me to switch carriers.&lt;br /&gt;&lt;br /&gt;The Verizon Media application is also irksome, though a problem that I could solve. After getting warnings and requests to install this every time I plugged my droid into my laptop to charge it, I went ahead and let it install. After that, it inconveniently launches when I log in.&amp;nbsp; I have enough crap on my laptop that starts when I log in - it already takes too long! So after it installed, I went out on the web and found a Windows (yes, my laptop runs Windows, Vista no less) NO-OP program (http://joenord.com/apps/nop/index.html). Essentially a program that does nothing. I then copied that into the media center install directory, renamed the media center (verizon.exe) and then renamed the nop.exe to verizon.exe. Voila, it doesn't launch anymore.&lt;br /&gt;&lt;br /&gt;Next up - rooting the phone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-7789156682991278289?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/7789156682991278289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=7789156682991278289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7789156682991278289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7789156682991278289'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2011/09/android-thunderbolt-and-verizon.html' title='Android Thunderbolt and Verizon'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-8145803165917258510</id><published>2011-09-28T11:06:00.001-04:00</published><updated>2011-09-28T11:06:25.363-04:00</updated><title type='text'>Starting Again</title><content type='html'>It's been a while since I posted anything - I went for a long period without feeling like I had much to say. Then I realized that part of the problem is that I was feeling constrained to write specifically about content management. And about that, I really don't have much to say that other aren't saying more eloquently.&lt;br /&gt;&lt;br /&gt;So I'm starting anew, with a more general technology focus. I'm heavily influenced by reading other folks blogs so, in true copy-cat style, I'm plagiarizing their concepts and opening this up to just about anything that hits me as worthy of jotting down. Since almost all of my tech work is in the publishing world and since my interests tend to span not only content harvesting, management and delivery but also technologies in the "active" world (as in personal sports), I'll probably offer up misguided observations across all of those boundaries.&lt;br /&gt;&lt;br /&gt;And since I'm doing this more for personal catharsis than for either marketing or networking reasons, I can safely say that I don't really care who reads this or if they like or agree with what I write. But if I'm wrong (often) or if there are better ways (oftener), please comment and let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-8145803165917258510?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/8145803165917258510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=8145803165917258510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8145803165917258510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8145803165917258510'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2011/09/starting-again.html' title='Starting Again'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-3005678942818012386</id><published>2010-12-16T11:59:00.004-05:00</published><updated>2010-12-16T12:06:51.220-05:00</updated><title type='text'>Kindle, eBooks, Others</title><content type='html'>I think the Kindle is cool. Easy to use and very easy to publish to.  Lots of options in this arena though. Sony has a player as do several of the major book sellers. Of course, formats are different and we're all looking to see who will win the new betamax/VHS war here. And there are some organizations that will adapt content for any/all of these platforms. But when we look at all the options, it seems like the EPUB (&lt;a href="http://wiki.mobileread.com/wiki/EPub"&gt;http://wiki.mobileread.com/wiki/EPub&lt;/a&gt;) format has the best coverage of all.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://labs.oreilly.com/2009/03/epub-resources-and-guides.html"&gt;http://labs.oreilly.com/2009/03/epub-resources-and-guides.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-3005678942818012386?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/3005678942818012386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=3005678942818012386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3005678942818012386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3005678942818012386'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2010/12/kindle-ebooks-others.html' title='Kindle, eBooks, Others'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-8008701121780930231</id><published>2010-01-14T14:52:00.004-05:00</published><updated>2010-01-14T15:34:00.971-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Topic Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='silos'/><category scheme='http://www.blogger.com/atom/ns#' term='MODS'/><category scheme='http://www.blogger.com/atom/ns#' term='Content Management'/><title type='text'>Delivering Integrated Information from Data Silos Using MODS</title><content type='html'>Lyn Robinson of the Burton Group wrote an excellent paper describing a "Methodology for Overcoming Data Silos" (MODS).; a "groundbreaking project structure" for bridging silos and delivering integrated information from decentralized, disparate information systems.&lt;br /&gt;&lt;br /&gt;Interesting concept.  A lot of thought, time and money has gone into breaking down information silo's over the past few years.  Robinson recognizes that this is frequently unsuccessful or, at best temporary, but that the need for integrated information remains very important - even mission critical.   So instead of re-engineering the underlying information systems into a single integrated replacement, MODS proposes to implement an information bridge that fills the need for integrated information from across these silos.&lt;br /&gt;&lt;br /&gt;So how does it work? "Each MODS project results in the definition of a few relevant and important enterprise data types, as well as a registry that tracks and reconciles the instances of those data types in the disparate silos throughout the enterprise. This registry functions somewhat like the old card catalogs for books in a library. Using a MODS registry, businesspeople can discover where to find particular types as well as instances of relevant data within the disparate silos scattered all over the enterprise." And, it's supposed to be cheap (well, cheap in comparison to development projects).&lt;br /&gt;&lt;br /&gt;Wow.  Cataloging data - maybe a librarian should be called in!  Robinson describes a typical MODS pattern as "establishing a registry or system of record for a particular set of closely related enterprise data types. The scope of these data types should be determined by a conceptual data model, which defines the needs the business has for information regarding a particular business topic. The best MODS projects are narrow in scope, so the more specific the business topic, the better".  Here are the steps in the pattern:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Model the relevant data.&lt;/li&gt;&lt;li&gt;Clean and Understand the Relevant Data&lt;/li&gt;&lt;li&gt;Classify&lt;/li&gt;&lt;li&gt;Convey&lt;/li&gt;&lt;li&gt;Control&lt;/li&gt;&lt;/ol&gt;As I read this approach, I got to thinking, this is a possible application best served by a TopicMap.  After all, TopicMaps were originally developed for indexes or catalogs.  It seems like a natural fit. TopicMaps can implement many of the features MODS calls for: data typing, data relationships and styled queries. And I also began to think about social networking features like folksonomies and how these might apply to MODS.&lt;br /&gt;&lt;br /&gt;A lot of my personal focus is related to content management and publishing. As I consider this, Content Silos are just as prevalent in publishing companies as other information type silos are in other organizations. So MODS may well have a place in content management.&lt;br /&gt;&lt;br /&gt;So, in the next several blog posts I'm going to explore TopicsMaps and perhaps Folksonomies as technology solutions for implementing a MODS project for content in publishing.&lt;br /&gt;&lt;br /&gt;Stay tuned...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-8008701121780930231?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/8008701121780930231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=8008701121780930231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8008701121780930231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8008701121780930231'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2010/01/delivering-integrated-information-from.html' title='Delivering Integrated Information from Data Silos Using MODS'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-6126396399297291591</id><published>2009-10-06T08:58:00.004-04:00</published><updated>2009-10-06T10:21:28.361-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSuite'/><category scheme='http://www.blogger.com/atom/ns#' term='CMS Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Tractare'/><category scheme='http://www.blogger.com/atom/ns#' term='Content Management'/><title type='text'>RSuite User Conference - 10/6/2009</title><content type='html'>I'm attending the 3rd RSuite users conference in Philly today, by invitation of Really Strategies' Lisa Bos. I've been tracking RSuite since its inception a few years ago - the idea of a decent CMS based on Marklogic always hit me as a good niche product and by all indicators, RSuite is a success, especially in light of how many CMS offerings there are in the world.&lt;br /&gt;&lt;br /&gt;I'm here for the technical track - to learn more about how to write customizations for RSuite - I'm a developer afterall. But the Keynote from Howard Ratner (CTO, Nature) is an excellent intro to what comes after CMS.&lt;br /&gt;&lt;br /&gt;Nature is using RSuite as an integration tool between various pub tools and the Marklogic content repository. In the Keynote, Howard makes excellent points about the need for content classification, which (of course) is why I'm writing about it! Nature is using a mixture of automated content recognition tools and editorial tools.  Also mentioned open search technology - search widgets that create a viral access to the Nature content.  One very interesting thing Howard talks about it the "Work Arounds" that are developed because either the content or the technologies don't do the exact job needed. What is the cost of these?&lt;br /&gt;&lt;br /&gt;Lisa Bos then gave us a demo of the current version of RSuite.  Nice clean and simple to use browser-based GUI. New features include Digital Asset Management, Workflow Configuration, editing (in oXygen and XOpus - one of my fav XML editors). But, IMHO, where's the beef? What does this have that free/open-source solutions (like Alfresco and/or eXist) don't? Or, for that matter, our own Tractare? Other new features - search enhancements, reporting, GUI customizations, better API and the ever needed performance improvements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-6126396399297291591?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/6126396399297291591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=6126396399297291591' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/6126396399297291591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/6126396399297291591'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2009/10/rsuite-user-conference-1062009.html' title='RSuite User Conference - 10/6/2009'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-1626687083073049281</id><published>2008-09-19T16:09:00.007-04:00</published><updated>2008-09-24T11:41:55.321-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing trends'/><category scheme='http://www.blogger.com/atom/ns#' term='Semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='Tractare'/><category scheme='http://www.blogger.com/atom/ns#' term='Content Management'/><title type='text'>Semantic-Content Management</title><content type='html'>We've been developing a tool set, or framework, or whatever for several years. We call it "Tractare" which is Latin for "to handle, manage, perform". I'm a sucker for that kind of naming.&lt;br /&gt;&lt;br /&gt;Anyway, what's it all about? Well, as the Internet becomes more saturated with raw information, keyword search engines really aren't enough to locate that needle in the haystack. We (content providers) need to describe our content in a way that users "get" -- we need to describe the "aboutness" of our content.&lt;br /&gt;&lt;br /&gt;An example I like to use when speaking on this subject is this: If you were to use google to search for "retarded", you would get a gazillion hits. But few, if any of those hits would have come up using the politically correct phrase "intellectually challenged". This is because a keyword engine like google depends on the actual presence of the keyword, either as text in the content or as metadata. Now, you could encode both forms of this concept as meta-data on your web-page and it would be found. Now, if you are a psychologist or someone working in mental health, you'd probably be getting the results you want. But if you are a firefighter, the word "retarded" has a whole different meaning. How do we express that? The answer is in several parts of course. But first, we need to capture the meaning of the content; the "aboutness". We need to associate the "firefighter" concept with the content that pertains to fighting fires. This is what Tractare permits us to do.&lt;br /&gt;&lt;br /&gt;Tracare is a framework. It's not an off-the-shelf product. It is built on the idea of topic maps -- organizing content around indexes and concepts. It's true power lies in a combination of searching and navigation tools that allow the user to narrow the scope of their work to a set of concepts. We build custom CMS and delivery solutions on top of it. &lt;br /&gt;&lt;br /&gt;The CMS systems we build usually include features found in social networking, including folksonomies (as well as traditional taxonomy and classification support) and ranking/commenting. These features allow content providers to apply semantics to content in a number of new and different ways.&lt;br /&gt;&lt;br /&gt;The delivery systems we build often include a number of search and navigation interfaces that web users have come to love, including mashups, classification searching, semantic browsing and so on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-1626687083073049281?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/1626687083073049281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=1626687083073049281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/1626687083073049281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/1626687083073049281'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/09/semantic-content-management.html' title='Semantic-Content Management'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-8204979721172769620</id><published>2008-09-09T10:34:00.008-04:00</published><updated>2008-09-09T16:09:12.398-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing trends'/><title type='text'>Advertising-Based Publishing</title><content type='html'>In a previous post, I was exploring new trends in electronic publishing (&lt;a href="http://tractare.blogspot.com/2008/04/new-trends-in-electronic-publishing.html"&gt;April 30, 2008&lt;/a&gt;). One of the key points was that traditional subscription and publishing revenues are shifting away from subscription fees towards "free" information supported by advertising revenues.&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;"One well known revenue shift is towards advertising revenues. This is an old model, of course. Newspapers have been at it forever, and online search engines for years. But more recently, we're seeing a larger shift of revenue away from subscription sales for information resources and towards advertising."&lt;/blockquote&gt;I had this reinforced recently when I realized that even traditional reference book publishers such as dictionaries and encyclopedias were increasingly garnering revenue from advertising rather than from subscription sales. Wow -- that was an eye-opener. It makes sense though -- if I'm looking for an informative article on "Chocolate", am I going to pay for access to Britannica or would I go to the free Wikipedia? I guess the answer (for me at least) depends on how authoritative my answer needs to be. But in general, I would go to the free site. And I suspect I'm not alone. So how is a traditional reference publisher to compete in the age of Wiki-whatever? Product quality alone isn't enough. It has to be free too. Enter advertising.&lt;br /&gt;&lt;br /&gt;On the surface of it, it seems easy to generate advertising revenues. Especially if your area of publishing is targeted - in fact, the more specialized your content, the more valuable you are to advertisers? I'm not sure that this is true, but it sure looks that way. Virtually anyone can establish a Google AdSense account and tie it into their content publishing operation (as I've done to this blog).  But who's actually making money at this? That's the hard question.&lt;br /&gt;&lt;br /&gt;It always comes back to the same basic principal - supply and demand. I loosely translate the supply side to "timely, quality content". Timely doesn't necessarily mean frequent, it means "frequent enough". And demand is partly driven by the content and partly by your sales/marketing operation.  Demand is partly the number of visitors to your web site and partly by the number of visitors who pay attention to your advertising.  So, we need quality content and we need to advertise its presence.&lt;br /&gt;&lt;br /&gt;These sound like the principals as those by which we've been driven forever.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-8204979721172769620?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/8204979721172769620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=8204979721172769620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8204979721172769620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8204979721172769620'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/09/advertising-based-publishing.html' title='Advertising-Based Publishing'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-7678483717160550359</id><published>2008-07-03T10:00:00.003-04:00</published><updated>2008-07-03T10:14:12.774-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Folksonomy'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing trends'/><category scheme='http://www.blogger.com/atom/ns#' term='Gilbane San Francisco'/><title type='text'>Gilbane, San Francisco, 2008</title><content type='html'>I spoke at the Gilbane Conference in San Francisco in June (&lt;a href="http://gilbanesf.com/"&gt;http://gilbanesf.com/&lt;/a&gt;) on the subject of using folksonomies as a publishers tool for classifying content. The session moderator had warned me that attendance was a little thin and that we shouldn't expect too many in the audience, but my rough estimate was that we had about 45 people there. I was pleased. And there were lots of questions and a lot of discussion.&lt;br /&gt;&lt;br /&gt;Here's the abstract from my presentation:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Folksonomies, Just Good Enough For All Kinds of Things&lt;br /&gt;&lt;span style="font-weight: normal; font-style: italic;"&gt;Extending Folksonomies to Describe All Kinds of Content&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Folksonomies are gaining popularity in the content delivery world as a "good enough" way to classify content; tag clouds are becoming commonplace on content-driven website. More and more, folksonomies are working their way back into the content creation and management process. Huge volumes of content, increasing and diversifying user requirements are pushing content management operations to look to folksonomies as a Web-2.0 way to describe the "aboutness" their content.&lt;br /&gt;&lt;br /&gt;With this simple concept in hand, why not use this technology to describe more than just content subjects? "Aboutness" is just one aspect of your content. What about order, threads, or related content? This talk will explore the extended use of folksonomies as a technology for enhancing content in new and different ways.&lt;br /&gt;&lt;br /&gt;I can send the power point to anyone interested, please email me or leave a comment on this blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-7678483717160550359?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/7678483717160550359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=7678483717160550359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7678483717160550359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7678483717160550359'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/07/gilbane-san-francisco-2008.html' title='Gilbane, San Francisco, 2008'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-9118120053454257310</id><published>2008-04-30T14:36:00.010-04:00</published><updated>2008-05-09T12:10:35.227-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing trends'/><title type='text'>New Trends in Electronic Publishing</title><content type='html'>I'm a consultant (sounds like an admission) in the publishing industry and throughout my career I've developed and integrated new technologies to help publishers stay competitive. Everything from back-room content management to user-facing "wow" tools. And, I'm noticing some trends in the publishing business lately. Especially in electronic publishing. These are some things I'm observing from my clients specifically, and from public media (annual reports, news, and so on). I think we're seeing a big shift in the way publishers generate revenue, away from the value on information.&lt;br /&gt;&lt;br /&gt;One well known revenue shift is towards advertising revenues. This is an old model, of course. Newspapers have been at it forever, and online search engines for years. But more recently, we're seeing a larger shift of revenue away from subscription sales for information resources and towards advertising. I think this is driven by a couple of factors.&lt;br /&gt;&lt;br /&gt;First is the nature of the internet and social networking. These are creating an underlying expectation of free information on the web. No news there! But this is creating new revenue streams in the form of advertising that are replacing traditional subscription revenues. And with tools like Google's AdSense, this is easier than ever to do, making it possible for just about anyone to create an ad-driven information portal.&lt;br /&gt;&lt;br /&gt;The second factor is the rise in information portals repurposing and rebranding content for their own purposes. Tools like RSS and aggregators like Feedburner make it easy to brand your own content, creating a demand for and an expectation of specialized information sources. In a sense, this is dividing the traditional publishing industry into two parts -- information creation and information dissemination. Publishers used to integrate both these functions under one roof, but in the repurposing/rebranding scenario lines between these functions become clear. New revenue streams are being created and recognized by selling content for aggregation, repurposing and rebranding.&lt;br /&gt;&lt;br /&gt;Related to this is the increasing role public entities are playing in the information dissemination arena.  A large market used to exist for private publishing of government information. In the old days, these publishers took government data and added value through indexing or other finding aids and sold the improved access. As technology tools have improved, government agencies are more easily and readily able to perform this publishing themselves. So adding content value has become more important to the ability to create revenue than using technology to improve access.&lt;br /&gt;&lt;br /&gt;And this is exacerbated by the economy. With more choices and less budget, customers will opt for the cheapest product that reduces their workload. User expectations are indeed greater. Users now expect to access content with minimum wasted time and maximum accuracy.  To stay competitive, publishers need more sophisticated user-facing technology to meet these expectations. In turn, new revenue streams are coming from sales of integrated technology and content or from the sale of the technology itself (software products).&lt;br /&gt;&lt;br /&gt;So, do I have a conclusion from this? Not really. I don't think anyone can accurately predict the course of publishing over the next few years.  I do think publishers need to keep their tools sharp. My personal belief is that investments in the right technology will win out in the end, but mostly because it will enable the publisher to be ready to respond to changes more rapidly. Of course, I'm a techy saying this, so my view is slanted. I'm reminded of a joke by Emo Phillips: "I used to think the brain was the most important organ in the human body, then I realized what was telling me this!" But I can't help thinking that technology investment, especially in these tough economic times will out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-9118120053454257310?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/9118120053454257310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=9118120053454257310' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/9118120053454257310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/9118120053454257310'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/04/new-trends-in-electronic-publishing.html' title='New Trends in Electronic Publishing'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-1155691521794162515</id><published>2008-04-30T14:24:00.003-04:00</published><updated>2008-04-30T14:34:40.415-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Offshore'/><title type='text'>Getting Some Real Offshore Experience, Redux</title><content type='html'>I posted about getting some real experience working with an offshore development group.  As I said, we entered into this arrangement with a short-term trial to see how it would work out. We ended that trail today and I guess I still have mixed results to report.&lt;br /&gt;&lt;br /&gt;Working with an offshore team in an Agile world is annoying. A lot of time is lost because the offshore developers are not co-located (even within the same time zone). I would say that my initial conclusions about the TCO for code developed still holds -- about he same or even more than the cost of doing it with our regular development team.&lt;br /&gt;&lt;br /&gt;We had some problems with the develop initially assigned to work with us. To their credit, the offshore company took care of that, replacing the one with a more mature/professional developer. We lost some time and money in that transition, but the startup cost of this kind of relationship cannot be underestimated.&lt;br /&gt;&lt;br /&gt;I guess the conclusion I've come to is this, write good specs and way overestimate the cost. But the skills are there. I will work with this group again (probably). Next project we get.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-1155691521794162515?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/1155691521794162515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=1155691521794162515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/1155691521794162515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/1155691521794162515'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/04/getting-some-real-offshore-experience_30.html' title='Getting Some Real Offshore Experience, Redux'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-5672447126099719570</id><published>2008-04-12T20:26:00.010-04:00</published><updated>2008-04-18T17:05:59.062-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Offshore'/><title type='text'>Getting Some Real Offshore Experience</title><content type='html'>&lt;div&gt;In a former post (see "&lt;a href="http://tractare.blogspot.com/2007/12/offshore-development-woes.html"&gt;Offshore Development Woes&lt;/a&gt;"), I wrote some personal conclusions from reading Martin Fowler on "&lt;a href="http://martinfowler.com/articles/agileOffshore.html#LessonsLearned"&gt;Using an Agile Software Process with Offshore Development&lt;/a&gt;". It was a summary of what I got from Mr. Fowler's experiences. Interestingly, though I have worked with many developers from many Asian countries over the years, I have never actually worked with an offshore software development company performing development for hire under my direction. It's easy to be an armchair critic. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;But that's changed, at least a little. Faced with a recent influx of development projects and a lack of staff to get them done in a timely manner, I decided to develop a relationship with a firm based in India. Being the cautious type I am, our initial foray into this arrangement was for a limited time and scope -- I really wanted to see how well it would work out. And I was especially intrigued given Mr. Fowler's experiences because we too are an agile development shop. I had misgivings based on the rapidity of our development and the time and language differences. But the hourly rates proffered were downright seductive. I figured that at the $25 per hour rate we were being charged, we could afford to lose some time to these difficulties and still come out ahead. And I really want it to work.&lt;br /&gt;&lt;br /&gt;It's now been 7 weeks into this trial and I guess I have mixed results to report. First, as Mr. Fowler observed, there is no real cost savings in spite of the seductive hourly rate.  Between the language barriers, the time differences, things just plain take longer. A lot longer. And that costs. It's not like the developer in India isn't charging me for those differences.  We use email and Skype to get our communication done since written English at least removes accents from the equation. And our developers in India work odd hours, so in spite of the 9.5 hour time difference, I can usually talk to them throughout the morning.&lt;br /&gt;&lt;br /&gt;But I've now worked with the group on three development tasks.  The initial effort was to get the existing project development infrastructure (Eclipse, Tomcat, CVS, MySQL, and the project code) up and running. I have to say, I was impressed with how quickly and smoothly that happened. It showed that the Indian team was well acquainted with these tools. So we moved on to actual development tasks. I made an effort to be more clear and concise than I usually am in providing task writeups.  We had several email exchanges asking for clarification and I got my first code delivery in about a week. I was very disappointed. The code was no where near complete, was undocumented, did not follow style guidelines, and was generally unproffesional (a java package name of "jesus.xml"?). But the real problem was the lack of some basic computer science -- a huge switch construct instead of arrays; a single large method instead of encapsulation, and so on. I rewrote the code and sent it back with further instructions on what I was looking for.&lt;br /&gt;&lt;br /&gt;To make a long story short(er), this seems to be the pattern -- delivered code is under-par, I rewrite it and return it, and they then follow my pattern. This put the first several tasks way over budget.&lt;br /&gt;&lt;br /&gt;We did make a complaint to the management team. Their solution was to add another resource (a more senior programmer) to the team. At their own cost (to their credit). But now, every detail is being questioned and designed out in advance. We've lost our agile approach. And the costs are higher still, since I spend so much time trying figure out the answers to their questions.&lt;br /&gt;&lt;br /&gt;So, in all, this effort has proven to be more costly than we had hoped and it pushed our project costs over budget. It may be that a different team from India could perform better, or that if we developed using a traditional "waterfall" life cycle, things would be better. But this has not been a success for us.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-5672447126099719570?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/5672447126099719570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=5672447126099719570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5672447126099719570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5672447126099719570'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/04/getting-some-real-offshore-experience.html' title='Getting Some Real Offshore Experience'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-5935568551483426665</id><published>2008-03-28T18:11:00.002-04:00</published><updated>2008-03-28T18:45:49.078-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Folksonomy'/><category scheme='http://www.blogger.com/atom/ns#' term='Content Management'/><title type='text'>Using Folksonomies in Content</title><content type='html'>I've been thinking more and more about folksonomies as a replacement for traditional taxonomies. We can create all the tools we need, or work off of existing tools such as del.icio.us. But in the end, size does matter. For a folksonomy to work, a *lot* of people have to look at and tag the content.  To me, this means content has to be exposed to readers, and lots of them, to tag the content.&lt;br /&gt;&lt;br /&gt;Traditionally, the classification operation has been something done under control and part of back-room content management, by a small, select group of indexers.  So first, we have to decide to relinquish some control. While this may seem scary, in reality the volume of tagging makes up for the lack of specific control. And, we can build the tagging tools so that editors and indexers can follow behind the tagging and clean it up.  But if we can achieve a large volume of tagging, the volume and repetitive nature of the tagging will create common tags, threads and relationships.&lt;br /&gt;&lt;br /&gt;Second, we need to find a large group of taggers. Depending on the nature of the content, this can be accomplished in a couple of ways. First, and perhaps easiest, is to expose content to the web. Perhaps through incentives, taggers can be enticed to tag. And, of course, staff of the publisher should be encouraged to participate as well. Failing that, a publisher could look at a human-automation engine such as Amazon's Mechanical Turk, where large numbers of minuscule tasks that are best done by people are spread out over many people for a small fee.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-5935568551483426665?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/5935568551483426665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=5935568551483426665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5935568551483426665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5935568551483426665'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/03/using-folksonomies-in-content.html' title='Using Folksonomies in Content'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-4198481746853799046</id><published>2008-03-27T11:53:00.004-04:00</published><updated>2008-03-27T12:50:04.387-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='job'/><title type='text'>Jobs (or Maybe Just Job)</title><content type='html'>Retrieval Systems Corporation (my employer), needs an experienced developer to serve as a project lead, closing out an ongoing project. The project uses SQL Server, IIS, Exchange/Outlook and VB.NET to track document filings, and enforcement activities through a legal process. We are currently wrapping up the initial data entry and enforcement status components of the application. The next phases will involve integration with Quickbooks and Sharepoint services.&lt;br /&gt;&lt;br /&gt;The individual we are looking for will be a professional software developer, with a minimum of three years experience. They will need a solid knowledge of SQL, .net, and developing within the Microsoft web technologies. The job is for a project lead who will be expected to work on all aspects of the project life cycle.&lt;br /&gt;&lt;br /&gt;Retrieval Systems Corporation is a developer of custom software. Our developers work in small teams and are involved in most aspects of a project. We are located at 2071 Chain Bridge Rd., Suite 510, Vienna, VA 22182. Work on this project, will be performed on site at our offices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-4198481746853799046?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/4198481746853799046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=4198481746853799046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/4198481746853799046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/4198481746853799046'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/03/jobs-or-maybe-just-job.html' title='Jobs (or Maybe Just Job)'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-535463234424325807</id><published>2008-03-20T11:23:00.010-04:00</published><updated>2008-03-28T16:04:44.380-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Estimating'/><title type='text'>Agile for Consultant Development Teams</title><content type='html'>I'm a consultant (sounds like an admission at the start of a 12-step program). I love the Agile approach to software development but there seems to be a fundamental conundrum I haven't been able to solve -- software project pricing.  Seems like my clients want to know, in advance, how much the development of software is going to cost (the nerve of some people!). I just can't see how to get a price together for a project using an approach that essentially leaves out the up-front design effort that is characteristic of the traditional waterfall approach.   And the Agile experts with whom I've spoken have no answer to this either.&lt;br /&gt;&lt;br /&gt;Now, I don't actually believe that the waterfall approach gives any better or more realistic cost estimate, except perhaps on the most simplistic of projects. If anything, I believe it is a more expensive method that produces a false sense of cost security. But, I'm not getting into a comparison of these approaches. I'm just trying to figure out how to give a customer a price for an Agile project. And I've tried to say things like "what is your budget? We'll do as many of your priorities as possible within that." There is a disconnect between what clients want to know (how much for the whole thing) and the reality of what the "whole" thing needs to be and how much it will really cost.&lt;br /&gt;&lt;br /&gt;One approach would be to simply lie. Tall the client what they want to hear. And then manage the consequences in the middle of the project. Doesn't seem like the right way though.&lt;br /&gt;&lt;br /&gt;So instead, we've been trying to educate our clients on the tension between cost and features. In essence,&lt;br /&gt;We've been using a variation on Wide-Band-Delphi-Blind to create estimates.  We take the full list of features, attempt to designate tasks for implementing them, and then send that around to as many senior developers as we can -- developers with the right skill set to create an estimate for that type of project.  Each estimator does his estimate alone and sends the results back to a coordinator and then we go through the estimates collectively to resolve the differences.  Using this estimate of all features we then attempt to explain to our client that the estimate is under their control -- choose high priority features to implement first and then work through the list until either features or budget are exhausted.&lt;br /&gt;&lt;br /&gt;This is not too different from agile poker (&lt;a href="http://www.planningpoker.com/"&gt;http://www.planningpoker.com/&lt;/a&gt;). As I understand that technique, several estimators each make a bid for how long each task or feature will take. The actual bids are not really hours. They are units. After several rounds of bidding and discussion on differences between bids, the winning bids are turned into dollars by applying the development team's velocity to the bid and figuring out real hours. This means that we have to know that velocity -- not an easy problem in its own right.&lt;br /&gt;&lt;br /&gt;But we end up in the same place -- with an estimate for the whole project which we then have to "sell" to the client. Is there a better way?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-535463234424325807?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/535463234424325807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=535463234424325807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/535463234424325807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/535463234424325807'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/03/agile-for-consultant-developement-teams.html' title='Agile for Consultant Development Teams'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-8309255255195574703</id><published>2008-03-13T10:38:00.004-04:00</published><updated>2008-03-13T13:38:14.683-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='future computing'/><category scheme='http://www.blogger.com/atom/ns#' term='bill gates'/><title type='text'>Bill Gates at the NVTC Breakfast Forum</title><content type='html'>I got the opportunity to attend the Northern Virginia Technology Council (NVTC) breakfast this morning, in DC at the Capitol Hilton. The speaker was Bill Gates. You know, that Microsoft guy? It was kind of cool to be a couple of hundred feet away from the richest man in the world (or maybe second now that Warren Buffet's star has been rising).  Bill spoke at length on the direction computing is headed and mentioned everything from surface computing (your desk working for you?) to intention recognition through visualization. Very cool stuff, though I think I'll make sure I stay dressed in front of the PC-CAM.&lt;br /&gt;&lt;br /&gt;And, I am fascinated by the concepts of surface interfaces -- as an active sailor, I'm envisioning a future sailboat that has a surface navigation computer that ties together mapping/charting, GPS, depth sounding (and underwater 3-D profiling), routing and guidance, with timely updates on chart data from the NOAA Notices to Mariners, coupled with a finger-driven interface similar to what Apple now uses on their iPods and iPhones (oh, wait, that's not from Microsoft).&lt;br /&gt;&lt;br /&gt;But, I have to say, I was not "wow-ed" by Bill Gates' talk. I've heard him speak before and it's pretty much the same spiel I heard 20 years ago at a Microsoft CD-ROM Multimedia conference -- better human interaction with machines.&lt;br /&gt;&lt;br /&gt;There were a couple of questions from the audience after the talk, and one questioner pounced on Microsoft for considering security as an afterthought (hear-hear).  But my real disappointment is that Bill Gates' vision did not account for any of the real-world problems we seem to be facing: global warming, rising energy costs, environmental issues and so on. Where is computing really going to be in 20 years if, as Al Gore is suggesting, sea level has risen enough to flood some of our coastal cities? Or if we can no longer tolerate the environmental impact of hardware disposal?&lt;br /&gt;&lt;br /&gt;So, I throw out a challenge: "What will computing look like in an age where we have higher sea levels, unaffordable energy, and intolerable environmental issues". Bill?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-8309255255195574703?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/8309255255195574703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=8309255255195574703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8309255255195574703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8309255255195574703'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/03/bill-gates-at-nvtc-breakfast-forum.html' title='Bill Gates at the NVTC Breakfast Forum'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-3057886871718927286</id><published>2008-03-12T15:10:00.006-04:00</published><updated>2008-03-28T18:13:23.930-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Folksonomy'/><title type='text'>Folksonomies Applied</title><content type='html'>In a &lt;a href="http://tractare.blogspot.com/2008/02/new-kind-of-content-management.html"&gt;previous blog entry&lt;/a&gt;, I was starting to think about folksonomies as they might apply to content management. Having lots of experience in topical classification, therauri, and related tools, I figured this would be a simple discussion, but it isn't.&lt;br /&gt;&lt;br /&gt;What is a Folksonomy? "Folksonomy (also known as collaborative tagging, social classification, social indexing, and social tagging) is the practice and method of collaboratively creating and managing tags to annotate and categorize content. In contrast to traditional subject indexing, metadata is not only generated by experts but also by creators and consumers of the content. Usually, freely chosen keywords are used instead of a controlled vocabulary" (&lt;a href="http://en.wikipedia.org/wiki/Folksonomy"&gt;Wikipedia&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;By their nature, folksonomies are created by the people. I think the key to a successful folksonomy is participation by many people -- we make up for the lack of a controlled, standardized vocabulary and it's application to content by sheer volume and enthusiasm from a wide-spread using community. In fact, complaints about this approach usually center around the imprecise nature of the tagging. Since users typically apply tags to content, the tags are often ambiguous, overly personalised and inexact. But, &lt;a href="http://www.dlib.org/dlib/january06/guy/01guy.html#2"&gt;Guy and Tonkin&lt;/a&gt; make a persuasive argument that user applied tags are in fact converging -- that the overall universe of applied tags is becoming self-limiting. If so, then the universe of tags that are being created in services like Flikr and Del.icio.us are becoming useful bases for classifications.&lt;br /&gt;&lt;br /&gt;And in other, related developments, these services are beginning to categorize their tags. Especially at Del.icio.us where there are now classification tags and action tags, among others. To me these seem like we gray-beards call facets.&lt;br /&gt;&lt;br /&gt;But that's not really my point, though I think it is important.  I think we need some tools that can work with content management to allow tagging, maybe even super tagging, wherein the tags are members of controlled facets. This isn't really hard. Virtually every content management system "knows" about content by a URI.  And there are some very cool features in the Del.icio.us service, including keeping my bookmarks and tags private, and retrieving them via an API later.  So, we can set a bookmark in Del.icio.us containing the URI of the content we want to tag with the tags we want for that content.&lt;br /&gt;&lt;br /&gt;I tried this very simply by registering at Del.icio.us, turning on the "private bookmarks" setting, and putting the Del.icio.us buttons on my browser toolbar. Then I pointed my browser at a content item in a CMS (Alfresco) and clicked the Del.icio.us "Tag" button. Added tags and saved it. I can see the tags and the URIs in my items on the Del.icio.us website.&lt;br /&gt;&lt;br /&gt;But, to actually use this information, we need to pull the tags and content URIs back out of Del.icio.us.  XML to the rescue. Or, rather, XML and the Del.icio.us &lt;a href="http://del.icio.us/help/api/"&gt;API&lt;/a&gt;. We can fetch the tags we're using by using this URL: https://api.del.icio.us/v1/tags/get. We can also see all of our content using this URL: https://api.del.icio.us/v1/posts/get. And we can retrieve by tag: https://api.del.icio.us/v1/posts/get?tag=C&lt;br /&gt;&lt;br /&gt;Pretty cool stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-3057886871718927286?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/3057886871718927286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=3057886871718927286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3057886871718927286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3057886871718927286'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/03/folksonomies-applied.html' title='Folksonomies Applied'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-2106819929683793708</id><published>2008-03-07T14:24:00.003-05:00</published><updated>2008-03-07T15:43:15.106-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Retrieval Systems Corporation'/><title type='text'>Library Takes 'Talking Books' Digital, Washington Post, March 5, 2008</title><content type='html'>I love this article in the Washington Post. For a couple of reasons. First, I have several friends who are  legally blind (which I think is different from "illegally blind").  These kinds of  tools help them enormously.  It makes me feel like, as a society, we're doing the right things at least sometimes.&lt;br /&gt;&lt;br /&gt;But, and perhaps more importantly, I'm thrilled to see this because WE DEVELOPED IT. That's right folks, the excellent programming staff at Retrieval Systems (who pay me) wrote the underlying software for the digital talking book for the Library of Congress, National Library Service for the Blind and Physically Handicapped (NLS). So this makes us proud.&lt;br /&gt;&lt;br /&gt;We've been doing work in the background for the blind community for many years. Mostly this has involved library data exchange.  For both NLS and the Recording for the Blind and Dyslexic (RFB&amp;amp;D) we wrote bunches of code to help them exchange bibliographic records, supporting creation of a union catalog so that blind patrons could more readily find books. And for NLS we've also developed some production tools to help in the creation of digital talking books.&lt;br /&gt;&lt;br /&gt;But the DTB player is something of which we're especially proud. Not only was it technically challenging, it was socially responsive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-2106819929683793708?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.washingtonpost.com/wp-dyn/content/article/2008/03/04/AR2008030402485.html' title='Library Takes &apos;Talking Books&apos; Digital, Washington Post, March 5, 2008'/><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/2106819929683793708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=2106819929683793708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/2106819929683793708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/2106819929683793708'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/03/library-takes-talking-books-digital.html' title='Library Takes &apos;Talking Books&apos; Digital, Washington Post, March 5, 2008'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-359610073442119974</id><published>2008-02-13T10:28:00.009-05:00</published><updated>2008-03-07T17:18:12.999-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Folksonomy'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Mashup'/><title type='text'>A New Kind of Content Management</title><content type='html'>I've been enamored with classification of content through my entire career (which is certainly long enough). Early on, I was working on library automation systems and in particular with Library of Congress Subject Headings (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;LCSH&lt;/span&gt;) data and I always thought  classification of  documents and other content types was a panacea we should try to achieve. Librarians used these and other tools as finding aids to locating specific information, usually books.&lt;br /&gt;&lt;br /&gt;Along came the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;internet&lt;/span&gt; and the amount of information available grew &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;exponentially&lt;/span&gt;. Search engines provide keyword access to text-base content. Publishing was redefined to include anyone putting information out on the internet. Published content became a thing to be managed with buzzwords like single-sourcing, XML, multimedia, syndication, blogs, Wikis,  and so on.&lt;br /&gt;&lt;br /&gt;Well, the world is very different now and with everything from books and documentation to audio and video as well as thought streams all published on the web, finding a particular bit of information can be a nightmare. Even traditional textual content is hard to find in the vast archive that is the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;internet&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;So how do we find things now? What are our modern finding aids starting to look like?&lt;br /&gt;&lt;br /&gt;Some very cool new technologies have come along recently: folksonomies and mashups, to name two.&lt;br /&gt;&lt;br /&gt;Folksonomies in particular offer a new approach to an old problem -- how to capture the "aboutness" of content. Classifying content is an age-old process that has spawned many fields including taxonomies and indexing.  These, in turn, have created an arcane set of rules and procedures wherein the maintenance of the indexes or thesauri become big efforts on their own -- at times larger than the content management effort they are supporting.&lt;br /&gt;&lt;br /&gt;Mashups are a cool way to combine content from multiple sources into a single presentation. Kind of like federated search and portals in a social-networking environment.&lt;br /&gt;&lt;br /&gt;I'll be exploring these more over the next several posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-359610073442119974?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/359610073442119974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=359610073442119974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/359610073442119974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/359610073442119974'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2008/02/new-kind-of-content-management.html' title='A New Kind of Content Management'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-8712735437291828539</id><published>2007-12-07T14:44:00.000-05:00</published><updated>2007-12-07T15:17:13.981-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Offshore'/><title type='text'>Offshore Development Woes</title><content type='html'>In his excellent article: "Using an Agile Software Process with Offshore Development", Martin Fowler summarizes his experiences in using offshore development for large projects. While his particular emphasis is on agile versus waterfall development approaches and the specific twists for offshore agile development, he makes a startling conclusion regarding offshore development:  "&lt;span style="font-weight: bold; font-style: italic;"&gt;Certainly anyone doing it because they think they'll get cost savings similar to the rate differences is seriously deluding themselves.&lt;/span&gt; "&lt;br /&gt;&lt;br /&gt;This really hit home for me. We've been seriously examining our rates, partly because of our perception of downward pressure caused by the offshore "threat". But as I looked at it more, it seemed to me that there were several &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;misperceptions&lt;/span&gt; going on here.  First, it turns out that offshore arrangements we're competing with are under a contract for a minimum number of hours. Well, I'm certainly willing to offer a generous discount for a commitment like that! But more importantly, there is the hourly rate perception.&lt;br /&gt;&lt;br /&gt;Just because the hourly rate is lower does not mean the project will be cheaper. I've always felt that way, but Martin Fowler supports it with evidence. Fact is, offshore development carries a large communications and distribution overhead that offsets the lower hourly rate.&lt;br /&gt;&lt;br /&gt;He also says that "anyone who thinks that onshore developers will triumph because they are more skilled is very wrong. We've found that we can hire just as talented developers in India as we can in North America and Europe." And this has been my experience as well. The talent available there is excellent, though (IMHO) not better than we have here.&lt;br /&gt;&lt;br /&gt;So, at the moment, it would seem to me to be a question, not of savings or talent, but of industry knowledge. The real savings should come about by using developers skilled and knowledgeable, or at least conversant in the industry area the development is supporting.&lt;br /&gt;&lt;br /&gt;I say, the playing field is level, competition is good, let's sharpen our tools and have at it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-8712735437291828539?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://martinfowler.com/articles/agileOffshore.html#LessonsLearned' title='Offshore Development Woes'/><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/8712735437291828539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=8712735437291828539' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8712735437291828539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/8712735437291828539'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/12/offshore-development-woes.html' title='Offshore Development Woes'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-3969381364388335004</id><published>2007-11-15T16:49:00.000-05:00</published><updated>2007-11-15T17:35:04.800-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Estimating'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Estimating Software Development</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;I'm an excellent software architect, developer, project manager, and even (as needed) sales person. But I can't estimate a project development effort to save my life. I waaay underestimate. Every time. I can lose money faster than a gambler in Las Vegas! So I figure I need to study the science (if such there is!) of estimating. In the past I've just thrown numbers into MS project and hoped for the best.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I was initially turned on to this idea of a systematic approach to estimating by one of the smarter folks I know, Norbert Winklereth, formerly of Omnimark and Stilo. He espouses an approach I had never heard of -- Wide Band Delphi Blind (WBDB). Being a believer in Agile methods, this appeals to me. I started reading up on it and I like what I see. It d&lt;span style="position: absolute; left: -3.48%;"&gt;&lt;/span&gt;epends on several people looking at the whole problem (Wide Band), to develop a list of tasks and an estimate for each (The Oracle of Delphi) operating anonymously to reduce or eliminate political influence or pressure, (Blind). There's a fair writeup of it &lt;a href="http://www.stellman-greene.com/aspm/content/view/23/38/"&gt;HERE&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There are a lot of parts to this, but the essence of it is to get several people working together to bring their collective expertise and experience to the issue of estimating an effort. And, it can be used to estimate a number of things, not just cost, but anything to which we can apply a unit of measure. One thing I began to see early on is that estimating the effort of a project and estimating the schedule are two completely different, though related things.&lt;br /&gt;&lt;br /&gt;Then I read an article by Joel Spolsky (&lt;a href="http://www.joelonsoftware.com"&gt;Joel on Software&lt;/a&gt;) on something he calls "&lt;a href="http://www.joelonsoftware.com/items/2007/10/26.html"&gt;Evidence Based Scheduling&lt;/a&gt;." Joel argues for (and, indeed, has a software product based on) creating schedules based on historical performance data (from time sheets or other records) combined with Monte-Carlo simultations. Again, recognizing the difference between effort and schedule, Joel makes a point that any task planned for more than 16 hours is not going to work and needs to be further factored. I think the same thing applies to estimating effort -- break it down into units of not more than 16 hours.&lt;br /&gt;&lt;br /&gt;Another factor that Joel recognizes is the relative historical accuracy of an individual as an estimator - what he calls velocity, the ratio of an individual's estimate to the actual. A perfect estimator would always have a velocity of 1. A person's history of these ratios is his velocity history and is a factor in the Monte-Carlo simulation.&lt;br /&gt;&lt;br /&gt;So, I'm thinking that a blend of these techniques may represent a reasonable estimating approach. We need to assemble a blind group, and a project leader who has and continues to build a velocity history for each blind participant. We need some Monte-Carlo simulation software, and maybe a tool to organize all this.&lt;br /&gt;&lt;br /&gt;More to come&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="color: rgb(0, 0, 0);" shape="_x0000_s1026" class="O"&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-3969381364388335004?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/3969381364388335004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=3969381364388335004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3969381364388335004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3969381364388335004'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/11/estimating-software-development.html' title='Estimating Software Development'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-838424281886825908</id><published>2007-08-17T11:10:00.000-04:00</published><updated>2007-08-28T15:57:05.094-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Agile and Budgeting</title><content type='html'>Scott Ambler has an excellent discussion of the relationship between, resources, and schedule in the "Iron Triangle" of software development and the need for flexibility in at least one of these areas to ensure project success. Scott concludes by outlining several scenarios in which one or more of the sides of the triangle can vary.&lt;br /&gt;&lt;br /&gt;In my experience, the budget for a project is usually fixed, or at least proscribed to a certain upper boundary.  So there are really only two sides of the triangle that can vary -- the scope and the schedule. Of these two, I find that the schedule is usually less flexible that the scope -- often there is a market-driven date establishing an outer boundary on the development process.&lt;br /&gt;&lt;br /&gt;Which leaves us with the scope of the project as the only negotiable or variable side of the triangle. This leaves the development manager in a somewhat difficult position -- how to satisfy the user community (who's focus is on features) and also the client bursar (who's focus is on budget and schedule).  The key to this is to develop the most important features first and leave the less important features for the end of development. This, in turn, requires a frank and realistic discussion of feature priorities. So, at the outset of a project, perhaps the most important thing the development manager can do is to get a solid list of the features and their priority.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-838424281886825908?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ddj.com/article/printableArticle.jhtml?articleID=201202925&amp;dept_url=/architect/' title='Agile and Budgeting'/><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/838424281886825908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=838424281886825908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/838424281886825908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/838424281886825908'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/08/agile-and-budgeting.html' title='Agile and Budgeting'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-6491416340274103270</id><published>2007-07-18T11:05:00.000-04:00</published><updated>2007-07-18T11:39:51.182-04:00</updated><title type='text'>OOXML - The Votes are In!</title><content type='html'>On Friday, July 13th, INCITS V1 took a role-call vote on our recommended position regarding DIS-29500, Office-Open XML. In what I imagine as a strictly partisan vote, we were not able to arrive at any consensus (a 2/3 majority).  This, in spite of extending the time limit and even a certain amount of bullying pressure (or so it seemed to me) from some of the voting members. And the partisan division pretty much seemed to be Microsoft and their business partners, and the rest of the membership.&lt;br /&gt;&lt;br /&gt;The motions we entertained were a) a recommendation of "Yes, with comments", which means we recommend acceptance of DIS-20500, and have comments that should, but are not required, to be addressed; "No, with comments", which means we recommend acceptance of DIS-29500 only if the comments are all addressed, and "Abstain, with comments" -- and I never did clearly understand that one! We did not entertain a straight-up yes or no vote.&lt;br /&gt;&lt;br /&gt;I'm a little surprised by the outcome. Not so much that we could not agree on either a yes or a no, but that we could not reach a compromise position on abstaining. It seemed to me that the members voting yes were completely unwilling to meet in this middle position, voting down the abstain position along the same party lines. This unwillingness to compromise reinforces (to me, anyway) the feeling of being bullied -- the pro-OOXML membership essentially saying "my way or the highway".&lt;br /&gt;&lt;br /&gt;It is of interest that in the past few months, 19 new members have joined this committee. And of those 19, 14 voted "yes".  Certainly from my viewpoint, this looks like ballot-box stuffing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-6491416340274103270?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/6491416340274103270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=6491416340274103270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/6491416340274103270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/6491416340274103270'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/07/ooxml-votes-are-in.html' title='OOXML - The Votes are In!'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-3087755157846556883</id><published>2007-07-09T11:59:00.000-04:00</published><updated>2007-07-10T14:28:15.493-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Standards'/><category scheme='http://www.blogger.com/atom/ns#' term='OOXML'/><title type='text'>OOXML -- What's Happening Here?</title><content type='html'>Lucky me, I'm a voting member of of INCITS-V1 -- the sleepy standards group that has been working on such arcane things as TopicMaps. We're now working through the 6k+ pages of DIS29500 -- Microsoft's proposed standard for Office Open XML (OOXML). And my first question is, why?&lt;br /&gt;&lt;br /&gt;Now, I'm not invested in or in any way partisan to the so-called-competing Open Document Format (ODF) that is already a standard and is in the process of getting a new version standardized. ODF is a part of the open-office software suite. I only just recently learned that it existed at all.&lt;br /&gt;&lt;br /&gt;And, by the way, I don't see this (as some apparently do) as a Microsoft v. IBM fight, though I do see it as a fight of some kind. For me, a "standard" should serve a couple of purposes: to promote interoperability and to enhance portability being chief among these.&lt;br /&gt;&lt;br /&gt;So, why do we need two competing open document standards? The answer from the proponents of OOXML is that there is no way to augment ODF (the extant standard) to include the features of OOXML. This is partly because OOXML supports the Microsoft Office binary formats (from Office 97 forward, I think) and partly because "the process model is different".&lt;br /&gt;&lt;br /&gt;I'm trying hard to understand this. If OOXML can only be implemented with knowledge of the internals of various versions Microsoft's office serialization formats, how does that promote either portability or interoperability, except, maybe, within Microsoft's product lines. And I just don't get the "different process models" response -- I would have though that a standard, especially an XML-based standard, would be above that.&lt;br /&gt;&lt;br /&gt;To me at least, the issue is more subtle. If we (V1) approve OOXML as a standard and it fails to pass the litmus test of promoting portability and interoperability, I think we weaken our standards process as a whole, making standards less trustworthy. Kind of like what's happened to Wikipedia; a phenomenal web resource that has been co-opted by corporate marketing efforts (try searching for "Windows").&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-3087755157846556883?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/3087755157846556883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=3087755157846556883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3087755157846556883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3087755157846556883'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/07/ooxml-whats-happening-here.html' title='OOXML -- What&apos;s Happening Here?'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-1949614148927989367</id><published>2007-05-15T14:26:00.000-04:00</published><updated>2007-06-06T11:50:14.446-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>XML: Implications and Opportunities</title><content type='html'>Everybody's heard of XML and all the hype that comes with it. But what is XML? And what does it mean for publishers?&lt;br /&gt;&lt;br /&gt;Often, content is authored, edited and published using a markup form that only controls style and presentation and not meaning. Examples of this are word processor files and web pages. XML offers the chance to capture the meaning of the content in the markup. Instead of this:&lt;br /&gt;&lt;br /&gt;   Allen, Thomas B. Vanishing Wildlife of North America. Washington, D.C.: National Geographic Society, 1974.&lt;br /&gt;&lt;br /&gt;We have this:&lt;br /&gt;&lt;br /&gt;&amp;lt;citation&amp;gt;&lt;br /&gt;   &amp;lt;author&amp;gt;Allen, Thomas B.&amp;lt;/author&amp;gt;&lt;br /&gt;   &amp;lt;title&amp;gt;Vanishing Wildlife of North America&amp;lt;/title&amp;gt;&lt;br /&gt;   &amp;lt;publisher&amp;gt;&lt;br /&gt;       &amp;lt;name&amp;gt;National Geographic Society&amp;lt;/name&amp;gt;&lt;br /&gt;       &amp;lt;place&amp;gt;Washington, D.C.&amp;lt;/place&amp;gt;&lt;br /&gt;       &amp;lt;date&amp;gt;1974&amp;lt;/date&amp;gt;&lt;br /&gt;   &amp;lt;/publisher&amp;gt;&lt;br /&gt;&amp;lt;/citation&amp;gt;&lt;br /&gt;&lt;br /&gt;From that XML we could generate the same citation or any of a number of other formats. But, with this XML, we can also find our content with searches such as "author=Allen" and so on.&lt;br /&gt;&lt;br /&gt;The key to understanding XML and it's implications for publishers is "Content Use and Reuse." Let's look at a scenario from a project on which I'm currently working.&lt;br /&gt;&lt;br /&gt;Current awareness (news) content is published daily. It was originally written in a proprietary markup format, for which there were lots of in-house custom tools. All the editorial staff know the markup language. New hires have a long learning curve. We replaced the proprietary markup with an XML form. We hid the XML behind a word-processor interface and publish in a variety of forms (old and new) from the XML. This is feasible because of the open standards basis of XML and the freely available tools for managing XML. But really, it's just economics. Saved money. A publisher embarking on this kind of restructuring can use any of a number of standardized content models as a starting point: ODF, DocBook, DITA, etc.&lt;br /&gt;&lt;br /&gt;The real opportunity comes in the new ways the content can be extended and also reused. More can be done to describe the content, down to a very granular level. The XML form of the content can contain not only the content, but metadata describing the content. This might not appear in any one published version, but can be used for searching and linking applications. It can be published in many ways on different media through simple reformatting.&lt;br /&gt;&lt;br /&gt;Semantic markup is the next big step. We capture not only the metadata, but also describe the "aboutness" of the content. From simple keywords to linked thesauri, to external, linked ontologies, we can capture many levels of domain meaning for the content.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-1949614148927989367?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/1949614148927989367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=1949614148927989367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/1949614148927989367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/1949614148927989367'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/05/xml-vs-static-type-implications-for.html' title='XML: Implications and Opportunities'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-9070008428156833901</id><published>2007-05-15T13:28:00.000-04:00</published><updated>2007-05-24T15:07:20.936-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Back to the GWU Summer Publishing Institute...</title><content type='html'>So, getting back to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;GWU&lt;/span&gt; Summer Publishing Institute, and the topic on which I need to speak, "Agile vs. Traditional: Methods for Building a Software Infrastructure."&lt;br /&gt;&lt;br /&gt;It seems to me that, after exploring what Agile Publishing might mean, it's clear that an Agile Publisher needs a software infrastructure that supports the key tenets. I take that to mean a content management and publishing infrastructure that supports the tenets of Agile Publishing:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Customer satisfaction by rapid, continuous delivery of useful product  &lt;/li&gt;&lt;li&gt;Working product delivered frequently  &lt;/li&gt;&lt;li&gt;Working product is the principal measure of progress  &lt;/li&gt;&lt;li&gt;Even late changes in requirements are welcomed  &lt;/li&gt;&lt;li&gt;Close, daily, cooperation between business people and developers  &lt;/li&gt;&lt;li&gt;Face-to-face conversation is the best form of communication  &lt;/li&gt;&lt;li&gt;Projects are built around motivated individuals, who should be trusted  &lt;/li&gt;&lt;li&gt;Continuous attention to technical excellence and good design  &lt;/li&gt;&lt;li&gt;Simplicity  &lt;/li&gt;&lt;li&gt;Self-organizing teams  &lt;/li&gt;&lt;li&gt;Regular adaptation to changing circumstances&lt;/li&gt;&lt;/ul&gt;So what kind of framework is that? I'm envisioning a content management and publishing system that easily pushes out releases on a frequent basis, allows content and structural changes to be readily made, enhances communication between participants, enables remote meetings, provides templates for good design, has easy-to use process and product review tools, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;enhances&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;workflow&lt;/span&gt; with loose rules, and can be easily adapted to changes.&lt;br /&gt;&lt;br /&gt;This goes a ways beyond a content management system, or any publishing system on the market today because it demands flexibility and adds project collaboration tools.&lt;br /&gt;&lt;br /&gt;In "The Emerging Art of Agile Publishing", XML.COM, 3/8/2006, Michael Fitzgerald makes some specific suggestions about how to be an Agile Publisher:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"Build real trust through constant, informal communication  &lt;/li&gt;&lt;li&gt;Interleave work processes between writers, editors  &lt;/li&gt;&lt;li&gt;Share work openly, don't store it in secret silos  &lt;/li&gt;&lt;li&gt;Store source files in an online repository and give all members of the team  access to it  &lt;/li&gt;&lt;li&gt;Agree on and share tools to reduce the waste of format conversions  &lt;/li&gt;&lt;li&gt;Carve up your work into small, easily consumed and exchanged pieces  &lt;/li&gt;&lt;li&gt;Keep track of what you are doing daily with some other suitable tool  &lt;/li&gt;&lt;li&gt;Publish your work early and often, charge a little something and get free  reviews  &lt;/li&gt;&lt;li&gt;Let Herb do things his own way, but not on your team"&lt;/li&gt;&lt;/ul&gt;I would add to that, "Keep it simple".&lt;br /&gt;&lt;br /&gt;So what software is needed? First and formost, a communications tool. Especially in these days of telecommuting, getting face-time is hard. I like instant messaging and the Skype product in particular. Skype has a secure chat and telephony in one kit. Second, a content management system that will permit easy and frequent releases of product. There are many of these, including several open source ones. Third, open project management. The basecamp.com approach seems nice as does the offering from project.net. I'm personally in favor of an open project document repository for sharing project related materials. This could also be used for openly managing project management materials, such as an MS project plan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-9070008428156833901?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/9070008428156833901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=9070008428156833901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/9070008428156833901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/9070008428156833901'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/05/back-to-gwu-summer-publishing-institute.html' title='Back to the GWU Summer Publishing Institute...'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-6263024382592000991</id><published>2007-05-02T14:41:00.000-04:00</published><updated>2007-05-08T16:01:20.460-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Agile Publishing -- Continuous attention to excellence,  good design, and simplicity</title><content type='html'>Principles Number 8 and 9 of the &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile Software Development approach &lt;/a&gt;. What do these mean for an Agile Publisher?&lt;br /&gt;&lt;br /&gt;As with some of the previous principles, this is partly just good business and I feel these are all closely related. Simplicity =&gt; Good Design =&gt; Excellence.&lt;br /&gt;&lt;br /&gt;Especially when developing a complex product with many content components, it is easy to design an overly complex, difficult to build and maintain product. Simplicity is the name of the game here. Also, good design -- keeping sight of both the immediate need and the growth room and designing with these in mind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-6263024382592000991?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/6263024382592000991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=6263024382592000991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/6263024382592000991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/6263024382592000991'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/05/agile-publishing-continuous-attention.html' title='Agile Publishing -- Continuous attention to excellence,  good design, and simplicity'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-727752576370500268</id><published>2007-05-01T15:17:00.000-04:00</published><updated>2007-05-01T15:27:43.756-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Agile Publishing -- Projects are built around motivated individuals, who should be trusted</title><content type='html'>Number 7 of the &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile Software Development approach &lt;/a&gt;. What does this mean for an Agile Publisher?&lt;br /&gt;&lt;br /&gt;It's all about trust. This also could be said of every project everywhere. There's nothing different here for an Agile publisher than for any other development effort.  Michael Fitzgerald ("&lt;a href="http://www.xml.com/pub/a/2006/03/08/agile-publishing.html"&gt;The Emerging Art of Agile Publishing&lt;/a&gt;", March 8, 2006, XML.COM) posits these tenets:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;People must be trusted &lt;/li&gt;&lt;li&gt;Fewer but more competent people are needed&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Organizations must live with the decisions developers make &lt;/li&gt;&lt;/ul&gt;These are key points. Trust inspires dedication, dedication reduces numbers of people. But (I hear you cry), organizations must live with the decisions developers make? Hard to swallow, that. But remember, a key point of the Agile approach is that the development team includes stakeholders. It is partly their role to ensure that the decisions the developers make are in the best interests of the product and the client. A better product will come of it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-727752576370500268?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/727752576370500268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=727752576370500268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/727752576370500268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/727752576370500268'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/05/agile-publishing-projects-are-built.html' title='Agile Publishing -- Projects are built around motivated individuals, who should be trusted'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-3072043159131031682</id><published>2007-04-27T18:20:00.000-04:00</published><updated>2007-05-01T15:27:14.816-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Agile Publishing -- Close, daily, cooperation between business people and developers and Face-to-face conversation is the best form of communication</title><content type='html'>&lt;strong&gt;&lt;em&gt;Close, daily, cooperation between business people and developers and face-to-face conversation is the best form of communication&lt;/em&gt;&lt;/strong&gt; -- Principles Number 5 and 6 of the &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile Software Development approach &lt;/a&gt;. What do these mean for an Agile Publisher?&lt;br /&gt;&lt;br /&gt;It's all about communication. This could be said of every project everywhere. There's nothing different here for an Agile publisher than for any other development effort. Michael Fitzgerald ("&lt;a href="http://www.xml.com/pub/a/2006/03/08/agile-publishing.html"&gt;The Emerging Art of Agile Publishing&lt;/a&gt;", March 8, 2006, XML.COM) posits these tenets:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The culture of the organization must be supportive of negotiation &lt;/li&gt;&lt;li&gt;Organizations need to have an environment that facilitates rapid communication between team members &lt;/li&gt;&lt;/ul&gt;Bravo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-3072043159131031682?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/3072043159131031682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=3072043159131031682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3072043159131031682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/3072043159131031682'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/04/agile-publishing-close-daily.html' title='Agile Publishing -- Close, daily, cooperation between business people and developers and Face-to-face conversation is the best form of communication'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-18857034237728381</id><published>2007-04-27T15:48:00.000-04:00</published><updated>2007-04-27T16:02:41.219-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Agile Publishing - Even late changes in requirements are welcomed</title><content type='html'>&lt;strong&gt;&lt;em&gt;Even late changes in requirements are welcomed&lt;/em&gt;&lt;/strong&gt; -- Principle Number 4 of the &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile Software Development approach &lt;/a&gt;. What does this mean for an Agile Publisher?&lt;br /&gt;&lt;br /&gt;As the publishing world changes to include more and diverse assets in a publication, we introduce the possibility (or even probability) that changes will occur during the product development life-cycle. These could be as simple as changes in artwork or as complex as an overhaul in related assets.&lt;br /&gt;&lt;br /&gt;One of the significant features of the iterative nature of Agile development is that the stakeholders (client reps) can see if the product is taking shape as was expected. If not, changes are not only possible, but encouraged, at just about any point in the development cycle. This same benefit obtains for changes to the underlying business model -- should the market conditions for the product change, we can respond to these changes.&lt;br /&gt;&lt;br /&gt;Retaining this ability to accept changes to the requirements, no matter when they occur in the development cycle is a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;pre&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;eminant&lt;/span&gt; feature of Agile and applies equally to Agile publishing as it does to Agile software development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-18857034237728381?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/18857034237728381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=18857034237728381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/18857034237728381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/18857034237728381'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/04/agile-publishing-even-late-changes-in.html' title='Agile Publishing - Even late changes in requirements are welcomed'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-5251800280508368912</id><published>2007-04-16T17:20:00.000-04:00</published><updated>2007-04-27T15:18:58.730-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><title type='text'>Agile Publishing -- Working product is the principal measure of progress</title><content type='html'>&lt;em&gt;&lt;strong&gt;Working software is the principal measure of progress&lt;/strong&gt;&lt;/em&gt; -- Principle Number 3 of the Agile Software Development approach (&lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;http://en.wikipedia.org/wiki/Agile_software_development&lt;/a&gt;). Let's change this to "working product is the principal measure of progress" and explore what this might mean for an Agile Publisher.&lt;br /&gt;&lt;br /&gt;Norbert Winklareth, one of the smartest people I know, asserts that the measure of value for which customers pay for is not any traditional metric of development but features:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Value =&gt; Functionality That Works&lt;/li&gt;&lt;li&gt;Functionality =&gt; Set of Features&lt;/li&gt;&lt;li&gt;Therefore: "Features are the true measure of development"&lt;/li&gt;&lt;/ol&gt;It would seem that the same principle can apply to a publishing project -- a publication has, among other things, a set of features. In software, features are specific characteristics, such as a search function or an RSS feed. In publishing, features could be harder to describe. In essence, these are the characteristics of a product for which customers pay. As a practical matter, features could be publication components (or assets) for example, written text, artwork, multi-media software functions, summaries or abstracts, and so on. Each of these can be considered as a feature of the published product.&lt;br /&gt;&lt;br /&gt;Deciding on the priority of the features of our product is important here. By developing the most important features first, we can plan the creation of our product in stages (or iterations) in which we get our most desirable or most important features built first. The result is that we have a working, functional product at the end of each iteration that could be considered a final product if need be. It certainly permits us to respond to budgetary or other outside business pressures and still end up with a publishing product. &lt;br /&gt;&lt;br /&gt;It also provides us with a true metric for progress. As features are developed, we can measure that easily against our plan for the product. We then know how well our project is fairing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-5251800280508368912?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/5251800280508368912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=5251800280508368912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5251800280508368912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5251800280508368912'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/04/agile-publishing-working-product-is.html' title='Agile Publishing -- Working product is the principal measure of progress'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-4888185469499597786</id><published>2007-04-14T10:23:00.000-04:00</published><updated>2007-04-16T00:48:35.557-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><title type='text'>Agile Publishing -- Working Product Delivered Frequently</title><content type='html'>&lt;em&gt;&lt;strong&gt;Working software is delivered frequently (weeks rather than months)&lt;/strong&gt;&lt;/em&gt; -- Principle Number 2 of the Agile Software Development approach (&lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;http://en.wikipedia.org/wiki/Agile_software_development&lt;/a&gt;). What does this mean for an Agile Publisher?&lt;br /&gt;&lt;br /&gt;One of the key issues that arises in traditional software development is that the client's vision of the features and functionality of a product are different from the developers' vision. Another is the inability of the stakeholders to control development against their budget. These two issues are at least partially addressed through the use of Agile's frequent delivery of working software principle. Specifically, by getting frequent releases, clients can see for themselves how conformant the developers' vision is to their own. Also, and especially when combined with another concept -- planning for priority features in the early releases, should the development cost begin to approach the project budget, the project can potentially be terminated early with much of the priority feature set in working order. Powerful stuff.&lt;br /&gt;&lt;br /&gt;Developing a publishing product can follow a similar flow to software development, one in which iterations of content are created and reviewed. This is especially true for products with content derived from many sources. Following a similar flow of development, we can exert the same control -- create iterations of working versions of the product and with more important features (included content sources perhaps) developed first.&lt;br /&gt;&lt;br /&gt;In the realm of electronic publishing, it is almost always true that a product is derived from many sources and I've seen many publishing efforts held up in order to include a particular content asset. I wonder if that asset was important enough to the product to incur the delayed release and resulting revenue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-4888185469499597786?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/4888185469499597786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=4888185469499597786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/4888185469499597786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/4888185469499597786'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/04/agile-publishing-working-product.html' title='Agile Publishing -- Working Product Delivered Frequently'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-6644847384689280215</id><published>2007-04-04T09:40:00.000-04:00</published><updated>2007-04-14T10:26:22.099-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><title type='text'>Agile Publishing - Continuous Delivery of Working Product</title><content type='html'>&lt;em&gt;&lt;strong&gt;Customer satisfaction by rapid, continuous delivery of useful software&lt;/strong&gt;&lt;/em&gt; -- Principle Number 1 of the Agile Software Development approach (&lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;http://en.wikipedia.org/wiki/Agile_software_development&lt;/a&gt;). What does it mean for an Agile Publisher?&lt;br /&gt;&lt;br /&gt;To my mind, this is one of the most important pieces of Agile. This is what ensures that what the customer envisions is what is being built and that if not, corrections/realignment can be done early and at the least cost. It has some secondary advantages as well: regularly tracking progress against a budget; early start on customer training; and easier collaboration with client/stakeholders, to name a few.&lt;br /&gt;&lt;br /&gt;What does this mean to electronic publishers? Publishing describes a large, complex industry that delivers information to a user community. There are many forms of electronic publishing: newsletters, online books, references, electronic databases, and so on. There is a commonality to software development in that published products (or assets) go through a development/authoring process, a QA (or editing) process and delivery.&lt;br /&gt;&lt;br /&gt;An Agile Publisher would apply the principle of "rapid, continuous delivery" to each electronic product. In practice this could mean author submissions of partial manuscripts, developer delivery of database subsets, and so forth. Any of these early and frequent data feeds provides a foundation for "rapid, continuous delivery", which the permits the goals of early and ongoing review and realignment, budget tracking, etc.&lt;br /&gt;&lt;br /&gt;But, to take advantage of this, the electronic publisher must also have a deployment infrastructure that will create a working version of this electronic asset. In other words, the software and processes must be in place to publish the early edition of the assets.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-6644847384689280215?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/6644847384689280215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=6644847384689280215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/6644847384689280215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/6644847384689280215'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/04/agile-publishing-continuous-delivery-of.html' title='Agile Publishing - Continuous Delivery of Working Product'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-211482459524015028</id><published>2007-04-03T12:41:00.000-04:00</published><updated>2007-04-03T17:13:58.988-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Agile Software Development v. Traditional "Waterfall"</title><content type='html'>I've been involved in two projects recently in which I got a first hand opportunity to compare the results of software development under Agile and under the traditional "waterfall" method. The two projects were not really similar in any way, but they still bear some scrutiny for the results of the two different approaches.&lt;br /&gt;&lt;br /&gt;The project done using a tradition (or waterfall) methodology (which I'll call "Project W") began with a requirements gathering phase in July/2004. This was followed by an architecture and design phase, programming, testing and acceptance testing. We will (hopefully) deploy this system to customers in June, 2007, nearly three years after the project started.&lt;br /&gt;&lt;br /&gt;The project done using Agile (which I'll call "Project A") was started in August, 2006 and was delivered and live in production in December 1006, around 5 months after the start.&lt;br /&gt;&lt;br /&gt;Now, there are some very big differences in these two projects, including the complexity of the underlying data models and in the overall software architecture. However, it is interesting to note that a big part of the 3-year time to deliver on Project W came from two factors: redesign of system components that were found to be faulty during programming, and under-developed requirements. Especially in the past six months, we have spent a significant amount of developer resources adding/changing/deleting user features long after the requirement were solidified. In contrast, on Project A, at the point where the software was ready for testing, there were few feature changes.&lt;br /&gt;&lt;br /&gt;Why? A significant aspect of Agile is that the client/user/stakeholder "sees" working versions of the software early on. So if there are any mis-understood requirements, these are found and fixed very early in the development life-cycle. Also, in Agile there is a much more limited design&lt;br /&gt;process, relying instead on developing working code. As a result, any design errors were uncovered earlier in the cycle.&lt;br /&gt;&lt;br /&gt;An interesting thing happened on Project A -- we exceeded the budgeted costs. Although this was conveyed to the customer as it happened, it still caused a great deal of consternation. However, and in spite of that issue, I view the project as a huge success. Had we followed a "waterfall" paradigm, it would likely have cost the same or more and would have taken longer to complete. So although we missed our target budget, we delivered a market-ready product in five months, enabling the customer to begin generating revenues quickly.&lt;br /&gt;&lt;br /&gt;I'm totally convinced that Agile is superior for the kinds of projects on which I tend to work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-211482459524015028?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/211482459524015028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=211482459524015028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/211482459524015028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/211482459524015028'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/04/agile-software-development-v.html' title='Agile Software Development v. Traditional &quot;Waterfall&quot;'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-7024160784888066857</id><published>2007-04-02T14:36:00.000-04:00</published><updated>2007-04-02T15:40:39.576-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><title type='text'>Agile Publishing</title><content type='html'>I've been invited to speak at George Washington University on the subject of Agile Publishing. This is a new application of Agile programming principles applied to content rather than to code. So I'm starting to explore the relationship and applicability.&lt;br /&gt;&lt;br /&gt;The basic tenets of Agile Software Development (taken from &lt;a href="http://www.agilemanifesto.org/"&gt;http://www.agilemanifesto.org/&lt;/a&gt;) are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Individuals and interactions over processes and tools &lt;/li&gt;&lt;li&gt;Working software over comprehensive documentation &lt;/li&gt;&lt;li&gt;Customer collaboration over contract negotiation &lt;/li&gt;&lt;li&gt;Responding to change over following a plan &lt;/li&gt;&lt;/ul&gt;And Agile at work in software development usually means following these principles (&lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;http://en.wikipedia.org/wiki/Agile_software_development&lt;/a&gt;):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Customer satisfaction by rapid, continuous delivery of useful software &lt;/li&gt;&lt;li&gt;Working software is delivered frequently (weeks rather than months) &lt;/li&gt;&lt;li&gt;Working software is the principal measure of progress &lt;/li&gt;&lt;li&gt;Even late changes in requirements are welcomed &lt;/li&gt;&lt;li&gt;Close, daily, cooperation between business people and developers &lt;/li&gt;&lt;li&gt;Face-to-face conversation is the best form of communication &lt;/li&gt;&lt;li&gt;Projects are built around motivated individuals, who should be trusted &lt;/li&gt;&lt;li&gt;Continuous attention to technical excellence and good design &lt;/li&gt;&lt;li&gt;Simplicity &lt;/li&gt;&lt;li&gt;Self-organizing teams &lt;/li&gt;&lt;li&gt;Regular adaptation to changing circumstances &lt;/li&gt;&lt;/ul&gt;So, how does this apply to publishing? Well, there are both philosophical and practical answers. Michael Fitzgerald published an article on XML.COM on this at &lt;a href="http://www.xml.com/pub/a/2006/03/08/agile-publishing.html"&gt;http://www.xml.com/pub/a/2006/03/08/agile-publishing.html&lt;/a&gt;.  In it, he examines the basic tenets of Agile in a publishing context and makes some specific suggestions on how to become agile. I'd like to extend his work. In the next several blog entries, I'll take a look at each of the principles in a publishing context. But first, let's look at what makes for a successful Agile project:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The culture of the organization must be supportive of negotiation &lt;/li&gt;&lt;li&gt;People must be trusted &lt;/li&gt;&lt;li&gt;Fewer but more competent people are needed&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Organizations must live with the decisions developers make &lt;/li&gt;&lt;li&gt;Organizations need to have an environment that facilitates rapid communication between team members &lt;/li&gt;&lt;/ul&gt;I believe this holds true for an Agile publishing effort as much as for an Agile software development effort. These key elements center around trust and communication. Find good people, empower them to success, trust them to get there and communicate regularly. It may mean compromising certain aspects of traditional publishing, such as corporate style oversight, high-overhead decision-making, and trusting decisions to workers.&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-7024160784888066857?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/7024160784888066857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=7024160784888066857' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7024160784888066857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7024160784888066857'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/04/agile-publishing.html' title='Agile Publishing'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-7609871700569784495</id><published>2007-03-19T17:32:00.000-04:00</published><updated>2007-04-02T14:36:09.537-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CMS Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Tractare'/><category scheme='http://www.blogger.com/atom/ns#' term='Content Management'/><title type='text'>Content Management Frameworks -- Tractare and Configuration</title><content type='html'>There are a large number of Content Management "Frameworks" out there -- &lt;a href="http://en.wikipedia.org/wiki/Content_management_framework"&gt;http://en.wikipedia.org/wiki/Content_management_framework &lt;/a&gt;lists just a few.  What is a "Content Management "Framework?" In essence, it is a programmable API for creating customized content management systems. In other words, a programmers way to create (using the framework) a CMS that supports all the stages of content lifecycle: Organization - Workflow - Creation - Repository - Versioning - Publishing - Archives (or some subset thereof). In essence, a CM framework is a foundation on which a custom CMS can be built.&lt;br /&gt;&lt;br /&gt;The key features I would expect to see in a CM framework include (&lt;a href="http://www.cmsreview.com/Features/Lists.html"&gt;http://www.cmsreview.com/Features/Lists.html&lt;/a&gt;):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;a way to acquire both text and non-text content (acquisition, aggregation, authoring)&lt;/li&gt;&lt;li&gt;a way to store and retrieve content&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a way to control workflow (roles/permissions, checkin/checkout, messaging/routing)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a way to control versioning&lt;/li&gt;&lt;li&gt;a way to control personalization and localization&lt;/li&gt;&lt;li&gt;an interface to administration (reporting, management, etc.)&lt;/li&gt;&lt;li&gt;a way to control content delivery (extraction, slicing, publishing, syndication, update)&lt;/li&gt;&lt;li&gt;a way to implement business rules&lt;/li&gt;&lt;li&gt;and others...&lt;/li&gt;&lt;/ol&gt;The trick is making this work as a framework. How much needs to be customized by a programmer and how much can be done by a very tech-savy non-programmer.&lt;br /&gt;&lt;br /&gt;In our CM Framework (Tractare), we permit most of these features to be customized by scripting. For example, many organizations have IT departments that mandate the use of a particular DBMS (Oracle or SQL Server, for example). So in Tractare, there is a fairly simple configuration setting that allows selection of the database interface driver. But, since Tractare is a CM framework, we also expose the driver interface so that a programmer can create a driver for a database for which we have not supplied one. We make heavy use of configuration files so that non-programmers can customize the CMS.&lt;br /&gt;&lt;br /&gt;Another area that we use scripting is in the interface elements (the "view" of the CMS). Internally, Tractare generates most interaction responses as an XML stream. This way, the entire user interface to Tractare can be tailored using XSLT scripts.&lt;br /&gt;&lt;br /&gt;Depending on the application however, Tractare could still require an investment in programming. It is written in JAVA and intended to run as a web application (using servlets, etc.). So extending the code is a matter for a JAVA web programmer. But many features can be customized without this level of involvement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-7609871700569784495?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/7609871700569784495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=7609871700569784495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7609871700569784495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/7609871700569784495'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/03/content-management-frameworks-tractare.html' title='Content Management Frameworks -- Tractare and Configuration'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2463248461941170156.post-5040864024287245299</id><published>2007-03-11T11:58:00.000-04:00</published><updated>2007-03-11T12:41:47.600-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Topic Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Content Management'/><title type='text'>Open Publish Conference</title><content type='html'>I got to speak at the Open Publish conference in Baltimore (&lt;a href="http://www.open-conferences.com/baltimore/"&gt;http://www.open-conferences.com/baltimore/&lt;/a&gt;) on Friday, 3/9/2007 amongst many of the content management and publishing luminaries. It was humbling. While the conference was small, it was very interactive and the audience was firing questions both during and after the talk.  Kept me on my toes!&lt;br /&gt;&lt;br /&gt;My particular talk was on topic maps, and on using topic maps as an information architecture to improve hypertext linking. The premise is that users frequently click on links embedded in web pages that take them somewhere they didn't want to go and that with better knowledge captured on the "aboutness" of the link, we (as content providers) can give the user more information and options about the links they are following (anyone interested can get the presentation slides from the conference directly or contact me and I'll email them).&lt;br /&gt;&lt;br /&gt;My presentation was either fabulous or boring (depending on whether you're asking me or an attendee). But what I came away with were a bunch of questions about how to glean a topic set from extant content. I've spoken on the subject of topic maps on several occasions and many of the questions follow this same theme -- "How do we collect and organize the topics of the content in a meaningful way?"&lt;br /&gt;&lt;br /&gt;I always have some lame answer -- "that's a job for the subject matter experts." While this is true -- the current state of the art is somewhat limited in our ability to parse content and determine subject matter, it really begs the question. Often (in my experience) there is something with which to begin this process. Usually, our content has already been touched in this way, from something as simple as the application of keywords to creation and maintenance of an outside topical index and the positioning of a particular content object within that. And often there are tables of content that can be used to further glean the "aboutness" of the content. What we (developers) need to consider is how to create a toolkit that both captures as much of this meta data as possible and imputes a relationship structure to it that in the least can serve as the foundation for a subject matter expert's work, and in the larger sense can provide a fully automated creation of a functional, integrated taxonomy.&lt;br /&gt;&lt;br /&gt;At this conference, I was asked if I knew of any translation program that would convert the output of an index creation/management program (CINDEX) into a topic map -- a good example of what I'm talking about here.&lt;br /&gt;&lt;br /&gt;I'm going to explore this further. We (Retrieval Systems) have a bunch of content processing tools, including some tools to work with the CINDEX data formats. Perhaps we can develop a reasonable toolkit for this kind of conversion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2463248461941170156-5040864024287245299?l=tractare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tractare.blogspot.com/feeds/5040864024287245299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2463248461941170156&amp;postID=5040864024287245299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5040864024287245299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2463248461941170156/posts/default/5040864024287245299'/><link rel='alternate' type='text/html' href='http://tractare.blogspot.com/2007/03/open-publish-conference.html' title='Open Publish Conference'/><author><name>Steve Carton</name><uri>http://www.blogger.com/profile/14802606736487814034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://lh5.google.com/image/stephencarton/RfQl8ctvU4I/AAAAAAAAAAk/cA64I7vhsx0/s144/headshot.jpg'/></author><thr:total>0</thr:total></entry></feed>
