Archive for August, 2010

SPoE Roles Vs. Classes

One thing I knew going into creating SPoE was that there were two types of users, Reviewers and Authors. Authors are essentially Reviewers with an expanded view. Since I’ll be using Spring and MVC, it made sense to make Reviewer a model class and Author a child class. Then I could simply add the functionality to Author as needed.

I’m starting to rethink that; Spring Security has the concept of Roles, which I’d originally planned on reserving for regular users and admins, but now I’m thinking that it might be a superficial distinction. Perhaps I’d be better off with the following:

  • Person Model: Everyone who visits the site belongs to this model. There are no roles by default
  • Reviewer Role: Anyone logged in would receive this role. can view snippets and
  • Author Role: Anyone who has submitted a snippet would receive this role in addition to Reviewer role
  • Moderator Role: Given to a select few to make sure that people are behaving. can remove snippets and critiques.
  • Administrator Role: assigns moderators, bans users, etc.

Knowing now how spring security works, this seems the better option. Any thoughts?

SPoE: Slow but steady.

So I have a few user stories; time to start putting the infrastructure together. So What have I decided on so far?

Language: Java
Framework: Spring*
Repository: Subversion
IDE: Eclipse
Continuous Integration/ Deployer: Hudson
Build Automation: Maven2

I’m in the process of getting all my pieces together and in place. I’ve set up a subversion repository and eclipse. I have a very basic .war file setup committed and a maven script to build the war file. Every five minutes, a Hudson job polls the repository and rebuilds the warfile, then deploys it to JBoss. It’s a pretty sweet setup despite it only deploying a “Hello World”.

Now I need to refresh myself on Java and learn Spring.  This leads me to my first task:

Card SPoE-0001
User Creation

As a User, I want to be able to provide a preferred username and email address to create an account.

Status: New
Version: 0.0.1
Component: User account
Original Estimate: ?
Time spent: 0
Time Needed: ?

Going into this, I’m familiar with MVC framework in Rails, so I’m guessing the concepts aren’t much different for Spring MVC I’m still new to this process(Java webapp layout, Agile and Spring), so if you see any mistakes or have suggestions, please let me know. If you’re interested in helping me with development,

*Despite suggestions of both Struts and Spring, I went with Spring after scientific investigation.

SPoE: User Stories

This is intended to be a set of user stories/use cases for the author beta-reader site I intend to build (the initial article can be found here).

The purpose of this project is to create a site where Authors can go to have their content beta-read. Site is meant as an author-to-author tool for critiqing snippets.

User Stories

User Account theme

  • As a user
    • I want to be able to log into the site [done]
    • I want to be able to create an account [done]
    • I want to be able to change passwords [done]
    • I want to configure profile information [done]
    • I want to be able to recover passwords via email [done]

General User stories

  • As a user, once logged in I want to see snippets that can be critiqued
  • Users should be able to log into to see an interface where they can submit a snippet or critique a snippet.
  • There should be two classes of users; Authors and Reviewers. All users start out as Reviewers and see a Reviewer interface, but can be upgraded to author status by submitting a snippet.


  • As an Author, I should be able to upload a doc file or paste plain text snippets.
    • Authors should have a simple interface for pasting plain text to submit a snippet.
    • There should be a separate field for the Authors to explain their content.
    • Authors should be able to tag the snippet similar to
    • Authors can use a “word replacer” to replace characters names if they wish to keep things secret.
      • Must be capitalization agnostic
    • Must rate content: mature audiences(default), young adult, everyone
  • Authors should see a list of their uploaded snippets as well as critiques for each one
    • Authors can mark snippets as public or private
    • Authors see new critiques along with the user
  • Authors have the ability to create psuedonyms
  • Authors need to be able to give feedback on reviewers on how helpful it was

    useless — non-useful — Acceptable-feedback — above useful — extremely useful

  • Authors can request reviews via the buddy system- They post their snippet and are presented with a group of snippets of a similar size and can buddy with another author
  • Each uploaded snippet can have multiple critiques


  • Reviewers set their default review preferences- i.e. “what they’re willing to review”
  • Reviewers interested in short stories can select a posted snippet via a set of filters, which default to their preferences
    • Snippets appear anonymous to the reviewer.
  • Reviewers can select a story based on a one-sentence substring example
  • Reviewer reputation based on author feedback of critique
  • Reviewers can become authors when they wish to post their own snippet
  • Reviewers can rate a snippet on the following scale

horrible read — boring read — Average read — good read — exciting read


  • Multiple length categories:
    • Paragraph
    • Scene
    • Chapter
    • Short Story
    • Novella

Reviewer Tool

  • Reviewer should be able to insert comments inline, highlight text, or cross off words
  • Reviewer needs to be able to save/autosave their comments as they work before submitting them
  • Should have a googledocs-collaboration feel

