I did not write today’s post. Oh no. This is a post from Jason, my genius husband (who is the one who actually keeps Homeschool Share afloat!). He wrote a computer program that automatically boots our kids off the computer when their time is up. I love it. I don’t have to monitor the time they spend. So, here you go . . . Jason’s post . . .
If anyone wants to just grab the program and run with it, you can download it here:
https://www.walkingbytheway.com/session_timer.zip
I found that as a parent it’s very easy to set your child in front of the computer to distract them while you try to get something accomplished at home, then next thing you know it’s been 5 hours and they’re still on the computer. I searched for a program to control the amount of time that a person had on the computer. I had just a few goals in mind:
1. I wanted to be able to adjust the time limit with just a few clicks
2. I wanted the program to warn when there was just a bit of time left
3. The program needed to not be easily closed by the user
While there were a handful out there, none of them did exactly what I was wanting to do. So I decided to write one myself. The first part of this post will just be a basic explanation of how the program works and will get you going pretty quickly. The sections afterwards will go into a bit more detail of what the program does and what I hope for it to do in the future. Before we jump into this there are two points I should make:
1. This program could be tagged by your virus scanner as a suspicious file due to the nature of what it does. I can assure you with 100% reliability that it is not a virus, and there is nothing malicious about it. It does no communication with the internet, nor any kind of spying.
2. If you are behind a proxy server then the internet filter settings on this program will override those settings if you use them. 99% of you will not be behind one unless you have a tech savy family member that thinks they’re hot snot by setting one up. But in the unlikely even that you do I wanted to warn you about it so you would not use this feature of the program.
Ok, now on with the show. The program is just a single .exe file that for the most part runs in your system tray (it’s the little yellow clock icon in the upper left, and look, you can see what date and time I took this screenshot. Three cheers for procrastination!):
When it first launches it will check to see if there is any remaining time for the day. If not, it will display a warning and grant the user one minute to get someone to give them more time:
After clicking OK you are presented with a password prompt:
As of right now the password is hard coded into the program. I plan to make it so that the password can be changed but for now it’s “hedwig” “choresaredone”, no quotes of course. After typing in the correct password you get the main gui where you’re able to add more time. For now though we’ll assume it’s the first logon of the day and there’s plenty of time left, which a tooltip will display at the top of the screen:
The tooltip will disappear after 10 or 15 seconds. If you ever want to check your remaining time just hover the mouse over the tray icon and a similar tooltip will appear. This right here is enough to get you started. If you don’t know how to place a program in your startup folder I will explain that further down in this post. It’s not hard, but can be a bit tricky.
Double clicking the tray icon will bring up the same password prompt from above. Enter the correct password and the following gui will appear:
From here you can change the settings of the program. Settings take effect as soon as they’re clicked.
When time is up: You can configure whether the computer locks (displays the welcome screen or logon prompt, same action as when you press the Windows-button and L on your keyboard), or if the user gets logged off. The downside to logging off instead of just locking the screen is that any unsaved work will be lost, or as I’ve found with some programs they can actually halt the log off process with an “Are you sure” type of dialog defeating the whole purpose of the program. Never the less the option is there.
Reset time: Enter a number of minutes and press the reset button. The amount of time remaining will change to whatever was typed in.
Internet Access: This is only effective for Internet Explorer and Chrome. Firefox has it’s own network settings and since I don’t use it I’ve not taken the time to make it work. The default setting of course is unfiltered. Once you change this setting it will overwrite your current proxy settings. I honestly cannot stress this enough. However as I said above, 99% of home users do not have a proxy server, so this won’t be an issue. I will explain more about this area of the program further down in this post.
When you click the X to close the window it will minimize to the system tray where it will continue to countdown the remaining time. When there is only one minute left the tooltip will reappear at the top of the screen and remain there until the time is up. At 30 seconds the computer will beep once per second. At 10 seconds there will be two beeps per second. I realize the beeps could get annoying so down the road I plan to add a button to disable them. When the time is up the selected action will be performed.
Now if the user has to take a break they can lock the computer themselves by pressing either the Windows-Key and L, or pressing Ctrl-Alt-Del and clicking the lock computer button. The timer will pause until the user logs back in.
While the program is running Task Manager is disabled and only enabled while in the gui. This prevents the user from killing the program manually. There are other ways to do it, but Task Manager is the most known way so this should prevent the majority of kids out there from cheating. There will be exceptions of course.
Internet Access
This is a very old school way of filtering access, but it works and most people will not know how to change it. I will admit that it can be a bit flaky and usually requires a restart of the web browser for the settings to take effect, but it does work most of the time which is why I included it. In a nutshell this is how it’s done (boring technical stuff ahead):
The program filters internet access by manipulating the proxy server settings of the OS. A proxy server is a pc or device on your network that acts as a gateway to the internet. Most likely if you have a proxy server on your network you know it and most likely it’s used to filter your internet access so this portion of the program will be of no use to you. Even so I still want to warn you again that if you enable any filtering in this program it will override the current settings on your pc. If you’re already using a proxy server skip this section. If you’re like 99% of other home users out there, keep reading. The filtering of the program works by telling your pc to look for a proxy server on your network with the ip address of 123.456.789.0, a non-existent impossible ip address. Since this proxy server is unreachable your pc will not be able to access the internet. There is a section in Windows though where you can tell the computer to bypass the proxy server for certain sites. Usually this would be for businesses who have a local intranet, or perhaps there’s a website that doesn’t work through the proxy server. So instead of trying to access such sites via the proxy server it goes directly to the specific site via the default route (usually a router, modem, or some such device).
To add sites to the allowed list, click the edit allowed sites button and the following gui appears:
The summary in the picture is pretty straightforward but I’ll clarify a few things. You only need to specify the domain name you want to grant access to. You do not need to specify the entire URL. So based on the above list www.sesamestreet.com is available as well as www.sesamestreet.org, or just sesamestreet.org. By using wildcards before and after sesamestreet it means any site with sesamestreet in it’s domain name is accessible. So if there was a site out there called www.sesamestreetgunshop.com that site would be accessible as well. So being more specific is good, but it can also make things more difficult requiring more entries in the list.
You can fit more than one site per line, just separate them with semi-colons. Once the gui is closed the settings are saved and you’ll be back at the main gui.
When access is set to filtered the program removes all the sites from the bypass list of the OS (they remain listed here in the programs list) which effectively kills access to any site.
When access is set to unfiltered the program disables the proxy server settings, and the computer goes back to using the default route for internet access.
Now I will admit that we don’t use this feature anymore at our house. It can be quite annoying as sometimes sites will reference domains outside of their own in order to make something function on their own site (say like a banner ad). Blocking banner ads isn’t necessarily a bad thing, but some sites won’t load unless the banner ad loads. It’s odd but it does happen. You then have to figure out what other site they’re referencing and add it to the list. At our house we use OpenDNS to filter our internet. It’s free, and they have a very good track record of being able to successfully block certain categories of web content. We use it at the water plant, and a few other customers of mine use it as well. If there’s enough interest I can do another blog post about it. The guys at How to Geek have a pretty good article on it as well.
Add the program to your startup folder
The best place to put the file is in the All Users startup folder. The advantage to this is that non-admins can’t delete anything from this folder. No one at our house runs their pc as an administrator (even me), and it’s something you should do to if you’re not aleady. The location of the startup folder varies depending on your version of Windows, but the steps to copy it there are the same (and you need to be logged in as an administrator to do this).
1. Extract the program from it’s zip file to your desktop
2. Press the Windows-Key and R to get the run dialog box to appear:
On XP:
3. Type C:\Documents and Settings\All Users\Start Menu\Programs\Startup (or copy and paste it) then press Enter
On Vista/7:
3. Type C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup (or copy and paste it) then press Enter
https://www.walkingbytheway.com/session_timer.zip
I will try to answer any questions in the comments of this blog, but if possible please ask your question on the forum instead.
[…] Homeschool Share for the download file [it is a zip file] and follow Jason’s instructions on how to set it up. […]