Tag Archives: webdev

Search-building: custom or Google

Until earlier this week, I had a lousy site search in place. It was one of Google’s Custom Search Engines, barely configured and only on its own page, due to it’s hefty (and blocking!) JavaScript. I’d long since disabled WordPress’s search since my stories aren’t being run in WordPress, and I didn’t feel like trying to chew on the internal search mechanisms to include the stories.

Last week, I started playing around with a project to create my own (Python) site search, including a crawler and Whoosh-based search. I’d seen the implementation of a Lucene search in Zend go fairly easy-peasy, and liked the idea of a self-hosted search.

Problem is–well, one of the problems is–the crawl time for a site with 1200 posts (most of which are low-priority) is a deal-breaker on a shared hosting provider. It takes far longer than 5 minutes just to collect the links, even with multiple threads. Add the parse time to get indexable content for 1200 pages, and I was stuck contemplating how to crawl and index the site in parts.

This sounds like a great, fun, project. …Except that it’s already been done and I have other things I’d rather be doing. Google did it; their index for my site updates surprisingly quickly and doesn’t make me afraid that Dreamhost will smite me. (I’ve been with Dreamhost for several years now, and while I’ve learned how to properly deploy a site since moving here from… Brinkster, was it?, I don’t relish the idea of learning a new environment for all the stuff I run here.)

So instead of the 4-5 hours I’d spent screwing with the Ikea-esque assembly of a site crawler and search, I spent two this week really making Google’s Custom Search Engine (CSE) work for me. Yes, there are ads. Yes, it’s not a solution that I own. (Then again, neither is my email, in that sense.)
Continue reading Search-building: custom or Google

Weekend linkage

Just a few, since I’m so far behind on my reading (down to 425 unread items!) and I just posted a set on Friday. Enjoy.

Weekly linkage

This week’s internet cruising:

  • A Beginner’s Guide to Website Feedback – If I can wrap up and launch this damn character sheet app, stuff in this post will be handy for when it betas, especially the surveying. I suspect the LARPing audience will be sufficiently… opinionated to speak on it.
  • Six Useful CSS3 Tools – Some of these are pretty slick, if you're moving into CSS3 development.
  • Sharpening the blade, part MCMXVII: Nine Amazing Hours. – This is incredibly cool, and I plan to use it for a bit and see if it helps me focus.
  • Amazing Examples of Paper Art – I almost hate to link to this, in case Greg gets ideas for elaborate projects.
  • Python Business Rules Engine – Lott raises a good point about handling complex business rules, in that it's (often) cleaner and simpler to go ahead and incorporate complex business rules into the app itself rather than writing a parser to allow external entry. In my case, I have such a small user base on the side that would have been entering these rules that it's just as fine for me to do a small code release for any games added with these validation rules in them.
  • YouTube – Turkish male belly dancer "diva" – Major glitter warning, here. Major. This may be the first male bellydancer I've ever seen who wasn't mocking dancing, and he's very good. I don't like the music or the dissolve and swirling transitions, though. Or the glitter. That's a lot of glitter.
  • Amazon S3 and CloudFront with WordPress and DreamHost | .larre – This is quite a cool plugin. Not the quickest to set up with CloudFront, minifying, and combining, but worth the effort, even just for the hell of it.
  • Girl quits her job on dry erase board, emails entire office – This is apparently fake, but a cute read anyway. I’d advise against airing dirty laundry like that, though.

“Pursuit” posted and character sheet news

Chapter 9 of Witches, “Pursuit” is live. Actually, it went live yesterday, I just neglected to post here for it. I was busy having my ass handed to me by some type of hydra. Damn D & D 4e hydras. It had seven heads by the end.

“But how do we get you out of here without anyone noticing?” Robert asked absently. Satisfied that her hand was fine, he pulled his hands back out of the attached gloves.

Hardi tamped down a grin of victory. “Nice and easy. You’re going to create a distraction, and we’re going to slip out.”

A small smile played on his lips as he asked, “What kind of distraction?”

No links this week. I’ve been planning hard on the Geist Character Sheet Manager, working with Greg to come up with and prioritize requirements. I’m playing around with the Agile “story” idea. It seems like a good informal way to gather reqs, though I’ve done most of the generation of the ideas. Greg should really be doing the bulk of them, since he’s a prime example of a user on both the game manager and character sheet user sides. He’s been great about helping come up with cases that fit World of Darkness games I don’t play and giving specific examples of things I have to account for.

I’ve got a preliminary feature set for my first iteration of the game manager side, and boy, did it break my proposed timeline. Depending on what my priority cut-off is, it may be late September to mid-October before it’s ready as an alpha. Some things may turn out to be simpler to implement than I’m currently estimate. For instance, either in this iteration or the next, I’ll need to write a rules system to allow the game manager to put in everything from prerequisites to conditional dot cost changes. I’m looking forward to designing and implementing that.

And so I keep moving.

Tidying up LARP character sheets: an app in progress

So. I LARP. Twice a month, I go out of my house dressed like a nurse and stand around acting like I see ghosts and have an extra-special creepy ghost of my own on my shoulder.

Yeah, so if I’m late to your Saturday afternoon picnic this summer, this is likely why.My Geist LARP character
I LARP in White Wolf‘s Geist system, which is very new in the LARP world — the worldwide game just started in March. There’s one person that has taken it upon herself to create and maintain (sorta) Excel character sheets, and the sheets for the Vampire game seem up-to-date and fully functioning. The Geist one isn’t so much, alas.

Instead of mucking with Excel files — which don’t work in OpenOffice or GDocs very well — I’m going to move this whole idea online. The idea’s in architecture/design, but the core idea is simple: a place where people can make, save, and print World of Darkness character sheets. It’s going to be tailored at LARPing in the Camarilla for the moment, including fields for member numbers and such. It’s designed so as to be easy to add other World of Darkness games — those of a certain version adhere to the same formulas, by and large.

The initial release’s functionality is simple, too. Folks create an account in a very slim process — username and password, with a (re)CAPTCHA to cut down on spammage. When you create a character sheet, you pick which game you’re playing. Initally, that’ll be base World of Darkness or Geist.

At this point, you’ll enter the Creation Mode with the standard White Wolf 5/4/3 dots for attributes, 11/7/4 for skills, etc. Once all those dots are used, you move into Edit Mode.

Edit Mode is where complications have to be reduced, because XP needs to be redistributable and every use logged. The purchase of dots should be customizable; maybe your GM ST let you buy that dot at half cost. The XP log needs to be easy to get to and easily edited. If you delete one too many attribute dots, too, you need to end up back in Creation Mode until that dot is spent. Add in custom starting XP and the ability to add custom merits (etc.).

At any time in this process, you can enter character name, your name, your Archetype, Vice, Virtue — all that stuff that would be at the top of a standard character sheet.

Simple enough.

Problem is, I don’t have a solid feel on the interface I want. My first thought is to mimic a paper sheet to hide the complexity that’s going on behind the scenes. This is all stuff that players don’t really think about, and I don’t want to force a change in their model.An example paper character sheet
Another approach would be a tabbed interface that split up the “sheet” into major blocks — attributes, skills, powers, etc. Much harder to skim, less flexible in terms of making sidebars useful. Plus, the D & D character building software takes a tabbed approach, and I found pretty annoying. I’m not a normal user, though.

Other than those two options…?