Tech Requirements

  • Should authenticate with OpenID credentials

Why would someone want to be a reviewer?

  • Become a better author themselves, even if they don’t submit a snippet
  • assist new authors
  • have your voice heard on what’s wrong with modern writing
  • read something new without the commitment of reading a whole book
  • taste test new authors and genres

Why would someone want to be an Author?

  • Anonymous feedback on your book
  • Help fellow authors
  • Network with other authors
  • May help alleviate writer’s block

If you have any suggestions or feedback, please let me know.

Beta Reading and the Quest for Critiques.

I’ve written three books- not my cheesy guitar tab book, but three actual manuscripts. The problem I have is editing; I can’t seem to make it good enough to show to others. This is fairly common with authors (I’m told), so I’m not really surprised by it. One coping mechanism is to have a beta reader review parts of your work and give you feedback.

Jackie has been harping on me pretty hard to find a beta reader to review some of my work, which will hopefully give me the confidence to press on and get past the nine-month-long editor’s block.I finally broke down and had Jackie ask around for a beta reader (since she runs LiteraryEscapism, she knows the right people). From there I was directed to a site dedicated to providing manuscript critiques.

I tried to give it a go, but the flaws with the site quickly showed themselves; user accounts were created manually, usernames were incrementally created (i.e foobar12332), and separate basic auth was required with every manuscript you wanted to critique. The critique process was ugly, and afterwards I didn’t even get credit for the review I did (you have to trade reviews for critiques, like an old warez FTP ratio). There were enough things within the first 2 hours of using that site to convince me not to use it.

What bothered me most was that it was a good idea, but the implementation was horrible.  Within minutes of using the site, I knew I could design better. This is honestly a fortunate turn of events; I’ve been looking for a project to learn java web development since that’s what I support during my day job. On top of that, the new place is deeply entrenched in agile methodology, which I’m only partially familiar with.

So my books have been (yet again) left by the wayside as I begin a new development project.

How Does my Garden Grow?

Not too great, to be honest. Some things grew great only to not produce, while others were surprisingly abundant. Starting from left to right, these are notes for myself for next year.

Parsley: Survived the winter only to be transplanted to a planter and die. Next year will keep it in the ground.

Chives: Gangbusters. more than I’ll ever eat. Will keep them around.

Cillantro: Seeded out too quickly, but produced well. I need to figure out a staggered growth approach for next year.

Jalapeno: Several plants, most grew very well. I made the mistake of interleaving rows with Broccoli- the jalapenos in between didn’t get enough light and are small.

Broccoli: Jury is still out. It’s much bigger than I thought and barely starting to produce- the first one is turning brown, leading me to think it either didn’t get enough water, or they’re all gonna go bad. Lot of wasted real estate.

Basil: Plenty grew in, don’t have a food processor for making pesto.  can probably plant less next year.

Sage: Only one survived, haven’t used it. Sorta sickly. May not replant.

Oregano: Slowly but surely growing. Should be crazy growth next year.

Roma Tomatoes: Damn squirrels are stealing them, a few had bugs. Nothing salvaged. Need to cage from squirrels next year, otherwise don’t plant.

Green Beans: The surprise of the year, they came in fairly well. Enough once a week for 2 people. Next year we’ll plant a few more so we can have enough for everyone. Note that garden green beans are not vines, so don’t bother putting in cages.

Leaf Lettuce: Grew great, would be better if I ate salads. May try Iceberg next year since this was surprisingly tall and blocked much of the garden.

Carrots: Jury still out- can’t tell how well they grew until we harvest. Lettuce hid them, so I’m not sure they’ll be very big.

Corn: A travesty. Over 6 feet tall until the squirrels descended. Completely ruined. Don’t plant again at this address.

Georgia Onions: Jury still out; the one I did dig up early was expectedly small, but fairly tasty. Requires a lot of real estate for something that can only be harvested once.

Green/Red Peppers: Only two so far, but they turned out nice. May plant more next year. Good for fajitas.

Patio Tomatoes: Got half a dozen before the squirrels found them- I liked them quite a bit. Small and meaty. Need to protect them

Cucumbers: Only one has grown so far, and squirrels chewed it up. Probably won’t try next year.

Raspberries: Produced a lot in the spring, just an ugly bush now. Will keep them going.

Blueberries: Barely anything produced, nothing edible. Will give them one more year.

Stawberries: Need more real-estate. May try flowerbed out front.

Rosemary, Pumpkins, Watermellons, and cantaloupe didn’t take.

So what’s the plan for next year? This is what I’ve decided so far.

Salsa makings: Cilantro,  Jalapenos, Onions, Garlic, Tomatoes

Fruit: Stawberries, Raspberries

Veggies: Green beans

Spices: Oregano, Basil, Chives, Parsley

Go to Top