POP Forums: Milestone I

So it's a month and a half later than I had hoped (or several years, depending how I choose to look at it), but I finally got POP Forums to the first milestone in the ground-up rewrite.

My goals for M1 were pretty straight forward:

  • Let go of the legacy that dates back to 2001 and my lack of skill at the time.
  • Be a lot faster.
  • Use template controls whenever possible, even if I had to roll my own.
  • Log moderation and security actions.
  • Include as much of the original functionality as possible.
  • Create search that actually works and doesn't rely on SQL's FullText.

I'm happy to say that I'm there. I'm sure there is some lint, but I'll deal with that. I'm getting the list together now for M2, which will also be the first beta, and I'll let that out into the wild. In the mean time, I'm starting to build a new version of CoasterBuzz around this version, so I can begin "dog-fooding" it as soon as possible.

Something happened this year that I didn't expect: I got a day job that I liked. For all of the contracting and indie work I was doing, I'm surprised at how satisfying it is. For that reason, I didn't act on the forum as quickly as I would've liked.

Still, there were some lessons. The first of which was to ditch the whole Membership/Profile thing. It was too restrictive and slowed me down. It's certainly possible to write a thin wrapper around the forum for these API's, but making the forum itself adhere to it was an exercise pain-in-the-ass-ed-ness. I also learned that unit testing and TDD is a good thing, but making it religion also slows you down and reduces value in the process. Most importantly, I realized that starting at the UI is a really good idea for a Web app. Building this grand class library and making the UI consume it is really stupid because you build code you don't need, or miss the code you do need.

So in a few weeks, when CB is up and running, I'll revisit to finish out the feature list. At that point, I'm not sure what I'll do, but I think I'm going to go back to selling it for some reasonable price. Of course I'll include the code, and use the honor system in terms of downloading it.

There's an instance of a recent build here, complete with data from CB:

http://beta.popforums.com/Forums/
 

7 Comments

  • Looks great. I can't wait for the release of this.

    How are you doing the full text search now? I've just switched to using PostgreSQL for all my database needs (via LLBLGen), and I'm looking for ways to do full text searches.

  • I'm indexing words and scoring them, minus junk words, in a background thread. It's not the most efficient process, and the querying SQL is super ugly, but it does work.

  • I also agree with the Membership / Profile thing.

    I'd ended up hacking it and trimming it on my site to the point where it no longer did anything useful. I'm down to just using the bare-bones Forms Authentication calls now for setting cookies/tickets.

  • Jeff, good news. Curious on two things, how your Search is working? I might be interested for one project I have here. Secondly I wonder why you didn't put a bit of Ajax salt on your code?

  • There is a little spot of AJAX working in any given thread. Click a user name to see what I mean. Beyond that, if you're asking why I haven't included any ASP.NET AJAX stuff, it's because so far I haven't found a good instance where I think I need it. I know some other forums do, but so far I can't justify it as something that really enhances the user experience. The good news is that hopefully my UI layer is clean enough that people can add it if they want. I might still do it, we'll see.

    As for the search, as I mentioned earlier, it just scores the non-junk words and queries against that table.

  • It looking good, but thought you would like to know (if you haven't found it yet), that on your beta forum an error is thrown while serching for nothing and having "Relevancy" set i.e. leaving the search box blank and selecting Relevancy in the combo box.

    taking another quick look it doesn't seem to matter what sort type is selected.

    and a third look any type of search seems to throw the error, so you likely will have found and fixed this already.

  • Hi

    Just stopping in to say hi to y'all as a new member.

    Aaron

Comments have been disabled for this content.