Friday, November 2, 2007

Law-career-related checklist

  1. Pass MPRE: Check.

  2. Pass Texas Bar Exam: Check.

  3. Start law career:

Wednesday, October 24, 2007

Sunday, Sunday, Sunday!

This past Sunday, I took my younger (14) son down to Austin to check out the Maker Faire. We had a fantastic time. We started off by watching the life-sized mouse trap game. Wandering idly past many craft booths, we got to the fabrication/rapid prototyping/automated machining area. It was mind-boggling! I haven't kept up with developments in this area, and I was blown away by the open-source multi-material rapid prototyping kits, 3D printers, CNC Routers, self-copying 3D printers, and astonishing laser engraving systems. At the laser engraver's booth we got a little Aztec calendar "printed" at 600 dpi in three dimensions from a solid sheet of balsa wood.

Next, we visited several areas where you could get hands-on and make T-shirts, circuit boards, kites, and other neat stuff. We dropped off some clothes at the Swap-O-Rama-Rama, but never came back to make our own customized duds from other peoples' donations. We played with jets of air, watched a "robo-thespian", oohed and aahed at the pyrotechnics of the Ring of Fire, and drooled over the display of Estes rockets. An enthusiastic rep told me all about building my own street-legal car, which my son agreed would be a great project for the next two years if we just had a spare $10,000 lying around. We saw evil robotic pumpkins, including a pumpkin Dalek. We saw mousetrap-powered toy vehicles. We admired dirty car art.

Taking a break from cool technology, we moved on to Cyclecide. This was a fenced-off area with pedal-powered sort-of-carnival-rides and weird, wonderful mutant bikes. We ended up spending over an hour riding around and having an absolute blast - my favorite was the 4-foot tall bike, and my son enjoyed providing taxi service with a bike that had two comfy chairs attached to it. Thoroughly sun- and wind-burned, we finally tore ourselves away to eat and drink.

There were amazing decorated cars, and an arena full of robotics. The Robot Group was out in force. Some of the robots were excruciatingly cute. Frankly, I was somewhat dazed by this point. Finally, we watched the Diet Coke and Mentos fountain demonstration, applauded vigorously, and headed off to the Cheesecake Factory for dinner.

Wednesday, October 17, 2007

Feature Progress / TODO List / Open Thread

This post is linked from the sidebar, so that it remains accessible for a long time. It has three purposes related to game features: keep you updated on which I am working on now, show you all of the suggestions, and provide a single place for new suggestions and discussion.

Evan is currently working on: Ensuring that everyone is able to play.

TODO List (will do, eventually) (no particular order yet)

  • Interface options: "Classic", compact, large fonts
  • Team-relative list of words found/not found/only I found
  • Facebook application
  • Google gadget
  • Alternate scoring options: "no errors" bonus; only unique (or <=X%) count; 1 point per word; unique bonus; only N+ letter words
  • Extended score display: # of words guessed, # of valid words, percentages found
  • Clean up word list
  • "Private" games
  • Other languages (German, Italian, and Norwegian have been requested)
  • Statistics / rankings / hall of fame
  • Snapshots / game history.
Suggestion List (may do, if enough people support)
  • Audible end-of-round clicks (option)
  • Allow players to attach personal info to their name (location, IM, email, etc)
  • Casual games: 5+ minute rounds, longer intervals
  • Allow "Qu" cube to be treated as just "Q" (option)
  • Alternate word lists (Scrabble, simplified, etc) selectable by player
  • Press a key to submit the guess but not erase it, so it can be extended/edited.

Tuesday, October 16, 2007

Let's all go on Safari

The show-stopping Safari bugs are dead. The Beta is now OS X-safe.

I learned two valuable lessons about Safari:
  1. window.console.log() is a nifty way to trace your code's progress, and it works with both FireBug and Safari . . . sort of. Pass it anything more than a simple string, such as objects that FireBug will cheerfully use to augment your console log, and Safari will fall over dead.
  2. If your web site has only one frame in its frameset, don't put "noresize" on that frame. Safari apparently takes that to mean "for every page after the first that I load in this frame, don't show it until the user clicks somewhere." Who knew?

4AM Destruction

