Jun 29, 2010

Much Progress!

I gained a lot of momentum today. I've previously completed most of the specs I need for my web app and I just put some finishing touches on them today. Then I set to work creating the database schema. I've been thinking about several different ways of doing this, and I picked up a book on high performance MySQL design and tuning.

I couldn't have just sat down and written a schema in one pass. This latest iteration is actually my third attempt. The others would have worked, but this one is clean and fast. Instead of using the GUI on MySQL Workbench, I typed teh SQL by hand. It went much faster this way and I enjoyed it more.

The last hour or so was spent getting the rewrite rules in .htaccess to work properly and writing a class to get all URL parameters passed in to my (yet to be built) framework. Getting this done was easier that I anticipated.

I have a few pressing things that need to get done for my school jobs, which I'll attend to tomorrow. Today I just wanted to get some momentum going on the project before summer is done.

Jun 28, 2010

Syllabus Writing

I'm done with the syllabus for AP Computer Science. I don't usually get into this level of detail on my syllabi, but this time, I've listed every single assignment, assessment, activity, and test, planned down to the week. I did leave some wiggle room in the schedule, and no doubt, the plan will be adjusted as we go. I'll probably have more time than planned for some parts of the coruse, and I'll have to drop some assignments for others. It feels good to have a solid plan though. The next step is to submit the syllabus to the college board.

Jun 27, 2010

This Week

The Summer Institute at Carleton College was a good experience. The weekend was relaxing, taking a day for the St. Cloud airshow with the Blue Angels and taking Sunday off. This week will really be my first chance this summer to gain some traction some of my projects. My goals for this week are:

Submit my AP Computer Science syllabus to the College Board for approval.
Finalize some logistical details for next school year
Begin reviewing the syllabi, outlines, and textbooks for the college classes I will be teaching next year
Finish the specification phase of my web app project
Exercise each day, as the summer institute last week really did not give me time for that.

Jun 23, 2010

Fusion Charts

In looking for a charting solution for my PHP webapp, I looked into the Google Charts API and Fusion Charts, both of which are free. FusionCharts is Flash-based; Google charts use a variety of technologies, some of which are Flash.

The Google API only allows you to use 300,000 pixels to display the charts. The Fusion Charts are bigger and animated. Further, once you download the charts, they reside on your server. No API calls are required. FusionCharts seem easier to install and use. Plus they look better.

15 Minute SEO

I'm getting some great ideas for my AP Computer Science class from the summer institute this week. I found a somewhat cool website: 15 Minute SEO List.

Jun 21, 2010

AP Computer Science Teacher Training, Round Two

My proposed AP Computer Science course is a go for next school year. We had 48 students register for it, and we had to reduce that number to 35 due to space constraints. I'm in Northfield this week for teacher training. The instructor has some great ideas on how to teach Java. One controversy in the field is whether to teach procedural programming first or to dive right into OOP from the start. I plan on using the latter method for my course next year.

My favorite part about AP training is getting to spend a week in a beautiful little college town away from the Twin Cities where I live. We get out of class at 5:30 every day, so I have each evening to just enjoy the area.

One of my goals while I'm here is to finalize the syllabus and submit it to the College Board for AP approval.

I was contacted by a recruiter today about an opening for a Software Engineer. The position would be a very significant pay increase over what I'm doing now (teaching in the public school system), but I decided and maintain that teaching is the path I want to pursue. The summers off are really great, and they give me some time to explore independent interests. I'd take that (and other benefits of teaching) over a big salary any day.

Jun 19, 2010

Competitor Pricing and Free Icons

Today I'm researching the pricing of my competitors, and I've realized that the original price I was considering is much too low.

This guy has some cool icons, although I'll probably get mine professionally designed.

http://www.famfamfam.com/lab/icons/silk/

Jun 18, 2010

Advanced SQL Injection

A great resource for exploiting SQL Injection attacks:

http://websec.wordpress.com/2010/03/19/exploiting-hard-filtered-sql-injections/

I'm two weeks behind on my Security Now podcasts. Perhaps next week at the Summer Institute I'll have some time to listen to them. I'll listen to the new Startup Success podcasts then as well.

I spent most of today working on the specs regarding saving attendance marks. There are a lot of differences in how this must be done in the web app compared to the desktop app. I'll spend the next couple of hours starting on my written business plan.

Jun 17, 2010

Web App UX Designer

This guy was recommended on the Business of Software discussion forum:

http://www.misvstyle.com/

First Week of Summer

I spent the last three days in Brainerd. This morning, I cleaned up my desk, went through my email backlog, paid bills, and did some errands in town. A sunny picnic by the lake is planned for this afternoon. I'll have the whole day tomorrow, then, to start digging in to the web app. It'll be interesting to come back to my UI prototypes after a break and see if I still like them.

Jun 13, 2010

Website Credibility and Conversion Rates

I've been overestimating the importance of traffic and underestimating the importance of comversion rates. If I can increase my conversion rates a mere 0.5%, my revenue will double. This goal is easily achievable. The price point of my new software app will be higher than the current one by a factor of two, and increased spending on advertising will triple the traffic I get. These factors combined will result in an approximate tenfold increase in revenue, and none of these things are very difficult to pull off.

The following factors will help increase conversion rates and credibility:
- Displaying a physical address as the location of my business
- Displaying a phone number for my business
- Continually updating the site with recent content
- The author's name and credentials are listed
- Having a clear single call to action on each page

Of course there are many other factors but I want to make sure to remember these.

Time Tracking Software For Summer

The school year ended on Friday which means that I have 75 days until I start teaching again. I plan 400-600 hours for my new software project. The summer will see a number of false starts, however:
- A vacation Monday and Tuesday this week
- AP Computer Science teacher training Monday through Thursday next week
- A vacation the first week of July
- A trip to the Southwest the last two weeks in July
- Teacher orientation on August 10th
- Begin working again on August 24th.

In addition to my software project, there a number of other projects I must complete this summer:
- Write a book (I'm still sort of in stealth mode on this project)
- Write the curriculum for my new AP Computer Science courses
- Write the curriculum for two new college level courses I will be teaching next fall.

Due to all of the above, I've pushed out the expected release date of my software project until November. It's possible that I may be taking some graduate level computer science courses next school year as well, which will use some time. They'll be interesting, though, and I'm looking forward to taking them.

So the summer will definitely be very busy. Accomplishing all of this will require great time management skills. It'll be important to establish a routine early like I did last summer, consisting of 8 hours per day of work, 2 hours per day of exercise, and sufficient time for rest and relaxation, without which creative work will suffer.

I recently installed the free Grindstone time tracking software, and I really like it so far. It will be cool to have an accurate record of how my time was actually spent, versus just how I think my time was spent.