Friday, November 28, 2008

Creativity gone wild with mind mapping

Image by Trapac

One of our readers, Eduard, mentioned mind mapping in a comment in this post and I thought it would be interesting to share with you how I apply this technique to come up with ideas for blog posts.

Usually when we think about various creative aspects of our work, the tendency is to come up with an idea and then analyze it on spot. This is not productive, since it requires costly context switches. Mind mapping helps to avoid thinking linearly and it makes us produce as many ideas as possible first, postponing the analyzing phase.

I used the technique described here. The idea is to take the last five posts from your blog and brainstorm around them. For the purpose of this demonstration, I selected three random posts from our blog and set myself the task to come up with five ideas for each. The posts selected were:
A pen and a piece of paper could be ideal for doing this, as they make you step away from the computer and eliminate some distractions. On the other hand, working mostly with computers throughout time, I got to a state in which I type faster than I write, so I used an online application that is pretty fast in response.

The tool is called and it's a neat free web application, written in Flash. It that has some useful capabilities, like exporting the map to an image and collaborating with others, and some not very useful, in my opinion, like sound alerts.
Click on the image for a bigger version

Using mind mapping, I managed to come up with 15 different ideas in about 10 minutes, as you may see in the image. You actually only see the ideas, so you have to trust me for the time interval. Of course, it's not mandatory to write about everything that I came up with, but I got a couple of ideas to play with for new posts.

I find this technique to be as efficient as simple and I consider that it may be applied to a broad range of mental activities, like determining goals and directions for your projects, establishing new features, writing articles or letters, generating ideas for blog posts and also composing a post.

Wednesday, November 26, 2008

Clean up session in Google Reader

A few days ago I decided there was time for a clean up in the feeds I'm following. My aggregator of choice is Google Reader. I use it because it's sleek, fast and comes with some juicy features like graphs about your following habits compared to posting frequency.

Image by Eneas

If you don't know what a feed is, please check these 2 links:
My clean up process included some folders deletion, creation of others, reassigned existing feeds to various folders, unsubscribed from a couple of feeds I haven't been following in a long while.

Feedback on Teamness from Google Reader

In this post I described how we monitor Teamness presence on the web. Google Reader is playing a big role in this, being my RSS and Atom feeds aggregator. I grouped all the feeds obtained for Teamness search options described in the abovementioned post in a folder called About Teamness.

Google Alerts, with which I follow keywords of interest on the web, recently started to offer RSS feeds, besides email. I defined a couple of alerts with terms related to project management and collaboration and I saved their RSS feeds into Google reader. They went into a folder called Teamness terms.

Competition has to be followed from time to time, also. It has its assigned folder called Teamness competitors.

Structure of the feeds

Google Reader allows to put your feeds in different folders. These folders are actually like labels. Or like tags, if you prefer. Therefore, you can assign a feed to multiple folders. This is a bit confusing, even when you try to say it: "I assigned a couple of folders to my feed" or "I put my feed in a few folders" ... doesn't sound natural. I don't understand why Google didn't name them labels, as in Gmail, instead of folders. This post contains some brief thoughts about ontology and organizing data, if you're interested on the topic.

Anyway, getting back to my cleanup process, I made 15 folders in which I put (or assigned, or assigned to) my 117 feed subscriptions. Now, to be honest, I don't actually follow all of them. It seems fairly impossible to me, even though I heard about bloggers claiming that they're following more than 1000 feeds per day. Following doesn't necessarily mean reading. I came up with the organizational scheme described in this post in order to get the most from my feeds.

Getting neat with iGoogle

iGoogle is another gimmick from ubiquitous Google. It's a customizable page, where you can add gadgets such as weather forecast, joke of the day, news and many many more.

iGoogle has a gadget called ... hmm ... Google Reader which can show the feeds you have in the Google Reader itself. The nice thing about this gadget is that you can ask it to display only the feeds in a certain folder.

Therefore, in this revolutionary organization enthusiasm, I made two more folders, which I assigned to two Google Reader gadgets in iGoogle. These folders are called: Essential and Mild.

contains feeds which are highly important and which I check often, like 2-3 times per day. Mild contains feeds that are still important, but not as important as those in Essential, and gets read once about 1-2 days.

All that is in the folder About Teamness goes also in Essential. Some blogs that I want to follow frequently go there as well.

This setup is pretty neat and allows me to focus on what's important, or essential. I also don't miss other news, of lower importance, which I gather in Mild. When time allows, I can go Google Reader and browse through the other folders, like Photography.