A quick tip for programmers working on web applications:
  • Do not commit code changes at 4 in the blessed AM.
  • No matter how much you think it will help.
  • Even if you sometimes operate under the name "4AM Productions"
Bad things will happen, and you will set yourself up for a day of really lousy technology karma when you get up in the morning six hours later.

Why do I mention this? No particular reason. On an unrelated note, my forehead is sore and I seem to have damaged the surface of my desk somehow.

Sunday, October 14, 2007

News that isn't

As you have surely noticed already if you are a WEBoggle fan, I started another pledge drive and used it to announce the beta of the new version of the game. As with the last pledge drive, many of you have stepped up to support me and the game, including quite a few of you who startled me with your generosity last time.

Lots of you have been banging on the beta and giving me great feedback. Several nasty teething issues have been discovered and dealt with - the scoring bug in IE is dead! Note to myself and to other JavaScript programmers: beware of subscripting strings using "x[i]" notation - IE chokes on it, and prefers "x.charAt(i)", despite all the other browsers dealing with it just fine.

One show-stopper bug remains: I have multiple reports of the game taking Safari down hard. Once I've dealt with that, I can move on to the great suggestions I've received, such as preference options for "Classic" interface mode and large fonts mode. I'll have guessed words go into the list in reverse order (most recent guess at the start of the list) and include invalid guesses in the list (along with the reason for invalidity). I'll improve the interface. I'll add an account page for changing email/password, managing sub-accounts, and Deluxe game settings.

Then I'll be ready to take it out of beta and really get going on Deluxe features, including better and more flexible game board customization, more options such as allowing invalid words to be typed, audible round-end alerts, alternate scoring rules, "private" games, and more.

Thursday, October 11, 2007

Mind the Gap

You can probably tell that I'm not a "natural" blogger. I hesitate to post unless I've got "real news" of some kind, and this tendency runs counter to a major purpose of this blog: to give you a feel for how things are going behind the scenes. So, I apologize for the long hiatus and resolve to do better.

WEBoggle news: My complete rewrite of the game engine is ready for beta testing. It seems to me to be stable and largely bug-free, but we won't know for sure until y'all give it a try. The rewrite had two goals, each of which has been met: reduce the load on the server, and give the client more power and flexibility. The interface is still rather plain and ugly, but makes more sense - there is a sidebar from which you can reach all of the important parts of the game. I've adopted a free JavaScript library that allows me to do nifty interface tricks, and that is more thoroughly debugged than my home-brewed stuff. Preferences are now permanently saved, even if you play on a different computer. There are new options: click-to-pick instead of click-to-rotate, and turning off highlighting of letters. Team scores indicate how many members the team has. There is a new "unified" word result list available, which is used in the new default layout. Your guesses are scored instantly, without waiting for the server (but if the connection to the server fails, a guess can be "lost", so that your score is reduced in the last round scorelist). Each player in the scorelist has a menu (click on the name) from which you can "ban" that player from your sight. Use it to get rid of those rude folks who use racist or otherwise offensive names.

Finally, the bad news, or at least news that you may not like: the name is changing, and the new game requires you to give me your email address. The beta is at http://www.wordsplay.net, so-called because that was the least-lame name I could come up with that is (A) available as a domain name, and (B) not close enough to "Boggle" to leave any chance of legal complications. It requires you to choose a password and "activate" it by verifying an email address before you can play. Please understand that I made the decision to do this only after a great deal of thought, and I have tried to make it as easy as possible to get started playing. But there are too many advantages: it enables many features that depend upon server-side storage, such as permanent preferences, ban lists, and statistics; it helps with the development and maintenance of Deluxe accounts; and it allows me to ban abusive players. I promise not to abuse your email address or share it with anyone else. I hope that most of you will embrace the new.

