Not Free Enough?

6 February, 2010 | Joel Roggenkamp | No Comment

I’ve recieved some critical email about the “overly restrictive” copyright license on my website.  I don’t really understand the logic of people complaining that something is not free enough.  I echo Daniel Jalkut’s sentiments:

It [makes me upset] when somebody is cricitized for giving something away, yet somehow not giving enough. What part of FREE don’t you understand? Somebody … wrote something great, and gave it to you for free. It’s a technology you would not have access to without his generosity, and which you could not even obtain commercially, had he chosen to keep it private. A completely new, compelling solution which is available to you because one man had the community-serving idea that it should be open. Are you getting my drift?

Me Too Internet Businesses

4 February, 2010 | Joel Roggenkamp | No Comment

I saw two great blog posts in my RSS reader today which greatly affected my thinking about my online activities.  The first is from Steve Pavlina.  He noticed how many people try to start “me-too internet businesses that don’t really need to exist.”  Honestly, I think this describes most micro ISVs.  I mean how many different twitter oranizers do we really need?  How many fitness trackers?  How many bug trackers or conference schedulers or ecommerce platforms – or any web app for that matter.  These things are really a dime a dozen.

The second is a piece of advice from the Balsamiq company blog.  It advises anyone wishing to start a new blog or online business to first answer the question, which online community would you like to be a part of?

Copyright Laws

28 January, 2010 | Joel Roggenkamp | No Comment

Several users have questioned my “overly restrictive” copyright license.  The license as posted on my website contains three restrictions:

 You may NOT:
1.  Reprint any of this content on paper, even for classroom use.
2.  Re-post any of this content on another website, in whole or in part.
3.  Copy, modify, distribute, or sell any of this content in whole or in part on any media.

 Some bloggers have refused to post links to my site BECAUSE they don’t like these terms.  There’s a deep tradition of sharing in the education profession, so it’s to be expected that some teachers will find these terms surprising.

 My response is that these teachers don’t have to use the site if they don’t want to.  They can get web projects from somewhere else or write their own.  But I think it’s better that I’m sharing them for free with anyone who wants to use them.

 Also, the terms really aren’t that restrictive.  I’m just asking that users not copy my stuff.

 Some people view the whole copyright system as old fashioned, corrupt, and greedy.  But I disagree.  We would not have Harry Potter movies or Microsoft Office software without these laws.  These laws provide an incentive for authors to create, share, and distribute works.  Steve Pavlina writes a more in-depth defense of copyright laws, which I largely agree with.

Building A Popular Web Site: Technical Considerations

9 January, 2010 | Joel Roggenkamp | No Comment

My newest project, highschoolwebdesign.com, is a complete, 12 week course in introductory web site design at the high school level.  It contains free lesson plans and rubrics for students and teachers to use in the computer lab.

 I have a number of web projects under my belt, but this is the one for which I anticipate the most traffic.  I’ll cover the business and marketing considerations of launching the site in other articles.

 Business Model (Briefly)

 The site offers free lesson plans.  Additional resources such as Powerpoints, quizzes, exercises, samples, and source code will be available for sale.  When teachers purchase the curriculum, they will also get everything on the website in PDF format with full rights to make copies for their classrooms.

 The site will be partially ad-supported.  Ad revenue is dependent on traffic, so it’s important that users actually visit the website every time they want to view the content.  Making sure users don’t print or republish my content is extremely important.

 This entry outlines my technical requirements and their implementations.

  • Content Management System

I settled on Wordpress as my CMS after evaluating others: Drupal, Joomla, and CakePHP.  Wordpress is easy to understand and modify, has lots of useful plugins and a vibrant community, and it got me started in the least amount of time.

 Copy Protection

  • Frame Busting

 I’ve included Javascript code to prevent my site from being captured inside someone else’s frame.  The code isn’t foolproof, but it does work in many cases.

  • Disable Highlighting

 Javascript disables highlighting content with the mouse.  I originally disabled right click as well, but sometimes users need to right click on the links.  If the user really wants to highlight and copy my content, disabling Javascript is all they need to do.  I’d guess that most of my visitors probably don’t know that, though.

  • Hiding content when Javascript is disabled

 I’ve set up my stylesheets so that my main content is hidden by default.  Only if Javascript is enabled in the browser does the script run, loading the stylesheets and making my content visible.

 The thinking goes like this:  if users disable Javascript to get around the anti-highlighting code, at least the content will be hidden.  If they really wanted to, they could still copy and parse the source of the page, but that would present a significantly higher barrier for people wanting to copy my content.

  • Print Stylesheet

 I have a stylesheet that hides everything when the web page is printed from the browser.

  • Disable feeds

 Atom and RSS feeds for the blog have been disabled.  The most common way of stealing web content is to place RSS feeds on other sites.

 None of these measures make it impossible for people to steal my content; if people are really determined to do it, they could.  But it will prevent teachers and students, who aren’t usually incredibly technically inclined, from copying my content in the obvious ways.

 Spam Prevention

  • CAPTCHAs on Forms

 Currently the site only has one form, and it is not protected by a CAPTCHA, but adding one later will be a trivial matter when the need arises.

  • Image Email Address

 My email address is not displayed as text on the website, but as an image instead.  I use Google’s excellent spam protection on my email account as well.

 Performance

  • Caching

 Once the site is reasonably stable, I’ll enable caching so the PHP scripts don’t need to run every time a page is requested.

  • Gzip HTTP Compression

 Content will be served compressed to browsers that support Gzip.  This one is a no brainer  :)  

 Intrusion Prevention

  • Passwords

 Everything from the DNS record to the MySQL database is protected with its own unique, random, 256 bit password from https://www.grc.com/passwords.htm

  • Input Sanitization and XSS Prevention

 These are the only two features on this list that Wordpress ships with.

 Search Engine Optimization

  • Friendly URLs

 Wordpress uses Apache’s mod_rewrite to enable search engine friendly URLs

  • Sitemap.xml

 The site contains a plugin that automatically generates sitemap.xml for search engines.

