Development Progress

This page provides an indication of the current status of various features and gives an idea of where future development will be aimed. Features are split up as follows:

Last updated 20 December 2012

TitleStatusNotes
Web standardsIn progressMost of HTML 4 and CSS 2.1 are implemented which enables NetSurf to access most of the web, however, JavaScript support is currently at a very early stage of development. This means NetSurf currently lacks support for dynamic content.
User interface (RISC OS)Nearly doneRISC OS interface is mature.
User interface (GTK)In progressThe nsgtk user interface is sufficient to allow web browsing and supports many features expected of a web browser.
DocumentationIn progressMuch of the core functionality and RISC OS specific features are documented. There is very scant documentation for nsgtk.

Web standards

TitleStatusNotes
CookiesNearly doneUser interface to handle invalid cookies not available.
CSS 1Nearly done
CSS 2Nearly done
CSS 3Just startedSome of the selectors have been implemented.
HTML 4Nearly done
HTML 5Just startedAn HTML 5 compliant parser is being developed.
HTTP 1.1Complete
HTTP AuthenticationComplete
HTTPSComplete
DOM Level 0Just startedCore mostly complete.
DOM Level 1Just startedCore mostly complete.
DOM Level 2Just startedCore mostly complete.
DOM Level 3Just startedCore mostly complete.
JavaScriptJust startedDetails on the User Information page.

Important HTML features

TitleStatusNotes
FormsNearly done
FramesNearly doneMargin attributes are unimplemented.
Frames affect back / forward navigation and history thumbnails.
Image MapsComplete
ListsComplete
TablesNearly doneElements col, colgroup, rowgroup and caption not implemented.
Extra space is divided equally among columns instead of in proportion with content width.

CSS features

TitleStatusNotes
SelectorsNearly doneCSS 1 and CSS 2 selectors implemented. Most CSS 3 selectors are implemented too.
Pseudo-classesNearly done
Pseudo-elementsNearly done
Media typesNearly doneNetSurf currently only uses the screen-targetted CSS, even when printing.
@importComplete
CascadeComplete

CSS properties

TitleStatusNotes
background-attachmentNot started
background-colorComplete
background-imageComplete
background-positionComplete
background-repeatComplete
background (shorthand)Complete
border-collapseComplete
border-colorComplete
border-spacingComplete
border-styleComplete
border-[top|right|bottom|left]Complete
border-*-colorComplete
border-*-styleComplete
border-*-widthComplete
bottomComplete
caption-sideNot started
clearNearly doneSome issues with floats remain.
clipComplete
colorComplete
contentNot started
counter-incrementCompleteCan't be used until content property is implemented.
counter-resetCompleteCan't be used until content property is implemented.
cursorComplete
directionNot started
displayComplete
empty-cellsNot started
floatNearly doneSome issues with floats remain.
font-familyNearly doneOnly generic font types are recognised, not specific font names.
font-sizeComplete
font-size-adjustNot started
font-stretchNot started
font-styleComplete
font-variantIn progressSmall caps not done.
font-weightComplete
font (shorthand)CompleteDependent on the status of individual properties.
heightComplete
leftComplete
letter-spacingNot started
line-heightNearly done
list-style-imageComplete
list-style-positionNot started
list-style-typeNearly done
list-style (shorthand)CompleteDependent on the status of individual properties.
margin-[top|right|bottom|left]Complete
margin (shorthand)Complete
marker-offsetNot started
marksNot started
max-heightComplete
max-widthComplete
min-heightComplete
min-widthComplete
orphansNot started
outline-colorNot started
outline-styleNot started
outline-widthNot started
outline (shorthand)Not started
overflowComplete
padding-[top|right|bottom|left]Complete
padding (shorthand)Complete
pageNot started
page-break-[after|before|inside]Not started
positionIn progressFixed position not implemented.
quotesNot started
rightComplete
sizeNot started
table-layoutNot started
text-alignComplete
text-decorationComplete
text-indentComplete
text-shadowNot started
text-transformComplete
topComplete
unicode-bidiNot started
vertical-alignIn progressOnly implemented for table cells.
visibilityIn progress
white-spaceIn progress
widowsNot started
widthComplete
word-spacingNot started
z-indexNot started

Image support

TitleStatusNotes
Artworks (RISC OS)CompleteRequires AWRender.
BMPComplete
Drawfile (RISC OS)Complete
GIFComplete
ICOComplete
JNGComplete
JPEGComplete
MNGNearly doneInteractive features aren't supported.
PNGNearly doneGamma correction is not correct for PNGs with alpha channels.
Sprite (RISC OS)Complete
SVG Tiny (RISC OS)In progressVia Libsvgtiny.
SVG (GTK)CompleteVia rsvg.

RISC OS specific standards

TitleStatusNotes
Acorn URI ProtocolComplete
Ant URL ProtocolComplete
Plugin ProtocolNot startedOld, dodgy implementation removed.

NetSurf features

TitleStatusNotes
Advertisement BlockingComplete
Buffered Rendering OptionsCompleteSubstantially improves the display of content.
Details in the User Guide (RISC OS).
Configuration (RISC OS)Complete
Configuration (GTK)Nearly done
Disc CacheNot started
Dithering (RISC OS)CompleteGives improved rendering in sub true colour screen modes.
Both simple dithering and error diffusion available.
Documentation (RISC OS)Nearly doneSee the contents page.
Documentation (GTK)Just startedCurrently only build instructions exist for nsgtk. There is no user guide.
Downloads (RISC OS)CompleteFollowing a link to a file NetSurf can't render opens the download dialogue box.
Downloads (GTK)Complete
Find Text (RISC OS)Nearly doneDoesn't find phrases if they are split across lines.
Find Text (GTK)Nearly done
Full Save (RISC OS)Nearly doneSave pages with CSS files and images.
Doesn't rewrite URLs for CSS background images.
Full Save (GTK)Nearly done
History - Global (RISC OS)Nearly doneDetails in the User Guide.
History - Global (GTK)Nearly done
History - Local (RISC OS)CompleteDetails in the User Guide.
History - Local (GTK)Nearly done
Hotlist / bookmarks (RISC OS)Nearly doneDetails in the User Guide.
Hotlist / bookmarks (GTK)Nearly done
Interactive Help (RISC OS)Nearly done
Interactive Help (GTK)Nearly doneExtensive tool tips for GUI but none for rendering area.
Memory CacheComplete
Printing (RISC OS)CompleteDetails on the RISC OS User Information page.
Printing (GTK)Complete
Proxy SupportIn progressProtocols other than HTTP are incorrectly proxied.
Save as Drawfile (RISC OS)Nearly doneEmbedded drawfiles aren't exported when saving page as Draw. (Draw is a RISC OS vector graphics format.)
Save as Text (RISC OS)In progressSome issues with spacing out of text.
Save as Text (GTK)Not started
Scale View (RISC OS)CompleteWeb pages and images can be scaled up and down.
Text SelectionNearly doneText selection in text areas is incomplete.
Themes (RISC OS)CompleteThemes are available from the NetSurf themes page.
Themes (GTK)In progress
Toolbar Customisation (RISC OS)CompleteToolbars can be customised to show the icons you want, in the order you want.
Details in the User Guide.
Toolbar Customisation (GTK)Not started
Unicode Font Support (RISC OS)Nearly doneDetails on the RISC OS User Information page.
Unicode Font Support (GTK)Complete
URL CompletionCompleteWhen typing a URL into the URL bar, NetSurf will display suggestions for the full address.
View Source (RISC OS)CompletePress F8 or Page > View source on main menu.
View Source (GTK)Complete