In part 1 I discussed the origins of the ideas that have driven the development of SWIM. Now for my attempt to sum up 16 years of product development in a few short paragraphs.
I just did a search on my external hard drive for “SWIM” and was returned 28,721 results, most of which do have to do with the actual product SWIM. (So many logo iterations and architecture diagrams!) Most of these files have to do with its CMS era.
I often forget this, but after spending the first few years of my career coding in Visual Basic, I launched my freelance career with a client that was running their site on ColdFusion, so I quickly learned ColdFusion as my first web application language/framework. So the first iteration of SWIM as a working piece of software was as a CF app. It stored all its data in XML files.
From the very start, SWIM-the-CMS was built for maximum flexibility. Most CMSs focused on specific content types (blogs being chief among them). With SWIM, I wanted the user of the software to have total freedom to create both unlimited types of content and unlimited taxonomies in which to store that content.
This was the early 00’s, and the Semantic Web, XML, and taxonomies were The Hotness, and I was 100% onboard.
An early SWIM iteration, built for one of my biggest freelance clients, a large surf shop in Florida.
Another iteration, showing the content creation screen. Remember, these were the days of table layouts, IE was the predominant browser, screen resolutions were nothing like they are today. Notice my browser in the above screenshot–Mozilla Firebird. I’d also transitioned to PHP by this time.
Finally, in 2004/2005, I combined forces with Joshua Rudd (now Director of User Experience at UserVoice) to form a web consultancy and together, while doing contract work, we developed the first public version of SWIM.
We had threaded comments in the V1. I’m not sure why we thought this was a required V1 feature.
Software deadlines, am I right? This was a screenshot from our Basecamp.
Hopefully, the screenshots speak for themselves in terms of where the product was at. It was a little rough behind the scenes, but those infinitely threaded comments and infinitely nested taxonomy nodes!
But even back then, the new iteration of SWIM was in my head, and made it to the page at least once by way of a quick Photoshop mock:
Then, I went from having co-founded a technology-and-art-focused nonprofit, a local art gallery and a web consultancy to basically nothing. The nonprofit ran out of money and despite some discussions with potential investors, the nonprofit angle made it hard to raise capital. Grants take forever and back then there weren’t many that matched our vision anyway. The gallery had run its course in its current iteration/space and no suitable new space was found. And the web consultancy wasn’t making enough to support two people, and SWIM failed to gain enough traction to help in that department. I was also in a very questionable, dramatic personal relationship that ate many productive hours over the course of many months.
All three ventures were collaborations with three of the most intelligent, creative people I have ever had the pleasure of working with. Some of my deepest regrets are the parts I played in the demise of these ventures.
By 2006 we’d closed the doors on all three. I moved across town, I got a “real” job. I wrote music. I got into another questionable relationship.
The next chapter of SWIM’s history will have to go into a separate post!
Backlinks: SWIM Stock-take Part 3, Matt Mullenweg on FLOSS Weekly