pyOpenSci / software-submission

Submit your package for review by pyOpenSci here! If you have questions please post them here: https://pyopensci.discourse.group/
92 stars 36 forks source link

Presubmission inquiry for cardsort #101

Closed katoss closed 1 year ago

katoss commented 1 year ago

Submitting Author: Name (@katoss)
Package Name: cardsort One-Line Description of Package: A python package to analyse data from open card sorting tasks

Repository Link (if existing): https://github.com/katoss/cardsort


Code of Conduct & Commitment to Maintain Package

Description

Card sorting is a standard research method in the human computer interaction field to design information architectures. The cardsort package analyzes and visualizes data from open card sorting tasks. Using csv data in the format returned by the kardsort tool (or any other tool outputting the same columns), it outputs a dendrogram based on hierarchical cluster analysis and pairwise similarity scores. It can also return category labels to learn which labels study participants gave to combinations of cards from emerging clusters.

Community Partnerships

We partner with communities to support peer review with an additional layer of checks that satisfy community requirements. If your package fits into an existing community please check below:

Scope

Scope

Domain Specific & Community Partnerships

- [ ] Geospatial
- [ ] Education
- [ ] Pangeo
- [ ] Unsure/Other (explain below)

The target audience are researchers or practitioners in human computer interaction and user experience. Open card sorting is a popular user research method used to understand how people order and conceptualize information, in order to design information architectures. In order to make sense of the data, clusters are often visualized in form of a dendrogram. To do so, pairwise similarity scores need to be calculated for all cards, followed by a hierarchical cluster analysis. This functionality is provided by the cardsort package. It also offers functionality to return category labels, in order to learn which labels study participants gave to combinations of cards in the emerging clusters.

I did not find any python packages, nor other open source tools, that accomplish this, which was my motivation to make this package, when I was running a card sorting study in the course of my PhD. While research articles describe the steps of this analysis (i.e. pairwise similarity scores --> hierarchical cluster analysis --> dendrogram, see articles linked in question above), I did not find any open source tools that help to do this analysis. I used the widely used kardsort.com tool to collect the data, which refers to rather dated, closed source Windows software for analysis, which underpins my assumption of a lack of open source tools. The approach is rather simple, making use of scipy for hierarchical cluster analysis and dendrogram, adding a custom function to create the similarity scores, and putting everything in an easy-to-use pipeline. Nevertheless, in doing so, I think the cardsort package can help remove barriers for the application of this user research method (easy to use even for python beginners, no need to use closed source software that only runs on windows or expensive subscription tools). In any case I would have liked to have this package when I started my study :)

P.S. Have feedback/comments about our review process? Leave a comment here

NickleDave commented 1 year ago

Welcome @katoss! Thank you for opening a detailed presubmission issue.

cardsort is definitely in scope.

Please go ahead and make a full submission, referencing this issue by number. You could also mark data extraction and munging as additional categories.

Once you do so I'll close this one. Thanks!

katoss commented 1 year ago

Thank you @NickleDave ! I just added a full submission

NickleDave commented 1 year ago

Thank you @katoss and thanks for linking the issue!! I'll close this one.
@Batalex will do the initial checks on #102 and take it from there