Basecamp review

28 01 2008

I decided to use multiple PM tools and break my projects up among them. I’ll use Basecamp, ProjectPier, and GoPlan concurrently for different projects, report on their merits and shortcomings, and then decide based on my preferences.

I chose to use Basecamp for the “One Shore QA site” project. This project attempts to create a QA site for One Shore, to be used as if One Shore were a customer, to, in essence, “eat our own dog food.”

These are my observations after using the Basecamp trial version.

Right off, I noticed that the free version of Basecamp allows only one project. You could be tempted to cram more than is necessary into a project, but that would be a mistake. Better to pay for more projects if you’re going to use it. And keep your projects simple and focussed. Don’t create projects like “Development and IT for MyCorp.” Create “Rebrand MyCorp website” or “Implement ticketing system for MyCorp helpdesk.” Projects should have a start and finish, and include deliverables.

Basecamp is really simple. Maybe too simple. If there are more features in the for pay versions of Basecamp, they’re doing themselves a disservice. But if keeping it simple allows you to stay organized, that’s a plus. But it’s too simple for me. I’m tempted to go back to pen and paper, because at least that’s extesible.

A basecamp setup consists of a project. The ability to have more than one project per account is a recent addition.

Projects have milestones. Milestones can be assigned to a user or to the company. Besides the assignee, a milestone has a title and a due date. That’s it.

Todo lists can be associated with milestones or not. Todo lists consist of items (“tasks”.) Todo items can be assigned (“who’s responsible”) to a user or to “Anyone”. A todo list can use a template — but what use a template has other than creating boilerplate tasks, I don’t know. Besides assignee, a list of items, and an optional assignee, a todo list has a description, which is typically 1 paragraph.

Items are really the week point. They consist of a description (1 line), an optional assignee, and a checkbox indicating completion. That’s it. No room for comments, dependent tasks, or alternate states such as blocked, skipped, or deferred. Oh yeah, Items can be ordered in the todo list, but this is only for presenation. It means nothing.

Messages can also be associated with milestones or not. Messages can have attached files or comments. Comments can also have attached files. Message and comments are attributed to a user. Messags and files can be assigned a category. There are several default categories for each, and you also have the ability to add categories.

Messages are well done, and I like the format of messages, comments, attachments, but there is no way to link or organize them. I’d also like to see messages tied to todo lists and especially items. If each item was a link to a message, Basecamp would be infinitely more useful.

There is a calendar to manage milestones. You can receive email notifications about milestone due dates or message changes.

Writeboards are really just a notepad. A single text file, which might as well be a message. It can have bold or italic text, as well as a bit more formatting using wiki markup, but this is hidden.

Chat is also an available feature, but I don’t think I’d use it. IRC or instant message would be more likely. I don’t know if you can save chats.

Users can have contact info such as IM, email, phone, etc.

That’s about it.

It’s better than nothing, but I don’t know if it’s better than a file share with a spreadsheet and some documents. At least then, your documents would be navigable. But simplicity is probably better than some of the overblown, hard to use apps out there. I just think you could keep it as simple, change a few things, and give it more power as well.

Basecamp’s much touted AJAX UI didn’t really do it for me. It seems a better design would make it easier. Things such as being able to add 10 todo items at time (which you can do for milestones.) Or AJAX being able to update inline would be a better move.





Twiki Evaluation

28 01 2008

It’s complex.

I don’t like it’s insistence (strong bias) on CamelCase for linking.
It has a very busy and wasteful bunch of information designed to confuse new users.
I want to start my wiki with a blank page and maybe optional links to administration and manual (preferable in a side menu.)

I want to create pages (not topics) and link them.

It gives very informative errors, randomly, such as:

Software error:

Can't locate object method "new" via package "TWiki" at /www/sites/one-shore/twiki/lib/TWiki/UI.pm line 153.

For help, please send mail to the webmaster (root@localhost), giving this error message and the time and date of the error.

Links are very ugly:

http://twiki.one-shore.com/bin/edit/Main/QATools?topicparent=Main.ToolsByCategory

And don’t actually work when cut and pasted:

There was a problem retrieving the page: Internal Server Error

Altogether an unflattering start.





Installing Twiki

28 01 2008

I’m installing Twiki 4.2.0 for a trial run as the new one-shore.com tools wiki. I like their copy about being a “structured wiki” and might consider developing applications for it for e.g., bug tracking, task lists, etc. if I like it. I might use it for my QA book as well.

