summaryrefslogtreecommitdiff
path: root/developers/gsoc/2014ideas.en
blob: 85f3d0275a430887327dea73fb979fef5504a9e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>NetSurf | Google Summer of Code 2014 Ideas</title>
<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
</head>

<body>
<p class="banner"><a href="/"><img src="/netsurf.png" alt="NetSurf"></a></p>

<div class="navigation">
<div class="navsection">
<ul>
<li><a href="/about/">About NetSurf</a></li>
<li><a href="/downloads/">Downloads</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li><a href="/developers/">Development area</a>
<ul>
<li><a href="/developers/contribute">Contribution</a></li>
<li><a href="/developers/gsoc">GSoC</a></li>
</ul>
</li>
<li><a href="/webmasters/">Webmaster area</a></li>
<li><a href="/contact/">Contact</a></li>
</ul>
</div>

<div class="navsection">
<ul class="languages">
<!--<li><a href="index.de">Deutsch</a></li>-->
<li>English</li>
<!--<li><a href="index.fr">Fran�ais</a></li>-->
<!--<li><a href="index.nl">Nederlands</a></li>-->
</ul>
</div>

<div class="navsection">
<ul class="sitelinks">
<li><a href="http://wiki.netsurf-browser.org/">Development wiki</a></li>
<li><a href="http://source.netsurf-browser.org/">Git repository viewer</a></li>
<li><a href="http://ci.netsurf-browser.org/">Continuous Integration</a></li>
<li><a href="http://bugs.netsurf-browser.org/">Bug report system</a></li>
</ul>
</div>

</div>

<div class="content">

<p class="breadcrumbs"><a href="/">Home</a> � <a href="/developers/">Developer area</a> � Google Summer of Code</p>

<h1>Google Summer of Code Ideas</h1>

<p>This page lists our project ideas for <strong><a href="http://code.google.com/soc/">Google Summer of Code 2014</a></strong>.</p>

<dl>
<dt>Before applying for a project<dt>
<dd>
<ul>
<li>Join our IRC channel <code>#netsurf</code> on <a href="http://freenode.net/">Freenode</a> and introduce yourself. Also, subscribe to the <a href="http://www.netsurf-browser.org/lists/netsurf-dev">developer mailing list</a>.</li>
<li>Get up to speed with <a href="http://wiki.netsurf-browser.org/Documentation/GettingCoding">Git</a>, as we use this for source control, and get the NetSurf <a href="http://www.netsurf-browser.org/documentation/develop#SourceControl">source code</a>.</li>
<li><a href="http://www.netsurf-browser.org/documentation/develop#Compiling">Build NetSurf</a> and enjoy using it. (Ask on IRC if you need help.)</li>
<li>Get familiarised with the source code &ndash; read the <a href="http://source.netsurf-browser.org/netsurf.git/tree/Docs">code documentation</a>.</li>
<li>Consider submitting a patch to fix an issue on our <a href="http://bugs.netsurf-browser.org/">bug tracker</a>.</li>
</ul>
<dd>
<dt>When applying for a project<dt>
<dd>
<ul>
<li>Tell us about yourself, your experience, and why you want to work with us.</li>
<li>Describe the project you want to do, and how you plan to go about doing it. <strong>Do not simply copy the project description from the ideas page.</strong></li>
<li>Create a set of project milestones (ranging from a couple to maximum 10) with expected completion dates. This will be useful for you as guidance and for us to set our expectations right.</li>
<li>Describe how you will test your contributions.</li>
<li>Include your IRC nick in your application if you've spoken with us on <code>#netsurf</code>, so that we recognise you. <strong>We strongly recommend that you communicate with us before submitting an application.</strong></li>
<li>We expect GSoC to be mostly equivalent to a full-time job. Therefore, please tell us if you have any other demands on your time.</li>
</ul>
<dd>
<dt>During the project</dt>
<dd>
<ul>
<li>Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (<a href="http://en.wikipedia.org/wiki/Central_European_Time">CET</a>). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.</li>
<li>Keep NetSurf's <a href="http://www.netsurf-browser.org/about/#ProjectGoals">project goals</a> in mind, especially the first point.</li>
</ul>
</dd>
</dl>

