Google Angular Documentation

IdeaBlade led and implemented the infrastructure behind the official Angular documentation at https://angular.io/docs.

IdeaBlade and its global team of author/consultants also wrote and edited almost all of the guide pages that teach developers how to write Angular applications. We conferred regularly with Angular core team members to better understand the features, suggest improvements, and channel feedback from the Angular community. During our involvement, the Angular community grew from near zero to over 850,000 developers.

We wrote working code samples and end-to-end tests for almost every guide page. Angular relied on these tests to help validate the evolving Angular product and help guard against regressions. These tests are now part of the Angular automated CI.

We developed two versions of the doc viewer and tooling applications.

v1: AngularJS, Jade, TypeScript, Node, Gulp, HTML, CSS, dgeni (a Google text transform tool). v2: Angular, Angular Material Design, RxJS, Markdown, TypeScript, Node, HTML, Sass, dgeni.

We used a combination of Google Docs and Github issues/projects for planning and task tracking.

Size:

  • Angular.io application

  • TypeScript: 80 files, 11,000+ lines of code

  • HTML: 9 files, 250+ lines of code

  • Tooling

  • JavaScript: 15+ files, 1700+ lines of code

  • Sample code

  • 40+ complete examples

  • Typescript: 915+ files, 29,246 lines of code

  • HTML: 188 files, 6,855 lines of code

Complexity:

  • Guide code samples are fully functional, independent applications.

  • Code snippets within the document text must be free of typos and work without error for the current Angular release.

  • Code snippets are extracted from specially marked sections of the code samples.

  • Common source files (boilerplate) is maintained separately and copied into each sample project.

  • Created a tool to re-package code samples so they run in Plunker (a web coding environment).

  • Created a tool to re-package code samples for download on the reader's machine.

  • The v.2 "Doc Viewer" renders a dynamic mix of HTML and custom Angular components.

  • The viewer generates each guide's Table of Contents on the browser and displays it differently depending upon the viewport width (an example of programmatic Responsive Design).

  • Service Worker caches app files so the app launches and executes quickly on mobile devices.

Angular guide page

The Angular Testing guide, written by Ward Bell, as seen in both the wide desktop view and the narrow mobile view, demonstrates Responsive UX.

Full text search

The full text search relies on RxJS Observables to monitor keystrokes and control the display. The v.2 doc viewer makes uses Observables extensively to manage document caching, control the menus, and respond to changes in viewport width.

Live code example

Readers can run code samples in the Plunker live coding environment where they can explore, edit, and share changes with other developers.

Ideablade’s software engineering team is top notch. The solution they built for us performs well, was completed quickly and was designed in a way which enables ease of support and maintenance. — Mike Harrison, Ace Asphalt
Read More
IdeaBlade has the unique ability to take the general description of a task and produce a fully thought out feature or module. — Bard Laabs, Cohero
Read More
You are all such an important part of what we have been able to achieve thus far in the SPACE project. — Darren Jaspen, Fox
Read More
Everyone I’ve interacted with at IdeaBlade has been exceptional. — Christen Sachse-Vasquez, The Research Institute for Fragrance Materials (RIFM)
Read More
I can unequivocally say that the IdeaBlade resources were amazing talent I have worked with from our partner network and that it was an absolute pleasure to work with them. — Brian Noyce, Solliance
Read More