All 9 entries tagged Weekly-Project-Report

No other Warwick Blogs use the tag Weekly-Project-Report on entries | View entries tagged Weekly-Project-Report at Technorati | There are no images tagged Weekly-Project-Report on this blog

February 19, 2008

Progress Report

19/02/2008 - Term 2, Week 7 (start of)


For the last few weeks I have been coding up the JavaScript for the client-side system, a small demonstration of its current capabilities can now be found online at: The main things that have been implemented so far are as follows:

  • The Staff object, allowing any five-line staff (with associated clef, time signature and key signature) to be drawn to the browser in accordance with MusicXML attributes.
  • The Note object, which takes MusicXML attributes and positions and draws any single note to a given staff.
  • The Chord object, which takes an array of notes and positions them around each other so as to form a valid chord on a given part. This is the area which took longer than expected as keeping to the musical notation standards (cf. this previous entry) was complex. The current implementation simplifies chord layout slightly by viewing each chord as two distinct sub-chords by the stem direction of the composite notes (i.e. 'up' or 'down'), and placing them side by side This approach should be sufficient for the purposes of the editor as it should still be clear what is going on to the user.

Also, last week I contacted the creators of the Virginia Tech Online Music Dictionary who have since granted me permission to use symbols found on that website in the first version of the system. The codes of the symbols I have used so far from this website are: 08-10,12-15,23-28,43-48,50-51,57-58 (see Supported Symbols for explaination of symbol codes).

It has been necessary, due to oversights in the original design, to add a further 19 symbols to the system for: time signatures, vertically flipped versions of the stem flags (for down-stems) and ledger-lines. Out of a new total of 87 required symbols, I have now acquired 65 of them.

Some work has also been done on the client-side system, however this is incomplete and yet to be integrated with the JavaScript system.

User Interface Design

The design of the user interface for the editor system, which until now has been sketchy in some places, has been further developed. The current aim is for the webpage to have three main columns: left-sidebar, main and right-sidebar. The main section will display the score, and the left-sidebar will display the general options and links around the rest of the site (e.g. 'Save work'). The right-side bar will be the score editing tool bar and will contain a panel for editting the attributes of the selected symbol (e.g. change the no. accidentals associated with the selected note) and a 'playground' stave where the user can mess around with new notes/chords before dragging them onto the score or drag existing notes/chords back onto to significantly re-shuffle things. The user will also be able to change the attributes of selected notes as they sit within the score and will be able to drag notes around to change their pitch / location in the score.

This design will evolve as I move closer to its implementation. 

Work to do

Following is the coding work required to bring me to where I originally specified the first version of this project should get to:

  1. Implement the Part, Measure and Score objects in the client-side system, allowing full pieces of music to be displayed in the browser.
  2. Implement a MusicXML parser function that will process a MusicXML file and generate the data required to display it.
  3. Implement the user interface for interactively modifying the score in the browser
  4. Implement a function that will save the data back to MusicXML format (and back to the server)
  5. Complete implementation of the simple server-side system that will allow users an account where they may access their saved scores and edit a few details
  6. Implement the auto-saving feature, so that each change in the browser is sent to the server asynchronously (Ajax), as and when the user makes them.

In week eight or nine I will be required to give a presentation to my assessors summarising what I have achieved with this project and demonstrating its current capabilities. It is my hope that I will be able to get everything listed above done in time. However, if I am not able to do so, note that the above tasks are listed in order of priority. A natural cut-off point would be after point 4, not completing the aspects of the server-side system in time for the demonstration.

Whatever I get done in the next fortnight, it is my intention that I finish implementing the originally specified version of the system over the next few months.

Watch This Space

There will be regular updates on this blog marking out my progress for the next few weeks

January 15, 2008

Back to work!

15/01/2008 - Term 2, Week 2 (start of)

(Merry Christmas, Happy new year)

Current Progress State

As intended, no formal progress has been made over the Christmas break, so there is little to add to the previous entry.  The system has essentially been designed, and now needs to be implemented.


From here on in, I do not think I will find it helpful to split the work that needs to be done into weekly tasks, as I just need to code and test the system. Work over the next term will focus on first coding the server-side Ruby on Rails system, and then coding the javascript editor system, and then testing both. I intend for the coding work to be completed by approximately week 8, around when the system will be demonstrated as part of a presentation.

The overall timeline for the remainder of the project (as in the progress report) may be found here:


Future reports

These weekly progress reports will continue, and will summarise how far the implementation has come as the term continues. As part of this process, if I find that I need to clarify or redesign a portion of the system, details will be given in full at the time.

December 06, 2007

Approaching Christmas

06/12/2007 - Term 1, Week 10 (end of)


See the Progress Report document (published in the entry previous) for details of term 1 progress.

Over Christmas

I do not have much time available over the Christmas vacation to spend developing Notate , as I have other commitments through this time (and some unrelated course deadlines at the start of Term 2). As such, nothing has been formally scheduled until the beginning of the next university term.

However, I do intend to continue informally with progress, in the following areas:

  • RoR system design
  • Obtain musical symbols
