Bureaucrat Founder
  • My occupation is MEng CompSci (First class), former medical student
  • Changtau2005

    Highcharts JS

    April 23, 2013 by Changtau2005

    This is probably the final update for COMP2014 from me before the individual and group report submissions. This covers all that I've done before the assessed presentation on 23rd April, which is tomorrow, at the time of writing of this article.

    I decided to use Highcharts instead of RaphaelJS for our chart because of several reasons. Primarily, we are only implementing a line chart for energy consumption, and Highchart is the gold standard for line charts, candlestick charts etc. in use for stock trackers and other banking services. It also happens to be open source and free to use for education and non-profit purposes. Highchart's documentation is also very comprehensive compared to the almost non-existent one for RaphaelJS.

    The main advant…

    Read more >
  • Changtau2005

    This blog covers last two weeks' progress. The majority of the work is finished last week for milestone 2 of the project, so I had a bit of a week-long break from the project since I'm ahead of schedule, and I'm waiting on other members to finish certain parts so I can continue my work. I'll get to that bit momentarily.

    As far as I'm concerned CSS is not a priority until we get the platform features finished, so I have been considering the UI's appearance to be in the unpolished, 'alpha' stage. But, since we are giving a presentation for Imagine Cup on Wednesday, I did some subtle CSS changes to make the UI more presentable.

    I've added extra shading and lighting effects to make the stage look more three-dimensional, and changed certain font …

    Read more >
  • Changtau2005

    The bulk of this week's progress is finishing the ECA stage. This involved refactoring the majority of last week's UI handler classes to handle asynchronous updating as well as polling support, similar to the Control stages for each room.

    One consideration in particular is a stage update() call after every user-generated event, since Michael mentioned some time ago that poll rate is a settable value via one of the configuration stages. This should be retrospectively implemented for the room control stages in due time.

    Much of the refactoring involves rescoping methods (inherited or otherwise) so that the code remains conformant to DRY. Method signatures had to be changed as well since the newly-implemented AJAX calls need to target the RuleMana…

    Read more >
  • Changtau2005

    The bulk of this week's work is on designing and coding up the ECA control panel. This is where the user sets the behavior of the house programatically.

    The server checks through a list of given events when a sensor unit within an item returns a state change. If any of the events match the state change, the server checks the associated firing conditions for the list of actions associated with that sensor event, and fires them if all of them are matched. That's the server side of things, while my job is to let the user specify that behavior within an intuitive UI.

    There are a couple of design challenges, in both visual and programming perspectives. Firstly there is a lot of information to be displayed, much more than the room and item control …

    Read more >
  • Changtau2005

    This week's UI work wraps up the requirements for the first milestone release, and then some.

    The only thing that was left for the first milestone is add/remove room control. In order to enable that, it was necessary to change how stages were defined and the MenuManager class. The change to MenuManager was necessary, because as it was designed (way back at the beginning of COMP2013), it did not support dynamic button addition. Plus, initially stages are defined via anonymous, self-contained, self-executing functions, but this is no longer possible because adding/removing rooms necessitates dynamic creation of stages, so each of those functions are given a reference now.

    There's also a new stage that's only generated if the AJAX call to /stat…

    Read more >

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.