Aug 28, 2010

Not Bored Yet

After a relaxing weekend with friends and family, next weekend will be busy. It is workshop week at the high school. I'll be staying until 7:00 on Monday for orientation, I teach an evening class on Tuesday, and Thursday I'll be getting ready for an up north camping trip for Labor Day Weekend. Then it's right into teaching the following Tuesday.

I have a few spare hours tonight, so I'll spend the time getting ready for my high school classes. We're using JCreator with my AP Computer Science class, and I want to be sure that I can get it set up correctly. I still haven't decided if I'll be using workspaces and projects to organize the assignments or not yet.

I was able to make some progress on my web app last week, as well as starting up a Google AdWords campaign and adding some testimonials to my site. The advertising is really creating a surge in traffic and downloads. I assume that at least some of those will convert to sales.

The next steps for highschoolwebdesign.com are to finish formatting the first two sample chapters of my textbook and put together a survey of teachers who might be interested in using it in class. A release date of January 2011 would be cool if there is enough interest in the book, but I'm not sure if that's the case. So this is really the next thing on my list, but it will have to wait two weeks because of school.

No one is really reading this, are they?

Aug 26, 2010

Groups Functionality Complete

Users are now able to create, read, update, and delete groups now. I'm realizing that some of the features I thought needed to go into Beta 1.0 don't actually need to be there. Things like printable sign-in sheets, and transfering members between groups, are very useful and will need to be in the first alpha release, but they are not essential for using the system. I'd like to get Beta 1.0 out the door as fast as I can.

I'm using FogBugz's priority system to determine which features need to go into Beta 1.0 and which do not. I now find FogBugz essentail for tracking tasks. I didn't even realize what I was missing out on when I was just using Notepad.

Aug 25, 2010

College Teaching Experience

My first college teaching experience went really well. I'm teaching Business Computer Systems, which focuses on Microsoft Office as well as computer fundamentals such as operating systems, the internet, and hardware components.

Yesterday, I was at the high school for orientation in the afternoon and at the college for my class at night. I'll be at the high school again today, and our teacher workshop week starts on Monday. This weekend will mark the third in a row going up to Brainerd.

Development of my web app has been put on the back burner. I just completed a major revamp of my bestattendance.com website and ramped up an ad campaign on Facebook. I have a number of marketing tasks queued up to work on next. My highschoolwebdesign.com site has seen a significant increase in traffic compared to last year, and I have some marketing tasks queued up for that as well. Those are my priorities but I'll continue to work on my web app a bit as well.

I'm excited about AP Computer Science and will work on that this week while I'm not simply relaxing and enjoy the last few days of my summer break.

Aug 20, 2010

Whatcha Doin?

Realizing that my summer vacation is rapidly coming to an end, I've been spending a good deal of time exercising and just relaxing. What hours I have been productive were spent getting ready for my classes. My first class session is on Tuesday. I feel very prepared as usual.

I get to see Joel Spolsky when he stops in Minneapolis on his Fogbugz World Tour in Ocotober; I'm looking forward to that.

I haven't been coding in a long time and figured I should spend a day doing that, so that's my plan for today. I can't even remember exactly where I left off; it'll take me a while to get back into the project. I also have some improvements to make to highschoolwebdesign.com.

I really like some of the themes on woothemes and will use one of them for my marketing site.

Aug 14, 2010

Week, Second Half

I was a bit lazy the second half of the week, deciding to really take some time off before school starts. I did get the Select Group page done, and it's really cool how everything on my web app is starting to come together.

Next week will be spent lesson planning for my college classes; less so for my high school classes, as they're already pretty well planned.

I'm enjoying my new Iris Dement CD and will be doing some water skiing this and next weekend.

Aug 11, 2010

Panic Sets In

I just realized that there are less than two weeks left before I teach my first class. FogBugz is predicting a completion date for my software of March 2011, but despite that, I'll be putting my software project on hold for the next week at least.

My classes this year both at the high school and college will heavily utilize web-based tools for grading, turning in assignments, file sharing, attendance, and more. I really could not imagine teaching without the web. In addition to curriculum writing, part of my work this week will include setting up those tools. A little work now will make things much easier once the classes get going.

