[GSOC 2012] Weekly Report – 13

Hi everyone :)

Finally, last week of GSOC finished! Time flies!

This week I had to do documentation for the web interface. For documenting the JavaScript functions and classes, I used the awesome YUIDoc. It works just like JavaDoc, except it’s language independent and can be used to create a temporary server to serve the HTML documentations on-the-fly i.e as you edit the documentation you can see how it all looks by running YUIDoc in server mode.

I also wrote a small wiki page mentioning how one can extend the web interface and what guidelines to follow when adding a new application or a new theme to the interface. It also contains steps on how to generate documentation for the JavaScript files using YUIDoc.

I didn’t add a ‘doc’ directory to the repository since the WiFiServer and CloudSync server use the web interface ‘as is’ directly from the repository and we wouldn’t want the server to serve contents of the doc directory to the user do we? :P

Also, some last minute bugs reported by Aaron were also fixed. They were mostly CSS related. Aaron also suggested quite a lot of improvements to the UI of Shopping List as well, but since we don’t have time in GSOC left now, I’d love to work on those after GSOC :)

So, that’s that, it’s a wrap folks! I’ll continue to work on the web interface after GSOC as well and post new improvements on this blog. Now awaiting the final evaluations! :)


[GSOC 2012] Weekly Report – 12

Hi guys!

Week 12 is finished and we have the official ‘pencils down’ date of today, so no developing after today, bummer :P

So, let’s start off with the usual, TODO from the last week:

  • REST API on App Engine for CloudSync (I’ll need to talk to Stanley first about some details of the API): DONE
  • Implementing the full REST API for OI Shopping List: DONE* (Read Below)
  • Documentation for how to add new modules or apps support to the interface: WIP
  • Code cleanup: DONE
  • As usual bug fixes and minor improvements (I’ll try to improve IE9 support as well): DONE

I fixed quite a lot of small and big bugs and since my college started this week, I had to work extra hard and manage my time. Most of the time spent this week was on bug fixes and organizing the code with a bit of UI improvements like the toggle sidebar button has been improved.

A new thing for mobile browsers is that the OI Shopping List for mobile browsers follows exactly the same layout of items as the application itself. Since a table of the different columns would not fit in a small screen, I had to make this change, which in my opinion looks pretty good :)

And for low end device or for those who don’t like fancy animations, there’s also a setting to disable animations now :)

Next up I had to fix some problems with how I handled the shopping list data sent by the server. The price was sent in cents (took me a while to understand when Stanley told me :P) so I convert the price from cents to dollars now.

I also wrote a stub for the REST calls API for shopping list on the CloudSync project. Also, Vettukal told me the shopping list sync is not ready yet. So, if I  added my own support for shopping list (only on the App Engine) would mean to modify the Task structure (at least that’s what I think needs to be done since imho there’s currently no way to differentiate between a shopping list and a shopping list item if we follow the current structure of the Task) which could possibly lead to breakage in syncing with OI Notepad (This is from my own understanding and could all be wrong :P)

Therefore, I simply implemented a stub for the REST calls as documented by Stanley which sends a 501 Not Implemented error code that tells the interface that the app is not yet available and therefore it doesn’t get displayed in the app engine interface.

As a part of cleaning up the code, I included all the shopping list and notepad functions inside a namespace which I should have done earlier since there’s no real reason to add those functions to the global namespace. Now we have all the helper functions in global namespace and all the application specific stuff in the application’s own namespace.

Next up I also added quite a bit of documentation to the source JavaScript files. I’ll be using YUIDoc to parse the files and generate the documentation for functions :)

Now that the coding period is finished I will solely focus on documenting the interface which would contain mostly how to add support for new applications and documentation for existing functions.

Cheers! :)

[GSOC 2012] Weekly Report – 11

Hi guys :)

Last week I said I’d do only bug fixes to the interface but since on the OpenIntents mailing list I got quite a lot of suggestions from Aaron and Friedger so I implemented those as well and fixed some bugs.

Here’s a list of improvements I’ve made based on suggestions given in the OpenIntents mailing list:

  • Made the landing page for OI Cloud Sync more responsive, I do this by hiding the slideshow on mobile devices since it’s really meant for large screen devices and fixing a bug where the navbar and footer were not aligned well with the page.
  • Made the table in OI Shopping List responsive as well so it resizes well on small screen devices
  • Ability to sort the shopping list items based on their status (completed / not completed or checked / unchecked)
  • I’ve removed the ‘inline edit’ for shopping list items and now a full edit window aka add window with edit functionality is shown to the user as suggested by Aaron.
  • A major improvement is that the OI Shopping List’s table is now scrollable. This was done because Aaron suggested we have the ‘quick add’ input box at the bottom of the page so that it’s more in line with the actual OI Shopping List’s interface. To accomplish that I had to make the table scrollable with overflow: auto but it’s not supported on some mobile devices so it didn’t scroll therefore I used some JavaScript to make it scrollable on touch. Now it’s all fine and dandy :)
  • Also a change that Friedger requested to close the settings dialog when we click the settings button again has been added as well.
  • Apart from that quite a lot of small bug fixes

Long awaited icons are now done :P I had a bunch of ideas on making these so I implemented quite a few of these (especially for the Cloud Sync Server). I also changed the arrows so they don’t resemble the Skype logo’s ‘S’. Here’s the icons (I’ll post them to the mailing list as well).

As for the next week, I’ll be working on some important things:

  • REST API on App Engine for CloudSync (I’ll need to talk to Stanley first about some details of the API)
  • Implementing the full REST API for OI Shopping List
  • Documentation for how to add new modules or apps support to the interface
  • Code cleanup
  • As usual bug fixes and minor improvements (I’ll try to improve IE9 support as well)

You’re free to test the interface here and report any bugs :)