Monday, November 24, 2008

Do you want to be satisfied?

Image by TheAlieness GiselaGiardino

We gave our forum up. We concluded it's a bit complex, a bit old fashioned and it was a different application from Teamness, which also needed maintenance.

So what does one in today's web world, when tools appear everyday for every need, do to offer a solution for its users to ask questions and interact? The answer could be outsourcing and this is what we chose. It means that we're now using another service to provide a way for customer support. This service is GetSatisfaction.

First of all, I think the name of this service is brilliant. You may create enticing phrases, like the one in the title, when you mention that you're using it. But besides that, they come with a bunch of cool features that make the service look like a forum on steroids.

Getsatisfaction offers a win-win situation, regarding customers and providers.

The former can go to a central point and see what other users are saying, interact with other customers, share opinions and so on. Like in a forum, but with a couple of twists.

The latter can get feedback in a structured way. For instance, if one person asks a question, others can simply click a button saying "I have this question too", increasing the number of people who would like an answer on the matter. So a company may answer a question once, instead of replying to a lot of emails. The same goes for ideas, praises and problems.

When you register a company or a service in GetSatisfaction, it gets assigned the URL Therefore I wonder what would happen if decided they want to use the service, since the page contains the story behind the tool.

We're really excited about the features offered by GetSatisfaction and we're curious how it will work for our customer support in the future. In other words, we're really excited to get satisfaction. (I told you the name is brilliant.)

So please, if you have any question or complain or suggestion or even praise about Teamness, use this link to get satisfied.

Friday, November 21, 2008

Data segregation and the Stockholm syndrome

Dreaming in code, the book I mentioned in this post from last week, follows the creation of a software tool named Chandler. At one point, the author makes a connection between how the development team is trying to make the data structures in Chandler as flexible as possible and intertwingularity, a term coined by Ted Nelson, who also came up with the term hypertext, to express the complexity of interrelations. Ted Nelson said that "people keep pretending they can make things hierarchical, categorizable and sequential when they can't".

Image by Nattu

I find myself many times organizing files into folders on my computer, but as time goes by, the data tend to get dispersed anyway. Then I end up procrastinating to clean up my files and directories on my hard drive again. On the other hand I'm using Delicious everyday to save and retrieve my bookmarks, without worrying about the structure.

We're not supposed to help computers into maintaining the data, but to put them to work. I wouldn't probably spend time creating folders on my hard drive, if retrieving the information by searching would be instantaneous.

I think that trying to maintain hierarchical structures turns us into some sort of data victims or as Patrick Mueller said, it makes us suffer from the Stockholm syndrome.

Image by cambodia4kidsorg

As I mentioned above, I keep my bookmarks on Delicious. I have about 1500 and the organization is based on tags. If I would've built a hierarchy for them I would be lost. It's easier to go to a tag and see other tags used in connection with that and so on. The same approach of archiving and searching is so liberating and it makes Gmail so easy to use.

Clay Shirky states the following in this interesting article about categories, links and tags:
One reason Google was adopted so quickly when it came along is that Google understood there is no shelf, and that there is no file system. Google can decide what goes with what after hearing from the user, rather than trying to predict in advance what it is you need to know.
He mentions that categorizing is similar to predicting the future, which turns out to be hard:
Consider the following statements:

A: "This is a book about Dresden."
B: "This is a book about Dresden, and it goes in the category 'East Germany'."

That second sentence seems so obvious, but East Germany actually turned out to be an unstable category. Cities are real. They are real, physical facts. Countries are social fictions. It is much easier for a country to disappear than for a city to disappear, so when you're saying that the small thing is contained by the large thing, you're actually mixing radically different kinds of entities. We pretend that 'country' refers to a physical area the same way 'city' does, but it's not true, as we know from places like the former Yugoslavia.

What about you, do you feel more comfortable building hierarchical categories or tagging information? What tools do you use that offer each of these functions or maybe both?

Wednesday, November 19, 2008

Teamness case study - wedding photography

Andris Zenta is a professional photographer from Latvia who specializes in wedding photography.

In the beginning, please introduce us to your work.

I've been working as professional photographer and illustrator for the last five years and recently I started to focus my interest into wedding photography. It's a very exciting field, but at the same time, exhausting. In any case, it brings me satisfaction both career wise, as well as from a financial perspective.

How did you find out about Teamness?

