As developers of a leading HTML5 game engine which pushes the cutting edge of browser technology, we sometimes come across browser bugs, issues, performance bottlenecks, or limitations. We do our best to report these issues to browser vendors. However despite having a clear use case of being a major engine with tens of thousands of users, sometimes we find it hard to get the reports we make the attention we think they deserve. Sometimes the reports appear to be ignored, are left inactive, are misunderstood, or are given a low priority.
As software developers ourselves we understand the challenges involved in dealing with bug reports, and that sometimes solutions are complicated and take time to fully resolve. However we think it would be useful to browser developers to highlight the bugs which are of immediate importance to a widely used engine, and to allow our users to follow the progress of any issues that affect their Construct 2 projects. On several browser vendor's bug trackers it's also possible to vote for issues by clicking a star to the left of the title. This helps the browser vendor identify issues which affect a lot of people, so please do star any issues you want to see fixed. Starring an issue also helps you find it again quickly later on and optionally adds you to email notifications about changes, allowing you to track the progress more easily.
Sorted by browser engine and type, here are the current bugs we are keen to see fixed. This list was last updated on July 15th 2014.
Chromium
Chrome, Crosswalk, node-webkit, PhoneGap/web view on Android 4.4+
[Bug] WebView can't play audio/video from file://android_asset/ URLs - seriously impedes straightforward porting of HTML5 games to PhoneGap
[Limitation] Android Chrome does not allow applications to play HTML5 audio without an explicit action by the user - a pointless limitation: HTML5 audio is limited to playing in user input events, but not the Web Audio API. Web Audio cannot be used as a workaround since it cannot stream, has high memory use, and long decode times, making it unsuitable for music playback. The limitation only impedes legitimate use cases, appears to be trivial to fix (there is already a flag to turn the mode off), and yet still has not been fixed.
[Bug] HTML5 audio can't play seamlessly at a loop. This must be fixed in Chromium for music tracks to loop seamlessly in Construct 2. This is a common request from users but appears to have no attention from Google yet.
[Bug] RTCDataChannel send() cannot accept ArrayBufferView - may already be fixed - necessary to remove a possible performance-impacting workaround in the multiplayer engine
[Performance] Chrome for Android still janky for HTML5 games - the V8 javascript compiler appears to be responsible for janking games on Android
[Feature] Support for the JavaScript Screen Orientation API - allow orientation locking in Chrome for Android. Under active development and hopefully will ship soon.
[Feature] Enable GamePad API on Android - support the Gamepad plugin on Android. Appears to be in development.
[Feature] Implement Web MIDI API - would make a MIDI plugin possible. Appears to be under development.
Gecko
Firefox, Firefox OS/Mozilla Marketplace
[Bug] Looping <audio> files should be seamless - same as Chromium issue.
[Bug] Web Audio API delay node distortion - causes distorted audio playback when using delay effects. Appears to be under development but still currently reproduces in Nightly
[Performance] Firefox still janky for HTML5 games - corresponds to the Chromium submission, but jank is even worse in Firefox.
WebKit
Safari, PhoneGap/web view on iOS, embedded by several other platforms
[Bug] HTML5 audio looping is not seamless
[Bug] Calling drawImage on a video element causes the controls to appear fullscreen - breaks video playback on iPhone in canvas2d renderer
[Bug] iOS 8 prevents audio playback outside of user gesture even after Web Audio unmutes - similar to Chromium issue
WebKit also does not support Ogg Vorbis audio playback, requiring Construct 2 to dual-encode all audio. Similarly it does not support any free video formats.
Internet Explorer
IE, Windows Store apps on Windows 8+ and Windows Phone 8+
[Bug] HTML5 audio looping is not seamless
IE11's WebGL support is incomplete and has workarounds in the C2 engine. However it is gradually being improved and hopefully will be totally standards-compliant by IE12.
IE is notable for its significant missing features that other browsers have. This includes (looking at ScirraMark and their status on status.modern.ie):
- Web Audio API ("in development")
- User Media support, for camera/microphone input ("in development")
- WebRTC ("not currently planned" with alternative "Object RTC API" being "under consideration")
- GamePad support (available in developer channel)
- Speech recognition/synthesis ("under consideration")
Hopefully IE12 will fill in several of these missing features, but then distribution of IE updates has typically been excruciatingly slow. IE8 is still the second-most used version of IE, IE11 is yet to achieve even a 50% majority of IE users, and IE updates are still strongly tied to Windows versions such as the fact Windows 8.0 users cannot install IE11 without updating to Windows 8.1. See also Nobody is updating Windows 8.0. This should be considered a serious limitation of IE, since while IE12 may support many new features, it will have limited impact across IE users for the forseeable future.
IE also does not support Ogg Vorbis audio playback, requiring Construct 2 to dual-encode all audio. Similarly it does not support any free video formats.
Other
Google Play Game Services
[Bug] Cannot use Google Play Game Services in Crosswalk Android application - also affects PhoneGap/web view. Google need to add support so we can make the Google Play Game Services plugin work on these platforms.
Crosswalk
[Feature] Integrate advertising for crosswalk on Android - very popular feature request
[Feature] Support IAP on Android - very popular feature request