Friday, 24 July 2015

NetSurf developers and the Order of the Phoenix

Once more the NetSurf developers gathered to battle the forces of darkness, or as they are more commonly known web specifications.

Michael Drake, Vincent Sanders, John-Mark Bell and Daniel Silverstone at the Codethink manchester officesThe fifth developer weekend was an opportunity for us to gather in a pleasant setting and work together in person. We were graciously hosted, once again, by Codethink in their Manchester offices.

Four developers managed to attend in person from around the UK: Michael Drake, John-Mark Bell, Daniel Silverstone and Vincent Sanders.

The main focus of the weekends activities was to address two areas that have become overwhelmingly important: JavaScript and Layout.

Although the browser obviously already has both these features they are somewhat incomplete and incapable of supporting the features of the modern web.

JavaScript

The discussion started with JavaScript and its implementation. We had previously looked at the feasibility of changing our JavaScript engine from Spidermonkey to DukTape. We had decided this was a change we wanted to make when DukTape was mature enough to support the necessary features.

The main reasons for the change are that Spidermonkey is a poor fit to NetSurf as it is relatively large and does not provide a stable API guarantee. The lack of a stable API requires extensive engineering to update to new releases. Additionally support for compiling on minority platforms is very challenging meaning that most platforms are stuck using version 1.7 or 1.85 (current release is version 31 with 38 due).

We started the move to Duktape by creating a development branch, integrating the Duktape library  and open coding a minimal implementation of the core classes as a proof of concept. This work was mostly undertaken by Daniel with input from myself and John-Mark. This resulted in a build that was substantially smaller than using Spidermonkey with all the existing functionality our tests cover.

The next phase of this work is to take the prototype implementation and turn it into something that can be reliably used and covers the entire JavaScript DOM interface. This is no small job as there are at least 200 classes and 1500 methods and properties to implement.

Layout

The layout library design discussion was an extensive and very involved. The layout engine is a browsers most important component. It takes all the information processed by the CSS and DOM libraries, applies a vast number of involved rules and produces a list of operations that can be rendered.

This reimplementation of our rendering engine has been in planning for many years. The existing engine stems from the browsers earliest days more than a decade ago and has many shortcomings in architecture and implementation we hope to address.

The work has finally started on libnslayout with Michael taking the lead and defining the initial API and starting the laborious work of building the test harness, a feature the previous implementation lacked!

The second war begins

For a war you need people and it is a little unfortunate that this was our lowest ever turnout for the event. This is true of the project overall with declining numbers of commits and interest outside our core group. If anyone is interested we are always happy to have new contributors and there are opportunities to contribute in many areas from image assets, through translations, to C programming.

We discussed some ways to encourage new developers and try and get committed developers especially for the minority platform frontends. The RISC OS frontend for example has needed a maintainer since the previous one stepped down. There was some initial response from its community, culminating in a total of two patches, when we announced the port was under threat of not being releasable in future. Unfortunately nothing further came from this and it appears our oldest frontend may soon become part of our history.

We also covered some issues from the bug tracker mostly to see if there were any patterns that we needed to address before the forthcoming 3.4 release.

There was discussion about recent improvements to the CI system which generate distribution packages from the development branch and how this could be extended to benefit more users. This also included authorisation to acquire storage and other miscellaneous items necessary to keep the project infrastructure running.

We managed over 20 hours of work in the two days and addressed our current major shortcomings. Now it just requires a great deal of programming to complete the projects started here.

3 comments:

  1. eToro is the #1 forex broker for new and pro traders.

    ReplyDelete
  2. Now about 1000 of company provide Forex signals. Lot of company spam ,some company just update website not provide signals and there cheat members money, but I said that Usa Forex Signal provide 100% real Whatsapp, Skype and Email via forex signals company. Usa Forex Signal 100% challenging Forex signals compay in the world wide.100% satisfaction Forex signals provider company Usa Forex signal provide right Entry and Exit price. And monthly Specials signals provide. Usa Forex Signal provide better timing to penetrate and get out trade not need to spend much time waiting before the screen. . Usa Forex Signal provide consider entrepreneurship as traders full-time and part-time can make reference to commercial success. 100% challenging forex signals provider is Usa Forex Signal .

    ReplyDelete
  3. World Best Forex Signals And Trade Copier Service Provider is #HotForexSignal.
    Advantage of HotForexSignal .
    The Hot Forex Signal are a proved forex trading signals providers and we honestly provides you forex signals since long time ago with very satisfactory accuracy rate and help you to build up a large amount of profit through following our forex signals. Hot Forex Signal 100% honestly,100% challengeing signals provider. You already know that these signals will not only help you to make a large amount of profit but also can help you to make you strong in your knowledge level with high accuracy. The Hot Forex Signal will provide you most intuitive and very easy to use forex trading signals than other signals providers. Anyone must get an outstanding result from these signals with imaging efficiency that is only possible in your dream because we have a large amount of efficiency and a lot of forex traders. All signals need to put manually to your forex trading software or platform by automated forex trading. It will directly and clearly indicate you what decision and which position buy or sell you will put your data in you Forex trading platform.Though we know clearly about the forex signals, now we will highlight again about this to clear your knowledge accurate and effective through Forex Signals and making of The Hot free Forex Signal service. The hot forex signal will provide you the suggestion to entry any trade to put in your trading platform on an accurate currency pair with actual time and price. All information is created by the robot or the forex trading specialists. But the hot forex signal follows the best trader’s advice to provide you signal. Not scam robots are followed by the hot Forex signals.

    ReplyDelete