View Full Version : Teacher Websites - A Student's Project
Blaise
02-12-2006, 06:39 AM
Hi,
I'm currently a junior in high school and I am looking for input from educators like you all on a project I am working on. I've started designing and building a project called Athena that is a web application designed for teachers to easily manage their websites. It'll be very basic, with no real "fancy stuff." It'll have cool features here and there, but my entire goal is to provide a very FAST way for teachers to update their websites with everything from files to homework assignments. When I ask the teachers without websites, or stale sites that haven’t been updated in a few years, they always provide the same answer, “I really don’t have time.” And it’s true. Learning basic web design is the last thing I see them wanting to do. FTP? CSS? What the heck!?
I'm sure there are other projects that do just this, but I feel they aren't advertised well enough. I'm not trying to compete with them either, but I'm simply trying to make their lives, your* lives easier.
I'm towards the end of my pseudo coding (planning) phase and will soon begin actual production. However, there's one issue I must establish before stepping any further. That is the overall approach of this application. By this I mean, I could build it into a server program that school administrators download and install into their private server. The application would include administration panels so they can manage their teachers themselves. This may present a few problems though. First of all, I'm unsure of the availability of the required hardware. In other words, I'm not sure if every school has a spare server laying around. I attend a high school in northern California in the Silicon Valley area, so I have a somewhat spoiled perspective as we have everything from Dell Terabyte Raid5 file servers to Apple Xserves flowing around here. Building this project this way could severely limit the amount of users to those with the available hardware AND sufficient technical knowledge of setting up, configuring, and securing a web server. Hardware-wise it would not require much. SQL can killer on resources, but not for the simplicity and small number of queries this would run.
On the other hand, I could store the entire project on servers of my own (hosted at a datacenter of course) and individual teachers or schools would come and sign up. This is basically the method other projects of this same nature are using. This also presents some issues. Such as, how would I control registrations? I would not like to have a publicly open registration form for anyone to sign up with. I actually had an alpha test of this last year at my school and managed to please a dozen or so teachers with it. They loved what they were seeing. However, I also had invalid registrations by internet wanderers (probably kids with too much free time.) Those invalid registrations setup entire accounts and are simply wastes of space. With that, how would I verify the teacher is really a teacher? Hosting this project on my own servers would be costly, and I fully intend on this being free, so income will be nonexistent.
As well, would the school districts even allow teachers to host their websites on servers other than their own? I'm not familiar with the policies related to teacher websites and where they're stored.
The structure of this application will pretty much depend on which way I go with this issue.
I HUGELY appreciate any thoughts/advice/comments. The more input I receive from you guys, the better this will be. :) If I receive genuine support here, I'll show you guys around more extensively with my documentations, programming plans, etc.
Regards,
Blaise
Unregistered
02-12-2006, 11:53 AM
Sounds like an ambitious project, probably too ambitious. Your biggest technical problem will probably be security. How do you plan to prevent users from yanking login infomation? You could use Secure-FTP, but I am not sure how user-friendly your product will be when setting up user accounts.
I suggest making this a class project and putting it in your portfolio. Maintaining a commercial product will be an overwhelming chore if you want to make this publically available. I would suggest placing your emphasis instead on academics. Do you really want to be stamping out hardware/software fires and dealing with angry teachers the night before an exam?
Just my two cents.
Blaise
02-12-2006, 02:24 PM
You make a valid point. I have a lot of support around here though. My school has been blessed with some very computer savvy teachers, most of which have either MiS, CiS, or CS degrees at least. We have several programs, including a networking program where students leave with an A+ cert, and a great computer science program where students leave fluent in C, C++, and java, and an AP class out of the way. In other words, I have very knowledgeable people around me who are happy to help in any way they can, even if it means some PHP coding.
As for security, I don’t plan on including FTP in any of the process for teachers. Their websites will be 100% maintained via web based control panel. No downloading and installing software of any kind, simply pointing their browsers to their administration panel. As I said before, I want this to be as simple and fast of a chore for teachers as possible. They login, update, logout, done.
Setting up user accounts will depend on which way I go in the issue stated in my original post. If this is a downloaded application to be installed on the school’s server, then they will be provided an administrative panel to manage users. It’ll be basic, and to add users will simply be adding MySQL tables and a folder based on their ID# for their file uploads (via php form on their CP.)
If I go with the other method as described in the first post, I’m not exactly sure how users will be administered. Perhaps, if the school signs up as a whole, I could install the application into a private folder for them which will consist of everything as if they installed it on their own servers. A VPS (Virtual Private Server) type of thing. Or, I could keep the registrations on the individual teacher in which their accounts would be setup automatically upon registration. That brings me to the whole other issue though, whether to keep registrations public or private.
Do you really want to be stamping out hardware/software fires...
You’re absolutely right about that. I have a feeling there would be plenty of people out there that, if asked to download and install this application on their server, will break it somehow. I could make the installation process a breeze, even automatic, but problems are bound to come up. In that case, since this is a nonprofit project, I wouldn’t be totally responsible to provide the support as I would be if it were a paid for service. Although, that pains me to even say because I want to be as helpful as possible, and hope it never came down to that. With that in mind, I’m leaning towards having this application stored on centralized servers.
Unregistered
02-12-2006, 05:55 PM
This kid is NOT in Jr. high.
Blaise
02-12-2006, 06:57 PM
This kid is NOT in Jr. high.
Junior IN high school. 11th grade. :p
While my friends flip burgers at In-N-Out, I consult with small businesses on building fully dynamic, E-commerce storefronts. :)
Unregistered
02-12-2006, 08:39 PM
You make a valid point.
Agreeing with me on any issue is bound to raise a lot of hackles, so be careful. (I am not the most popular poster in this forum, if you know what I mean.) :D
I have a lot of support around here though. My school has been blessed with some very computer savvy teachers, most of which have either MiS, CiS, or CS degrees at least. We have several programs, including a networking program where students leave with an A+ cert, and a great computer science program where students leave fluent in C, C++, and java, and an AP class out of the way. In other words, I have very knowledgeable people around me who are happy to help in any way they can, even if it means some PHP coding.
Fluent? I think it takes some experience working on some ambitious projects before one can really say they are fluent.
As for security, I don’t plan on including FTP in any of the process for teachers. Their websites will be 100% maintained via web based control panel.
But how does the information get from their keyboard to the web server? Again, it is all about security. If I'm in this class I can lift the usernames and passwords by monitoring the activity going into the IP address. I can then log in and change my grade to whatever I wish.
So at some point you need to think about encrypting all communication. You can do that with https, but what about attachments?
You can set up your own servers, but now you are talking about some big money. After all, we are discussing essentially a web portal, not just a personal web page. When a server goes down, you need a backup to kick in almost immediately. You can set up your own RAID system, but that isn't cheap. (You say you have one at the school, but I doubt they would let you use it for a project like this.)
Setting up user accounts will depend on which way I go in the issue stated in my original post. If this is a downloaded application to be installed on the school’s server, then they will be provided an administrative panel to manage users. It’ll be basic, and to add users will simply be adding MySQL tables and a folder based on their ID# for their file uploads (via php form on their CP.)
But who will maintain it? Take a look at all those horrid school web pages and you will determine their level of tech savvy -- very low.
I am not trying to discourage you. I just don't want you to regret getting involved in a situation from which you cannot turn back. If you have set up 30 user accounts and later find out you don't have the time to maintain the system, what are you going to tell your users? This is not something you will be able to walk away from.
Again, I would get this working on a personal web server, then port it to various machines and operating systems. Get it working on OpenBSD and you will have really done something. I would find that more impressive than making the product available as shareware for Windows.
You’re absolutely right about that. I have a feeling there would be plenty of people out there that, if asked to download and install this application on their server, will break it somehow. I could make the installation process a breeze, even automatic, but problems are bound to come up. In that case, since this is a nonprofit project, I wouldn’t be totally responsible to provide the support as I would be if it were a paid for service.
Not legally, but what about ethically? Is it fair to bail out on someone who has placed his trust in your software?
Blaise
02-12-2006, 09:40 PM
Agreeing with me on any issue is bound to raise a lot of hackles, so be careful.
You made a point and I acknowledged it. Any "hackles" will not originate from my end.
Fluent? I think it takes some experience working on some ambitious projects before one can really say they are fluent.
Fair enough. Enough knowledge to get college credit for then.
But how does the information get from their keyboard to the web server? Again, it is all about security. If I'm in this class I can lift the usernames and passwords by monitoring the activity going into the IP address. I can then log in and change my grade to whatever I wish.
Grades were not in the initial plan to be included in the project. I have very good resources who will confirm whether my project is secure or not.
You can set up your own RAID system, but that isn't cheap. (You say you have one at the school, but I doubt they would let you use it for a project like this.)
I have several raid servers right here in my very house that I would colocate if it came to it. If this project actually outgrows a few dual opteron servers, then we'll really have something on our hands. A single server can handle thousands, even millions of sql requests daily. That's quite a few homework assignment pages... Before it ever even came to that though, I would have it on a large shared hosting plan or even VPS.
But who will maintain it? Take a look at all those horrid school web pages and you will determine their level of tech savvy -- very low.
If we build this to run on the school's server then yes, it will take a certain amount of know-how to install it and maintain it. But, that person probably set up the web server in the first place, and my administration control panel will not be difficult to manage; Add User/Edit User/Delete User.
If this is on my own servers, then I have several people willing to devote time into managing it.
I just don't want you to regret getting involved in a situation from which you cannot turn back.
I consider myself warned, but thank you for your concern.
Again, I would get this working on a personal web server, then port it to various machines and operating systems. Get it working on OpenBSD and you will have really done something. I would find that more impressive than making the product available as shareware for Windows.
If it is installed on the school's own server, I have every intention of porting it to multiple OS's. That will not be difficult, considering it will be mainly PHP and SQL.
Not legally, but what about ethically? Is it fair to bail out on someone who has placed his trust in your software?
I realize I have a certain obligation to service my product. Which is why I'm leaning towards centrallized servers. It'll be easier to manage and help that way.
Now that we've gotten these front issues established, have you any thoughts on the project itself?
Thanks.
Unregistered
02-12-2006, 10:39 PM
You made a point and I acknowledged it. Any "hackles" will not originate from my end.
My comment was an inside joke here in this forum, and not aimed at you.
If it is installed on the school's own server, I have every intention of porting it to multiple OS's. That will not be difficult, considering it will be mainly PHP and SQL.
I think getting this to work on an OpenBSD operating system will be a tremendous challenge. But you are right -- PHP and SQL are very portable.
I think you have a great project lined out. I think you will find the administration/maintenance side to be more challenging than you think, but maybe that is what makes the project even more compelling.
Blaise
02-13-2006, 02:32 PM
My comment was an inside joke here in this forum, and not aimed at you.
I apologize I didn't catch on to that earlier. Now I feel like a newb. :)
I think you will find the administration/maintenance side to be more challenging than you think
Quite possibly, and I'll keep that in mind as I work. A lot of the construction of the project revolves around administration and maintenance methods which fortunately I've become experienced with working on other projects. I should also have a better idea closer to the end of the actual production.
Anyways, I came here for teachers' perspectives and not so much technical insight. :)
What are schools' general attitudes towards hosting their teachers' websites off campus? Given that they knew the level of expertise was high and could be entrusted with the task, would schools still be willing to go along with something like this? I realize presentation of the project is important, and convincing them that this product will make their lives easier is half the battle, but the general attitude of the techies around here towards change is not too accepting.
Will I have more success by targetting the individual teacher? Or school as a whole?
Thanks.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.