Midterm
GSoC midterm just passed. Time to review the work since the project started. After these weeks working on Jangouts and using it regularly for follow-up meetings, I love it as if it were my own. Working on this project is rewarding: small enough to grasp, yet backed by a growing community. Jangouts remains in an early stage but has great potential.
Work done
I missed my initial timeline, but I am close and the hardest part is over. Jangouts now uses TypeScript with a new build/development process and runs as a hybrid Angular 1.x/Angular 2 application.
Jangouts is composed of different components:
browser-infochat- Migratedfeed- Almost migratedfooter- Migratednotifierroomrouterscreen-shareuservideochatsignin
Each component migration involves conversion from Angular 1 to 2 and tests
targeting near 100% coverage. The most complex components to migrate are feed
and room because they handle video rendering and Janus backend communication.
The router will likely require a complete rewrite for the new Angular 2 router.
Mentors
I have only good things to say about @ancorgs and @imobach. We hold daily meetings (when possible), and they give me feedback while allowing me freedom to make my own decisions (when I provide reasons).
Next steps
In the coming weeks, I will continue migrating components until Angular 1 can be removed. When migration finishes, Jangouts will be an Angular 2 project with a comprehensive test suite. My GSoC work will be complete, but I want to do more. Many things can improve:
- Restructure the project by moving logic from components to services.
- Leverage Observables better (probably using @ngrx/store)
- Improve UI and mobile UX using progressive web app concepts.
- Improve communication and community (project webpage, better contribution docs, etc.)