I can hardly believe it, but as of this week, my internship with ownCloud through the Outreach Program for Women is over. I'll write up a full retrospective later, but today I wanted to publish a few notes about the state of my code. My internship might be over, but I'm certainly not putting this project away any time soon!
The application has a basic interface and is capable of uploading photos to ownCloud using a given set of credentials. It uses Basic Auth and is secure if and only if it connects to a server using SSL. It is able to naively distinguish between photos that already exist on the server and photos that are new. It is able to use Mozilla's system XHR setting to originate requests from the phone and avoid cross-origin incompatibility issues.
As I see it, there are four major areas in the application that still need immediate attention:
Credential storage. The WebDAV server requires that the username and password be sent with every request. I'm still looking for the most secure client-side credential storage solution. I've created an issue to track progress on this portion of the project.
Auto-uploading. Uploading in batches using the alarm API seems to be the way to go, but there are lots of application design questions to be answered. How often should the device attempt to upload? What should the app do if the device isn't connected to WiFi at the designated upload time? Help me answer these questions and more in this thrilling Github issue!
User interface. The scrollbar gutter seems to change width in every version of the OS, which pushes elements around in unexpected ways. CSS errors cause rendering glitches on the device that don't show up in the simulator. There are things to be improved.
Test coverage. Unit testing is incomplete, as well as unnecessarily cluttered when it involves XML. E2E testing is nonexistent.
I feel a little strange posting this write-up when there's so much more I could do on my own before presenting this project to the ownCloud community, but I also have to admit that there's a strong possibility I might feel that way forever. So, in lieu of further procrastination, here is the repository. Feel free to ask me any questions regarding development thus far!
blog comments powered by Disqus