Personal news: I am still about three weeks away from getting bar exam results, but I have passed the Multistate Professional Responsibility Exam with flying colors. All of my grades are in - I tied for the high A in Practice Court III - so I've officially graduated magna cum laude. My old employer very generously kept me on throughout law school despite the serious effect of my studies on my ability to work; I committed to devoting August to my accumulated tasks, and to wrapping up my work neatly enough that they can replace me. Also, I planned to wind up or simplify a bunch of computer administration that I continue to perform for my family. Also, I planned to work on WEBoggle. Also, I hadn't had any significant amount of time to relax and enjoy life for many many months. Also, I need to find a place to start my legal career. See where I'm going with this? August was insanely busy, and swallowed September as well. It has only been a little over a week since I got most of my plans completed. Now, all that remains is WordSplay (nee WEBoggle) and job hunting. On the bright side, I have read quite a few books for pleasure, seen several very good movies (300, Intolerable Cruelty, Ratattouille), watched some fine television (The Daily Show, Robot Chicken, and now Pushing Daisies), and developed my ping-pong skills.

Saturday, July 28, 2007

Quick post-Bar Update

I am done! I feel good about the test, but won't know until November 2 whether I passed. I hope that we will repeat Baylor's spring 2007 feat of 100% passage. My Mother and best friend are in town. We've just come from my graduation ceremony, which was moving and excellent, and are now going to have steak and Bosque fries at my in-laws' house. Enjoy the weekend, everyone - I certainly will!

Saturday, July 21, 2007

Big Week for the Law Geek in Waco

Just a quick update: Although last-quarter grades aren't out (and may not be for a few weeks yet), and I wasn't seriously worried that I might have failed a class, I now have unofficial word that I'm cleared to graduate next Saturday. This is helpful for concentration, since the bar exam is Tuesday through Thursday, and I'm in serious bar prep mode. This is probably the last anyone will hear from me until Friday.

Friday, July 13, 2007

Late Night Studying

My final exam for Practice Court III is nine and a half hours away. Three+ hours of Texas and Federal procedure and evidence questions. Yay. Then no more law school finals ever, just the bar exam in another nine days. Wish me luck!

(5:23 pm update) I finished my exam within time limits, and believe I did well. I then took my younger son to see the latest Harry Potter movie, which was good but not as good as Ratatouille. Now I shall rest.

Wednesday, July 4, 2007

Celebrating Freedom and Capitalism

Happy July 4th! Two days ago, my Practice Court partner and I reached the culmination of about six weeks worth of work: Big Trial. Sadly, we lost, but the jurors and (more importantly) professors said that both sides put on a good case. We're just glad to be done. Now all that's left is studying for finals and for the bar exam. Oh, and job hunting.

Based on the feedback I've gotten so far, here's the Deluxe plan:

Everyone who has donated will automatically get a Deluxe account, and as new people donate through PayPal they will also automatically get an account. There will be a simple process to register for an account without donating. This will require giving your email address - all accounts will be tied to an email address, but you'll be able to change this email to another at any time.

Each account will be of one of three kinds: "lifetime", "yearly", or "per-game". The account will track your donations, the number of Deluxe games remaining, and the anniversary date for yearly accounts.

  • New accounts are "per-game", and get 50 free Deluxe games.
  • Every dollar you donate adds 100 Deluxe games to your account.
  • You can convert 2400 games into a full year of Deluxe play.
  • You get a "lifetime" account once you've donated at least $100.
  • Whenever I add a major new Deluxe feature, I will give every account that has fewer than 50 games left enough games to bring them up to 50, so that everyone can try out the new feature.

Example:
  • You donated $20: you begin with 2000 (+50 free) games.
  • You play 25 Deluxe games, leaving you with 2025 remaining.
  • You decide you want to go yearly.
  • So you donate $4, bringing your total to 2425 games.
  • You convert 2400 games into a year of play.
  • When the year is up, you still have 25 games on account.
  • You choose to donate another $80.
  • Your account immediately becomes a lifetime account, because you have now donated a total of $104.
Yearly and lifetime accounts are always in "Deluxe mode". Per-game accounts can turn Deluxe mode" on and off. Playing with Deluxe mode" turned off doesn't reduce your number of games left, and neither does "watching" - keeping the game open without typing in any guesses. So you can sit and watch other people play, or look at your statistics, or adjust your Deluxe preferences, or just wander away and leave the game running, all without affecting your total games remaining. But as soon as you guess a word during a game with "Deluxe mode" on, that game counts.

And just to make this completely clear: everyone will see the same game board. Free players will see both other free players and Deluxe-mode players in the score list, and Deluxe-mode players will see both free players and other Deluxe-mode players in their score list (unless they use a Deluxe feature to "ban" players or to play a private game).

