This repository has been archived by the owner. It is now read-only.

Tech Notes

Kohei Yoshino edited this page Jun 11, 2017 · 142 revisions

This article describes some technical background of BzDeck.

Challenges

  • Making the most of modern Web standards: HTML5, WAI-ARIA 1.1, Microdata, CSS3, DOM4, ECMAScript 6/7, Web Components and more
  • No third-party frameworks nor polyfills
  • Mobile support: touch friendly UI and swipe browsing for Android phones and tablets
  • Offline support: Service Workers, IndexedDB, etc.
  • Performance: asynchronous and multi-process architecture using Promise and Workers
  • Accessibility: complete WAI-ARIA support, comprehensive keyboard shortcuts
  • Localization (l10n) and Internationalization (i18n)
  • Enhanced usability: Ajaxy modern UI, attaching files with drag & drop, push notifications, "mid-air collision" prevention
  • Complete wish list can be found on our issue tracker

Under the Hood

So, what makes BzDeck awesome? Here's a comprehensive list of what and how modern Web technologies are implemented in the demonstrating BzDeck app and the underlying FlareTail.js library.

HTML5

Implemented

Unimplemented

DOM, CSSOM and Selectors API

Implemented

Unimplemented

ECMAScript

Implemented

Unimplemented

CSS

Implemented

Unimplemented

Misc.

Implemented

Unimplemented

Dependencies

Firefox

Though Web applications should be cross-browser in nature, Firefox is the only browser currently supported by BzDeck due to the lack of resources. This decision won't be a problem for the meantime as the target user base of the app is Mozilla developers. We'll work on supporting other modern browsers once we implement the most of the planned features.

Known bugs affecting BzDeck

Those are our blocker bugs.

Bugzilla API

BzDeck uses Bugzilla's REST API and the real-time Change Notification System.

Known bugs affecting BzDeck

Enhancement requests

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.