After shooting a couple of weddings by myself, I decided that I need two assistants to help me, one as a second shooter and one to take care of auxiliary tasks, like preparing the equipment or moving things around to set up scenes, allowing me to focus on taking the photos.

With more than one participant in this kind of project, there was need for a project collaboration tool. Since it was my first assignment with a team I wanted to try a free tool to see how it goes and I ran across Teamness by searching on the web for a free collaboration tool for teams.

I'm very satisfied on how it went and now I'm also seeing the benefits of using project management tool even if you work alone. It helps keeping you organized.

How did you use Teamness for your project?

I used Teamness so far for this wedding project I described, in which I had two assistants helping me.

Wedding photography is one of the most difficult tasks for a photographer. Everything must be very well planned, because you don't get a second chance to shoot the event. Preparation is then the key and Teamness helped us with being prepared.

A lot of details need to be settled prior to the event, like for instance dressing code. It doesn't seem like a photography task, but even if you're not part of the event, you need to blend in. This was written down in a whiteboard in Teamness which I named "General checklist".

The wedding had two parts: a first part in the church with shootings outside afterward in a nearby park and a second part taking place at the party, inside a location. We checked the weather for the day with shooting outdoors and stored the results in Teamness.

Prior to the wedding all three of us did some location scouting. We went to the established places and put down ideas for shots. We then discussed them in Teamness using messages and agreed on shot lists which we saved as whiteboards. I also prepared groups of tasks for my assistants and watched the activity on the dashboard.

What are the roles of every participant and how do you use Teamness for them?

I was doing the main shooting and one of my assistant was taking photos with a wide lens, covering more general aspects. We had a script prepared that list all the actions we needed and for each action I assigned tasks for my second assistant, like making sure to gather every member of the family at a certain time.

I established tasks for my assistants, first for the scouting session in which we simulated a real shooting and then for the wedding itself. The various stages were marked with milestones, for instance I had a set of tasks assigned for different talks with the couple: settings expectations regarding how many shots they want, what things to have covered and also the agreement based on which I charged them.

I made the equipment list for each bag, as different messages in Teamness and assigned tasks for the assistants to take care of each.

Are there any particular features that you value the most?

I liked that we were able to assign tasks to different persons and comment on them, so we agreed easily on every aspect. Building together lists of things to pack and do in whiteboards and seeing what everyone added was neat.

What would you improve in Teamness?

I would like a more flexible way of managing the items tied to a milestone. I would also like to see a richer editing feature for messages, in the same way as for whiteboards for instance. This was very helpful for us to accentuate on various equipment. I will stay with Teamness for my future projects, including a portfolio website that I'm preparing to build at the moment.

Thank you very much for your time.

Thank you.

Tuesday, November 18, 2008

Login through Google and Yahoo

In order to have an account in Teamness one needs an email address. The reasons for this are simple. Firstly, the email address is part of the login credentials. Secondly, Teamness sends notifications by email, so asking the users for a valid email address is a guarantee that they will have a good and consistent experience.

Delegating the login

By analyzing our logs we noticed that the most of the accounts were created with Gmail addresses. Yahoo came second.

In this case, why not take advantage of the authentication delegation mechanism from these services? Yahoo puts it best here: You build great web applications. We have millions of users who store their data on Yahoo!. Browser-Based Authentication (BBAuth) makes it possible for your applications to use that data (with their permission).

Why delegated authentication?

It's easier for everyone to remember her or his Gmail or Yahoo account, which she/he has been using for a while, instead of a new one specially created.

The decision to make it easier for new users to try Teamness was eased by the fact that both Google and Yahoo offer the support of delegating the authentication.

What about the existing users?

New users don't have to remember new passwords now. But what about the exiting ones, that already created accounts?

They can associate their Yahoo and/or Gmail accounts to the account they're already using. I can now use my old Teamness account, along with my Gmail and my Yahoo account, so I can use all these three to login into the same account in Teamness.

Is this safe?

Yes. The authentication process is delegated to Google or Yahoo, which ask you if it's ok for Teamness to access your details, consisting in your name and your email address.

If you're still skeptical, just think about this: why would Google and Yahoo give away users' sensitive data, like passwords? They won't and they don't do it.

You may find more information about these services in the following places:

Friday, November 14, 2008

The project triangle

I'm reading "Dreaming in code", a book trying to find the answer for this question: why is software so hard? It's probably fun to read for anyone who ever participated in creation of any type of software as it follows a project doomed to endlessly spin without getting close to the initial vision.

