drupal

A unit testing success story

Posted in | »

This summer I was accepted to Google Summer of Code to build a memetracker application for Drupal.

I want the Memetracker module to facilitate online conversations amongst distributed communities. For my dream to become reality, Memetracker will need help from many talented developers. This summer I'll be setting a solid foundation for future development of the memetracker module. One important thing I'll be doing is writing unit tests for all the functions of the memetracker. Unit tests, I'm convinced, is one thing Memetracker needs in order to ensure its long term success.

Submitted by Kyle Mathews on Tue, 07/01/2008 - 21:46

Announcing the first alpha release of the Drupal Memetracker module

Posted in | »

I recently made my first alpha release of the Drupal Memetracker module. You can download it from the project page on the Drupal community site.

An screenshot from the latest code:

Screenshot 6/27/08

Submitted by Kyle Mathews on Tue, 07/01/2008 - 21:26

My blog is now running on Drupal

Posted in | »

I spent the morning converting my blog from Wordpress to Drupal. I figured that since I build all my sites using Drupal and I'm building a memetracker module for Drupal as part of Google Summer of Code, I should switch my personal website/blog to Drupal. Wordpress is a great blogging platform but I'm glad now to be on Drupal.

Submitted by Kyle Mathews on Sat, 05/17/2008 - 18:24

I've been accepted to Google Summer of Code

Posted in | »

I'm very excited to announce that I've been accepted to participate in the Google Summer of Code program. I will be writing memetracking software that will enable anyone to set up a Google News or Techmeme like site on any topic. Do you want to develop a news site following economic news? You can with my software. Do you want a site that tracks the latest Facebook Application development news?

Submitted by Kyle Mathews on Tue, 04/22/2008 - 03:59

Drupal Memetracker Module -- My Google Summer of Code Application

Posted in | »

Executive Summary

I propose to write two modules for Drupal as part of Google Summer of Code. One called memetracker and the other called machinelearningapi. The memetracker module will use algorithms in the machinelearningapi to intelligently filter and group content from designated content sources both internal and external. The module's purpose is to find and display to a community in real time the most interesting conversations and memes within the community as they emerge.

Submitted by Kyle Mathews on Fri, 04/04/2008 - 23:03

Power Law Graphs from classroom community website

Posted in | »

Researchers have shown that the distribution of many natural and social phenomenons follow what's called the power law. Power laws are known by other names such as the 20-80 rule (80% of wealth is controlled by 20% of the population), the long tail, Winner-Take-All, etc.

Here is an example power law graph from Wikipedia:

Power Law
Many have written that almost all measures of web site usage follow the same pattern whether that be page views, in-bound links, etc.

This past semester I built an e-learning site for two sections of an upper-level university course at Brigham Young University. Now that the semester is finished, we've started to analyze the data we've collected on how students used the site.

And what did I notice when I started to graph the data? Why the power law of course.

So onto the graphs I made.

First is a graph of the number of comments each student made on the class website throughout the semester. This is a good measure of their engagement with the online community. You can see that some students left as many as 40-60 comments throughout the semester and others left as little as 1 or two:Number of comments made by each student
Another graph which follows the power law. This time a graph of the number of visits to the class website per student. Again we see a wide disparity between students. One student visited the site over 400 times! Which in a four month semester means they visited the site on average 3 times a day! And on the other end, a number of students only visited the site 5-10 times the entire semester.
Number of visits to the site made by each student

Why the Power Law?

So why does this happen? Why do some students participate on the class website so much more then other students? I'm not sure I know the answer to that. Why do some people write blogs, participate in Wikipedia, upload their photos to flickr, etc. and many others don't?

Do some students just not see the value of blogging? Are some students more comfortable interacting online for whatever reason? Or on another tact, does it matter if some students participate more then others? After all, in any community, there's always a core group which cares much more then others about the success of the community (read about the power law of participation). What type of participation in an online learning community meets the learning goals for a classroom?

There's a host of other ideas rumbling around in my head about power laws, the three types of networks (political, social, creative) and how all this relates to creating effective online learning/collaborative environments. But that will all have to wait for another day. In the meantime, here's some links.

Extra Credit Reading:

Read these two articles by Ross Mayfield, first this one, then this one.

Then two by Clay Shirky, "Power Laws, Weblogs, and Inequality" and "Social Software and the Politics of Groups."

And one more on building vibrant communities.

