The last week all we did was getting the application bug free. We had still a lot of nullpointers to resolve and form validation to implement. Everything works now , the mobile web app is finished and has a little more options than tracking only. If you want to find out, come and check the demo.
The poster has been printed to, it looks quite awesome. Last hours will be spent on testing the system intensively. Maybe , facebook integration will be implemented to .. who knows..
The demo takes place :
from 10.00 till 17.00
Departement Werktuigkunde (3de verdieping)
See you there ! Team CW A2
We had a pretty busy week, there still were more bugs than expected so we had a lot of work. We finished up milestones, we worked a bit more on the tracking itself, so it’s almost completely bugless. We found out that the database doesn’t work as fast as we hoped, but we found a way to write stuff in the database faster. We worked a bit on the badges, so it shows when you’ve achieved one. The user control panel is updated, so you can easily change your emailadress and password. The statistics are almost done. We did some upgrades on the dashboard, so you can add aidtools & distractions. We finally started implementing the statisticscontroller in the system, so we found out some bugs in there, but they’re almost finished now.
We also made a poster we could show at the demonstration day next week. There is still some work to be done till then but we’re pretty confident it can be done. Next wednesday our app can be seen at work. See you there.
Past week we did a lot of important coding. We’re developing a mobile site with the jQuery Mobile framework. We spent some time on thinking to either use the Sencha Touch or jQuery Mobile framework. The extra features and the more OOP oriented Sencha didn’t win the battle from jQuery from easy development perspective. The mobile site can be used to track activities. Anything else is only accesible from the PC-browser : Statistics, registration, adding milestones etc. Why ? Partly because we don’t have enough time to implement a whole mobile site and also because the main goal, is to make tracking easy. Mobile tracking is easy, because you don’t need to have a laptop with you all the time.
Still one and a half week to go, but the statistics are getting shape, adding buddies is done, the registration process is bugfree, milestones are almost implemented. Still to do :
- jQuery mobile web app : tracking forms.
- Facebook and Twitter integration
- Adding statistics to the dashboard
- Implementing the milestones in the dashboard
- Check for achieved badges after an activity.
We have a good feeling we’ll be ready on time. If time is left we’ll be spending it on perfecting the database reads and writes.
Today our tutors tested how our application did at 3 basic use cases; registering, logging in and timing an activity. We’ve had some troubles logging in the last few days because we didn’t extract our current user out of the session. We had a field currentUser that stayed the same for all users, no matter who’s logged on. When a new user logged in, the currentUser was overwritten. So there were some unknown problems, like some users could log in, others couldn’t.But after some rewriting, we got it right, so there shouldn’t be any problem.
There were also some flaws, like when you’re logged in, you can still go back to the registration form, however this was one of our preconditions in the use case. You can go further in the registration form, but not back. The system doesn’t detect whether the username is already in use, so it just gets overwritten. When the username/password is wrong at the login, you just get redirected to the main page, instead of getting an error message. And when the user logged out with the tracker still running, it wasn’t running when you logged in a bit later. But after all the functionality was pretty good, and these flaws are easily fixed.
So today we started fixing those “bugs” and kept working on our plots and a way to add milestones. We updated our controllers and made most methods static, with an extra parameter currentUser, so they can be accessed directly from the session. And we don’t need the object controller created, with a permanent field currentUser. We also figured out a way to keep the tracker running, so that should be fixed pretty soon.
We hope to get a lot more functionality at the end of the second iteration, with some really nice things like badges, milestones, buddies, plots,… So there’s still a lot to come, stay tuned .
Today we tried to finish the first iteration.
This means that we implemented the following use-cases:
- Student logs in
- Student logs out
- Student registers on the website
- Student tracks his activities, with a start/stoptimer
Everything seemed to work when tested locally. But when we tried to deploy it and use it with more than one user on-line, the problems began.It seemed that our class design was wrong. We tried to save the current user in a field in the controller classes. But those were singletons, so when another user tries to log in, a problem arises. We learned to use sessions and save the current student in a session.
Another thing we did was changing the way we make our object persistent. We used to save them with JDO but it didn’t seem to be very effective. We decided to switch from JDO to Objectify. This is an API, made specifically for the Google DataStore. A big advantage of this Objectify is we keep our existing classes, we don’t need to modify them a lot.
To prepare for the demonstration next Thursday, we checked and reviewed our use-cases to match our application.
It’s all coding that we did this time, the java code is already taking shape, our milestones, alerts and badges are already implemented. We already started to implement a few statistics, and the way they’re viewed in our application, since it looks like that’s one of the most important things the program should be capable of.
We also had some work done on the JSP files and created a nice registration wizard in which you can fill in the courses your attending that semester. The homepage is also taking shape & we also made a basic tracker so you could track the time you’re studying.
I think this project is going pretty well at the moment so we can deliver some results pretty soon
In our last session we had some feedback on our report and how we were doing it so far. From now on the implementation started and the real coding can begin.
We started with creating the packages and all the classes present in the classdiagram. The basic graphical interface is also developed, further more we developed an administration backend to mimic the toledo database. From here we can add courses and add suggestions to the system.
Several classes have been filled with method signatures present on the class diagram, but they lack logic. This will be implemented the following weeks to come.
We have chosen a dynamic navigation using the JSP include function. This enables us to write only content in a JSP file and the index.jsp includes the necessary content.
Our project can be followed from here : http://code.google.com/p/learninganalytics
The web-app can be accessed from here : http://analysestudy.appspot.com/