One paradigm that drew my attention lately is the Project triangle, mentioned in the chapter "Managing dogs and geeks". The project triangle is a painful formula coined in the software development field, which states that given the options of Fast, Good and Cheap, you have to pick two of them to build a system.

With the recent explosion of web 2.0 tools, I tend to think that the solution for the problem was nailed down. In my opinion most of the small companies releasing services on the web are first getting comfortable around the Fast and Cheap options, then releasing the product and after that iterating over Good.

Leaving Good at the end doesn't mean that the initial state of the product is unreliable. It means that the product is refined in time, following the feedback received from initial users to pump up the Good side of the triangle. Web 2.0 redefined the term Good from the triangle.

If you didn't read the book, I recommend it. Joel Spolsky wrote a review about it here.

Wednesday, November 12, 2008

Twitter pals

We are big fans of Twitter and with its growing popularity we believe it's a very good tool to make contacts. We recently started using Twitter to promote Teamness through it and we try to stay focused on this purpose, without being obtrusive. At the same time we watch what other people are doing and writing about.

To make our Twitter life easier, we're using a couple of related tools and in this post I'm going to list them with a short description:

Twitter Search
We mentioned Twitter Search already in this post, writing about the way we use it to stay up to date with Teamness being mentioned in the tweets.

When you include an URL into an update, Twitter converts it to a short one using TinyUrl. Tweetburner does the same thing, only that it tracks the links your URL receives. This way you would know how many people clicked on the URLs in your messages.

With FriendOrFollow you may easily see who you're following that's not following you back and who's following you that you're not following back. You may also see your mutual follow contacts. It's a fast way to follow back at interesting people who are following you already.

Tweet Scan searches Twitter and other micro blogging services and delivers reports on email or RSS.

This tool shows you how popular you are on Twitter. You'll get a nice graph with the daily status of your followers, so you'll see how many more are following you day after day. Or, sadly, how many stopped following you.

Yoono is a browser add-on that aggregates social networking information and keeps it in one place. It comes in very handy especially if you're active on a few social networks and you want to handle all of them from one place.

No matter what are the tools used, make sure you use Twitter for business the right way. As written in the post, it's more valuable to actually interact with people than hastily promoting your products.

Here is another list of Twitter related services and in this post you'll find a presentation of five ways to connect to people on Twitter.

Monday, November 10, 2008

Working in a virtual team

Managing the work on Teamness is done entirely virtual using basically two environments: Teamness for all kind of data and Gmail. In this post I write a few thoughts about being part of a virtual team.

Image by Zed.Cat

Virtual team allows for mobility, but mobility doesn't mean absence. You need to work on your virtual presence and in today's world there are plenty of online tools to ease this process. These solutions are moving teams beyond phone and email, giving more and more space to other means of communication.

Stay up to date with what your team work. Micro blogging platforms like Twitter increased the frequency of achieving this. Posting five times per day about work related activities may replace the little chit-chat on the corridors in a real office. Everyone in the team may participate to these virtual discussions and you can even organize virtual coffee breaks while actually drinking coffee.

Looking at the results rather than activity is the efficient way of managing a project and the virtual world makes this task even easier. The list of completed tasks shows clearly if you were just busy with unimportant issues or you were focusing on being productive.

Don't use IM for business. IM instigates to chat and to endless discussions around the same subject without drawing conclusions. This is not what you need to get the job done. However, if you started twitting, make sure you're not transforming this into a new IM environment.

Eliminate meetings with a project collaboration tool. In my opinion, the only good thing about meetings is brainstorming. Use messages for that. Establish deadlines with milestones and create tasks for things that need to be done. Discuss those using comments, to clarify all the aspects. A summary of the work done can be obtained from the dashboard.

Connect personally with your colleagues. As Chris Nagele points out in this post: "nothing helps a team gel more than learning about each others personal lives". But it's not very difficult anymore to get connected with your colleagues. Social networking websites help sharing profiles about team members. Connecting with your colleagues on Flickr and looking through their photostreams you'll find out things you would otherwise talk about near the water cooler in the office.

Be consistent in using these tools. Doing this builds trust in time and eases the interaction with the team. Each member of the team would know what to expect from the others.

If you're working remotely or if part of a virtual team, you might want to also checkout FreelanceSwitch. If you're travelling a lot, Portableapps has a large collection of software that works on any "USB flash drive, iPod, memory card, portable hard drive or other portable device".

Wednesday, November 5, 2008

5 questions to ask yourself when evaluating project management tools

