This is the final follow-up post from the UCOSP program this past fall. In the previous posts, we talked about the work we did on the new AudioMetaData plugin, updates to some existing plugins, and further work on PhoneGap plugins. The next plugin we worked on was another first for the UCOSP program, being the first time the students created a plugin that used Qt Signals and Slots. Yifan, from the University of Waterloo, deserves the credit for figuring out how to take the powerful QtBridge plugin and make it work for the project. Yifan created the System Dialog plugin, which can display a global dialog outside the application. In the following term, which has just wrapped up, other students used Yifan’s work to create even more plugins using Qt Signals and Slots. Here’s her account of the term:
I Participated in the BB10 PhoneGap team and was working on porting native plugins for BlackBerry10. I had an enjoyable and rewarding time working on the project, and experienced real-world software engineering practices and open source collaboration.
One thing I really appreciate about the BB10 PhoneGap project is its tasks. It has a list of independent tasks, and each one requests to build a complete plugin project of a useful feature, for example, zip file extraction and compression, barcode scanner, or system dialog. We had a chance to select one that interested us most, and would deal with the whole project, including configuration, source code, build, documentation and tests.
My chosen task was to build the system dialog plugin, which allows users to prompt global dialogs with buttons from their applications. Thanks to the handy templates and detailed documents, the starting steps were quite easy, while the rest of the work was a little bit challenging but also interesting.
When I was working on this plugin, I was introduced to the Qt library and its signals & slots mechanism for object communication. I found that to be extremely useful and planned to import that library to my personal project. Moreover, I did learn a lot about fundamental aspects of projects building, such as project structure, configuration, Makefiles, and documentation.
Help is always available. We had weekly team meeting to report our process and ask questions. Tim was also available and helpful during the rest of the time. I often received timely feedback and really useful suggestions.
At the final words I can say that working on the BB10 PhoneGap plugins and participating in UCOSP was a big step for me. Not just for the fact that I developed practical skills and got a deeper understanding of real-world projects; I also gained open source experience and made contributions to the community. I certainly enjoy working in the team with these awesome people, and would strongly recommend computer science students who wish to get involved and gain open source experience to apply for UCSOP and contribute!
That’s the last post to get us caught up on the previous UCOSP term contributions. In my next posts I’ll show what the most recent term has done, starting with using PouchDB to connect to a Couchbase server. If you’re interested in following along with the student project, watch #bbucosp on Twitter. All of the code will be going into the public BlackBerry repositories on GitHub. If you want to get involved yourself, contact me to get started: @timothywindsor on Twitter, https://github.com/timwindsor on GitHub.