Saturday, June 30, 2007

Debating Deluxe Account Aspects

In response to the many insightful and helpful comments I've received, I'm going take a moment to lay out my basic principles with respect to the game, and the options that arise from those principles.

First, you will always be able to play for free. Always. Deluxe accounts will get extra features that (I hope) will enhance play, make the game more varied, and encourage donations, but people with those accounts will still be playing the same game. There will be no wall, no segregation of the masses from the elite. Right now, there's a temporary hack to improve performance that invisibly divides the game into "arenas". This will go away, for everyone.

Second, I want everyone to have a chance to experience Deluxe features. But I also want to encourage and reward supporters. These goals conflict. Free Deluxe accounts stand at one extreme, with sky-high fees for short account terms at the other. Balance is tricky. The easy part is lifetime accounts for certain extraordinary generous supporters I've mentioned in prior posts.

Now for the options. These aren't alternatives to each other, there more a sort of mix-and-match grab bag of idea. Please give feedback! All dollar amounts have been pulled out of thin air to provoke discussion - I'm not committed to any of them.
(edited to reflect feedback:)
  • Lifetime accounts for $100
  • Yearly accounts for $24 (working out to $2/month)
  • "Calling plan" accounts for $5, giving 30 hours of Deluxe play. Only game time spent playing with Deluxe features turned on would consume the account's hours. Designed for infrequent and cash-strapped players.
  • Deluxe days: free Deluxe features for all players, for a day, at either random or announced intervals.
  • Hardship accounts: tell me that you love the game but plead extenuating circumstances (unemployed, law student, held prisoner in a fortune cookie factory, etc). But this has the potential to both eat into what little precious time I can devote to the game and force people to grovel. How can I avoid those drawbacks? Allow non-monetary donations of some sort, such as mailing me a nice bit of original art or a nice letter about how the game changed your life, or writing me in as a presidential candidate in 2008 (just kidding)?
  • Free trial: Two hours of Deluxe play just for registering an account, then pay-only.
What do you think?

Sunday, June 24, 2007

Snail Mail and Development Priorities

Although I have nothing profound (or even visible) to present to you, I want to keep you up on what's going on in my head. Also, donations by US mail began to arrive last Wednesday; Several people sent cards and/or wrote nice letters to me. If you mailed anything to me, please also send me an email with your real name and city so I can match up email addresses with letters. I need email addresses of donors so I can create accounts for you all when I roll out "Deluxe WEBoggle"; I have them already for all PayPal donors.

My first priority is a set of client-server changes that I've had in mind for quite a while. I've already written a new server, but the client-side is lacking because I was trying to combine the new functional code with a complete re-design of the site. Now, I'm going to back off on the re-design and simply adapt the current client code to work with the new server. This change should allow me to eliminate the "separate arenas" hack that is currently and arbitrarily dividing up players, yet still support several hundred players with ease. It should also completely eliminate "Too Late" words and other Internet bugaboos; Under the new plan, every word you guess within the time limit will be scored, and the only effect of Internet lag (or even complete loss of connection!) should be that other players might not see your full score and all your guesses.

The new code will also pave the way for "Deluxe" features. These will include the ability to "ban" other players (really just hiding them from you), play "private" games (only see players who have typed in the same game name), customize the scoring rules, and keep play statistics. I plan to make these features available to anyone who donates (or already has) by automatically creating "Deluxe WEBoggle" accounts. There will be lifetime accounts for those who have donated truly staggering amounts, yearly accounts for substantial donations, and some other kind for all other donors. The obvious "other kind" is monthly, but I don't feel completely comfortable with requiring monthly donations to keep an account alive. Any suggestions?

Sunday, June 17, 2007

Statistics of Gratitude

I spent part of this afternoon getting my donor database into shape, making sure that I have everyone, and have marked those who wish to remain anonymous. I now have the raw material for the "Sponsor's Hall of Fame", or whatever I end up calling it. Here are some statistics:
  • In the past 3 years, 315 of you have donated a total of 372 times.
  • 172 of those 372 donations were made during Pledge Drive Weekend.
  • Of the 172 of you who donated during PDW, 39 had donated before.
  • The amount donated during PDW was a bit over 56% of the total donated for all 3 years. In other words, you donated more during those three days than during the entire previous existence of the game!
  • Over three years, the Johnsons have donated 14 times. Dan, the grad student who found a volunteer programmer to help me, has also donated 7 times. Two people have donated 4 times each, five have donated 3 times each, and about two dozen have donated twice.