Students participate in online groups to chat and share information. Small companies use emails for communication and network drives for storing documents. Non-profit organization may rely on a free online solution. Software departments could keep the schedule in an Excel file. Some individuals use notebooks and pens to put down appointments in a paper agenda or type reminder items in an online or desktop solution on the computer.

The name and the complexity of the tools used vary with the type of organization and the activity performed. Every organization, from big companies to individuals, uses a mechanism for project management, even if they don't call it like this.

Image by El Fotopakismo

In this post I will try to identify a few preliminary questions that may be asked to asses the needs for an online type of project management solution. It is not meant to be a complete and exhausted list of questions, but more of a guide for choosing a solution that will best suit the needs.

1. What is the structure and behavior of your organization?

Project-driven organizations have different internal processes than functional-driven ones.

Examples of project-driven organizations are: a construction company who builds wooden houses, a group of students working on a class assignment or even a wedding photographer doing assignments.

A functional-driven organization is usually a service or information company, like a small family hotel or a department in a bank working with processing checks. Such an organization may need to define either small multiple projects, which can be archived when becoming inactive or define fewer ongoing ones for each type of activity.

2. What is the complexity of your projects?

The number of people involved and the estimated activity must be taken into account. A project generating a lot of data, with a high posting frequency needs a fast solution on the web and options to filter and group the data for easier retrieval. Searching is a must, since it's easier to archive and look for, instead of spending time classifying the data.

3. What is the life expectancy of a project?

Some projects don't have a deadline, like an on-going activity for a functional-driven organization. They may require task grouping under milestones, though. A project with a long life span faces the challenge of getting old data out of the way, but being able to retrieve it at any times.

Image by lumaxart

4. Are the projects internal?

If everything is public for everyone in the project, a solution with complicated privacy policies is not needed. But if you need your clients to have a peek once in a while, you probably don't want to expose everything from under the hood.

5. Are you already using any software for disciplines related to your activity?

If there is already an established procedure for certain disciplines involved in the project, like requirements management or issue tracking, the transition to the new solution must be as smooth as possible. The learning curve for your team should be as easy to climb as possible. Trying to keep the same type of workflow can save a lot of time.

This list doesn't cover many aspects related to choosing a solution, for instance there is nothing about security. I wanted to keep the list focused on the workflow of the team.

Simple tools like online todo lists, text or Excel files may be more efficient than a complex solution, so it's important to identify the requirements prior to deciding for a given solution.

Sunday, November 2, 2008

Blogging for a startup

A lot of blogging resources recommend having a blog for your business. A blog can be useful for various reasons, the most important one being that you may promote your product.

I believe that for promoting the product, the content of the blog must be interesting enough for people which are not familiar with the product to come and read the posts. Then, they find out about the product and use it, fulfilling the mission of the blog and not the other way around, having the product sending readers to the blog.

Image by El Fotopakismo

Some of the general reasons mentioned for having a blog as a business include:
  • Announcing new features. This is good, but then your readers would be the users of your product. Who else is going to read a list of upcoming new stuff you worked a lot upon, other than the already existing users? In Teamness, we made a special page called News, where we're adding information about new features. There is also a RSS feed provided for this News page. This way, we spare the users who are only interested in the product to spend time going through our blog posts.
  • Frequently asked questions about the product. Why spread them around posts in a blog, when you can display all of them with a searchable feature in your website? In Teamness we gathered them all under the Help page. We also implemented a mechanism to offer contextual help, by sending the user directly to the questions in Help referring to the page she/he started from.
  • What are you working on. This is also related to announcing new features. It might be interesting only for existing users.
  • A mix of the above. Not such a good idea, in my opinion. As problogger describes it, writing about multiple topics on a blog makes users "became disillusioned with the blog". People wanting to know if a new feature is available will become annoyed by other types of posts.
Then, what's left to write about?

Many of the advices found on the web regarding blogging for business omit the fact that as a startup, you would want to maintain a blog in order to get users for your product. Therefore, we think that the blog has to become attractive, independently of the product.

We are continuously trying to find subjects to write about in order to keep this blog interesting. We found two interesting directions:

Writing about Teamness as a startup and the way we try to grow Teamness as a product. We often find blogs on the web for various products which write about their development process and it's an interesting and useful resource.

Writing about product collaboration and management methodologies and how can these be applied to small businesses. Teamness users are people working and collaborating on various projects. Having this topic on the blog could bring new insights for some and could introduce Teamness to them.

What's your opinion about blogs for businesses? Also, what subjects would be of interest to you on this blog?