Other

  • Off Site Backups

 The site contains a plugin which backs up all files on the server plus the database.  The result is a single .zip file that I download to my computer on a weekly basis.

  • Uservoice

 The site implements uservoice to get feedback from visitors.

 There’s a lot more to building a public website than just doing a one click Wordpress install.  Only one item on this list comes with Wordpress and is enabled by default.

Price Reduced

31 December, 2009 | Joel Roggenkamp | No Comment

I’m happy to announce that the price for Attendance Management System has been reduced to $49!

Attendance Management System is the easiest way to track attendance for community organizations such as scouts, church groups, school activities, and business organizations.

Daily Updates?

29 December, 2009 | Joel Roggenkamp | No Comment

One way I might be more productive in my business is to make daily updates to the blog, just to document what I worked on each day, or even to document cool stuff I come across on the web that might be useful.  I did this with my previous business attempt last summer:  http://projecthatrick.blogspot.com/.  I’m also going to redesign the theme for this blog eventually.

Right now, the vast majority of my traffic is coming from Facebook ads.  This is the best advertising investment I’ve made so far.  I get lots of very targeted traffic and a high percentage of downloads.  So far, I haven’t gotten any conversions from this traffic, but it’s still too early to form any conculsions.

One piece of feedback I got is that my product is priced too high.  After reviewing the prices of some of my competitors, I reached the same conclusion.  In the near future, I’ll be reducing the price of my product to $49.

I’m just wrapping up some customizations of Attendance Management System for a customer.  Usually twice a year, I get a custom development contract.  The software was designed to be highly versatile, but every once in a while, an organization has specific requirements that require customizations.

Building A Web Portfolio

12 December, 2009 | Joel Roggenkamp | No Comment

Several customers have been very satisfied by my professional web site design services, including: Gaia Garden Designs, The Alpha Centauri (with a previous site), and Flat Stone Amps.  I have two other sticks in the fire:  the school store for the high school I work at and Tommy’s Tree Nursery.  The first site should be completed before January, and the second is due out this spring.

The pay for these gigs is not very high, but adding some sites to my portfolio will be very helpful in marketing my services.

Sunday School Attendance Software

9 December, 2009 | Joel Roggenkamp | No Comment

It would be great if you had a single program that would let you manage all kids in all grades but also let you track attendance for each grade level separately. Well, guess what? Attendance Management System does just that! With the software, you can make each grade level its own group and track the attendance for that group separately.

Another great thing about the software is that you can set up a computer at your church and have kids sign in themselves. They just pick out their names from a list and (optionally) enter their passwords. Of course, you can also print out blank attendance forms if you use the pass-around-the-room method. You can download the software and use it free for 30 days. Find out what other churches have already discovered about the best attendance software on the market!

AMS Version 4.2 Released

5 December, 2009 | Joel Roggenkamp | No Comment

Attendance Management System was developed for Windows XP, and during my testing of the software on Windows 7, I found a few little nasty bugs: 

  • The help files no longer worked.  I needed to convert the help system to HTML help and made these files available exclusively from my web site.
  • The program crashed if you try to print something without a printer hooked up.

Version 4.2 fixes these problems and there are no known issues with Windows 7.  The program works great on all versions of Windows from XP to Windows 7, including Vista.

Microsoft has vowed backward compatibility with Visual Basic 6 applications on Windows 7, and everything now is working wonderfully.  However, the rumor is that this support will stop for Windows 8.  Not to worry; I’m already planning chapter two.  It’ll be even better.  Stay tuned.

Teaching Java Programming

5 December, 2009 | Joel Roggenkamp | No Comment

You haven’t lived until you’ve taught computer programming to a group of 14 year olds.  One way I put food on the table is by teaching high business classes, and our first trimester just ended.  This is an intro course covering the absolute basics: variables, computations, events, decisions, loops, methods, and arrays.  The culminating activity was a simplified blackjack game which took me about 20 minutes to write but took the class about a week.

Really, it’s awesome seeing the excitement in their eyes when they figure out how to make the computer say YOU HAVE A VIRUS or count backwards from ten.  When they actually make their first card game, they’re basically ecstatic.