Saturday, June 16, 2007

Feeling Blessed and Humbled

As you probably know (or you wouldn't be reading this), I'm the proprietor of the online game WEBoggle. My name is Evan Simpson, and I live in Waco, TX with my wife and four children. Several of the many fine folks who donated during the June 15, 2007 Pledge Drive said that they liked learning more about my background, and one person suggested that I start blogging. This struck me as a good idea, if for no other reason that I can use this blog to tell you all what's happening behind the scenes of the game, and to put up emergency status bulletins if something is going wrong with the server.

First I'm going to repeat here, for posterity, what I added to the Pledge Drive page in its ninth hour:
Wow. I don't have the words. I am humbled by the outpouring (yes, that's the word for it) of support and encouragement. "You all rock" doesn't begin to express how my family and I feel. This morning I just thought that maybe, over the next two weeks, enough people would be willing to send us a few dollars that we could squeak through the end of the month. It has been only nine hours, and the crisis is over. I've spent an hour writing brief thank-you's in reply to PayPal notifications, and I'm not done. If I haven't gotten to you yet, rest assured that I will. The Pledge Drive is officially downgraded from Category "Please Help!" to Category "If you haven't donated before and you enjoy WEBoggle, please do." This weekend I'm going to take a hard look at what I can do here to show my appreciation. And I hope, when I get to the next phase of my life as a lawyer, to be able to pay forward all the generosity that you've shown me.

That said, I'll tell you a bit more about the history and people behind the game. It was created by Logan Ingalls, who wrote the original Perl server and JavaScript client. I was an avid player and also a web programmer, so in mid-2004 when Logan was unable to keep the game running any more, I volunteered to host it on one of my servers. Over the next few months, I rewrote the server in Python, added the 5x5 board, started tinkering with the word list, and added board customization.

In February 2005, I started studying at Baylor Law. Naturally, the game became so popular not much later that the server began to choke on a routine basis. For the next half-year, I tinkered and tweaked. My final news entry was in October of 2005. After that, it was all I could do to keep the game bumping along in my spare time. It needed some serious re-coding, and that went very slowly. I'm not efficient when I write code in scattered hour-long bursts.

Meanwhile, my wife Penney launched Beatnix Coffee House. It has been a huge success, gathering a loyal clientèle and a fantastic group of creative people who run poetry nights, open mic music nights, comedy nights, and art shows. But it isn't yet profitable enough for Penney to pay herself for all her work. Yes, we are nuts: we started a small business at the same time I took a huge pay cut to start school.

Fast forward to June 2007: I am in my final quarter at Baylor. Practice Court (the part of the curriculum that makes Baylor the "boot camp of law schools") is 3/4 done. Next month, I will graduate and take the Texas Bar Exam. I don't yet have a job lined up, and the student loans are about to run out. In particular, thanks to some bad loan disbursement timing, we can't figure out how to pay the bills for the rest of June. My family and Penney's have both chipped in, both financially and to help us with the kids, but they don't have any more to give. And I still need to pay for bar prep materials, or I fear that I won't be able to do my part to uphold Baylor's bar passage rate (100% this February!)

The rest is Pledge Drive history. Over 125 players donated, in less than two days. Now we can put gas in the car, pay the bills, and I can get my study materials. Before this I knew that "lots" of players visit regularly, and the mini-floods of email I would get when there were server problems told me how dedicated (or in the words of many, addicted) many players are. But I never imagined that there were over a hundred great-hearted, loving people playing this game, ready to help out as soon as they saw the pledge link even though the game itself was never at risk. Now I know. I feel blessed and humbled.

I'll take the pledge link down Sunday evening. Someone has suggested that I put it up once a month, just to nudge new players. I may do that. For now, I need to find a way to honor everyone who has already given. Several things are in the works, including a pledge thanks page. I'll let you know more as it happens.

Here are some snapshots for the curious:
Me and My Family