Further updates 

This is the last report of the first term of development. Regular progress updates will recommence at the start of Term 2 (Monday 7th January). However, as I intend to get some design work completed over Christmas, the blog may be updated a couple of times.

November 23, 2007

Week 8 Report

23/11/2007 - Term 1, Week 8 (end of)

Change from timetable

In the timetable provided for this term's work, the progress report is scheduled to be submitted to the university on Monday of week 10. This was a mistake (caused by an error on the module website at that time). The progress report is, in fact, due in Monday of week 9 (at the time of writing - three days to go).


Work has been done on designing the system and finalising design documentation in preparation for the progress report due in next week.

Project State

Currently, all my time is being spent on catching up with design documentation and writing a progress report that is due in for midday on Monday (26th November 2007). This progress report will mark the end of the design phase of development.

This report will detail where progress has differed from what was predicted over the last term and will present a revised timetable for the remainder of development time.

Week 8 Tasks

Complete and submit progress report.

November 12, 2007

Week 7 Report

12/11/2007 - Term 1, Week 7 (Start of)

  • Continued work on system design
  • Continued work on prototype development
Progress Evaluation

I am on track to have the full design of the system completed by the end of term 1, which is as intended.

Current Project State

The system itself is in the process of being designed at the same time as a prototype is being developed. This is appropriate as it gives me an oppotunity to learn what practically works on in the browser, especially when taking into account the plethora of compatibility issues. This design will need to have been finalised by week 10, when the design phase needs to have finished and a progress report written.

Week 7 Tasks
  1. Continue designing the system
  2. Continue prototype development. Look into getting a server-side prototype up as well as javascript for the browser.
  3. Look into the source of graphics for the system.
Weekly Schedule

November 06, 2007

Week 6 Report

05/11/07 - Term 1, Week 6 (Start of)

  • It has been decided what is to be used to create the software. Namely Ruby on Rails and Javascript
  • Work has begun on a more functional prototype
  • Some research has been done into how the music symbols might be obtained. It may be possible to find freely distributed music notation fonts on the internet (e.g. list of music fonts,here)
Progress Evaluation

Following the last supervisor meeting, it has been decided that I should get on with codins a working prototype of the system. Although what is actually going to be in the system has been decided, the exact structure of the scores in the browser - in the javascript has not been finalised. It would be good to design this.

Current Project State

I would describe the current project state as being a cross between design activities and implementation activities. The project development has become more agile than the specification originally implied to allow for the design of the system to change as prototypes are developed. 

Week 6 Tasks
  1. Complete design of the data structures used in the system 
  2. Continue development in Javascript and Ruby in Rails
  3. Continue research into music-symbol graphics

Weekly Schedule

October 30, 2007

Week 5 Report

29/10/2007 - Term 1, Week 5 (Start of)


Following is the work done over the last week:

  • A decision has been made regarding the proposed change to the specification. It was decided that the aim and scope of the project would remain unchanged.
  • Some research has been done (and concluded) concerning the data storage requirements of the system. It has been decided that MusicXML will be a used throughout the system. It has yet to be decided exactly how the system will use this to display the score to the user at the browser.
  • Research has begun into what sort of development tools will be used throughout the project. So far Ruby on Rails, Python, PHP and Javascript have been considered. A conclusion has not yet been reached.
Progress Evaluation

Significantly fewer goals have been acheived than expected. It had been the intention that, by the end of this week, all research and requirement-elicitation type tasks would have been completed. However, I remain in the throes of data structure and development tool research.

Given that the essential requirements of the system are now well established in my mind, the formality of producing a list of requirements is not hindering the design of the system. However it would still be useful to have this documentation.

Current Project State 

As anticipated in last weeks report, the Analysis phase is going to have to continue through the next week, despite the original intention to have begun design work by now. The project timetable will be updated.

All outstanding Analysis-style tasks need to be completed by the end of this week.

Week 5 Tasks
  1. Finalise choice developments tools
  2. Finalise choice of data storage systems
  3. Consider graphics requirements
  4. Continue the development of prototypes of futher sophistication
  5. Produce a set list of requirements
Week 5 Schedule

My general weekly schedule may be found here.

October 22, 2007

Week 4 Report

22/10/2007 - Term 1, Week 4 (Start of)


In relation to the proposed tasks of week 3, the following work has been completed: 

  • An SVN repository has been set up (Task 1), this may be found at
  • Time has been spent working on a Javascript prototype (Task 3). The aims of the prototype have been to research into the potential capabiltities of Javascript and to help me learn how to use it. Little functionality has been produced, but it has been useful in giving an overall impression of what the final score editor may look like. Screenshots may be found here.
  • Time has been spent researching possible structures for storing and transferring musical scores. Specifically, a previously developed format called MusicXML is being researched.
  • A webserver has been set up that is compatible with Ruby on Rails. This will be used to host the final website and may be useful in terms of beta versions or prototypes that may be user-tested. It may be found at
  • I have also been dedicating some thought towards changing the general aim of the system. At the moment the aim is:

