On the suggestions of my classmates and instructors, I have revised my project plan to include more social elements and increase the degree to which gamification features are integrated into the operation of the site. My first draft was an overlay of a “helper” interface onto the existing Makahiki interface. While the Makahiki configuration and design tool which I eventually design for my Honors project may follow that design scheme more closely, that kind of application, which could run on a local installation without needing to interact with other users, does not lend itself well to blending in social gamification elements, such as community rating systems and recognitions of user contributions; it would be mostly a static system that changed only with changes to the Makahiki framework itself. A “social database” with community ratings for guides would work much better as a socially integrated web application.
A Draft of the Site Map
The web application contains a few mostly-static pages that link to the official documentation for Makahiki and its dependencies, as well as to the Github repository. Apart from that, the front page allows users to sign in and manage their guides. Anyone can view guides whether or not they are a registered user, but only registered users can rate guides and edit (their own) guides. Though this could also potentially use a wiki model like Ubuntu in which anyone can edit any page, this seems as if it would be just as difficult to implement if not more so.
I have created a few mockups that depict features I would eventually like to be able to implement, though it may not be possible to incorporate them all before the current semester is over. The goal of this “social help site” is to offer a means to rate the highest-quality guides and alert their authors to issues or problems with their guides so that they can be improved.
Mockups: Home Page
The navigation bar that is used throughout the site offers links to Makahiki information download pages and the Github repository; to official documentation for Makahiki, Heroku, and its dependencies; to a list of all user-created guides; to a search feature that searches for guides with relevant titles (or within the article content if there is time to implement full search); and to a login or account creation dropdown menu, respectively, from left to right. Site-related and Makahiki news appears in the center, while a collapsible dialog box lets a user know what the site’s purpose is. The sidebar lists the top 5 highest rated articles, with an option to view more. Recent site activity is listed in the left-hand column.
Mockups: User’s Page
Now that the user is logged in, many of the options which appear in the right column in this mockup will be accessible from the dropdown menu in the rightmost box of the navigation bar (e.g., logging out, editing one’s profile). This, however, is not the profile page; the profile page would be editable. Site news appears here as well; hypothetically, this could display new user messages instead. Users are able to send and receive messages to and from each other, and any comment which is marked as an issue is sent to the user’s “inbox” with a note about what article it came from. A summary of the user’s reputation (based on article score) appears in the lower-right-hand infobox. I have not planned out the rating system yet, and the +91 is entirely arbitrary.
Mockups: Guide And Ratings Modules
Each article will have a ratings module and possibly a statistics page. I have not figured out exactly how the commenting system will work, though I will probably separate it from the issue-reporting system and will definitely keep it to members-only commenting to cut down on spam. At this point, I am leaning towards only allowing registered users to rate articles. I am not sure how to handle article collaboration or if it will be supported by the system; at that point it might be simpler just to try to get some kind of wiki software running instead of basing the system on Makahiki. Ideally the application would support creating and editing HTML articles. I am not sure whether file uploads should be allowed as shown; this is a feature Makahiki supports, but offering an upload feature on a publicly accessible site comes with a security risk. The scoring widget shows what percentage of an article’s readers gave it which rating, which is useful in determining what the majority of users perceive an article to be. Scores on articles contribute to the ratings on a user’s page.
Though the previous version of this project was an overlay help guide with some badges added in, this version attempts to further integrate a user rating system to separate quality guides from the rest of the user content. It is intended to provide means of identifying authors who produce well-written articles and enabling users to point out problems in existing articles. Though this system does not explicitly use all of the features of gamification, it would allow users to track progress, be recorded as reporting issues, and compare the reputation of each others’ contributions. In the end, it may not be possible to implement all of these features in a Makahiki-based application as they appear in the mockups. Nevertheless, the goal is to mimic the user-contribution-rating features of sites like Stack Overflow (as described here by one of its founders, Jeff Atwood). Stack Overflow and its sibling sites are designed to encourage users who do not know each other to work together in pursuit of a common goal by enhancing each others’ programming skills. The goal of this social guides database is to enable users to post and collectively improve each others’ guides to configuring Makahiki. This will enable the user community to share new ways of using or modifying Makahiki which are outside the scope of standard software documentation but are still useful to those who are creating sustainability challenges.
Usernames in mockups are fictional. Any resemblance to actual persons, living or dead, is not intentional.