BACK

Midterm

2 min read

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-info
  • chat - Migrated
  • feed - Almost migrated
  • footer - Migrated
  • notifier
  • room
  • router
  • screen-share
  • user
  • videochat
  • signin

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:

  1. Restructure the project by moving logic from components to services.
  2. Leverage Observables better (probably using @ngrx/store)
  3. Improve UI and mobile UX using progressive web app concepts.
  4. Improve communication and community (project webpage, better contribution docs, etc.)