To develop a web-application to allow musicians to easily and intuitively create and edit their own sheet-music online.

However, it may be more effective to instead, aim the system towards being a community in which people can share their musical scores with each other, perhaps rating each other's score and offering advice to one another. The essential requriements of the system would remain unchanged (An online sheet-music editor would still be included for users) but it would almost certainly mean more work in terms of the rest of the website. The situation remains undecided.

  • Further requirements analysis of the system has yet to have begun (Task 2).
Progress Evaluation

Task Completion - In general, the amount of work completed this week was less than expected. Most notably I didn't get around to beginning the requirements/use-case analyses despite intending to seven days ago. However, this is due to the new uncertainty in the aim of the system and to the unexpectedly large number of hours spent experimenting with Javascript, and so is justifiable. Overall, progress is adequate, especially considering how early it is in the project lifespan. It is important to have completed these tasks by the end of this week however, which should mark the end of the Analysis phase.

Time - The time spent working was mostly in-line with the proposed schedule for the week, with the exception of a few hours where other commitments had to take priority. In future, taking these sort of potential commitments into account should lead to a more realistic schedule. Overall, I spent about the same number of hours working as I intended.

In conclusion, I would say I overestimated the amount of work I was capable of doing in the proposed time, especially when it came to research work (e.g. learning Javascript). In the future, it would be better to allow myself more time on research-type tasks.

Current Project State

Beginning of the second week of the two weeks allocated for system analysis (as laid out in the specification). All tasks previously associated with this phase need to have been completed by the end of the week.

Some time also needs to be spent considering what data structures will be useful for the storage and transfer of music scores.

Week 4 Tasks
  1. Finalise decision on how the aim of the project should be changed (if at all). Justify the choice.
  2. Decide on and complete appropriate analysis: Requirements Analysis and/or Use-Case Analysis.
  3. Finalise the decision on what tools will be used. Justify the choice.
  4. Research potential data structures for use within the system.
  5. Consider how the graphics in the system (musical symbols) will be obtained.
Week 4 Working Schedule
Monday 14-16 2hrs
Tuesday 09-12 3hrs
Wednesday 11-12,13-17 5hrs
Thursday 10-12,13-14 3hrs
Friday 10-11:30 1.5hrs
Saturday 10-14 4hrs

Total no. hours: 18.5

Further Comments
  • The emphasis of this week is on the completion of the Analysis phase of development. After this milestone it should be possible to start the Design and Implementation of the system. It is important that documentation is produced this week that justifies and finalises the aim of the system, the requirements of the system and the tools that will be used throughout the rest of the development of the system. 
  • If it becomes clear that the full completion of the Analysis phase of development is too ambitious, I will complete as many of the tasks as I can this week and the project timeline will be re-designed next Monday to factor in a further week of Analysis. At some point in the week it may transpire that more analysis-tasks need to be completed than originally specified here anyway.

October 15, 2007

Week 3 Report

15/10/2007 - Term 1, Week 3 (Start of)

Current Project State 

Following the completion of the specification, I now begin the Analysis phase of the project. According to the specification this will involve the following tasks:

  • Clarification of what the system should do by carrying-out a requirements analysis or a use-case analysis.
  • Research possible development tools, decide on what to use and then familiarise myself with them in preparation for the design and implementation of the system.
  • Give some thought to how the graphics that will be needed for the system (especially musical symbols) will be obtained. Look into possible solutions (e.g. creating them from scratch, paying for an existing set, paying someone else to create them)

It has also been suggested by my supervisor that putting some work into creating early prototypes would be a good idea.

First of all, however, I will need to set up the SVN system that will be used throughout the course of the whole project. It will be necessary to complete this first so all documentation and code resulting from the next two weeks may be stored in this repository.

According to the current schedule I have 2 weeks to complete this phase of development.

Week 3 Tasks
  1. Set up SVN repository
  2. Decide on and begin appropriate analysis: Requirements Analysis and/or Use-Case Analysis
  3. Start building a simple prototype of the intended music score editor in Javascript
Week 3 Working Schedule

Tuesday 0900-1200 3hrs
Wednesday 1300-1700 4hrs
Thursday 1000-1300
Friday -
Saturday 1000-1400

Total number of working hours planned:  14 hours

Further Comments
  • The working schedule above overestimates how long each task will take to be completed and probably overestimates how many hours I will realistically be able to give. I have scheduled things this way out of uncertainty in my own time estimation abilities and to make sure that the work I have set out to do will be completed. As the weeks progress my hope is that I will become better experienced in estimating how long I will take to complete tasks. This should make my own work schedules easier to follow.
  • Monday is not included in this schedule, as it was the day on which I set up this development blog and planned my work for the rest of the week. In general Monday will be the day on which I evaluate the work completed over the previous week and set out what work I intend to do over the next week. In the future it should not take so much time to complete these progress reports.

August 2022

Mo Tu We Th Fr Sa Su
Jul |  Today  |
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31            

Blog archive


Search this blog

Not signed in
Sign in

Powered by BlogBuilder