Bug Tracking with FogBugz

Notepad worked great for the beginning stages of my project, but now my task list is getting more complex. I have a mixture of features and bugs, nice-to-haves and must-haves. A bug tracking tool allows you to see all kinds of stuff, including an estimated completion date for your project.

Over the past few years, I've tried several solutions, including BugZilla (yuk), Mantis (typical open source clunky), and OnTime (difficult to install and bulky). I never tried FogBugz until this week. I recently became aware of the fact that they offer a free license for single developers.

I'm using their hosted solution. At first I was unimpressed. The GUI didn't look very polished, and at first glance it was nothing more than a slow spreadsheet. But then I was able to start digging in to some of the features, and now I'm sold. I especially like the milestone reports, which incorporate evidence based scheduling.

Aug 9, 2010

Tell Us About Your Navel Lint

I was a bit of a late riser this morning; I didn't finish my bike ride until 9:00. I went to campus today to get my ID card so I'll have it before tomorrow's new faculty orientation. I spent the rest of the day working on my syllabus in the air conditioned library. It's a humid 90 degrees outside. Tonight, I'm looking forward to some relaxing by the lake.

Aug 8, 2010

What To Do Next

Since I won't be working on the software for a few days, it might be useful to leave a note to myself about what I need to do next.

If a member is unassigned from a group to which his lastGroupId is set, the member should NOT be able to access that group the next time he logs into the system.

I need to implement the above functionality, along with the Select Group page.

After that stuff is done, I think I'll move right to the heart of the software: creating events and recording attendance.

The other stuff, such as lost password functionality and so forth, is very important, but it's always a good idea to get right to the heart of the software as early in the project as possible, so that's the direction I'll go.

Member Profile Page Complete

I successfully ran through all three pages of my test cases for the Member Profile page! Members can be assigned to groups and organizations; certain users have rights to view different levels of membership; and there are other permissions that affect the page as well. There is some mildly complex logic on the page. But it's done!

I did spend an hour on a wild goose chase for an elusive bug that was randomly overwriting records. The culprit was a = instead of == in an if statement. My palm was planted firmly on my forehead after I found that one.

The code base is definitely growing; I'm at about 2 klocs at the moment.

I'll take a break from programing until at least Wednesday. I have faculty orientation on Tuesday and will spend the day tomorrow, after my bike ride, preparing for some of my fall classes. I feel good about that after having passed this major milestone!

Look At These Sometime

Some interesting links I may want to look at:

http://www.businessinsider.com/mark-zuckerberg-innovation-2009-10

http://developers.facebook.com/blog/post/358

Aug 6, 2010

Quality Assurance: Unit and Process Testing

I really wish I had a full time QA staff. I've been running through and revising my test cases for the Member Profile page today. I think I'm still on track to finish by end of day Saturday. I was a software tester for two years so I remember this type of work really well. Testing all kinds of weird combinations that no one would think of.

The one advantage of testing my own software is that I can take a very white box approach and look at the code (even fix the code) when something goes wrong. That's very nice.

I do unit testing as I go – I unit test each function as I write it. I'm now testing all combinations of permissions, requests, and contexts. In the front of my mind this whole time is the concept of process testing. How would a real user actually interact with the software? Sometimes when you're deep in the rabbit hole of coding and testing, you can lose sight of the big picture.

It's really cool seeing the progress I'm making on the app so far. I'm doing a better job of documenting at least some of my use cases and test cases than I did for my desktop app. This will be a benefit when it comes time to write the user documentation.

Onward.

Aug 5, 2010

Member Profile

The vacation was totally awesome and really changed my perspective. It's taking me a while to readjust to not being on vacation. I met with the other business teacher and did some work at school yesterday. I've been working my way back into my project slowly but surely.

I'm deep in the middle of working on the Member Profile page. The page is complicated because there are four different security permissions affecting the page at different levels of granularity (member, group, and organization). The page is supposed to do a lot of different things depending on the context. I've decided that I was originally planning too much complexity for the page and decided to scale back the granularity of some of the permissions in favor of the page being easier to use (and easier to code). I wrote up two pages of test cases today. I estimate the page will be completely coded and tested by the end of day Saturday.