After looking around a little to figure out what would be a good web application to use as the public example of my planned series digging deep into a test automation architecture, I’ve hit on the perfect choice: Entaggle.com
Entaggle is the brain child of Elisabeth Hendrickson. I had the chance to visit with Elisabeth while I was in San Francisco at her Agilistry studio, and she showed me what she’s building. Entaggle is a good size system for these examples, but at the same time is a real system with real functionality. It involves multiple pages, has some dynamic content, but isn’t so complex that it takes a long time to understand the functionality. It also has the advantage of having a staging server publicly available which allows us to test it without causing problems in production, and which Elisabeth has given me permission to use for the purposes of these posts. (If these blog posts lead you to want to test the entaggle site in other ways, PLEASE continue using the staging server for your tests so that she can keep the production server clean.)
For those of you who are unaware of the entaggle site, the site focuses around the idea of crowd-sourced “certification”. Once you register for the site, people can apply tags to you (or anyone else registered for the site). You can also tag yourself. These tags may help describe the relationship between the tagger and taggee (as in “Someone I’ve met in person” or “Someone I follow on Twitter”), they may describe attributes of the taggee (“A Clean Coder” or “Test Obsessed”) or they could be a hybrid of both (as “Someone I’d like to work with” is, given that it implies a measure of respect for the taggee but also reflects attributes of the tagger as well). Once a tag is defined, the person defining it can make the tag publicly settable (so that anyone can tag anyone else with it), settable only by the taggee (so you can apply it to yourself, but not to anyone else, allowing self-identification), or restrict the tag to a small group of people allowed to give that tag to people to avoid dilution of the tag. Once a tagger adds a tag to a taggee, the taggee has to first accept the tag before it shows up anywhere publicly (unless the tagger and taggee are the same person). This prevents someone from having to deal with incorrect or inappropriate tags applied to them. The site’s usage guidelines also limit the site to positive, real, and professionally oriented tags, designed to keep the site a pleasure to visit and avoid having it become a race to the bottom of mud-slinging and negative feelings.
I really like what Elisabeth is doing with the site. I think it’s a great way to harness our social networks. If you and I have a relationship, and show feelings of respect for each other in a positive way, then everyone who knows only one of us can see those respect indications and have better knowledge of the other person.
I was listening to the Quirks and Quarks podcast the other day, from Canada’s CBC (and specifically, the episode from April 16). In the last segment of the show, the host, Bob MacDonald, was talking to Dr. Kim Hill from Arizona State University. Dr. Hill is an anthropologist and was talking about how the fact that it was just as likely for young males to leave their family groups to find mates as it was for young females in early humans (in contrast to many ape species where it’s generally young females who leave the group. never to return) that allowed us to develop and achieve the accomplishments we’ve done as a species. In addition to both genders being the ones leaving, once children were conceived, the male was remaining to aid in the rearing of the children, and there were also more instances of couples going back together and spending time with the groups one of the couple had originally left. These elements together combined meant that the other members of the family group recognized that both family groups had interest in the survival of the children, and so were less apt to fight with each other. Because of networks like this, one human may interact with thousands of people during their lifetime. A typical chimpanzee (where the young females leave the family group after which there is little to no interaction across groups) may only interact with 15 other chimps in their lifetime. This bridge then expands outwards as different members of one group connect with members of different groups and makes cooperation much more possible, and allows us to accomplish things like space shuttles, which no one person could ever achieve on their own.
I think that Entaggle is fostering a similar sort of thing. To some extent, interactions like this have been going on for a long time – people give recommendations on others and use the source of recommendations they receive to add or subtract weight from those recommendations. Entaggle makes these interactions more visible and public, and I think this may prove a foundation for even more cooperation and communication and help us achieve even greater things!
So, that’s Entaggle. Elisabeth is still hard at work building out new features, and is actively soliciting feedback on the site and how it should grow. In the coming posts, I’ll start building out some automation around the site. (For the record, Elisabeth already has a great set of tests for the site, and doesn’t need my help with them. She’s graciously allowed me to make more tests, which she is free to merge into her suite as and if she wants.) I probably won’t create an entire test suite, but I’ll be creating enough to illustrate all the points I want to make. In the meantime, feel free to register at the site and try it out (remembering to use the production server for real tags and keep test data to the staging server at staging.entaggle.com). If you’re at a loss for who to tag, you could always tag yourself as a reader of testerthoughts.com! Feel free to tag Heather or me as well too, if you like!
Next post, we’ll dig into getting things set up for the automation, and after that, we’re into code!