Sprint One Overview
For the FirefoxOS Portland State Capstone team, the first sprint was about getting base app functionality in place. We’re building a internet messaging app for the device, using new web technologies as well as the WebAPI’s offered by the base FFOS itself. At the end of this sprint, we hope to be able to message between instances of the app.
Below are updates from individual team members:
Jeff The particular challenges for me was having to learn 4 things at once which I never touched before. I had to learn firebase, jQuery, backbone, and javascript all at once. I love how jQuery can solve different browser compatibilities and how firebase can be easily used by storing data as JSON objects. Some of the challenges that I ran into was the limited amount of example backbone codes to utilize the the models, collection, and views. I solved this by just being really creative with google to find enough examples. I worked on the “message-displaying” story.One bug that I ran into that was relayed to me by QA revolved around displaying messages. I had to convert <,>,&,”, and space to their respective html entities so that if users typed as the message, the scripts don’t get executed.
Charles Trying to learn how to work with backbone.js was a challenge. I have not coded anything with javascript before so it took a while to get the code working correctly. I was surprised by how easy it was to integrate the firebase collection and have it send the messages to our firebase. It was also easy to create the backbone model and collection once I got the hang of working with backbone. The only real challenge I ran into was working with the backbone view. Luckily others on the team were able to help with the view and in the end we had a basic chat app that could send and receive messages I failed to sanitize the input for the firebase and that lead to the ability to send javascript code through to the server and then when it was displayed it could hijack the browser session. This was fixed by implementing a method to encode javascript into HTML codes. During this sprint I learned a lot about javascript and HTML. I have not created any web based applications before and so have very little experience with these technologies. I have found that they are easy to learn if you spend a few weeks working through tutorials and reading web blogs. This sprint has taught me a lot about ramping up on new technologies quickly.
Ken What was the story: Send messages Were there challenges: No, the examples provided show exactly how to accomplish this task. If so, How did you solve them: N/A Did you encounter any bugs: No. Was anything learned from this sprint: Prior to this sprint, I spent a lot of time learning JavaScript, Firebase, and GitHub for this kind of task.
Adam This sprint I served as the Quality Engineer for the team. My biggest challenge, was because the team was new to both Web Development and FirefoxOS development, they were challenged to finish their stories. This left me without a lot of work. I also developed a small control for installing our App. While using the FirefoxOS installation API was straight forward, using the simulator proved a challenge at times. It wasn’t clear at first that running the app from a directory was actually installing the app, and that unless we declared our external dependencies in our manifest, it will fail silently. Testing and debugging have improved with the alpha version of the simulator, but to understand what is going on, I still go to Chrome Developer Tools first.