Submitted by Kyle Mathews on Fri, 02/15/2008 - 18:18

New elearning website

Posted in | »

I've been putting some final touches on a website I built for a class running at BYU this semester on web analytics. You can visit the site here. I did a write-up about the site for Drupal's education working group. I discuss the design principles that guided my construction of the site.
A bit from the write-up:

Submitted by Kyle Mathews on Sat, 02/02/2008 - 17:58

What I've been up to lately

Posted in | »

I've gotten involved in a number of new projects in the past 6-7 months so thought I'd update y'all in what I'm doing.

School:

After a lovely summer break with no school and my time spent vacationing and working at a number of jobs, I came back to BYU for my first semester in the Masters of Information Systems program. But, as my classes this past semester were pretty boring, I won't mention school anymore here.

E-commerce websites:

I've built two e-commerce sites over the past six months using Ubercart (a fantastic open source shopping cart -- if you're in the market for that sort of thing). Ubercart is a module (cf. plugin/extension) for Drupal, an open source content management system, another technology I've been working with extensively.

This past June, with two friends, I started a t-shirt company running out of our apartment. As the lone techie, I built our website at coolcamisa.com. By our expectations, the company has been a rousing success (i.e., we didn't lose money)! We paid back our start-up costs by September (2 1/2 months from launch) and have netted some two grand since then. Not bad for our little apartment-based bootstrapped business. I've learned tons about starting a business, legal stuff (we organized as an LLC), pricing, marketing, website development, etc.

My second e-commerce site I started just recently. A good friend of mine, Nicole Sheahan, released her first CD in December (She's an excellent singer btw, so go buy her cd). I've been helping her set up a website to sell / market her music. The site is still a work in progress but it's amazing to me how fast it has come together. I've been working with open source software for awhile but I'm still impressed that I can singlehandedly put together a fully functional ecommerce store in under 10 hours for no cost other then my labor. That's the power of a community.

Other (Drupal) web sites:

With a friend, I've been volunteering to build a website for the Utah Valley Ministerial Association. The website will have news and events from churches in Utah County and serve as an online directory of churches in Utah County and surrounding communities. The site is not yet fully operational but it's soon in coming. Drupal's "Views" module was the real workhorse here slicing and dicing the church listings for display in a number of different ways. As you can see on the website, the different "views" of the data enable a user to find churches by city, denomination, or language.

Family History Site

Because of my Mormon heritage, the genealogy of my ancestors is very well done. Most of my ancestoral lines are traced back to the 17-18th centuries. About two years ago, my siblings/parents and I decided that while it's great to have names, dates, and places from our ancestors, what is really interesting is to read the stories and letters they wrote and view pictures of them and where they lived. These stories/letters/pictures/etc. flesh out the skeletal data we see on the normal family history tree.

But while current genealogical software does very well at organizing, storing, and sharing genealogical data, it does a poor job at handling other types of information. Documents and pictures tend to get lost in attics of aunts/uncles/grandparents. If you don't have them, they're hard to get hold of and you have them, they're hard to share with relatives.

We decided the best solution to this problem would be to create a website. Our first answer was a wiki website. The wiki software made it easy for our widely distributed family to work together on gathering information. But after some time we grew dissatisfied with the limitations of our wiki software and decided to migrate our site to one based on Drupal. That migration is still in progress but we're excited as Drupal will give us much more control over how information is stored and displayed (albeit with a great deal more complexity).

A New Job

In June, I started working as an research assistant at BYU in the Kevin & Debra Rollin's Center for eBusiness.

I'm working with a professor and a pH.D student studying how web2.0 technologies can be used in the classroom to help students become more active learners.

So far I can say this is the best job I've ever had. What I'm doing and learning just fascinates me.

Our main research thrust this past semester was creating a community site for a class to use at BYU -- http://isyscore.byu.edu/drupal.

We have learned a lot from the experience -- and it's given us mountains of data to sift through -- more on that in the future hopefully. Building the site showed me again the power Drupal gives a website developer (even if they really don't know what they're doing) to create sophisticated sites.

My other big project for my research job is creating a new module for Drupal called writing_assignment. This module will make it easy for teachers to give students writing assignments on a Drupal website. It will also facilitate easy peer-review and peer-grading of those assignments. This is my first Drupal module plus my first extensive project in PHP so I have faced quite the learning curve. You can read more about my module here.

Submitted by Kyle Mathews on Wed, 01/02/2008 - 01:56