Wednesday, December 21, 2011

Kid Browser

Desmond always amazes me as to how much he can grasp. Kids are such sponges and they can do way more that we think they can do. For example we let him go to a few websites that we have deemed safe for him to look at. I am amazed that he picks up how the games work without Melissa or I telling him how to do them. He has gotten really good at using the mouse.

Anyway, occasionally we would let him look at these sites and then later we would find that he minimized the browser and Quicken or something else that we didn't want him messing with was up on the computer. So, I decided to make a web browser specifically tailored to his age so that he can only go to the sites that we say are ok and he cannot click out of them into anything else. Also, I didn't want him to easily be able to minimize the browser or close it. Thus, KidBrowser was born.

I don't claim that it is any great work of programming, and it could probably be more visually appealing, but I am no graphic designer. Anyway, if you have kids and you want to use it yourself feel free to grab a copy and set it up on your machine. I don't claim that it will work perfectly on your machine. I have only tested it on my box, which is a Windows 7 machine. However, if you have issues let me know and I will try and fix it.

I have created a bitbucket project for this browser, so feel free to download the source and make fun of my coding abilities if you want to.  Links and screenshots are below.

Bitbucket Project
https://bitbucket.org/fredclown/kidbrowser/wiki/Home

Latest Compiled Version
http://bit.ly/sfdF4P

This is what the browser looks like. The left navigation is the web pages that we have deemed are ok for him to look at. You can add as many as you like.  If you add more than will appear in the column you will see scroll arrows appear so that you can scroll the nav.



This is the config module.  You can use this to add sites to the navigation menu. Currently, I suggest using the Gecko browser option as IE seems to have an issue with at least one site I that I know of, Disney Junior.  The configuration module isn't pretty and I will probably work on it a bit more, but I wanted to get something made so that the browser could be easily configured. I think most everything is pretty self explanatory. There are a couple things that I will explain below.




Resolves To:
This is mainly used in conjunction with the "Allow Sub-links" checkbox. Sometimes if you put in a web address it will redirect you to another page. For instance if you put in http://www.disney.com it might redirect you to http://go.disney.com. If you have allow Sub-links checked and your "Site URL" is set to http://www.disney.com then you would be able to visit any links that start with http://www.disney.com, unless specifically blocked in the block section.  However, if the site automatically redirects the home page to something else such as http://go.disney.com then in order to get all of the pages under http://www.disney.com and the home page http://go.disney.com you would need two different entries. That is why implemented the "Resolves To" so that the browser will consider the redirected first page to be apart of the rest of the site.

Allow Sub-links:
This will allow any pages that start with the "Site URL" to be viewed.  Thus is the "Site URL" is http://www.disney.com, then http://www.disney.com/junior would be available as well.

Blocked Sites:
Blocked sites take precedent over the Allowed Sites.  By default everything is blocked except what is specifically allowed.  However, if you allow sub links for a certain site there may still be a couple undesirable pages. You can block these pages specifically. Additionally you can block sub pages or any pages that start with a certain URL. Thus, if http://www.disney.com/junior was allowed with sub-links, you could block the Winnie the Pooh video page by putting in http://www.disney.com/junior/winniethepooh/video for a blocked url. If you clicked "Block Sub-links" then anything under http://www.disney.com/junior/winniethepooh/video would also be blocked ... such as http://www.disney.com/junior/winniethepooh/video/theblusteryday.