Thursday, December 27, 2007

profile schema added

I put together a schema for profiles, which includes data definitions for profiles (login and password), results (session data), and Leitner progression tracking. The schema is on the page with the Flip docs.

I can't recall if I have covered what Leitner progression/tracking is in this blog yet or not. Sebastian Leitner was an Austrian commentator who developed a system of memorization based on spaced repetition. As a concept was successfully passed, it progressed from one stage/bucket/box to another until a certain point where the concept is considered "memorized". When the learner failed to pass a concept, it regressed or even reset to the beginning point. A system for Leitner-based tracking is considered a required feature in flashcard applications, or in my case, drill and test processors.

Flip presents a slight challenge for Leitner-based tracking because cards can have more than two sides and validation is typically on a side by side basis rather than a card by card basis. Therefore, progression through Leitner stages can differ between sides of the same card, or if so designated, progression could be on a card by card basis - an all-or-none basis where all response sides must be answered correctly for progression to occur or the card regresses. I have not accommodated for this option yet in my designs, so I will have to determine where such a designation best fits and add it to my designs. It will be part of the profile schema if it is incorporated, but I need to think it through and how it would be implemented. If it is too difficult I may eliminate the choice and simply go with one validation option or the other.

I also need to incorporate options in the application that allow the user to designate how many stages their Leitner tracking can have. Ten is probably more than adequate, but the schema has twenty as the max. There needs to be fields where the user can designate how far a correct response progresses and how far an incorrect response regresses (including an option for reset). Defaults will be +1 and -1.

Labels: , , ,

Saturday, December 15, 2007

security model

I was thinking about the security model for Flip the other day. As I have it currently, the security is maintained as a part of the file itself. But I need to re-examine whether the security should be part of the file itself, maintained separate from the file, or whether the user should be provided the option to decide where the login and password is maintained. Part of the consideration has to do with Leitner tracking.

Leitner tracking is a model whereby the memorization of a concept is quantified with boxes (or buckets to use a development term). Once a concept hits or exceeds a certain threshold, the concept is considered memorized. Answering the concept or card correctly advances the score for that concept towards the memorization threshold, while wrong answers decreases the score away from the threshold (or resets the score to zero altogether). More advanced models provide means to customize the incrementation and decrementing associated with correct and incorrect answers as well as set the thresholds for what is considered memorized. I still need to design the Leitner tracking system for Flip.

Maintaining the tracking file for each user has its advantages and its disadvantages for both inside the file and outside the file. If the file is maintained inside the file, then the Leitner tracking can be maintained as the file is moved from one computer to another, but the file size gets larger, quicker. If the file is maintained outside of the file, then the file size doesn't grow too large, too quick, but the tracking resides on one computer and you lose that tracking if you use the file on another PC. The best option is probably to maintain the tracking in an online repository so that the file size does not grow too large and the tracking can be accessed from one computer to another. This might even lend itself to online accounts individuals can create where their tracking, results, and analysis is maintained. The accounts could also have online communities dedicated to certain topics and offering online help in those areas of study. It wouldn't be necessary to use the application, but it might be an added benefit that some people would be willing to pay a little extra for.

I had to authenticate my computer for using SalesForce at home today. It finally dawned on me how useful that is to prevent hackers from stealing a password and using it from their computers. It's definitely a model worth following when I finally put together my company. I'll have to ensure that logins are people's email addresses the way SalesForce does. The more I think about the Software as a Service (SaaS) model, the more I like it.

Labels: , , , ,