Here are the steps I’ve followed, based on the instructions on the twiki site for RHEL/Cent05:
– download and unzip twiki

# wget http://twiki.org/p/pub/Codev/Release/TWiki-4.2.0.tgz
# mkdir twiki
# cp TWiki-4.2.0.tgz twiki
# cd twiki/
# tar -xvzf TWiki-4.2.0.tgz

— view installation instructions

http://twiki.org/cgi-bin/view/Codev/TWikiOnRedHat#TWiki_4_2_0_rc_2_Centos_4_5_Fedo

— install dependencies

— alternate repository is available at http://dag.wieers.com/rpm/packages.php

# yum install rcs

— install additional dependencies based on http://twiki.org/cgi-bin/view/TWiki/TWikiSystemRequirements

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
rcs i386 5.7-30.1 core 332 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
# yum install perl-Config-Any

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-Config-Any noarch 0.07-4.fc6 extras 35 k
Installing for dependencies:
perl-Class-Inspector noarch 1.17-1.fc6 extras 25 k
perl-Config-General noarch 2.32-1.fc6 extras 63 k
perl-Config-Tiny noarch 2.10-1.fc6 extras 21 k
perl-Module-Pluggable noarch 3.10-2.fc6 extras 22 k
perl-XML-Parser i386 2.34-6.1.2.2.1 core 209 k
perl-XML-Simple noarch 2.14-4.fc6 core 68 k
perl-YAML-Syck i386 0.82-2.fc6 extras 76 k

Transaction Summary
=============================================================================
Install 8 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

— perl-Cwd doesn’t have a yum and the RPM from dag.wiers.com conflicts with the base perl install (I’ll assume it’s included)

– test dependencies

# perl -e ‘use File::Copy; print $File::Copy::VERSION.”\n”‘
2.09
# perl -e ‘use Config::Any; print $Config::Any::VERSION.”\n”‘
0.07
# perl -e ‘use File::Find; print $File::Find::VERSION.”\n”‘
1.10
# perl -e ‘use Cwd; print $Cwd::VERSION.”\n”‘
3.25
# perl -e ‘use File::Spec; print $File::Spec::VERSION.”\n”‘
3.25
# perl -e ‘use File::Temp; print $File::Temp::VERSION.”\n”‘
0.19
# perl -e ‘use FileHandle; print $FileHandle::VERSION.”\n”‘
2.01
# perl -e ‘use IO::File; print $IO::File::VERSION.”\n”‘
1.14
# perl -e ‘use Time::Local; print $Time::Local::VERSION.”\n”‘
1.18
# perl -e ‘use CGI::Carp; print $CGI::Carp::VERSION.”\n”‘
1.29

– optional modules tested

# perl -e ‘use Net::SMTP; print $Net::SMTP::VERSION.”\n”‘
2.31
# perl -e ‘use Digest::base; print $Digest::base::VERSION.”\n”‘
1.00
# perl -e ‘use Digest::SHA1; print $Digest::SHA1::VERSION.”\n”‘
2.11
# perl -e ‘use CGI::Cookie; print $CGI::Cookie::VERSION.”\n”‘
1.26
# yum install perl-FreezeThaw

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-FreezeThaw noarch 0.43-5.fc6 extras 17 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

# yum install perl-CGI-Session

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-CGI-Session noarch 4.20-2.fc6 extras 120 k
Installing for dependencies:
perl-DBD-Pg i386 1.49-1.fc6 core 114 k

Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

# yum install perl-error

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-Error noarch 1:0.17007-1.fc6 extras 25 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

# yum install perl-GD

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-GD i386 2.35-2.fc6 extras 198 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

# yum install perl-HTML-Tree

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-HTML-Tree noarch 1:3.23-1.fc6 extras 206 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

# yum install perl-Time-modules

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-HTML-Tree noarch 1:3.23-1.fc6 extras 206 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

— (Time::CTime, Time::DaysInMonth, Time::JulianDay, Time::ParseDate, Time::Timezone)
— create virtual host

ServerName twiki.one-shore.com
ServerAlias wiki.one-shore.com

– edit dokuwiki virtualhost to remove wiki.one-shore.com from it

– create twiki.config file using the TWiki.ApacheConfigGenerator

– specify twiki lib directory

# cp LocalLib.cfg.txt LocalLib.cfg
# vi Locallib.cfg

– change ownership and run twiki 4.2 access script

#chown -R apache.apache twiki

# bash twiki.access.sh

– restart apache