<p>There is some more information in the <a href="http://wiki.netsurf-browser.org/google-summer-of-code">GSoC section</a> of our wiki. Note particularly the <a href="http://wiki.netsurf-browser.org/gsoc-student-guidelines">student guidelines</a>.</p>

<p>Please <a href="/contact/">get in touch</a> our project idea appeals to you or if you have your own idea for either <a href="/">NetSurf</a> or one of NetSurf's <a href="/projects/">libraries</a>. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.</p>

<h2>Update Core Web Technology Libraries</h2>
<p>This is a project to improve and add features to the <a href="http://www.netsurf-browser.org/">NetSurf project</a>'s core web-technology libraries.  These libraries are MIT licenced and are available to, and used by, other projects.  The libraries in question are:
</p>
<ul>
<li><a href="http://www.netsurf-browser.org/projects/libcss/">LibCSS</a> &ndash; CSS Parser and Selection Engine</li>
<li><a href="http://www.netsurf-browser.org/projects/libdom/">LibDOM</a> &ndash; Document Object Model library</li>
<li><a href="http://www.netsurf-browser.org/projects/hubbub/">LibHubbub</a> &ndash; HTML5 Parsing library</li>
</ul>
<h3>Project Outline</h3>
<h4>Phase 1</h4>
<ul>
<li>
<p>This should be fairly easy, although perhaps time consuming.</p>
<p>Implement remaining LibDOM html element specialisations.  Some element specialisations, like <a href="http://git.netsurf-browser.org/libdom.git/tree/src/html/html_button_element.c">html_button_element.c</a> have implementations, while most like <a href="http://git.netsurf-browser.org/libdom.git/tree/src/html/html_anchor_element.c">html_anchor_element.c</a> do not.</p>
<p><strong>Existing code:</strong> <a href="http://git.netsurf-browser.org/libdom.git/tree/src/html">libdom/src/html</a>.<br><strong>Specification:</strong> <a href="http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/idl-definitions.html">Level 2 Document Object Model HTML</a>, <a href="http://dom.spec.whatwg.org/">DOM Standard</a></p>
</li>
</ul>
<h4>Phase 2</h4>
<p>Either one of the following:</p>
<ul>
<li>
<p>Bring Hubbub up to latest HTML5 parsing spec.  This involves comparing the current implementation with the specification and updating our implementation where appropriate.</p>
<p><strong>Existing code:</strong> <a href="http://git.netsurf-browser.org/libhubbub.git/tree/">libhubbub/src</a><br><strong>Specification:</strong> <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html">HTML5 Parsing</a></p>
</li>
<li>
<p>Add CSS3 properties to LibCSS.  There many CSS3 properties that are now in widespread use.  Support for these can be added to LibCSS.</p>
<p><strong>Existing code:</strong> <a href="http://git.netsurf-browser.org/libcss.git/tree/src">libcss/src</a><br><strong>Specification:</strong> <a href="http://www.w3.org/Style/CSS/specs.en.html">CSS Specs</a></p>
</li>
</ul>
<p>The decision on Phase 2 will be made by the student and mentors, depending on the interests of the student, ability shown in Phase 1, and time remaining.  It is not anticipated that there will be time for a student to do both items of Phase 2, however the work is there if a gifted student makes good progress.</p>
<p><strong>Skills required:</strong> Experience of the C programming language<br><strong>Skills desirable:</strong> HTML, DOM, CSS

<h2>Mentors</h2>

<p>For mentors we have five of NetSurf's <a href="/about/team">core developers</a>:</p>

<ul>
<li>John-Mark Bell</li>
<li>Michael Drake</li>
<li>Rob Kendrick</li>
<li>Vincent Sanders</li>
<li>Daniel Silverstone</li>
</ul>

<div class="footer">
<p>Copyright 2003 - 2014 The NetSurf Developers</p>
</div>

</div>


<form method="get" action="http://www.google.co.uk/search">
<div class="searchbox">
<input type="hidden" name="q" value="site:netsurf-browser.org">
<input type="text" name="q" maxlength="255"><br>
<input type="submit" value="Search" name="btnG">
</div>
</form>

</body>
</html>