<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Natethomas</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Natethomas"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Natethomas"/>
	<updated>2026-06-15T10:59:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=140165</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=140165"/>
		<updated>2018-09-29T07:11:29Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Financial status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 10/2012 - 11/2019&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2019&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Ejal de Klerk (Kib)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2017 - 11/2019&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2017|2017]]&lt;br /&gt;
* [[/Elections/2016|2016]]&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
* [[Media:KodiFoundationIncorporationNotice.pdf]]&lt;br /&gt;
* [[Media:Kodi_Foundation_exempt.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Form 990 2016 - http://www.guidestar.org/FinDocuments/2016/474/565/2016-474565769-0e36f6e3-9.pdf &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are US Foundation account only.&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=136844</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=136844"/>
		<updated>2018-04-28T21:08:14Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Board of Directors */  added Kib, updated dates, arranged first by upcoming term limit, then last name alphabetically&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 10/2012 - 11/2019&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2019&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Ejal de Klerk (Kib)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2017 - 11/2019&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2016|2016]]&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
* [[Media:KodiFoundationIncorporationNotice.pdf]]&lt;br /&gt;
* [[Media:Kodi_Foundation_exempt.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Form 990 2016 - http://www.guidestar.org/FinDocuments/2016/474/565/2016-474565769-0e36f6e3-9.pdf &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=136843</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=136843"/>
		<updated>2018-04-28T21:02:05Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Financial status */  changed 2016 from gdrive to guidestar.org. gdrive is having weird sharing issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 10/2012 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2016|2016]]&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
* [[Media:KodiFoundationIncorporationNotice.pdf]]&lt;br /&gt;
* [[Media:Kodi_Foundation_exempt.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Form 990 2016 - http://www.guidestar.org/FinDocuments/2016/474/565/2016-474565769-0e36f6e3-9.pdf &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132706</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132706"/>
		<updated>2018-02-01T09:15:34Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* other ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
===Add-ons===&lt;br /&gt;
====Add code validation and do statistical analysis in kodis addon checker====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
====Automatic addon checker for binary addons====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
====Addon Submissions====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Achievements in Retroplayer====&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi&#039;s retroplayer implemented using Kodi&#039;s UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected Outcome&#039;&#039;&#039;: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred&#039;&#039;&#039;: C++, python, possibly php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentor&#039;&#039;&#039;: garbear&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: Fun/Peripheral&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;: Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor.  This is one example, but many pieces are currently being worked on or are near completion, and many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
These ideas still need expanding and/or assigned a potential mentor. If one of these ideas interests you, feel free to ask for more info in the GSOC 2018 forum area. We may be able to assign a mentor if enough interest is shown&lt;br /&gt;
*Using fuzz testing to fuzz test Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately (&#039;&#039;&#039;mentor&#039;&#039;&#039;: fernet menta)&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device. (possible mentor: montellese)&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this (possible mentor: montellese)&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132705</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132705"/>
		<updated>2018-02-01T09:06:44Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Team-Kodi proposal ideas up for discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
===Add-ons===&lt;br /&gt;
====Add code validation and do statistical analysis in kodis addon checker====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
====Automatic addon checker for binary addons====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
====Addon Submissions====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Achievements in Retroplayer====&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi&#039;s retroplayer implemented using Kodi&#039;s UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected Outcome&#039;&#039;&#039;: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred&#039;&#039;&#039;: C++, python, possibly php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentor&#039;&#039;&#039;: garbear&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: Fun/Peripheral&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;: Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor.  This is one example, but many pieces are currently being worked on or are near completion, and many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
These ideas still need expanding and/or assigned a potential mentor. If one of these ideas interests you, feel free to ask for more info in the GSOC 2018 forum area. We may be able to assign a mentor if enough interest is shown&lt;br /&gt;
*Using fuzz testing to fuzz test Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately (&#039;&#039;&#039;mentor&#039;&#039;&#039;: fernet menta)&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132704</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132704"/>
		<updated>2018-02-01T09:04:10Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Achievements in Retroplayer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Add code validation and do statistical analysis in kodis addon checker===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Automatic addon checker for binary addons===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Addon Submissions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Achievements in Retroplayer====&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi&#039;s retroplayer implemented using Kodi&#039;s UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected Outcome&#039;&#039;&#039;: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred&#039;&#039;&#039;: C++, python, possibly php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentor&#039;&#039;&#039;: garbear&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: Fun/Peripheral&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;: Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor.  This is one example, but many pieces are currently being worked on or are near completion, and many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
These ideas still need expanding and/or assigned a potential mentor. If one of these ideas interests you, feel free to ask for more info in the GSOC 2018 forum area. We may be able to assign a mentor if enough interest is shown&lt;br /&gt;
*Using fuzz testing to fuzz test Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately (&#039;&#039;&#039;mentor&#039;&#039;&#039;: fernet menta)&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132703</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132703"/>
		<updated>2018-02-01T09:02:42Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Team-Kodi proposal ideas up for discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Add code validation and do statistical analysis in kodis addon checker===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Automatic addon checker for binary addons===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Addon Submissions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Achievements in Retroplayer====&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi&#039;s retroplayer implemented using Kodi&#039;s UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected Outcome&#039;&#039;&#039;: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred&#039;&#039;&#039;: C++, python, possibly php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentor&#039;&#039;&#039;: garbear&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: core and possibly binary addon development&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;: Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor.  This is one example, but many pieces are currently being worked on or are near completion, and many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
These ideas still need expanding and/or assigned a potential mentor. If one of these ideas interests you, feel free to ask for more info in the GSOC 2018 forum area. We may be able to assign a mentor if enough interest is shown&lt;br /&gt;
*Using fuzz testing to fuzz test Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately (&#039;&#039;&#039;mentor&#039;&#039;&#039;: fernet menta)&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132702</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132702"/>
		<updated>2018-02-01T08:59:56Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* other ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Add code validation and do statistical analysis in kodis addon checker===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Automatic addon checker for binary addons===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Addon Submissions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Achievements in Retroplayer====&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi&#039;s retroplayer implemented using Kodi&#039;s UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected Outcome&#039;&#039;&#039;: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred&#039;&#039;&#039;: C++, python, possibly php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentor&#039;&#039;&#039;: garbear&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: core and possibly binary addon development&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;: Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor.  This is one example, but many pieces are currently being worked on or are near completion, and many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
These ideas still need expanding and/or assigned a potential mentor. If one of these ideas interests you, feel free to ask for more info in the GSOC 2018 forum area. We may be able to assign a mentor if enough interest is shown&lt;br /&gt;
*Using fuzz testing to fuzz test Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately (&#039;&#039;&#039;mentor&#039;&#039;&#039;: fernet menta)&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132701</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132701"/>
		<updated>2018-02-01T08:58:18Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* other ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Add code validation and do statistical analysis in kodis addon checker===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Automatic addon checker for binary addons===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Addon Submissions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Achievements in Retroplayer====&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi&#039;s retroplayer implemented using Kodi&#039;s UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected Outcome&#039;&#039;&#039;: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred&#039;&#039;&#039;: C++, python, possibly php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentor&#039;&#039;&#039;: garbear&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: core and possibly binary addon development&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;: Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor.  This is one example, but many pieces are currently being worked on or are near completion, and many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
These ideas still need expanding and/or assigned a potential mentor. If one of these ideas interests you, feel free to ask for more info in the GSOC 2018 forum area. We may be able to assign a mentor if enough interest is shown&lt;br /&gt;
*Using fuzz testing to fuzz test Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately (&#039;&#039;&#039;mentor&#039;&#039;&#039;: fernet menta)&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132700</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132700"/>
		<updated>2018-02-01T08:54:08Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Gaming in Kodi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Add code validation and do statistical analysis in kodis addon checker===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Automatic addon checker for binary addons===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Addon Submissions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Achievements in Retroplayer====&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi&#039;s retroplayer implemented using Kodi&#039;s UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected Outcome&#039;&#039;&#039;: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred&#039;&#039;&#039;: C++, python, possibly php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentor&#039;&#039;&#039;: garbear&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: core and possibly binary addon development&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;: Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor.  This is one example, but many pieces are currently being worked on or are near completion, and many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
*Using fuzz testing to fuzz test Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132699</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132699"/>
		<updated>2018-02-01T08:31:08Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Better Profile Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Add code validation and do statistical analysis in kodis addon checker===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Automatic addon checker for binary addons===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Addon Submissions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area. Many pieces are currently being worked on or are near completion, but many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
*Using fuzz testing to fuzz test Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132564</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132564"/>
		<updated>2018-01-22T21:01:05Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Team-Kodi proposal ideas up for discussion */ updated ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
*Autodetect intros/outros and make them skippable (could involve a backend service)&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
*Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Addon Checker Expansion===&lt;br /&gt;
*Expand addon checker to validate code and do statistical analysis&lt;br /&gt;
*Automatic addon checker for binary addons&lt;br /&gt;
&lt;br /&gt;
===Addon Submissions===&lt;br /&gt;
*Write a tool to easily submit addons to our repo&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area. Many pieces are currently being worked on or are near completion, but many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
*Using libFuzz to fuzz Kodi&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*Use machine learning to improve suggestions&lt;br /&gt;
*Add a picture library&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132296</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132296"/>
		<updated>2018-01-09T04:02:54Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* About Us */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Add Python3 Support===&lt;br /&gt;
*As the title suggests, Kodi currently does not support Python 3, and we&#039;d love to work with a student on getting that support.&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
*Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
*Initial work on Web Browser implementation [https://github.com/AlwinEsch/web.browser.chromium already exists], but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Re-implement Wayland Support===&lt;br /&gt;
*Wayland support has been worked on in the past, but issues with core Kodi made it unmergeable. Now those core pieces have been resolved, but a great deal of work remains to for any inspired student to finally take the plunge.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area. Many pieces are currently being worked on or are near completion, but many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132295</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=132295"/>
		<updated>2018-01-09T03:46:32Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: page created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Add Python3 Support===&lt;br /&gt;
*As the title suggests, Kodi currently does not support Python 3, and we&#039;d love to work with a student on getting that support.&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
*Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
*Initial work on Web Browser implementation [https://github.com/AlwinEsch/web.browser.chromium already exists], but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Re-implement Wayland Support===&lt;br /&gt;
*Wayland support has been worked on in the past, but issues with core Kodi made it unmergeable. Now those core pieces have been resolved, but a great deal of work remains to for any inspired student to finally take the plunge.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area. Many pieces are currently being worked on or are near completion, but many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130850</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130850"/>
		<updated>2017-09-23T11:00:06Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Board of Directors */ updated Nathan to correct start date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 10/2012 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2016|2016]]&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
* [[Media:KodiFoundationIncorporationNotice.pdf]]&lt;br /&gt;
* [[Media:Kodi_Foundation_exempt.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Form 990 2016 - https://drive.google.com/file/d/0BwsEEPRqIzELYnNZRTlPY3liTUE/view?usp=sharing &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130699</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130699"/>
		<updated>2017-09-14T09:43:21Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Foundation Bylaws and other important documents */ added kodi foundation exemption stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2016|2016]]&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
* [[Media:KodiFoundationIncorporationNotice.pdf]]&lt;br /&gt;
* [[Media:Kodi_Foundation_exempt.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Form 990 2016 - https://drive.google.com/file/d/0BwsEEPRqIzELYnNZRTlPY3liTUE/view?usp=sharing &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=File:Kodi_Foundation_exempt.jpg&amp;diff=130698</id>
		<title>File:Kodi Foundation exempt.jpg</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=File:Kodi_Foundation_exempt.jpg&amp;diff=130698"/>
		<updated>2017-09-14T09:41:55Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=File:KodiFoundationIncorporationNotice.pdf&amp;diff=130697</id>
		<title>File:KodiFoundationIncorporationNotice.pdf</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=File:KodiFoundationIncorporationNotice.pdf&amp;diff=130697"/>
		<updated>2017-09-14T09:40:59Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130696</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130696"/>
		<updated>2017-09-14T09:32:13Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Previous elections */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2016|2016]]&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Form 990 2016 - https://drive.google.com/file/d/0BwsEEPRqIzELYnNZRTlPY3liTUE/view?usp=sharing &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:XBMC_Foundation/Elections/2016&amp;diff=130695</id>
		<title>Archive:XBMC Foundation/Elections/2016</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:XBMC_Foundation/Elections/2016&amp;diff=130695"/>
		<updated>2017-09-14T09:31:39Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: created 2016 election history page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[XBMC Foundation]] | [[XBMC Foundation/Elections|Elections]] }}&lt;br /&gt;
&lt;br /&gt;
==Pre-election==&lt;br /&gt;
Natethomas was voting admin, as his seat was not up for re-election.&lt;br /&gt;
&lt;br /&gt;
==Nomination notice==&lt;br /&gt;
The following notice posted on the Team Kodi private forum, and linked to in an e-mail to all Foundation members, to give due notice about the election and to collect nominations. The Foundation bylaws state that at least ten days must be given for a notice about member decisions such as an election, which served as the nomination period.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;2016-10-17 &amp;quot;Nominations for XBMC Foundation Board&amp;quot;, as written by natethomas&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Hi everybody, it&#039;s October, which means it&#039;s time for elections again. This year board member seats up for election are: FernetMenta and mkortstiege.&lt;br /&gt;
&lt;br /&gt;
Seats not up for election are Martijn, Montellese, and Natethomas (me).&lt;br /&gt;
&lt;br /&gt;
The rules are pretty simple:&lt;br /&gt;
&lt;br /&gt;
1. Any team member can nominate.&lt;br /&gt;
&lt;br /&gt;
2. You&#039;re allowed to re-nominate.&lt;br /&gt;
&lt;br /&gt;
3. The nominated member has to accept his nomination.&lt;br /&gt;
&lt;br /&gt;
4. Only foundation members will be able to vote.*&lt;br /&gt;
&lt;br /&gt;
5. If a person has been nominated, please don&#039;t nominate again.&lt;br /&gt;
&lt;br /&gt;
Please make sure to keep your nominations simple and clear. Eg:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nominate: &amp;lt;member&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In case you&#039;re nominated, please reply with ..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I accept my nomination.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No, thanks. I do not accept my nomination.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I&#039;ll update the second post in this thread with a list of members and the nomination status on a regular basis,&lt;br /&gt;
so you don&#039;t have to crawl through all posts/pages to check.&lt;br /&gt;
&lt;br /&gt;
The nomination period is 10 days from 2016/10/1. After that i&#039;ll setup the actual vote.&lt;br /&gt;
&lt;br /&gt;
* Anyone who has been added to the team since 2015/9/15 should also check out this thread. http://forum.kodi.tv/showthread.php?tid=292745 If you&#039;d like to vote in the election, you need to be accepted as a foundation member and affirm the by-laws of the foundation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voting==&lt;br /&gt;
Voting started on October 17th 2016 and ended on October 26th 2016 using the Condorcet Internet Voting Service with a ranking scale, http://www.cs.cornell.edu/w8/~andru/civs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Individual e-mail addresses from Foundation members were entered into the CIVS ballot and mailed each Foundation member with a unique voting key url. This also served as the notice for the start of the voting period.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A second notice was given out outside of the CVIS system in order to reduce the chance of someone accidentally not receiving a voting notice. Voting notices can be sent out again, but voting keys are generated based on e-mail addresses and thus prevent double voting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following description was used for the ballot:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|You&#039;re voting for 2 candidates to join the XBMC Foundation board alongside Nathan (natethomas), Martijn (martijn), and Sascha (montellese), whose appointments last for another 12 months. Each of the people below have been nominated and have accepted their nomination. &lt;br /&gt;
&lt;br /&gt;
The 2 candidates that receive the highest support will join the board for a period of 2 years. &lt;br /&gt;
&lt;br /&gt;
Good luck to the candidates.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Final list of confirmed nominees:&lt;br /&gt;
* fritsch&lt;br /&gt;
* keith&lt;br /&gt;
* kib&lt;br /&gt;
* fernetmenta&lt;br /&gt;
* mkortstiege&lt;br /&gt;
* jjd-uk&lt;br /&gt;
* phil65&lt;br /&gt;
* pike&lt;br /&gt;
&lt;br /&gt;
==Results==&lt;br /&gt;
33 Foundation members voted. The top two ranked become board members effective December 23rd, 2014. Mkortstiege and FernetMenta were elected as new board members.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Results page:&#039;&#039;&#039; http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_8e0b6d7dd125a948&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;fritsch&#039;&#039;&#039;  (Not defeated in any contest vs. another choice)&lt;br /&gt;
# &#039;&#039;&#039;keith&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;kib&#039;&#039;&#039;, loses to keith by 16–8&lt;br /&gt;
# &#039;&#039;&#039;fernetmenta&#039;&#039;&#039;, loses to kib by 17–14&lt;br /&gt;
# &#039;&#039;&#039;mkortstiege&#039;&#039;&#039;, loses to fernetmenta by 15–13&lt;br /&gt;
# &#039;&#039;&#039;jjd-uk&#039;&#039;&#039;, loses to mkortstiege by 15–12&lt;br /&gt;
# &#039;&#039;&#039;phil65&#039;&#039;&#039;, loses to jjd-uk by 13–12&lt;br /&gt;
# &#039;&#039;&#039;pike&#039;&#039;&#039;, loses to phil65 by 18–9&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130694</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130694"/>
		<updated>2017-09-14T09:11:41Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Financial status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Form 990 2016 - https://drive.google.com/file/d/0BwsEEPRqIzELYnNZRTlPY3liTUE/view?usp=sharing &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130693</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130693"/>
		<updated>2017-09-14T09:10:48Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Account details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
* Form 990 2016 - https://drive.google.com/file/d/0BwsEEPRqIzELYnNZRTlPY3liTUE/view?usp=sharing &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: Kodi Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130692</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130692"/>
		<updated>2017-09-14T09:06:00Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Financial status */ added tax filing for 2016&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
* Form 990 2016 - https://drive.google.com/file/d/0BwsEEPRqIzELYnNZRTlPY3liTUE/view?usp=sharing &lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130691</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=130691"/>
		<updated>2017-09-14T08:58:51Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Board of Directors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keith Herrington (keith)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Peter Frühberger (fritsch)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2016 - 11/2018&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=128744</id>
		<title>Archive:Google Summer of Code/2017</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=128744"/>
		<updated>2017-03-01T21:52:51Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Where to submit proposals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 20th of March to the 3rd of April, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]] and [[Google Summer of Code/2015|2015]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2017, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Add Python3 Support===&lt;br /&gt;
*As the title suggests, Kodi currently does not support Python 3, and we&#039;d love to work with a student on getting that support.&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
*Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
*Initial work on Web Browser implementation [https://github.com/AlwinEsch/web.browser.chromium already exists], but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Re-implement Wayland Support===&lt;br /&gt;
*Wayland support has been worked on in the past, but issues with core Kodi made it unmergeable. Now those core pieces have been resolved, but a great deal of work remains to for any inspired student to finally take the plunge.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area. Many pieces are currently being worked on or are near completion, but many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127257</id>
		<title>Archive:Google Summer of Code/2017</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127257"/>
		<updated>2017-02-09T11:18:10Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Team-Kodi proposal ideas up for discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 20th of March to the 3rd of April, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]] and [[Google Summer of Code/2015|2015]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2017, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=93 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Add Python3 Support===&lt;br /&gt;
*As the title suggests, Kodi currently does not support Python 3, and we&#039;d love to work with a student on getting that support.&lt;br /&gt;
&lt;br /&gt;
===UPnP Improvements including File Transfers===&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
*Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
*Initial work on Web Browser implementation [https://github.com/AlwinEsch/web.browser.chromium already exists], but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Re-implement Wayland Support===&lt;br /&gt;
*Wayland support has been worked on in the past, but issues with core Kodi made it unmergeable. Now those core pieces have been resolved, but a great deal of work remains to for any inspired student to finally take the plunge.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area. Many pieces are currently being worked on or are near completion, but many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127256</id>
		<title>Archive:Google Summer of Code/2017</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127256"/>
		<updated>2017-02-09T11:17:12Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Team-Kodi proposal ideas up for discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 20th of March to the 3rd of April, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]] and [[Google Summer of Code/2015|2015]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2017, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=93 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
=== Server Improvement ===&lt;br /&gt;
&lt;br /&gt;
====Add Python3 Support====&lt;br /&gt;
*As the title suggests, Kodi currently does not support Python 3, and we&#039;d love to work with a student on getting that support.&lt;br /&gt;
&lt;br /&gt;
====UPnP Improvements including File Transfers====&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
Initial work on Web Browser implementation [https://github.com/AlwinEsch/web.browser.chromium already exists], but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Re-implement Wayland Support===&lt;br /&gt;
Wayland support has been worked on in the past, but issues with core Kodi made it unmergeable. Now those core pieces have been resolved, but a great deal of work remains to for any inspired student to finally take the plunge.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area. Many pieces are currently being worked on or are near completion, but many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127255</id>
		<title>Archive:Google Summer of Code/2017</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127255"/>
		<updated>2017-02-09T10:58:26Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Where to submit proposals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 20th of March to the 3rd of April, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]] and [[Google Summer of Code/2015|2015]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2017, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=93 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
=== Server Improvement ===&lt;br /&gt;
&lt;br /&gt;
====Transcoding====&lt;br /&gt;
*Transcoding is already supported in a number of other open source projects and FFMPEG. Additionally, limited audio transcoding is available in Kodi right now. However to fully support the wide range of devices out there, not to mention better support file transfers on low memory devices, Kodi needs to fully support audio and video transcoding.&lt;br /&gt;
&lt;br /&gt;
====UPnP Improvements including File Transfers====&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
====UPnP ContentDirectory implementation using OhNet====&lt;br /&gt;
[http://wiki.openhome.org/wiki/OhNet OhNet (OpenHome Networking)] is a cross-platform UPnP stack provided by the [http://www.openhome.org/wiki/Oh:Overview OpenHome] project and contains basic interfaces/implementations for all objects and resources defined in most of the UPnP specifications with an addition of OpenHome specific stuff which improves playlist handling and other things not properly covered by any UPnP specification.&lt;br /&gt;
Kodi relies on the [http://sourceforge.net/projects/platinum/ Platinum UPnP SDK] which has very limited possibilities to extend the existing functionality. Furthermore any extensions fixes need to be coded into code not maintained by Team Kodi. Therefore moving to a different UPnP implementation that provides a similar feature set but can be easily extended would have a high benefit for Kodi.&lt;br /&gt;
&lt;br /&gt;
The main goal is to develop a [http://www.upnp.org/specs/av/UPnP-av-ContentDirectory-v4-Service-20101231.pdf UPnP ContentDirectory] implementation using the OhNet UPnP stack (see https://github.com/Montellese/xbmc/commit/a0596372c6398e1bbf7fb0534ad21d510604d2f8 for a start) either inside or separate of Kodi that supports most of the features specified in the UPnP ContentDirectory specification. An additional goal would be to make it easily extensible (think UPnP profiles and vendor-specific properties) without having to touch the actual implementation.&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
Initial work on Web Browser implementation [https://github.com/AlwinEsch/web.browser.chromium already exists], but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area.&lt;br /&gt;
====NVIDIA Gamestream in Kodi====&lt;br /&gt;
*Limelight is a GPL licensed project that runs on a variety of platforms and is primarily written in java that should be relatively easily integrated into the Kodi file system, allowing for any device running Kodi with access to a controller or a keyboard and mouse to launch and play any game or application being served on a local PC with a relatively recent NVIDIA graphics card.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127254</id>
		<title>Archive:Google Summer of Code/2017</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127254"/>
		<updated>2017-02-09T10:57:16Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* About Us */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 20th of March to the 3rd of April, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]] and [[Google Summer of Code/2015|2015]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2017, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
=== Server Improvement ===&lt;br /&gt;
&lt;br /&gt;
====Transcoding====&lt;br /&gt;
*Transcoding is already supported in a number of other open source projects and FFMPEG. Additionally, limited audio transcoding is available in Kodi right now. However to fully support the wide range of devices out there, not to mention better support file transfers on low memory devices, Kodi needs to fully support audio and video transcoding.&lt;br /&gt;
&lt;br /&gt;
====UPnP Improvements including File Transfers====&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
====UPnP ContentDirectory implementation using OhNet====&lt;br /&gt;
[http://wiki.openhome.org/wiki/OhNet OhNet (OpenHome Networking)] is a cross-platform UPnP stack provided by the [http://www.openhome.org/wiki/Oh:Overview OpenHome] project and contains basic interfaces/implementations for all objects and resources defined in most of the UPnP specifications with an addition of OpenHome specific stuff which improves playlist handling and other things not properly covered by any UPnP specification.&lt;br /&gt;
Kodi relies on the [http://sourceforge.net/projects/platinum/ Platinum UPnP SDK] which has very limited possibilities to extend the existing functionality. Furthermore any extensions fixes need to be coded into code not maintained by Team Kodi. Therefore moving to a different UPnP implementation that provides a similar feature set but can be easily extended would have a high benefit for Kodi.&lt;br /&gt;
&lt;br /&gt;
The main goal is to develop a [http://www.upnp.org/specs/av/UPnP-av-ContentDirectory-v4-Service-20101231.pdf UPnP ContentDirectory] implementation using the OhNet UPnP stack (see https://github.com/Montellese/xbmc/commit/a0596372c6398e1bbf7fb0534ad21d510604d2f8 for a start) either inside or separate of Kodi that supports most of the features specified in the UPnP ContentDirectory specification. An additional goal would be to make it easily extensible (think UPnP profiles and vendor-specific properties) without having to touch the actual implementation.&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
Initial work on Web Browser implementation [https://github.com/AlwinEsch/web.browser.chromium already exists], but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area.&lt;br /&gt;
====NVIDIA Gamestream in Kodi====&lt;br /&gt;
*Limelight is a GPL licensed project that runs on a variety of platforms and is primarily written in java that should be relatively easily integrated into the Kodi file system, allowing for any device running Kodi with access to a controller or a keyboard and mouse to launch and play any game or application being served on a local PC with a relatively recent NVIDIA graphics card.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127253</id>
		<title>Archive:Google Summer of Code/2017</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2017&amp;diff=127253"/>
		<updated>2017-02-09T10:53:52Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: updated student app dates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 20th of March to the 3rd of April, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]] and [[Google Summer of Code/2015|2015]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2016, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
=== Server Improvement ===&lt;br /&gt;
&lt;br /&gt;
====Transcoding====&lt;br /&gt;
*Transcoding is already supported in a number of other open source projects and FFMPEG. Additionally, limited audio transcoding is available in Kodi right now. However to fully support the wide range of devices out there, not to mention better support file transfers on low memory devices, Kodi needs to fully support audio and video transcoding.&lt;br /&gt;
&lt;br /&gt;
====UPnP Improvements including File Transfers====&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
====UPnP ContentDirectory implementation using OhNet====&lt;br /&gt;
[http://wiki.openhome.org/wiki/OhNet OhNet (OpenHome Networking)] is a cross-platform UPnP stack provided by the [http://www.openhome.org/wiki/Oh:Overview OpenHome] project and contains basic interfaces/implementations for all objects and resources defined in most of the UPnP specifications with an addition of OpenHome specific stuff which improves playlist handling and other things not properly covered by any UPnP specification.&lt;br /&gt;
Kodi relies on the [http://sourceforge.net/projects/platinum/ Platinum UPnP SDK] which has very limited possibilities to extend the existing functionality. Furthermore any extensions fixes need to be coded into code not maintained by Team Kodi. Therefore moving to a different UPnP implementation that provides a similar feature set but can be easily extended would have a high benefit for Kodi.&lt;br /&gt;
&lt;br /&gt;
The main goal is to develop a [http://www.upnp.org/specs/av/UPnP-av-ContentDirectory-v4-Service-20101231.pdf UPnP ContentDirectory] implementation using the OhNet UPnP stack (see https://github.com/Montellese/xbmc/commit/a0596372c6398e1bbf7fb0534ad21d510604d2f8 for a start) either inside or separate of Kodi that supports most of the features specified in the UPnP ContentDirectory specification. An additional goal would be to make it easily extensible (think UPnP profiles and vendor-specific properties) without having to touch the actual implementation.&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
Initial work on Web Browser implementation [https://github.com/AlwinEsch/web.browser.chromium already exists], but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area.&lt;br /&gt;
====NVIDIA Gamestream in Kodi====&lt;br /&gt;
*Limelight is a GPL licensed project that runs on a variety of platforms and is primarily written in java that should be relatively easily integrated into the Kodi file system, allowing for any device running Kodi with access to a controller or a keyboard and mouse to launch and play any game or application being served on a local PC with a relatively recent NVIDIA graphics card.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=123707</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=123707"/>
		<updated>2016-08-03T17:07:17Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Financial status */  added an incomplete 2014 and 2015&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member (President) - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member (CFO) - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member (Secretary) - &#039;&#039;Term: 11/2013 - 11/2017&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Matthias Kortstiege (mkortstiege)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2014 - 11/2016&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Rainer Hochecker (FernetMenta)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2014 - 11/2016&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;note&#039;&#039;: 2014 and 2015 expenses are partially incomplete due to software accounting issues with international currency. $10k income from sponsorships is missing and at least 10k or 20k devcon costs is also missing.&lt;br /&gt;
* Income and expenses 2015 - https://drive.google.com/file/d/0BwsEEPRqIzELOVpUa0p4endrRWc/view?usp=sharing&lt;br /&gt;
* Income and expenses 2014 - https://drive.google.com/file/d/0BwsEEPRqIzELVW9rMkpPUWZRSHM/view?usp=sharing&lt;br /&gt;
* Income and expenses 2013 - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2016&amp;diff=117173</id>
		<title>Archive:Google Summer of Code/2016</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2016&amp;diff=117173"/>
		<updated>2016-02-19T00:08:27Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: added student application dates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 14th of March to the 25th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]] and [[Google Summer of Code/2015|2015]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2016, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
=== Server Improvement ===&lt;br /&gt;
&lt;br /&gt;
====Transcoding====&lt;br /&gt;
*Transcoding is already supported in a number of other open source projects and FFMPEG. Additionally, limited audio transcoding is available in Kodi right now. However to fully support the wide range of devices out there, not to mention better support file transfers on low memory devices, Kodi needs to fully support audio and video transcoding.&lt;br /&gt;
&lt;br /&gt;
====UPnP Improvements including File Transfers====&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
====UPnP ContentDirectory implementation using OhNet====&lt;br /&gt;
[http://www.openhome.org/wiki/OhNet OhNet] is a cross-platform UPnP stack provided by the [http://www.openhome.org/wiki/Oh:Overview OpenHome] project and contains basic interfaces/implementations for all objects and resources defined in most of the UPnP specifications with an addition of OpenHome specific stuff which improves playlist handling and other things not properly covered by any UPnP specification.&lt;br /&gt;
Kodi relies on the [http://sourceforge.net/projects/platinum/ Platinum UPnP SDK] which has very limited possibilities to extend the existing functionality. Furthermore any extensions fixes need to be coded into code not maintained by Team Kodi. Therefore moving to a different UPnP implementation that provides a similar feature set but can be easily extended would have a high benefit for Kodi.&lt;br /&gt;
&lt;br /&gt;
The main goal is to develop a [http://www.upnp.org/specs/av/UPnP-av-ContentDirectory-v4-Service-20101231.pdf UPnP ContentDirectory] implementation using the OhNet UPnP stack (see https://github.com/Montellese/xbmc/commit/a0596372c6398e1bbf7fb0534ad21d510604d2f8 for a start) either inside or separate of Kodi that supports most of the features specified in the UPnP ContentDirectory specification. An additional goal would be to make it easily extensible (think UPnP profiles and vendor-specific properties) without having to touch the actual implementation.&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
Initial work on Web Browser implementation already exists, but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area.&lt;br /&gt;
====NVIDIA Gamestream in Kodi====&lt;br /&gt;
*Limelight is a GPL licensed project that runs on a variety of platforms and is primarily written in java that should be relatively easily integrated into the Kodi file system, allowing for any device running Kodi with access to a controller or a keyboard and mouse to launch and play any game or application being served on a local PC with a relatively recent NVIDIA graphics card.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2016&amp;diff=117172</id>
		<title>Archive:Google Summer of Code/2016</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2016&amp;diff=117172"/>
		<updated>2016-02-18T22:52:54Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  &#039;&#039;&#039;APPLICATION START DATE&#039;&#039;&#039; to &#039;&#039;&#039;APPLICATION END DATE&#039;&#039;&#039;, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]] and [[Google Summer of Code/2015|2015]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2016, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
=== Server Improvement ===&lt;br /&gt;
&lt;br /&gt;
====Transcoding====&lt;br /&gt;
*Transcoding is already supported in a number of other open source projects and FFMPEG. Additionally, limited audio transcoding is available in Kodi right now. However to fully support the wide range of devices out there, not to mention better support file transfers on low memory devices, Kodi needs to fully support audio and video transcoding.&lt;br /&gt;
&lt;br /&gt;
====UPnP Improvements including File Transfers====&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
====UPnP ContentDirectory implementation using OhNet====&lt;br /&gt;
[http://www.openhome.org/wiki/OhNet OhNet] is a cross-platform UPnP stack provided by the [http://www.openhome.org/wiki/Oh:Overview OpenHome] project and contains basic interfaces/implementations for all objects and resources defined in most of the UPnP specifications with an addition of OpenHome specific stuff which improves playlist handling and other things not properly covered by any UPnP specification.&lt;br /&gt;
Kodi relies on the [http://sourceforge.net/projects/platinum/ Platinum UPnP SDK] which has very limited possibilities to extend the existing functionality. Furthermore any extensions fixes need to be coded into code not maintained by Team Kodi. Therefore moving to a different UPnP implementation that provides a similar feature set but can be easily extended would have a high benefit for Kodi.&lt;br /&gt;
&lt;br /&gt;
The main goal is to develop a [http://www.upnp.org/specs/av/UPnP-av-ContentDirectory-v4-Service-20101231.pdf UPnP ContentDirectory] implementation using the OhNet UPnP stack (see https://github.com/Montellese/xbmc/commit/a0596372c6398e1bbf7fb0534ad21d510604d2f8 for a start) either inside or separate of Kodi that supports most of the features specified in the UPnP ContentDirectory specification. An additional goal would be to make it easily extensible (think UPnP profiles and vendor-specific properties) without having to touch the actual implementation.&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
Initial work on Web Browser implementation already exists, but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area.&lt;br /&gt;
====NVIDIA Gamestream in Kodi====&lt;br /&gt;
*Limelight is a GPL licensed project that runs on a variety of platforms and is primarily written in java that should be relatively easily integrated into the Kodi file system, allowing for any device running Kodi with access to a controller or a keyboard and mouse to launch and play any game or application being served on a local PC with a relatively recent NVIDIA graphics card.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=101081</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=101081"/>
		<updated>2015-09-14T06:40:39Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Previous elections */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member (President) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member (CFO) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member (Secretary) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Matthias Kortstiege (mkortstiege)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2014 - 11/2016&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Rainer Hochecker (FernetMenta)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2014 - 11/2016&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
=== Board minutes ===&lt;br /&gt;
* [[/Board minutes/2012-11-4]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2014|2014]]&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Income and expenses - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=99948</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=99948"/>
		<updated>2015-08-20T06:06:01Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Account details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member (President) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member (CFO) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member (Secretary) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Matthias Kortstiege (mkortstiege)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2014 - 11/2016&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Rainer Hochecker (FernetMenta)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2014 - 11/2016&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
=== Board minutes ===&lt;br /&gt;
* [[/Board minutes/2012-11-4]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Income and expenses - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: Wells Fargo&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:XBMC_Foundation/Elections/2014&amp;diff=99947</id>
		<title>Archive:XBMC Foundation/Elections/2014</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:XBMC_Foundation/Elections/2014&amp;diff=99947"/>
		<updated>2015-08-20T05:41:42Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: copied 2013, replaced with 2014 info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[XBMC Foundation]] | [[XBMC Foundation/Elections|Elections]] }}&lt;br /&gt;
&lt;br /&gt;
==Pre-election==&lt;br /&gt;
Natethomas was voting admin, as his seat was not up for re-election.&lt;br /&gt;
&lt;br /&gt;
==Nomination notice==&lt;br /&gt;
The following notice posted on the Team XBMC private forum, and linked to in an e-mail to all Foundation members, to give due notice about the election and to collect nominations. The Foundation bylaws state that at least ten days must be given for a notice about member decisions such as an election, which served as the nomination period.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;2014-10-18 &amp;quot;Nominations for XBMC Foundation Board&amp;quot;, as written by natethomas&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Hey all, as you may know, it&#039;s that time of year again for Foundation Board voting. This year, Jonathan and Cory&#039;s seats would be up, except they&#039;ve now both taken a break from the project, so... I guess the seats are still basically up. &lt;br /&gt;
&lt;br /&gt;
Last year Cory (aka theuni) departed almost immediately after voting ended. The simple thing to do at that time was for the board to simply fill the seat with the next highest vote getter, who was Joakim (aka elupus). It was pointed out at devcon this year that the simple thing to do was simply to make the two seats that would have been up remain up, and that appears to fit the rules as stated in the by-laws, so unless there are objections (or alternative suggestions such as adding 2 more board members for a 7 seat board), it looks like Jonathan and Cory/Joakim&#039;s seats will be up for a vote.&lt;br /&gt;
&lt;br /&gt;
For now, I&#039;d like to get some nominations for board members. In the past, in order to get on the ballot, you had to be nominated, and then you had to accept the nomination in the nomination thread (so we didn&#039;t accidentally vote in somebody that was inactive). For now, I&#039;d like to propose we have a 1 week nomination period, so post your nominations in this thread. Also, if you have any alternative ideas for how to deal with the seats up for election, feel free to post those ideas in this thread as well. Make sure to keep your nominations clear and visible. Like:&lt;br /&gt;
&lt;br /&gt;
Nominate: David Hasselhoff. &lt;br /&gt;
&lt;br /&gt;
Once the week is up on Saturday the 25th of October, we&#039;ll deal with any remaining issues and then begin the vote.&lt;br /&gt;
&lt;br /&gt;
P.S. Board members with seats not up for election this year are Natethomas, Martijn, and Montellese.&lt;br /&gt;
P.S. #2 Past board members may also be nominated again. There are no term limits.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voting==&lt;br /&gt;
Voting started on December 13th 2014 and ended on December 23rd 2014 using the Condorcet Internet Voting Service with a ranking scale, http://www.cs.cornell.edu/w8/~andru/civs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Individual e-mail addresses from Foundation members were entered into the CIVS ballot and mailed each Foundation member with a unique voting key url. This also served as the notice for the start of the voting period.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A second notice was given out outside of the CVIS system in order to reduce the chance of someone accidentally not receiving a voting notice. Voting notices can be sent out again, but voting keys are generated based on e-mail addresses and thus prevent double voting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following description was used for the ballot:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|This is a ranked vote of available candidates to be board members of the XBMC Foundation. The top two vote getters will become board members for a period of two years, after which time their seats will be up for renewal or replacement. &lt;br /&gt;
&lt;br /&gt;
Your vote is tied to your XBMC or Kodi email address. If any Foundation members state that they haven&#039;t received an invitation to vote, any other member should inform natethomas and might suggest they check their XBMC or Kodi email account. &lt;br /&gt;
&lt;br /&gt;
The current list of Foundation members may be found at this link. &lt;br /&gt;
&lt;br /&gt;
Notification for a formal Foundation vote requires 10 days, so voting will be closed 11 days from the date of publishing this poll on the 22nd of December to give all Foundation members adequate time to make a decision. &lt;br /&gt;
&lt;br /&gt;
Good luck to the candidates.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Final list of confirmed nominees:&lt;br /&gt;
* mkortstiege&lt;br /&gt;
* FernetMenta  &lt;br /&gt;
* kib&lt;br /&gt;
* da-anda&lt;br /&gt;
* keith&lt;br /&gt;
* wsnipex&lt;br /&gt;
&lt;br /&gt;
==Results==&lt;br /&gt;
40 out of 65 Foundation members voted. The top two ranked become board members effective December 23rd, 2014. Mkortstiege and FernetMenta were elected as new board members.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Results page:&#039;&#039;&#039; http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_eb04cb5fbb62c2a8&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;mkortstiege&#039;&#039;&#039;  (Condorcet winner: wins contests with all other choices)&lt;br /&gt;
# &#039;&#039;&#039;FernetMenta&#039;&#039;&#039;  loses to mkortstiege by 22–15&lt;br /&gt;
# &#039;&#039;&#039;kib&#039;&#039;&#039;  loses to Matthias Kortstiege - mkortstiege/vdrfan by 19–15, loses to Rainer Hochecker - FernetMenta by 22–16&lt;br /&gt;
# &#039;&#039;&#039;da-anda&#039;&#039;&#039; loses to Matthias Kortstiege - mkortstiege/vdrfan by 19–16, loses to Ejal de Klerk - kib by 20–13&lt;br /&gt;
# &#039;&#039;&#039;keith&#039;&#039;&#039;  loses to Matthias Kortstiege - mkortstiege/vdrfan by 27–10, loses to Franz Koch - da-anda by 19–11&lt;br /&gt;
# &#039;&#039;&#039;wsnipex&#039;&#039;&#039;  loses to Matthias Kortstiege - mkortstiege/vdrfan by 26–9, loses to Keith Herrington - keith by 20–17&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NVIDIA_SHIELD_TV&amp;diff=97523</id>
		<title>NVIDIA SHIELD TV</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NVIDIA_SHIELD_TV&amp;diff=97523"/>
		<updated>2015-06-13T20:42:23Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Videos */ added kordkutters review&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Devices]]|[[Android]]}}&lt;br /&gt;
{{device notice}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox information appliance&lt;br /&gt;
| name = Nvidia SHIELD Android TV&lt;br /&gt;
| image = [[File:Nvidia_SHIELD_Console.jpg|250px]]&lt;br /&gt;
| manufacturer = Nvidia&lt;br /&gt;
| releasedate = May 28, 20152015&lt;br /&gt;
| os =  [[wikipedia:Android TV|Android TV]] (based on [[Android]] 5.0 &amp;quot;Lollipop&amp;quot;)&lt;br /&gt;
| soc = [[Nvidia Tegra]] X1 (TX1) &lt;br /&gt;
| cpu = [[Nvidia Tegra]] X1 (TX1), Big.LITTLE Octa-Core (4 x ARM Cortex A57 CPU cores and 4 x ARM Cortex A53 CPU cores)&lt;br /&gt;
| graphics  =  256-core Maxwell GPU&lt;br /&gt;
| display = 2160p and 1080p&lt;br /&gt;
| storage = Standard model with 16 GB internal, Pro model with 500GB harddrive, plus MicroSD slot for up to 128GB SD card available in all models&lt;br /&gt;
| memory = 3 GB RAM&lt;br /&gt;
| connectivity = HDMI 2.0 supporting 4K @ 24/25/30/50/60 Hz video output (with (HDMI-CEC, HDCP 2.2, 10-bit color &amp;amp; HDR) and 24-bit/192 kHz audio output in 5.1 or 7.1, Bluetooth 4.1/BLE, 2 x  USB 3.0 (Type A), 1 x Micro-USB 2.0 port, Dual-Band WiFi (802.11ac 2×2 MIMO), 10/100/1000 Ethernet, IR Receiver&lt;br /&gt;
| dimensions = 210 x 130 x 25 mm&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;&#039;&#039;&#039;Nvidia SHIELD Android TV&#039;&#039;&#039; (originally known as &#039;&#039;SHIELD Console&#039;&#039;) is an Android-based set-top box and game console that contains a very powerful ARM processor, (that should be able to handle the most heavy of Kodi skins and more). It is one of the first Android based devices featuring high end media playback capabilities such as of and support high definition audio at up to 192 kHz, automatic refresh rate switching, 10-bit HEVC (H.265), and VP9 video codecs, and 4K (2160p) resolution via HDMI 2.0 output with support for Kodi. &amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Running the [[wikipedia:Android TV|Android TV]] operating system (based on [[wikipedia:Android Lollipop|Android 5.0 &amp;quot;Lollipop&amp;quot;]]) on a [[Nvidia Tegra|Tegra X1 SoC (System on Chip)]], the Nvidia SHIELD Android TV stands above most of the other high-end Android-based offerings not only because best-in-class hardware offering the fastest graphics for gaming capabilities for Android, but also because due to Nvidia&#039;s strong product support of their own SHIELD series products. It comes with [[10 foot interface|remote friendly]] versions of Netflix, Hulu, HBO Now, Google Play Movies, YouTube and other video service clients, with many supporting videos in native 4K (Ultra HD / 2160p) resolution. &lt;br /&gt;
&lt;br /&gt;
The Android TV platform delivers good conversational voice search for the native app via an integrated microphone inside the included game controller. Adding to that it also comes with Nvidia&#039;s gaming ecosystem capable of running all graphically intensive [[wikipedia:AAA (game industry)|AAA (&amp;quot;triple A&amp;quot;) games]] for Android in 1080p at 60fps, as well as supporting Nvidia&#039;s low-latency GameStream technologies for GeForce-equipped PC game streaming, and Nvidia&#039;s GRID cloud game-streaming service.. All this making it a very good convergence device when pairing with Kodi for media playback.&lt;br /&gt;
&lt;br /&gt;
== Installing Kodi==&lt;br /&gt;
{{see|HOW-TO:Install Kodi for Android}}&lt;br /&gt;
&lt;br /&gt;
Normal &amp;quot;vanilla&amp;quot; builds of Kodi should run just fine on the Shield. However, some advanced features, such as 4k support, might require a test build from here: http://forum.kodi.tv/showthread.php?tid=228361&lt;br /&gt;
&lt;br /&gt;
== Launching Android apps within Kodi ==&lt;br /&gt;
{{main|HOW-TO:Launch Android apps}}&lt;br /&gt;
{{#lst:HOW-TO:Launch Android apps|extended intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Controls ==&lt;br /&gt;
You can use standard Bluetooth accessories, such as a wireless keyboard, mouse, or game controller with your SHIELD console.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth remote ===&lt;br /&gt;
* Nvidia SHIELD Remote [http://shield.nvidia.com/store/remote]&lt;br /&gt;
* other bluetooth remotes also work, such as the Amazon Fire TV replacement remote&lt;br /&gt;
&lt;br /&gt;
=== Integrated IR Reciever ===&lt;br /&gt;
* Logitech Harmony Remotes are supposedly supported by Nvidia?&lt;br /&gt;
&lt;br /&gt;
=== CEC ===&lt;br /&gt;
Generic Android-level CEC support is available. Kodi will not see a CEC device directly, but instead just treat it like generic input.&lt;br /&gt;
&lt;br /&gt;
=== USB ===&lt;br /&gt;
USB port allows for various additional remote types, such as FLIRC IR dongle, various RF dongles, etc. Most of these devices will likely show up as a keyboard type input.&lt;br /&gt;
&lt;br /&gt;
=== Other bluetooth devices ===&lt;br /&gt;
It should be possible to pair other bluetooth controllers and remotes to the Nvidia SHIELD Console. Most of these devices will likely show up as a [[keyboard]] type input.&lt;br /&gt;
&lt;br /&gt;
====Working Bluetooth Gamepads====&lt;br /&gt;
* Nvidia SHIELD Controller [http://shield.nvidia.com/store/controller]&lt;br /&gt;
&lt;br /&gt;
====Working Bluetooth Remotes====&lt;br /&gt;
* Harmony Smart Control Hub (Harmony software lists device as Nvidia STB, but some of the extra commands to don&#039;t work, e.g. X, Y, A, B, Gas, Brake, etc.)&lt;br /&gt;
:(You can also set up the Hub as a Windows PC and have more command options, this will present the remote as a keyboard.)&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
A Kodi oriented review of the Shield:&lt;br /&gt;
&lt;br /&gt;
{{youtube|0MH73mhO0fM}}&lt;br /&gt;
&lt;br /&gt;
Kodi-related videos for end-users:&lt;br /&gt;
&lt;br /&gt;
{{youtube|A2i_TiIJ7uM}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kodi-related videos for developers:&lt;br /&gt;
&lt;br /&gt;
{{youtube|QpJ3r9FWfow}}&lt;br /&gt;
&lt;br /&gt;
== Hints and tips == &lt;br /&gt;
Some of this is copied directly from Nvidia&#039;s GeForce Forum for SHIELD Android TV support.[https://forums.geforce.com/default/topic/836884/shield-android-tv/helpful-shield-information-for-new-shield-android-tv-users-updated-6-5-2015-/] More generic but useful info about the SHIELD Android TV that is not specific to Kodi can also be found in Nvidia&#039;s official SHIELD FAQ[http://shield.nvidia.com/support/nvidia-android-tv/faq/1] and SHIELD User Guide[http://support-shield.nvidia.com/android-tv-user-guide/index.htm#_ga=1.98702110.121900636.1426802792&amp;amp;t=About_SHIELD.htm]. &lt;br /&gt;
* Did you know that if you hold the play button on the Shield game controller a mouse cursor will pop up on your screen and turn the right analog thumb stick on your game controller to a mouse controller which can control that mouse cursor.&lt;br /&gt;
* If you plan on using a microSD card or USB storage with your SHIELD Android TV, make sure to unmount the drive before unplugging it. This is done from &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Storage and reset&amp;quot; inside the Android TV menus, not inside Kodi. Select your storage device and then choose the unmount option. Now you may safely unplug/remove your storage device from your SHIELD Android TV.&lt;br /&gt;
* If you are unable to pair your SHIELD Wireless Controller during initial setup and your SHIELD Android TV is connected to your network over wired Ethernet, try temporarily disconnecting your wired Ethernet cable to go into WiFi mode and check if pairing issue is fixed. &lt;br /&gt;
* If the Google Play Store is not opening, check if the version is at least 5.5.15 or later. If not you should be receiving this update soon. After the update if the problem continues, try clearing the data and cache for the Google Play Store app.&lt;br /&gt;
* Watching 4K content from SHIELD requires a 4K display with HDMI 2.0 and HDCP 2.2 support.  Connect SHIELD to only the 4K-enabled HDMI input that supports HDCP 2.2.  Consult your 4K display&#039;s user guide to find the correct HDMI port to plug SHIELD into for watching 4K content. SHIELD also supports content rendered with 4:4:4, and 4:2:0 chroma subsampling frequency ratios. (NOTE: Netflix 4K content is currently only enabled for HDCP 2.2 ports.  See your 4K display&#039;s user guide for further details). If one of the HDMI 2.0 ports do not work then try another until you find a port that works.&lt;br /&gt;
* For maximum performance, wired Ethernet is recommended.  The wired Ethernet port on SHIELD supports 10/100/1000 Mbps.  Once wired Ethernet is connected, SHIELD will disable Wi-Fi and automatically switch to use only wired Ethernet.&lt;br /&gt;
* Use of an AV Receiver with HDMI for video and Toslink for audio may result audio lagging behind video. Use the AV sync slider (not in Kodi) utility in the SHIELD menu Settings &amp;gt; HDMI &amp;gt; Audio Video Sync to calibrate for any audio lag.  The AV sync slider allows you to advance audio by 1 second (in small increments of 10ms) to synchronize the audio and video. (Note: This tool is effective only when SHIELD is connected to your AV Receiver over HDMI (i.e. audio/video over HDMI); it is not meant to be used when a headset is plugged into SHIELD controller/SHIELD remote or USB audio device or Bluetooth audio device). If video lags behind audio (i.e. audio is ahead of video) then use your AV receiver’s settings to delay audio.&lt;br /&gt;
*?&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
Known issues related to usage of Kodi on Nvidia SHIELD Android TV, including limitations in the hardware, firmware, and software.&lt;br /&gt;
* MPEG-2 and VC-1 (or WMV-9) videos are software decoded only so far, reason for this is that Nvidia have so far only licensed H.264, HEVC (H.265), and VP9 codecs for video playback, as well as Dolby Digital (DD) and Dolby Digital Plus (DD+) for audio&amp;lt;ref&amp;gt;http://www.legitreviews.com/nvidia-shield-android-tv-review_164223/3 Legit Reviews - NVIDIA SHIELD Android TV Review&amp;lt;/ref&amp;gt;, (and unfortunately Nvidia do at least not yet offer a add-on license keys for a codec pack similar to Raspberry Pi&amp;lt;ref name=&amp;quot;RaspPi Codec License keys&amp;quot;&amp;gt;http://www.raspberrypi.com/license-keys/ Raspberry Pi Store - License keys&amp;lt;/ref&amp;gt;).&amp;lt;ref name=&amp;quot;Requests to Nvidia for Codec Packs&amp;quot;&amp;gt;https://forums.geforce.com/default/topic/836487/shield-android-tv/codec-support-/ GeForce Forums - Requests to Nvidia for Codec Packs&amp;lt;/ref&amp;gt; There is however apparently a hack available to enable MPEG-2 and VC-1 hardware decoding by editing Android file &amp;quot;/system/etc/media_codecs.xml&amp;quot; if you have first rooted the SATV.[http://forum.xda-developers.com/showpost.php?p=61241497&amp;amp;postcount=47]&lt;br /&gt;
*HD audio, DTS-HD MA, Dolby True HD &amp;amp; Dolby Atoms can not be passed through/bitstreamed, nor can those formats be software decoded and output as multichannel PCM (at this time).  However, DTS (core from DTS-HD MA) and DD 5.1(AC3) can be passed through/bitstreamed or software decoded and output as multichannel PCM.&amp;lt;ref name=&amp;quot;Requests to Nvidia for Codec Packs&amp;quot; /&amp;gt;&lt;br /&gt;
* Currently the Shield Android TV does not support Remote Connections, so to connect to the Shield to sideload via ADB it requires a direct connection.&lt;br /&gt;
* The Nexus Player remote does not pair at all with the Shield console. It did with the Razer Forge, but not the Shield console. &lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
== Random notes ==&lt;br /&gt;
{{large|&#039;&#039;Feel free to place various notes, tips, and links here. As this section of the wiki gets more organized, those notes will be properly sorted. Consider this like a dumping ground for when you&#039;re not sure where to put something.&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
*  Kodi&#039;s existing [[Settings/Videos|video setting options]] for &amp;quot;Adjust display refresh rate to match video&amp;quot; and &amp;quot;Sync playback to display&amp;quot; to sync screen refresh rate to playback frame rate option currently only works in experimental builds, and then so far only with 24/25/30/50/60 Hz refresh rates.&lt;br /&gt;
* HDMI-CEC is supposedly supported supported in the hardware and in the Android firmware, but no news yet on API or other interface with [[LibCEC]] for direct native Kodi support of the CEC controller.&lt;br /&gt;
* VP9 hardware video decode is supposedly supported at 4K (UltraHD) resolution, such as YouTube source, but not yet confirmed working in Kodi for Android on the Nvidia Tegra X1 (TX1) SoC.&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
* [http://www.anandtech.com/show/9289/the-nvidia-shield-android-tv-review/6 AnandTech - The NVIDIA SHIELD Android TV Review: A Premium 4K Set Top Box]&lt;br /&gt;
* [http://www.legitreviews.com/nvidia-shield-android-tv-review_164223/3 Legit Reviews - NVIDIA SHIELD Android TV Review]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Android hardware]]&lt;br /&gt;
* [[Android]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Kodi forum discussion threads about the Nvidia SHIELD Android TV: &lt;br /&gt;
**Support and help thread: http://forum.kodi.tv/showthread.php?tid=228158&lt;br /&gt;
**General hardware discussion: http://forum.kodi.tv/showthread.php?tid=220297&lt;br /&gt;
*Related articles on Wikipedia:&lt;br /&gt;
** Wikipedia article on Nvidia SHIELD Android TV: [[wikipedia:Nvidia Shield Console]]&lt;br /&gt;
** Wikipedia article on Android TV (OS used on Nvidia SHIELD Console): [[wikipedia:Android TV]]&lt;br /&gt;
*Official Nvidia pages and sites about the SHIELD console:&lt;br /&gt;
** Nvidia SHIELD Android TV product page: http://shield.nvidia.com/console&lt;br /&gt;
***Nvidia SHIELD Remote Control http://shield.nvidia.com/store/remote&lt;br /&gt;
***Nvidia SHIELD Game Controller http://shield.nvidia.com/store/controller&lt;br /&gt;
** Nvidia SHIELD Android TV FAQ (Frequently Asked Questions): http://shield.nvidia.com/support/nvidia-android-tv/faq/1&lt;br /&gt;
** Nvidia SHIELD Android TV User Guide: http://support-shield.nvidia.com/android-tv-user-guide/index.htm#_ga=1.98702110.121900636.1426802792&amp;amp;t=About_SHIELD.htm&lt;br /&gt;
** Nvidia Blog post: http://blogs.nvidia.com/blog/2015/05/28/nvidia-shield-available/&lt;br /&gt;
** Nvidia SHIELD forum for Android TV https://forums.geforce.com/default/board/159/&lt;br /&gt;
** Nvidia SHIELD development tools and other resources for developers: https://developer.nvidia.com/develop4shield&lt;br /&gt;
**Tegra Android Development Pack: https://developer.nvidia.com/tegra-android-development-pack&lt;br /&gt;
* Nvidia SHIELD TV Utility App: http://goo.gl/4FiQCT&lt;br /&gt;
&lt;br /&gt;
[[Category:HTPC]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:ARM]]&lt;br /&gt;
[[Category:Nvidia SHIELD]]&lt;br /&gt;
[[Category:Nvidia Tegra]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:All_platforms_FAQ&amp;diff=95677</id>
		<title>Archive:All platforms FAQ</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:All_platforms_FAQ&amp;diff=95677"/>
		<updated>2015-05-16T01:52:48Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Troubleshooting */ added video guide for missing tv shows&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{XBMC FAQ}}&lt;br /&gt;
{{mininav| [[FAQs]] {{l2| [[Devices]] }} }}&lt;br /&gt;
&#039;&#039;&#039;F&#039;&#039;&#039;requently &#039;&#039;&#039;A&#039;&#039;&#039;sked &#039;&#039;&#039;Q&#039;&#039;&#039;uestions for {{kodi}} that apply to all versions/platforms/OSes.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{-}}&lt;br /&gt;
== General ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1= XBMC&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= About {{kodi}}&lt;br /&gt;
| Answer=&lt;br /&gt;
{{Main|Kodi FAQ|Kodi}}&lt;br /&gt;
{{#lst:Kodi|intro2}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Install&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= Installing Kodi&lt;br /&gt;
| Answer=&lt;br /&gt;
* See &#039;&#039;&#039;[[Installation]]&#039;&#039;&#039; and select the OS for your device for installation instructions.&lt;br /&gt;
* The current stable build of Kodi is {{current version}}.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= uninstall |2= fresh_install&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Uninstalling/fresh installing&lt;br /&gt;
| Answer=&lt;br /&gt;
* To completely uninstall {{kodi}}, or to preform a fresh reinstall, you will need to delete the [[userdata folder]] and the containing Kodi (&amp;quot;xbmc&amp;quot; on older installs) home folder that holds the userdata folder, in addition to deleting/uninstalling the Kodi application.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Kodi_version|2= XBMC_version&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= What version am I running?&lt;br /&gt;
| Answer=&lt;br /&gt;
* In the default skin go to: Kodi main menu &amp;gt; System &amp;gt; Lower submenu &amp;gt; System info&lt;br /&gt;
* For a nightly build, note the build date.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Quick_Start_Guide|2=Quickstart&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Quick Start Guide&lt;br /&gt;
| Answer=&lt;br /&gt;
{{See|Quick Start Guide}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Library|2=MySQL_sync|3=Roaming_profiles&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= Sync the Kodi library between multiple installs&lt;br /&gt;
| Answer=&lt;br /&gt;
{{See|Syncing and sharing}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Remotes|2= Keyboard |3= Keyboard_controls&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Controlling Kodi&lt;br /&gt;
| Answer=&lt;br /&gt;
{{See|Remote controls}}&lt;br /&gt;
{{See|Keyboard controls}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Full_screen |2=Windowed&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Switching between windowed and full screen&lt;br /&gt;
| Answer=&lt;br /&gt;
* To toggle between windowed mode and full screen mode, press the {{keypress|\}} button on a keyboard. (This, or any keyboard button, can be assigned to a remote control button if you wish. See [[Remote controls]] for more info.)&lt;br /&gt;
* If you have backed out of a playing video and see it behind the GUI, you can toggle back by pressing {{keypress|Tab}}.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Consoles and smartTV&amp;quot; /&amp;gt;&lt;br /&gt;
{{FAQ|1=DLNA|2=SmartTVs|3=UPnP&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Can I stream Kodi from my PC to my TV using DLNA/UPnP?&lt;br /&gt;
| Answer=&lt;br /&gt;
* Kodi has some support for this, and more is planned for the future. Normally Kodi is meant to be ran on a computer/supported-device that is directly connected to the TV by a video cable.&lt;br /&gt;
* Some files can be &#039;&#039;&#039;[[UPnP/Share|shared]]&#039;&#039;&#039; from Kodi using the built-in [[UPnP]] server and files scanned into the [[Video library]]. Kodi will not currently transcode any files, so only file formats that your TV/device can natively playback will work. This will only work with video (so you won&#039;t see Kodi&#039;s GUI) and currently does not work with add-on content.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= xbox |2= PS3 |3= xbox360 |4=Wii&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Can I install Kodi on a PS3/4, Xbox360/One, or Wii/U?&lt;br /&gt;
| Answer=&lt;br /&gt;
* Not to be confused with [[XBMC4Xbox]], which is the continued effort to run {{kodi}} on original Xbox hardware.&lt;br /&gt;
* Nope. The required reverse engineering (to get access to the video acceleration hardware, among other things) has typically not happened on any of these game consoles. Further more, no one on Team Kodi has expressed an interest in attempting to port Kodi to those platforms, which would be a huge undertaking.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= original_xbox&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Does {{kodi}} still run on the original Xbox?&lt;br /&gt;
| Answer=&lt;br /&gt;
* Team Kodi no longer officially supports the original Xbox, but the group over at [[XBMC4Xbox]] does.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Consoles and smartTV&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1= Video_library&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= How do I add videos with summaries and that show up under &amp;quot;TV Shows&amp;quot; and &amp;quot;Movies&amp;quot; on the main menu?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{Main|Adding videos to the library}}&lt;br /&gt;
* {{#lst:Video management|intro}}&lt;br /&gt;
}}&lt;br /&gt;
{{FAQ|1=Update_library&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= How do I update the library?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{main|Updating or removing videos}}&lt;br /&gt;
{{#lsth:Set content and scan|Scanning and updating files}}&lt;br /&gt;
}}&lt;br /&gt;
{{FAQ|1=missing_videos&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Why don&#039;t all movies/shows show up in my library?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{See|Incorrect and missing videos}}&lt;br /&gt;
}}&lt;br /&gt;
{{FAQ|1= kids |2= adults|3= separate_library&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= How to separate the library (cartoons, documentaries, anime, etc) from normal listings&lt;br /&gt;
| Answer=&lt;br /&gt;
{{Main|Custom home items}}&lt;br /&gt;
{{#lst:Custom home items|intro}}&lt;br /&gt;
}}&lt;br /&gt;
{{FAQ|1=Bluray&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=Bluray&lt;br /&gt;
| Answer=&lt;br /&gt;
* Kodi can playback unencrypted bluray discs and bluray images. There is limited support for some bluray menus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Multi_part|2= File_stacking&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Can Kodi handle multi-part movie files?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{Main|File stacking}}&lt;br /&gt;
* Kodi can combined multi-part video files so that they play and appear as once video.&lt;br /&gt;
* File stacking is currently only available for movies and not for TV shows or music videos.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Movie_sets&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Movie series and sets&lt;br /&gt;
| Answer=&lt;br /&gt;
{{main|Movie sets}}&lt;br /&gt;
* {{#lst:Movie sets|intro}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= play_next&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= How do I automatically play the next video?&lt;br /&gt;
| Answer=&lt;br /&gt;
* As of Kodi v12 you can turn on automatic playing of the next video by going to {{highlight|bordered=yes|[[Settings/Videos#Playback|Settings -&amp;gt; Videos -&amp;gt; Playback -&amp;gt; Play next video automatically]]}}&lt;br /&gt;
* While selecting the video you wish to start at, bring up the contextual menu (press {{keypress|C}}) and select &amp;quot;Play from here&amp;quot;.&lt;br /&gt;
* You can also play all items in a folder, show, or season, by selecting the folder and pressing play on your remote. If you do not have a dedicated &amp;quot;play&amp;quot; button then you can also select &amp;quot;Play&amp;quot; from the contextual menu (press {{keypress|C}} or {{button|menu}}).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1= Music_library&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= How do I add music to the library?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{main|Adding music to the library}}&lt;br /&gt;
{{#lst:Adding music to the library|Intro}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=MP3_tags&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Why doesn&#039;t all of my music/info show up in my library?&lt;br /&gt;
| Answer= &lt;br /&gt;
* Most of the information for music is pulled from the embedded music tags inside the file. Make sure your music files are tagged correctly.&lt;br /&gt;
* Some tags might show up in other programs, but might still be damaged or invalid for the tag standard, causing issues in Kodi.&lt;br /&gt;
* You can use a program such as [[MusicBrainz Picard]] to easily tag files or fix broken tags. See also [[:Category:Music tools]] for other programs.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pictures ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1= Picture_viewing&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= How do I add view digital pictures and still images?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{main|Pictures}}&lt;br /&gt;
{{#lst:Pictures|Intro}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Picture_library&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Why isn&#039;t there a picture library?&lt;br /&gt;
| Answer= &lt;br /&gt;
* No one have developed a picture library for {{Kodi}} yet, but there is a pictures section where you can add media sources and view pictures in file mode.&lt;br /&gt;
* Not having a picture library (and a picture database) unfortuanly means that you can not sort, browse, or search pictures by their tags.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PVR (Live TV and DVR) ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1= PVR_frontend&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Can I watch Live TV and control PVR/DVR function?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{main|PVR}}&lt;br /&gt;
{{#lst:PVR|Intro}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=PVR_backends&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= How does Live TV and PVR work in {{Kodi}}?&lt;br /&gt;
| Answer= &lt;br /&gt;
Logically, the PVR / Live TV design in {{Kodi}} uses a [[wikipedia:distributed application|distributed application structure]] that is designed after the [[wikipedia:client–server model|client–server model]] concept which consists of two parts:&lt;br /&gt;
# The PVR &#039;&#039;&#039;backend&#039;&#039;&#039; (as the server side part), which communicates with a TV tuner adapter(s) to receive the Live TV signals and create a video or audio stream, and &lt;br /&gt;
# The PVR &#039;&#039;&#039;client&#039;&#039;&#039; (as an addon for {{Kodi}}) - an {{Kodi}} addon which controls the presentation of that content via the {{Kodi}} GUI that acts as unified frontend and common interface for all connected PVR backends.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;&#039;PVR backend&#039;&#039;&#039;&amp;quot; as such is a separate application/process that directly interfaces with your TV tuner adapter(s) and the performs the task of tuning, streaming, and recording over-the-air and cable television signals and radio programming. PVR backends can either run on the same host running {{Kodi}}, or on a stand-alone host/device completely by itself with {{Kodi}} only running when needed, as long as they have a network connection between them. Some PVR backends may be able to serve several clients simultaneously, which may be {{Kodi}} clients or others applications/devices, and in those cases such PVR backends that serves multiple clients are commonly refereed to as PVR servers. &lt;br /&gt;
&lt;br /&gt;
When paired with one or more matched PVR backends, a configured &#039;&#039;&#039;PVR client addon&#039;&#039;&#039; enables {{Kodi}} to handle the GUI interface, or frontend, allowing the user to watch Live TV  (with pause/time-shift, if supported by the PVR backend used), display a graphical EPG (Electronic Program Guide) of all available television programming, schedule recordings or listen to radio, giving the same sort of functionality as TiVo-style video recorder devices.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Add-ons ==&lt;br /&gt;
{{main|Add-ons}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1= Add-ons&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= What are add-ons?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;[[Add-ons]]&#039;&#039;&#039; are a way of extending Kodi&#039;s functionality easily. Common add-ons include: Skins, Scrapers, Video Add-ons, Subtitle services and many more are available.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Install_add-ons&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= How do I install add-ons?&lt;br /&gt;
| Answer= &lt;br /&gt;
* For a picture step by step see &#039;&#039;&#039;[[Add-on manager]]&#039;&#039;&#039;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Repository&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Where can I find unofficial add-ons/skins?&lt;br /&gt;
| Answer=&lt;br /&gt;
* Add-ons not included in the official Kodi repository can be obtained by using unofficial repositories or installing the add-on using &#039;&#039;&#039;Install from Zip file&#039;&#039;&#039; option. The two main sources for finding unofficial repos and add-ons are &#039;&#039;&#039;[[3rd party add-on repositories]]&#039;&#039;&#039; and the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?f=27 Kodi Add-on support forums]&#039;&#039;&#039;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Repository empty listing&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=What should I do when Addon repositories dont list any contents?&lt;br /&gt;
| Answer=&lt;br /&gt;
See [[Add-on manager#Empty repository list|&#039;&#039;&#039;Empty repositories list&#039;&#039;&#039;]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Add-on_help&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Where do I get help with add-ons or skins?&lt;br /&gt;
| Answer=&lt;br /&gt;
* You can get help with add-ons at the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?f=27 Kodi Add-on support forums]&#039;&#039;&#039;, with some add-ons even having dedicated threads with FAQs, and more. For skins see the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?f=67 Kodi Skin support forums]&#039;&#039;&#039;, which has sub-forums for several skins as well as general help threads. &#039;&#039;&#039;&#039;&#039;Be sure to use the search function to see if your question has been answered before&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Special features ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=Netflix|2=LoveFilm|3=Silverlight&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Netflix, LoveFilm, and other Silverlight-based video services&lt;br /&gt;
| Answer=&lt;br /&gt;
* Both [[w:Netflix|Netflix]] and [[w:LoveFilm|LoveFilm]] use [[w:silverlight|silverlight]], making it all but impossible to play inside of Kodi directly, even with an add-on. Sometimes there are add-ons for Kodi that will launch a web browser to load the service, but you will require an OS that has silverlight support (Mac OS X or Windows).&lt;br /&gt;
* {{editor note|Know of a guide for [[Advanced Launcher]], or a working add-on for launching Netflix or LoveFilm? Feel free to add that info/links here}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Hulu|2=Amazon|3=Flash&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Hulu, Amazon, and other Flash-based video services&lt;br /&gt;
| Answer=&lt;br /&gt;
* While Kodi does not have [[w:Adobe Flash|Flash]] video support directly, very often videos can be extracted from the Flash video stream/file container. Some sites also have non-flash video streams that can be accessed from within Kodi. Sometimes these streams/files can be accessed by using a [[STRM]] file, while others are more complicated and need an add-on to access the content. For example, there is an add-on for [[Hulu]] and Amazon Prime video services (see Bluecop&#039;s add-on repo for both). Be sure to check out [[:Category:Video add-ons]] and the Kodi forums to see what is currently available.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=AirPlay&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= AirPlay&lt;br /&gt;
| Answer=&lt;br /&gt;
{{main|AirPlay}}&lt;br /&gt;
* To enable Kodi&#039;s [[AirPlay]] server go to: {{highlight|[[Settings/Network#Services|Settings -&amp;gt; Network -&amp;gt; Services -&amp;gt; Allow Kodi to receive AirPlay content]]}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
{{main|Troubleshooting}}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1= Bug_report&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= Reporting bugs&lt;br /&gt;
| Answer= &lt;br /&gt;
* For how to report bugs in Kodi see: &#039;&#039;&#039;[[HOW-TO:Submit a proper bug report]]&#039;&#039;&#039;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=os_specific_bugs&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Platform/OS specific troubleshooting&lt;br /&gt;
| Answer=&lt;br /&gt;
* [[Android FAQ#Troubleshooting]]&lt;br /&gt;
* [[iOS FAQ#Troubleshooting]]&lt;br /&gt;
* [[Linux FAQ#Troubleshooting]]&lt;br /&gt;
* [[Mac FAQ #Troubleshooting]]&lt;br /&gt;
* [[Windows FAQ#Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
* [[Raspberry Pi FAQ#Troubleshooting]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forum|2=IRC&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= Getting more help&lt;br /&gt;
| Answer=&lt;br /&gt;
* Check out the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?f=33 Help and Support forums]&#039;&#039;&#039; or the &#039;&#039;&#039;[irc://irc.freenode.org/kodi #kodi]&#039;&#039;&#039; [[w:IRC|IRC]] chat channel on irc.freenode.org&lt;br /&gt;
* Also check out the platform specific FAQs:&lt;br /&gt;
** [[Android FAQ]]&lt;br /&gt;
** [[iOS FAQ]]&lt;br /&gt;
** [[Linux FAQ]]&lt;br /&gt;
** [[Mac FAQ]]&lt;br /&gt;
** [[Windows FAQ]]&lt;br /&gt;
** [[KodiBuntu FAQ]]&lt;br /&gt;
** [[Raspberry Pi FAQ]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Cache_full|2=Cache|3=buffering&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=Cache full messages and constant buffering&lt;br /&gt;
| Answer=&lt;br /&gt;
* This message refers to the playback cache that Kodi uses when a video is loading/streaming from the network (local or internet). It indicates that the video is loading too slowly for Kodi to play it back smoothly, and Kodi can&#039;t fully buffer it without having to buffer again as the video plays. The common cause for this is simply a slow connection to the file, often on the server&#039;s connection.&lt;br /&gt;
* The cache is loaded in RAM and is cleared out every time a video is stopped.&lt;br /&gt;
* Cache settings can be adjusted using [[advancedsettings.xml]]. See: &#039;&#039;&#039;[[HOW-TO:Modify the video cache]]&#039;&#039;&#039;.&lt;br /&gt;
* {{note|In most cases, this simply means that the server on the other side of the connection is too slow, and there&#039;s nothing you can do about it. No matter how fast your internet is, the server on the other side might simply be slow.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Missing_videos2&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Not all videos are scanned into the library&lt;br /&gt;
| Answer=&lt;br /&gt;
{{See|Incorrect and missing videos}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= hide_watched&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Previously watched videos are no longer listed/ Videos seem to go missing&lt;br /&gt;
| Answer= &lt;br /&gt;
* Bring up the side menu (arrow over left or right on a keyboard or remote) and toggle the &amp;quot;Hide Watched&amp;quot; option.&lt;br /&gt;
* See this video for quick guide on how to fix it. &lt;br /&gt;
{{youtube|4vMRBRdu5uU}} &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=mute&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= No sound and red speaker icon in the corner&lt;br /&gt;
| Answer=&lt;br /&gt;
[[File:mute.png|right]]This means that Kodi is muted. Turn the volume up.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1= Known issues&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Is there a list of some known issues?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{See|Common issues}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Gotham updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:FAQ|**]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Video_management&amp;diff=94550</id>
		<title>Video management</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Video_management&amp;diff=94550"/>
		<updated>2015-05-11T22:26:30Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Alternative guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Video library]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;To use your video files with &amp;quot;metadata&amp;quot; like summaries, cast info, DVD covers, thumbnails, and more, you need to &#039;&#039;&#039;[[Adding videos to the library|add those video files]]&#039;&#039;&#039; to the [[video library]].&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[Adding videos to the library]]&#039;&#039;&#039; for just the basic topics on adding videos.&lt;br /&gt;
&lt;br /&gt;
== Preparing files ==&lt;br /&gt;
To use your video files with &amp;quot;metadata&amp;quot; like summaries, cast info, DVD covers, thumbnails, and more, you need to add those video files to the video library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;prep&amp;quot; /&amp;gt;There are a couple of important parts to getting things imported into your {{Kodi}} library. First, the metadata for the video file should exist someplace (the metadata are things like the title of the show, the plot description, the season and episode number if the video file happens to be an episode of a TV series, the actors, the director, cover art and episode art, etc.) The second part is naming the video files so the file gets matched up with the metadata available online.&lt;br /&gt;
&lt;br /&gt;
{{Kodi}} uses plugins called scrapers to pull information from a video file and coordinate it with a source of metadata available someplace on the internet. For a TV show the scraper basically looks for the show name, season number, and episode number. The default scrapers look at TheTVDB.com (for TV shows) and TheMovieDB.org (for Movies). &lt;br /&gt;
&lt;br /&gt;
If some video file is not scraping properly, the first step is to go to the website of the scraper you are using on that source and see if the video is already listed there. If you can&#039;t find an entry on one of those two sites for the video you&#039;re interested in, you can hunt for different scrapers which search other websites for metadata (and go through the same process of making sure your show is listed there, then naming the video files to match). Alternatively, you can create new entries on those sites with some basic information about your show, and then let the scrapers do their work. This is nice, because it means that other people will benefit from your work, and may contribute additional information about the show over time. &lt;br /&gt;
Adding info to a site like TheTVDB.org is easy, but make sure you read the site rules before you start adding.&lt;br /&gt;
&lt;br /&gt;
If none of that works, you can create .nfo files for each video by hand so that {{Kodi}} will bypass the normal looking online for information about your show. This is the least attractive option, though. It&#039;s a lot of work, and it doesn&#039;t benefit anyone else the way creating entries on the metadata sites does.&amp;lt;section end=&amp;quot;prep&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Naming files ===&lt;br /&gt;
{{main|Naming video files}}&lt;br /&gt;
{{#lst:Naming video files|intro}}&lt;br /&gt;
&lt;br /&gt;
* [[Naming video files/Movies]]&lt;br /&gt;
* [[Naming video files/TV shows]]&lt;br /&gt;
* [[Naming video files/Music videos]]&lt;br /&gt;
&lt;br /&gt;
=== NFO files ===&lt;br /&gt;
{{Main|NFO files}}&lt;br /&gt;
{{#lst:NFO files|intro}}&lt;br /&gt;
&lt;br /&gt;
== Adding media sources ==&lt;br /&gt;
{{main|Adding video sources}}&lt;br /&gt;
{{#lst:Adding video sources|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Media sources ===&lt;br /&gt;
{{Main|Media sources}}&lt;br /&gt;
{{#lst:Media sources|intro}}&lt;br /&gt;
&lt;br /&gt;
== Media stubs ==&lt;br /&gt;
{{Main|Media stubs}}&lt;br /&gt;
{{#lst:Media stubs|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Internet streams ==&lt;br /&gt;
{{Main|Internet streams}}&lt;br /&gt;
{{#lst:Internet streams|intro}}&lt;br /&gt;
&lt;br /&gt;
== Setting content and scanning ==&lt;br /&gt;
{{main|Set content and scan}}&lt;br /&gt;
{{#lst:Set content and scan|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Incorrect and missing videos ===&lt;br /&gt;
{{Main|Incorrect and missing videos}}&lt;br /&gt;
{{#lst:Incorrect and missing videos|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Custom video entries ===&lt;br /&gt;
{{Main|Custom video entries}}&lt;br /&gt;
{{#lst:Custom video entries|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Updating or removing videos ===&lt;br /&gt;
{{Main|Updating or removing videos}}&lt;br /&gt;
{{#lst:Updating or removing videos|intro}}&lt;br /&gt;
&lt;br /&gt;
== Grouping media ==&lt;br /&gt;
&lt;br /&gt;
=== File stacking ===&lt;br /&gt;
{{Main|File stacking}}&lt;br /&gt;
{{#lst:File stacking|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Movie sets ===&lt;br /&gt;
{{Main|Movie sets}}&lt;br /&gt;
{{#lst:Movie sets|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Video library tags ===&lt;br /&gt;
{{Main|Video library tags}}&lt;br /&gt;
{{#lst:Video library tags|intro}}&lt;br /&gt;
&lt;br /&gt;
=== How to separate the library (cartoons, documentaries, anime, etc) ===&lt;br /&gt;
{{Main|Custom home items}}&lt;br /&gt;
{{#lst:Custom home items|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Playlists ===&lt;br /&gt;
{{Main|Playlists}}&lt;br /&gt;
* {{big|&#039;&#039;&#039;[[Basic playlists]] -&#039;&#039;&#039;}} {{#lst:Basic playlists|intro}}&lt;br /&gt;
&lt;br /&gt;
* {{big|&#039;&#039;&#039;[[Smart playlists]] -&#039;&#039;&#039;}} {{#lst:Smart playlists|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Linking movies to TV shows ===&lt;br /&gt;
{{#lst:Linking movies to TV shows|movie TV link}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Video nodes ===&lt;br /&gt;
{{Main|Video nodes}}&lt;br /&gt;
{{#lst:Video nodes|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Alternative guides ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Alternative guides&amp;quot; /&amp;gt;&lt;br /&gt;
* [http://lifehacker.com/5900626/create-a-kickass-seamless-play+everything-media-center-the-complete-guide Lifehacker.com - Create a Kickass, Seamless, Play-Everything Media Center: The Complete Guide]&lt;br /&gt;
* [http://tbueter.com/?page_id=324 The Frodo Guide] by Henry Ford&lt;br /&gt;
* [http://kordkutters.com/setting-up-your-kodi-movies-and-tv-shows-library/ Beginner Tip: How to add videos to Kodi from a network share] by Nathan Betzen&lt;br /&gt;
* [http://www.makeuseof.com/pages/xbmc-full-html Makeuseof.com - How to set up your Kodi Media Center]&lt;br /&gt;
* [http://youresuchageek.blogspot.fr/2012/06/xbmc-install-and-config-howto-for-linux.html Kodi Install and Config] HOW-TO for Linux Its for xvba, however apart from drivers the rest is a &#039;&#039;&#039;MUST&#039;&#039;&#039; read for Linux novices.&lt;br /&gt;
&lt;br /&gt;
=== Video guides ===&lt;br /&gt;
&lt;br /&gt;
{{youtube|UBGKcLu7aGk}}  {{youtube|EkWYxqoOF3c}}  {{youtube|ueqwMbdMVHU}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Alternative guides&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Import-export library]]&lt;br /&gt;
* [[Parental controls|Locking video sources / Parental controls]]&lt;br /&gt;
* [[Video library settings]]&lt;br /&gt;
* [[First time user]]&lt;br /&gt;
* [[UPnP]]&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Index]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Video_management&amp;diff=94549</id>
		<title>Video management</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Video_management&amp;diff=94549"/>
		<updated>2015-05-11T22:25:30Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Video guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Video library]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;To use your video files with &amp;quot;metadata&amp;quot; like summaries, cast info, DVD covers, thumbnails, and more, you need to &#039;&#039;&#039;[[Adding videos to the library|add those video files]]&#039;&#039;&#039; to the [[video library]].&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[Adding videos to the library]]&#039;&#039;&#039; for just the basic topics on adding videos.&lt;br /&gt;
&lt;br /&gt;
== Preparing files ==&lt;br /&gt;
To use your video files with &amp;quot;metadata&amp;quot; like summaries, cast info, DVD covers, thumbnails, and more, you need to add those video files to the video library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;prep&amp;quot; /&amp;gt;There are a couple of important parts to getting things imported into your {{Kodi}} library. First, the metadata for the video file should exist someplace (the metadata are things like the title of the show, the plot description, the season and episode number if the video file happens to be an episode of a TV series, the actors, the director, cover art and episode art, etc.) The second part is naming the video files so the file gets matched up with the metadata available online.&lt;br /&gt;
&lt;br /&gt;
{{Kodi}} uses plugins called scrapers to pull information from a video file and coordinate it with a source of metadata available someplace on the internet. For a TV show the scraper basically looks for the show name, season number, and episode number. The default scrapers look at TheTVDB.com (for TV shows) and TheMovieDB.org (for Movies). &lt;br /&gt;
&lt;br /&gt;
If some video file is not scraping properly, the first step is to go to the website of the scraper you are using on that source and see if the video is already listed there. If you can&#039;t find an entry on one of those two sites for the video you&#039;re interested in, you can hunt for different scrapers which search other websites for metadata (and go through the same process of making sure your show is listed there, then naming the video files to match). Alternatively, you can create new entries on those sites with some basic information about your show, and then let the scrapers do their work. This is nice, because it means that other people will benefit from your work, and may contribute additional information about the show over time. &lt;br /&gt;
Adding info to a site like TheTVDB.org is easy, but make sure you read the site rules before you start adding.&lt;br /&gt;
&lt;br /&gt;
If none of that works, you can create .nfo files for each video by hand so that {{Kodi}} will bypass the normal looking online for information about your show. This is the least attractive option, though. It&#039;s a lot of work, and it doesn&#039;t benefit anyone else the way creating entries on the metadata sites does.&amp;lt;section end=&amp;quot;prep&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Naming files ===&lt;br /&gt;
{{main|Naming video files}}&lt;br /&gt;
{{#lst:Naming video files|intro}}&lt;br /&gt;
&lt;br /&gt;
* [[Naming video files/Movies]]&lt;br /&gt;
* [[Naming video files/TV shows]]&lt;br /&gt;
* [[Naming video files/Music videos]]&lt;br /&gt;
&lt;br /&gt;
=== NFO files ===&lt;br /&gt;
{{Main|NFO files}}&lt;br /&gt;
{{#lst:NFO files|intro}}&lt;br /&gt;
&lt;br /&gt;
== Adding media sources ==&lt;br /&gt;
{{main|Adding video sources}}&lt;br /&gt;
{{#lst:Adding video sources|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Media sources ===&lt;br /&gt;
{{Main|Media sources}}&lt;br /&gt;
{{#lst:Media sources|intro}}&lt;br /&gt;
&lt;br /&gt;
== Media stubs ==&lt;br /&gt;
{{Main|Media stubs}}&lt;br /&gt;
{{#lst:Media stubs|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Internet streams ==&lt;br /&gt;
{{Main|Internet streams}}&lt;br /&gt;
{{#lst:Internet streams|intro}}&lt;br /&gt;
&lt;br /&gt;
== Setting content and scanning ==&lt;br /&gt;
{{main|Set content and scan}}&lt;br /&gt;
{{#lst:Set content and scan|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Incorrect and missing videos ===&lt;br /&gt;
{{Main|Incorrect and missing videos}}&lt;br /&gt;
{{#lst:Incorrect and missing videos|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Custom video entries ===&lt;br /&gt;
{{Main|Custom video entries}}&lt;br /&gt;
{{#lst:Custom video entries|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Updating or removing videos ===&lt;br /&gt;
{{Main|Updating or removing videos}}&lt;br /&gt;
{{#lst:Updating or removing videos|intro}}&lt;br /&gt;
&lt;br /&gt;
== Grouping media ==&lt;br /&gt;
&lt;br /&gt;
=== File stacking ===&lt;br /&gt;
{{Main|File stacking}}&lt;br /&gt;
{{#lst:File stacking|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Movie sets ===&lt;br /&gt;
{{Main|Movie sets}}&lt;br /&gt;
{{#lst:Movie sets|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Video library tags ===&lt;br /&gt;
{{Main|Video library tags}}&lt;br /&gt;
{{#lst:Video library tags|intro}}&lt;br /&gt;
&lt;br /&gt;
=== How to separate the library (cartoons, documentaries, anime, etc) ===&lt;br /&gt;
{{Main|Custom home items}}&lt;br /&gt;
{{#lst:Custom home items|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Playlists ===&lt;br /&gt;
{{Main|Playlists}}&lt;br /&gt;
* {{big|&#039;&#039;&#039;[[Basic playlists]] -&#039;&#039;&#039;}} {{#lst:Basic playlists|intro}}&lt;br /&gt;
&lt;br /&gt;
* {{big|&#039;&#039;&#039;[[Smart playlists]] -&#039;&#039;&#039;}} {{#lst:Smart playlists|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Linking movies to TV shows ===&lt;br /&gt;
{{#lst:Linking movies to TV shows|movie TV link}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Video nodes ===&lt;br /&gt;
{{Main|Video nodes}}&lt;br /&gt;
{{#lst:Video nodes|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Alternative guides ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Alternative guides&amp;quot; /&amp;gt;&lt;br /&gt;
* [http://lifehacker.com/5900626/create-a-kickass-seamless-play+everything-media-center-the-complete-guide Lifehacker.com - Create a Kickass, Seamless, Play-Everything Media Center: The Complete Guide]&lt;br /&gt;
* [http://tbueter.com/?page_id=324 The Frodo Guide] by Henry Ford&lt;br /&gt;
* [http://xbmc.us/njbetzen/2012/08/01/beginner-tip-how-to-add-videos-to-xbmc-frodopre-frodo-from-a-network-share/ Beginner Tip: How to add videos to Kodi Frodo/pre-Frodo from a network share] by Nathan Betzen&lt;br /&gt;
* [http://www.makeuseof.com/pages/xbmc-full-html Makeuseof.com - How to set up your Kodi Media Center]&lt;br /&gt;
* [http://youresuchageek.blogspot.fr/2012/06/xbmc-install-and-config-howto-for-linux.html Kodi Install and Config] HOW-TO for Linux Its for xvba, however apart from drivers the rest is a &#039;&#039;&#039;MUST&#039;&#039;&#039; read for Linux novices.&lt;br /&gt;
&lt;br /&gt;
=== Video guides ===&lt;br /&gt;
&lt;br /&gt;
{{youtube|UBGKcLu7aGk}}  {{youtube|EkWYxqoOF3c}}  {{youtube|ueqwMbdMVHU}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Alternative guides&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Import-export library]]&lt;br /&gt;
* [[Parental controls|Locking video sources / Parental controls]]&lt;br /&gt;
* [[Video library settings]]&lt;br /&gt;
* [[First time user]]&lt;br /&gt;
* [[UPnP]]&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Index]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Visual_Identity_Guidelines&amp;diff=92698</id>
		<title>Official:Visual Identity Guidelines</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Visual_Identity_Guidelines&amp;diff=92698"/>
		<updated>2015-04-17T18:51:47Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[XBMC Foundation]]|[[Official:Trademark Policy index|Trademarks]]}}&lt;br /&gt;
&lt;br /&gt;
== Trademarked Logo/Wordmark Usage ==&lt;br /&gt;
&lt;br /&gt;
:* Our logos are to be displayed in its entirety on either a solid light or dark background (avoid mid-tone or strongly colored backgrounds).&lt;br /&gt;
:* The proportions and alignment of icon and text in the logo must not be changed in any way.&lt;br /&gt;
:* The logo and icon may be used in a monochrome version (all white, black or grey) if colour is not possible or would conflict with the background colour&lt;br /&gt;
:* The logo must have a space or margin on all sides at no less than the height of the logo font in every direction. &lt;br /&gt;
:* The logo should not be displayed in parts, with color variations, or with other elements superimposed on top of the logo.&lt;br /&gt;
:* The logo must either include the trademark (TM) or (®) symbol depending on the mark.&lt;br /&gt;
:* The logo may not be placed in such close proximity to other content that it is indistinguishable.&lt;br /&gt;
:* The logo may not be be made the most distinctive or prominent feature on your website, printed material, or other content.&lt;br /&gt;
:* The logo may not be used by individuals or organizations in any way that suggests any type of association or partnership with Team Kodi or the XBMC Foundation, or approval, sponsorship, or endorsement by Team Kodi or the XBMC Foundation (unless allowed by Team Kodi or the XBMC Foundation).&lt;br /&gt;
:* The logo may not be used in a way that is harmful, deceptive, obscene or otherwise objectionable to the average person.&lt;br /&gt;
:* The logo may not be used to, or in connection with, content that disparages us or sullies Team Kodi or the XBMC Foundation reputation&lt;br /&gt;
&lt;br /&gt;
== Common Mistakes ==&lt;br /&gt;
&lt;br /&gt;
:* The trademarked logos/wordmarks or any other should not be displayed in modified or displayed in ways that visually compromise the logo.&lt;br /&gt;
:* missing shadow, incorrect colors, incomplete logo, strongly colored background, strong patterned background&lt;br /&gt;
:* incorrect font face, incorrect font color, non-standard orientation and sizing of logo and text, incorrect logo/text size ratio and position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Trademark Policy]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:Rooster_Teeth&amp;diff=88864</id>
		<title>Add-on:Rooster Teeth</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:Rooster_Teeth&amp;diff=88864"/>
		<updated>2015-04-08T23:01:13Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: added demo video&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Addon &lt;br /&gt;
|Name=Rooster Teeth&lt;br /&gt;
|provider-name=Divingmule, Skipmode A1&lt;br /&gt;
|ID=plugin.video.roosterteeth&lt;br /&gt;
|latest-version=0.1.1&lt;br /&gt;
|extension point=xbmc.python.pluginsource&lt;br /&gt;
|provides=video&lt;br /&gt;
|Summary=Videos from RoosterTeeth.com and AchievementHunter.com&lt;br /&gt;
|Description=Comedy and gaming shows from Rooster Teeth and Achievement Hunter, including the popular &amp;quot;Red vs Blue&amp;quot; series.&lt;br /&gt;
    &lt;br /&gt;
|Platform=all&lt;br /&gt;
|Language=en&lt;br /&gt;
|License=GNU GENERAL PUBLIC LICENSE. Version 3, June 2007&lt;br /&gt;
|Forum=http://forum.kodi.tv/showthread.php?tid=177932&lt;br /&gt;
|Website=http://roosterteeth.com&lt;br /&gt;
|Source=git://github.com/skipmodea1/plugin.video.roosterteeth&lt;br /&gt;
|Email=&lt;br /&gt;
&lt;br /&gt;
|broken=&lt;br /&gt;
|icon url=http://mirrors.kodi.tv/addons/gotham/plugin.video.roosterteeth/icon.png}}&lt;br /&gt;
&lt;br /&gt;
==Demo video==&lt;br /&gt;
{{youtube|uPv6d0qZBG8}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Frodo add-on repository]]&lt;br /&gt;
[[Category:Gotham add-on repository]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:Rooster_Teeth&amp;diff=88861</id>
		<title>Add-on:Rooster Teeth</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:Rooster_Teeth&amp;diff=88861"/>
		<updated>2015-04-08T22:54:52Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Addon &lt;br /&gt;
|Name=Rooster Teeth&lt;br /&gt;
|provider-name=Divingmule, Skipmode A1&lt;br /&gt;
|ID=plugin.video.roosterteeth&lt;br /&gt;
|latest-version=0.1.1&lt;br /&gt;
|extension point=xbmc.python.pluginsource&lt;br /&gt;
|provides=video&lt;br /&gt;
|Summary=Videos from RoosterTeeth.com and AchievementHunter.com&lt;br /&gt;
|Description=Comedy and gaming shows from Rooster Teeth and Achievement Hunter, including the popular &amp;quot;Red vs Blue&amp;quot; series.&lt;br /&gt;
    &lt;br /&gt;
|Platform=all&lt;br /&gt;
|Language=en&lt;br /&gt;
|License=GNU GENERAL PUBLIC LICENSE. Version 3, June 2007&lt;br /&gt;
|Forum=http://forum.kodi.tv/showthread.php?tid=177932&lt;br /&gt;
|Website=http://roosterteeth.com&lt;br /&gt;
|Source=git://github.com/skipmodea1/plugin.video.roosterteeth&lt;br /&gt;
|Email=&lt;br /&gt;
&lt;br /&gt;
|broken=&lt;br /&gt;
|icon url=http://mirrors.kodi.tv/addons/gotham/plugin.video.roosterteeth/icon.png}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Frodo add-on repository]]&lt;br /&gt;
[[Category:Gotham add-on repository]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=88409</id>
		<title>Kodi Foundation</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_Foundation&amp;diff=88409"/>
		<updated>2015-03-27T20:31:34Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Board of Directors */  updated BOD&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav}}&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that oversees the [[Kodi|{{kodi}}]] project and is registered in the US.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
Membership of the XBMC Foundation is typically taken from members of [[Team Kodi]], but may include non Team members.&lt;br /&gt;
* [[/Member list]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;section begin=Foundation members /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Nathan Betzen (natethomas)&#039;&#039;&#039; - Board member (President) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Martijn Kaijser (Martijn)&#039;&#039;&#039; - Board member (CFO) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Sascha Montellese (Montellese)&#039;&#039;&#039; - Board member (Secretary) - &#039;&#039;Term: 11/2013 - 11/2015&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Matthias Kortstiege (mkortstiege)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2014 - 11/2016&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Rainer Hochecker (FernetMenta)&#039;&#039;&#039; - Board member - &#039;&#039;Term: 11/2014 - 11/2016&#039;&#039;&lt;br /&gt;
&amp;lt;section end=Foundation members /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
The XBMC Board of Directors are Foundation members that manages the XBMC Foundation. The Board consists of five seats that are chosen by vote from the XBMC Foundation members. The Board&#039;s responsibilities include management of funds, publicity, and all business related issues (taxes, communication with other businesses, maintaining non-profit status etc.)&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Board of Directors meetings ==&lt;br /&gt;
The Board meets about once a month (in addition to any special meetings as required) to discuss any business that needs to be handled by the foundation.  Meetings are typically conducted via teleconference using a service such as Skype.&lt;br /&gt;
&lt;br /&gt;
=== Board minutes ===&lt;br /&gt;
* [[/Board minutes/2012-11-4]]&lt;br /&gt;
&lt;br /&gt;
== Board of Directors elections ==&lt;br /&gt;
;Who can be an XBMC Board member?&lt;br /&gt;
:Any existing member of the foundation, as voted by the remaining members.&lt;br /&gt;
&lt;br /&gt;
;How long does a board member hold office?&lt;br /&gt;
:Terms last for two years. We endeavor to have a staggered cycle so that not all board members are turned over at a single election. There are no term restrictions, so Board members may even run for consecutive terms. However, in the interests of sharing the load, any and all members are encouraged to participate.&lt;br /&gt;
&lt;br /&gt;
;What is expected of an XBMC Board member?&lt;br /&gt;
:Board members are expected to attend all meetings or will otherwise be diligent in letting the other board members know if they won&#039;t be around.  Further, they&#039;ll be expected to make decisions (as a group) in the best interests of the foundation.  The Board accountable to the members, so should consider recommendations made by members during the decision making process, Though they ultimately must make the final decisions.  Any and all discussion should be frankly communicated to members within a reasonable time frame.&lt;br /&gt;
&lt;br /&gt;
;Who elects the officers (President, Secretary, Treasurer etc?)&lt;br /&gt;
:The board elects the officers.  In doing so, they may choose to take advice from the membership, but the decision is theirs.  The President must be from within the board itself, though Secretary, Treasurer, and any other officers the board wishes to appoint may be from outside the board (or outside the membership).&lt;br /&gt;
&lt;br /&gt;
=== Election process ===&lt;br /&gt;
&lt;br /&gt;
Board elections occur as follows:&lt;br /&gt;
# A member is nominated by the Board to oversee the election.&lt;br /&gt;
# Nominations for the open positions are taken from within the existing membership via email and/or via a forum thread.  This lasts a minimum of 10 days.&lt;br /&gt;
# Confirmed nominees are placed on the ballot.&lt;br /&gt;
# A vote of the membership is then taken using a trusted internet voting service using a ranking system. (usually via the Condorcet Internet Voting Service, http://www.cs.cornell.edu/w8/~andru/civs ) and the candidates with the highest ranks take office.  This lasts about two weeks.&lt;br /&gt;
#: &#039;&#039;In the event of a tie, it will be resolved with the existing board members discussing with the tied nominees. Tied nominees that do not go on the board may be nominated as officers of the Foundation, for example.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Previous elections ===&lt;br /&gt;
* [[/Elections/2013|2013]]&lt;br /&gt;
* [[/Elections/2012|2012]]&lt;br /&gt;
&lt;br /&gt;
== Foundation Bylaws and other important documents ==&lt;br /&gt;
* [[Media:ByLaws.pdf]]&lt;br /&gt;
* [[Media:Delaware Incorporation Notice.pdf]]&lt;br /&gt;
* [[Media:Delaware Notice Of Good Standing.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
{{see|Official:Trademark Policy index}}&lt;br /&gt;
&lt;br /&gt;
== Financial information ==&lt;br /&gt;
&lt;br /&gt;
=== Financial status ===&lt;br /&gt;
&lt;br /&gt;
* Income and expenses - https://docs.google.com/spreadsheet/ccc?key=0AtlJ3dnHcw46dHpmeXlIV0hGaC13Z3I3b25hZWhWRGc#gid=8&lt;br /&gt;
&lt;br /&gt;
=== Account details ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe bank account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank: ING Netherlands&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
* IBAN account: NL39 INGB 0006 6296 56&lt;br /&gt;
* BIC: INGBNL2A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unites States account&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bank:&lt;br /&gt;
* Beneficiary: XBMC Foundation&lt;br /&gt;
&lt;br /&gt;
== Legal representation ==&lt;br /&gt;
The XBMC Foundation is legally represented by the [[w:Software Freedom Law Center|SFLC (Software Freedom Law Center)]].&lt;br /&gt;
&lt;br /&gt;
In addition the XBMC Foundation is member of [[w:Open_Invention_Network|OIN (Open Invention Network)]] since 9 July 2010. OIN is a defensive patent pool and community of patent non-aggression which enables freedom of action in Linux.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For contact information, please see http://kodi.tv/about/contact/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
=== Similar page names ===&lt;br /&gt;
{{#lst:Foundation|similar pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:XBMC Foundation|*]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:HDHomeRun&amp;diff=88252</id>
		<title>Add-on:HDHomeRun</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:HDHomeRun&amp;diff=88252"/>
		<updated>2015-03-20T18:55:14Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Controls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Addon &lt;br /&gt;
|Name=HDHomeRun Live TV&lt;br /&gt;
|provider-name=SiliconDust&lt;br /&gt;
|ID=script.hdhomerun.view&lt;br /&gt;
|latest-version=2015.3.19&lt;br /&gt;
|extension point=xbmc.python.script&lt;br /&gt;
|provides=video&lt;br /&gt;
|Summary=Browse lineup and watch streams from your HDHomeRun devices&lt;br /&gt;
|Description=HDHomeRun on Kodi the easy way. Automatically finds all the compatible HDHomeRun devices on your network, collects available channels, and starts showing TV. Pressing select or right brings up the episode guide, where you can see what&#039;s on, and what&#039;s coming next.&lt;br /&gt;
|Platform=all&lt;br /&gt;
|Language=&lt;br /&gt;
|License=GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&lt;br /&gt;
|Forum=https://www.silicondust.com/forum/viewforum.php?f=87&lt;br /&gt;
|Website=https://www.hdhomerun.com&lt;br /&gt;
|Source=&lt;br /&gt;
|Email=&lt;br /&gt;
|broken=&lt;br /&gt;
|icon url=http://mirrors.kodi.tv/addons/gotham/script.hdhomerun.view/icon.png}}&lt;br /&gt;
&lt;br /&gt;
== What is HDHomeRun ==&lt;br /&gt;
{{main|HDHomeRun}}&lt;br /&gt;
{{intro|HDHomeRun}}&lt;br /&gt;
=== Supported models ===&lt;br /&gt;
{{note|1=Be sure to install the latest beta firmware for your HDHomeRun unit to enable all of the features of the add-on: https://www.silicondust.com/forum/viewtopic.php?t=2484}}&lt;br /&gt;
* HDHomeRun PRIME&lt;br /&gt;
* HDHomeRun CONNECT&lt;br /&gt;
* HDHomeRun EXTEND&lt;br /&gt;
&lt;br /&gt;
== Controls ==&lt;br /&gt;
&#039;&#039;&#039;Channel changing&#039;&#039;&#039; - Using up/down arrow keys and enter/select will allow the user to select which channel they want and then go to that channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search&#039;&#039;&#039; - a search box can be triggered by pressing {{button|MENU}} on a remote or {{keypress|C}} on a keyboard. This will bring up the on-screen-keyboard and allow the user to search both channel names and program descriptions. The search results show up as filtered channel listings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Direct channel input&#039;&#039;&#039; - Pressing numbers on a remote or keyboard + enter/select will allow the user to go directly to that channel number.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tablet Controls&#039;&#039;&#039; - Because this add-on doesn&#039;t include the traditional GUI, when using with a tablet, exiting the add-on requires a two-finger swipe to the left.&lt;br /&gt;
&lt;br /&gt;
== Video demo ==&lt;br /&gt;
[http://lon.tv LON.TV] review of the HDHomeRun Live TV Kodi add-on&amp;lt;br /&amp;gt;&lt;br /&gt;
{{youtube|-MY-Kk76x9w}}&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
The settings for the HDHomeRun add-on can be accessed by: &lt;br /&gt;
&lt;br /&gt;
: {{highlight|bordered=yes|highlighting the add-on in Kodi -&amp;gt; bringing up the [[context menu]] ({{button|MENU}} on a remote and {{keypress|C}} on a keyboard) -&amp;gt; and selecting &#039;&#039;&#039;Add-on settings&#039;&#039;&#039;.}}&lt;br /&gt;
&lt;br /&gt;
Be sure to select &#039;&#039;&#039;Okay&#039;&#039;&#039; when you are done changing settings in order to save those changes.&lt;br /&gt;
&lt;br /&gt;
[[File:HDHomeRun add-on settings.png|500px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Confirm exit&lt;br /&gt;
: &#039;&#039;on by default&#039;&#039; &lt;br /&gt;
: Disables the prompt asking if you really want to edit when escaping/existing out of the add-on.&lt;br /&gt;
&lt;br /&gt;
; Stop video on exit&lt;br /&gt;
: &#039;&#039;on by default&#039;&#039;&lt;br /&gt;
: Prevents the current channel from continuing playback after existing the add-on.&lt;br /&gt;
&lt;br /&gt;
; Enable enhancements for touch devices&lt;br /&gt;
: &#039;&#039;off by default&#039;&#039;&lt;br /&gt;
: Currently allows &#039;flinging&#039; of the guide when swiping up and down by using a different display method. Uses more CPU when enabled.&lt;br /&gt;
&lt;br /&gt;
; Guide auto-hide delay seconds (0 = never hide)&lt;br /&gt;
: &#039;&#039;0/never by default&#039;&#039;&lt;br /&gt;
: Allows you to hide the channel info and guide when the guide is manually displayed by pressing select or left.&lt;br /&gt;
&lt;br /&gt;
; Transcoding profile&lt;br /&gt;
: &#039;&#039;HDHomeRun EXTEND only&#039;&#039;&lt;br /&gt;
: Selects what transcoding profile to use for the video feeds.&lt;br /&gt;
&lt;br /&gt;
; Show DRM channels&lt;br /&gt;
: &#039;&#039;HDHomeRun PRIME only&#039;&#039;&lt;br /&gt;
: Shows channels in the guide that Kodi cannot play due to restrictions imposed by your cable provider.&lt;br /&gt;
&lt;br /&gt;
; Enable debug logging&lt;br /&gt;
: Enables extra data that is saved to Kodi&#039;s [[debug log]]. This is used for troubleshooting and bug reporting for the add-on.&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
=== Do I need to provide EPG data? ===&lt;br /&gt;
:Nope. SiliconDust pays for providing the EPG (electronic programming guide), channel icons, and other data from FYI Television. [http://www.silicondust.com/about/in-the-news/]  This data is downloaded directly onto your HDHomeRun unit and the add-on loads that data from there.&lt;br /&gt;
&lt;br /&gt;
=== How do I enable deinterlacing? ===&lt;br /&gt;
:Because the HDHomeRun Live TV add-on blocks the normal on-screen-display video controls, enabling deinterlacing is a little tricky to get to at this time. This is currently being investigated by the add-on&#039;s developer.&lt;br /&gt;
:A work-around for the time being is to enable automatic detection for if videos need deinterlacing or not, and setting that as the default for all videos. For most Kodi hardware this setting should be safe, but might not always enable deinterlacing in certain situations. This can be reverted later using these same instructions: &lt;br /&gt;
:# Play a normal video file, outside of the HDHomeRun Live TV add-on.&lt;br /&gt;
:# Bring up the &#039;&#039;&#039;[[Video playback#On screen display (OSD)|on-screen-display controls]]&#039;&#039;&#039; by pressing select/enter.&lt;br /&gt;
:# Navigate to the &#039;&#039;&#039;[[Video playback#OSD video settings|video settings button]]&#039;&#039;&#039;&lt;br /&gt;
:# Change the &#039;&#039;&#039;Deinterlace video&#039;&#039;&#039; option to &#039;&#039;&#039;Auto&#039;&#039;&#039;&lt;br /&gt;
:# Scroll down in the video settings window and select &#039;&#039;&#039;Save as default for all videos&#039;&#039;&#039;&lt;br /&gt;
:# You can now stop playing the video and use the HDHomeRun Live TV add-on&lt;br /&gt;
&lt;br /&gt;
=== Can the add-on record video? ===&lt;br /&gt;
:Currently, no. The add-on is just for viewing live TV.&lt;br /&gt;
&lt;br /&gt;
== Links and further reading ==&lt;br /&gt;
* SiliconDust press release - http://blog.fyitelevision.com/2015/03/hdhomerun-kodi-add-on-brings-gorgeous.html&lt;br /&gt;
* SiliconDust announcement post - https://www.silicondust.com/forum/viewtopic.php?f=87&amp;amp;t=18949&lt;br /&gt;
* SD support forum for the add-on - https://www.silicondust.com/forum/viewforum.php?f=87&lt;br /&gt;
* Kodi.tv blog announcement post - http://kodi.tv/addon-spotlight-hdhomerun-live-tv/&lt;br /&gt;
&lt;br /&gt;
[[Category:Gotham add-on repository]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2015&amp;diff=86896</id>
		<title>Archive:Google Summer of Code/2015</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2015&amp;diff=86896"/>
		<updated>2015-03-02T19:47:19Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: fixed opening paragraph to point to 2015 instead of 2014 forum&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2015_logo-blog.jpg‎|left|200px]]Welcome to the Kodi [http://www.google-melange.com/gsoc/homepage/google/gsoc2015 Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2015/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=220 Kodi GSoC subforum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  &#039;&#039;&#039;16 March&#039;&#039;&#039; to &#039;&#039;&#039;27 March&#039;&#039;&#039;, any interested students may apply at the [http://www.google-melange.com/gsoc/homepage/google/gsoc2015 GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://www.google-melange.com/gsoc/events/google/gsoc2015 GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]] and [[Google Summer of Code 2013|2013]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2015, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
=== Server Improvement ===&lt;br /&gt;
&lt;br /&gt;
====Transcoding====&lt;br /&gt;
*Transcoding is already supported in a number of other open source projects and FFMPEG. Additionally, limited audio transcoding is available in Kodi right now. However to fully support the wide range of devices out there, not to mention better support file transfers on low memory devices, Kodi needs to fully support audio and video transcoding.&lt;br /&gt;
&lt;br /&gt;
====UPnP Improvements including File Transfers====&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
Initial work on Web Browser implementation already exists, but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area.&lt;br /&gt;
====NVIDIA Gamestream in Kodi====&lt;br /&gt;
*Limelight is a GPL licensed project that runs on a variety of platforms and is primarily written in java that should be relatively easily integrated into the Kodi file system, allowing for any device running Kodi with access to a controller or a keyboard and mouse to launch and play any game or application being served on a local PC with a relatively recent NVIDIA graphics card.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=220 Kodi GSOC 2015 forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;25 May&#039;&#039;&#039; and &#039;&#039;&#039;21 August&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post  &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=220 here]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2015&amp;diff=86719</id>
		<title>Archive:Google Summer of Code/2015</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2015&amp;diff=86719"/>
		<updated>2015-02-20T10:05:47Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: /* Team-Kodi proposal ideas up for discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2015_logo-blog.jpg‎|left|200px]]Welcome to the Kodi [http://www.google-melange.com/gsoc/homepage/google/gsoc2015 Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2015/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=207 Kodi GSoC subforum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  &#039;&#039;&#039;16 March&#039;&#039;&#039; to &#039;&#039;&#039;27 March&#039;&#039;&#039;, any interested students may apply at the [http://www.google-melange.com/gsoc/homepage/google/gsoc2015 GSOC home page] to work with Kodi. After that, we’ll notify applicants whether we get to work with each other according to the [http://www.google-melange.com/gsoc/events/google/gsoc2015 GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|i2vWBqqqlHg}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 50 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 40 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]] and [[Google Summer of Code 2013|2013]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2015, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
=== Server Improvement ===&lt;br /&gt;
&lt;br /&gt;
====Transcoding====&lt;br /&gt;
*Transcoding is already supported in a number of other open source projects and FFMPEG. Additionally, limited audio transcoding is available in Kodi right now. However to fully support the wide range of devices out there, not to mention better support file transfers on low memory devices, Kodi needs to fully support audio and video transcoding.&lt;br /&gt;
&lt;br /&gt;
====UPnP Improvements including File Transfers====&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device.&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer.&lt;br /&gt;
&lt;br /&gt;
===Web Browser in Kodi===&lt;br /&gt;
Initial work on Web Browser implementation already exists, but much is left to do on this project, and many developers are excited to help act as a mentor for this particular project.&lt;br /&gt;
&lt;br /&gt;
===Gaming in Kodi ===&lt;br /&gt;
====Retroplayer====&lt;br /&gt;
*Developer Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor. Any one of these pieces could make an excellent summer project depending on your familiarity in the area.&lt;br /&gt;
====NVIDIA Gamestream in Kodi====&lt;br /&gt;
*Limelight is a GPL licensed project that runs on a variety of platforms and is primarily written in java that should be relatively easily integrated into the Kodi file system, allowing for any device running Kodi with access to a controller or a keyboard and mouse to launch and play any game or application being served on a local PC with a relatively recent NVIDIA graphics card.&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=220 Kodi GSOC 2015 forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;25 May&#039;&#039;&#039; and &#039;&#039;&#039;21 August&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post  &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=220 here]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=MediaWiki:Common.css&amp;diff=86718</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=MediaWiki:Common.css&amp;diff=86718"/>
		<updated>2015-02-20T10:05:20Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: revert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*/&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; */&lt;br /&gt;
&lt;br /&gt;
/* Edit window toolbar */&lt;br /&gt;
#toolbar {&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Highlight clicked reference in blue to help navigation */&lt;br /&gt;
ol.references li:target,&lt;br /&gt;
sup.reference:target,&lt;br /&gt;
span.citation:target {&lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure refs in table headers and the like aren&#039;t bold or italic */&lt;br /&gt;
sup.reference {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow hidden ref errors to be shown by user CSS */&lt;br /&gt;
span.brokenref {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for citations (CSS3). Breaks long urls, etc., rather than overflowing box */&lt;br /&gt;
.citation {&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For linked citation numbers and document IDs, where&lt;br /&gt;
   the number need not be shown on a screen or a handheld,&lt;br /&gt;
   but should be included in the printed version */&lt;br /&gt;
@media screen, handheld {&lt;br /&gt;
    .citation *.printonly {&lt;br /&gt;
        display: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* wikitable/prettytable class for skinning normal tables */&lt;br /&gt;
table.wikitable,&lt;br /&gt;
table.prettytable {&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th, .wikitable td,&lt;br /&gt;
.prettytable th, .prettytable td {&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th,&lt;br /&gt;
.prettytable th {&lt;br /&gt;
    background: lightgrey;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.wikitable caption,&lt;br /&gt;
.prettytable caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for [[Template:Flowlist]] that Lets lists flow around floating objecs */&lt;br /&gt;
.flowlist ul {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    margin-left: 0em;&lt;br /&gt;
    padding-left: 1.6em;&lt;br /&gt;
}&lt;br /&gt;
.flowlist ol {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    margin-left: 0em;&lt;br /&gt;
    padding-left: 3.2em;&lt;br /&gt;
}&lt;br /&gt;
.flowlist dl {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Unbulleted lists */&lt;br /&gt;
.plainlist ul {&lt;br /&gt;
    line-height: inherit;&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.plainlist ul li {&lt;br /&gt;
    margin-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Default style for navigation boxes */&lt;br /&gt;
.navbox {                     /* Navbox container style */&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: auto;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    padding: 1px;&lt;br /&gt;
}&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
    padding: 0.25em 1em;      /* Title, group and above/below styles */&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
th.navbox-group {             /* Group style */&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
    background: #fdfdfd;      /* Background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-list {&lt;br /&gt;
    line-height: 1.8em;&lt;br /&gt;
    border-color: #fdfdfd;    /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox th,&lt;br /&gt;
.navbox-title {&lt;br /&gt;
    background: #ccccff;      /* Level 1 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
th.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
    background: #ddddff;      /* Level 2 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
    background: #e6e6ff;      /* Level 3 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-even {&lt;br /&gt;
    background: #f7f7f7;      /* Even row striping */&lt;br /&gt;
}&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
    background: transparent;  /* Odd row striping */&lt;br /&gt;
}&lt;br /&gt;
table.navbox + table.navbox {  /* Single pixel border between adjacent navboxes */&lt;br /&gt;
    margin-top: -1px;          /* (doesn&#039;t work for IE6, but that&#039;s okay)       */&lt;br /&gt;
}&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
    padding: 0.125em 0;       /* Adjust hlist padding in navboxes */&lt;br /&gt;
}&lt;br /&gt;
ol + table.navbox,&lt;br /&gt;
ul + table.navbox {&lt;br /&gt;
    margin-top: 0.5em;        /* Prevent lists from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Default styling for Navbar template */&lt;br /&gt;
.navbar {&lt;br /&gt;
    display: inline;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
}&lt;br /&gt;
.navbar ul {&lt;br /&gt;
    display: inline;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.navbar li {&lt;br /&gt;
    word-spacing: -0.125em;&lt;br /&gt;
}&lt;br /&gt;
.navbar.mini li span {&lt;br /&gt;
  font-variant: small-caps;&lt;br /&gt;
}&lt;br /&gt;
/* Navbar styling when nested in infobox and navbox */&lt;br /&gt;
.infobox .navbar {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
    display: block;&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-right: 0.5em;&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* &#039;show&#039;/&#039;hide&#039; buttons created dynamically by the CollapsibleTables javascript&lt;br /&gt;
   in [[MediaWiki:Common.js]] are styled here so they can be customised. */&lt;br /&gt;
.collapseButton {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-left: 0.5em;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
    width: auto;&lt;br /&gt;
}&lt;br /&gt;
/* In navboxes, the show/hide button balances the v·d·e links&lt;br /&gt;
   from [[Template:Navbar]], so they need to be the same width. */&lt;br /&gt;
.navbox .collapseButton {&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Styling for JQuery makeCollapsible, matching that of collapseButton */&lt;br /&gt;
.mw-collapsible-toggle {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
.navbox .mw-collapsible-toggle {&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Infobox template style */&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    color: black;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    clear: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
}&lt;br /&gt;
.infobox caption {	&lt;br /&gt;
    font-size: larger;&lt;br /&gt;
}&lt;br /&gt;
.infobox td,&lt;br /&gt;
.infobox th {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered td,&lt;br /&gt;
.infobox.bordered th {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered .borderless td,&lt;br /&gt;
.infobox.bordered .borderless th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.sisterproject {&lt;br /&gt;
    width: 20em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.infobox.standard-talk.bordered td,&lt;br /&gt;
.infobox.standard-talk.bordered th {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* styles for bordered infobox with merged rows */&lt;br /&gt;
.infobox.bordered .mergedtoprow td,&lt;br /&gt;
.infobox.bordered .mergedtoprow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.bordered .mergedrow td,&lt;br /&gt;
.infobox.bordered .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Styles for geography infoboxes, eg countries,&lt;br /&gt;
   country subdivisions, cities, etc.            */&lt;br /&gt;
.infobox.geography {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    line-height: 1.2em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography  td,&lt;br /&gt;
.infobox.geography  th {&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
.infobox.geography .mergedtoprow td,&lt;br /&gt;
.infobox.geography .mergedtoprow th {&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .mergedrow td,&lt;br /&gt;
.infobox.geography .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .mergedbottomrow td,&lt;br /&gt;
.infobox.geography .mergedbottomrow th {&lt;br /&gt;
    border-top: 0;&lt;br /&gt;
    border-bottom: 1px solid #aaa;&lt;br /&gt;
    padding: 0 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .maptable td,&lt;br /&gt;
.infobox.geography .maptable th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] */&lt;br /&gt;
.redirect-in-category, .allpagesredirect {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Normal font styling for table row headers with scope=&amp;quot;row&amp;quot; tag */&lt;br /&gt;
.wikitable.plainrowheaders th[scope=row] {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Lists in data cells are always left-aligned */&lt;br /&gt;
.wikitable td ul,&lt;br /&gt;
.wikitable td ol,&lt;br /&gt;
.wikitable td dl {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon for all PDF files&lt;br /&gt;
   in browsers that support these CSS selectors, like Mozilla and Opera */&lt;br /&gt;
div#content a[href$=&amp;quot;.pdf&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.pdf?&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
div#content a[href$=&amp;quot;.PDF&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.PDF?&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.PDF#&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href$=&amp;quot;.pdf&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.pdf?&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href$=&amp;quot;.PDF&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.PDF?&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.PDF#&amp;quot;].external {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif&amp;quot;) no-repeat right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-right: 18px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon anywhere the PDFlink class&lt;br /&gt;
   is used (notably Template:PDFlink). This works in IE, unlike the above. */&lt;br /&gt;
div#content span.PDFlink a,&lt;br /&gt;
div#mw_content span.PDFlink a {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif&amp;quot;) no-repeat right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-right: 18px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content in columns with CSS instead of tables [[Template:Columns]] */&lt;br /&gt;
div.columns-2 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 50%;&lt;br /&gt;
    min-width: 300px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-3 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 33.3%;&lt;br /&gt;
    min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-4 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 25%;&lt;br /&gt;
    min-width: 150px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-5 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 20%;&lt;br /&gt;
    min-width: 120px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Messagebox templates */&lt;br /&gt;
.messagebox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 0 auto 1em auto;&lt;br /&gt;
    padding: .2em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.merge {&lt;br /&gt;
    border: 1px solid #c0b8cc;&lt;br /&gt;
    background-color: #f0e5ff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.cleanup {&lt;br /&gt;
    border: 1px solid #9f9fff;&lt;br /&gt;
    background-color: #efefff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    margin: 4px auto;&lt;br /&gt;
}&lt;br /&gt;
/* For old WikiProject banners inside banner shells. */&lt;br /&gt;
.mbox-inside .standard-talk,&lt;br /&gt;
.messagebox.nested-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small-talk {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
    background: #F8EABA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {   /* The message body cell(s) */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 0.25em 0.9em;     /* 0.9em left/right */&lt;br /&gt;
    width: 100%;               /* Make all mboxes the same width regardless of text length */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                /* The left image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0 2px 0.9em;  /* 0.9em left, 0px right */&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {           /* The right image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0.9em 2px 0;  /* 0px left, 0.9em right */&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
td.mbox-empty-cell {           /* An empty narrow cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    width: 1px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Article message box styles */&lt;br /&gt;
table.ambox {&lt;br /&gt;
    margin: 0px 10%;                  /* 10% = Will not overlap with other elements */&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #1e90ff;  /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
table.ambox + table.ambox {      /* Single border between stacked boxes. */&lt;br /&gt;
    margin-top: -1px;&lt;br /&gt;
}&lt;br /&gt;
.ambox th.mbox-text,&lt;br /&gt;
.ambox td.mbox-text {            /* The message body cell(s) */&lt;br /&gt;
    padding: 0.25em 0.5em;       /* 0.5em left/right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-image {           /* The left image cell */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-imageright {      /* The right image cell */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0.5em 2px 0;    /* 0px left, 0.5em right */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.ambox-notice {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-speedy {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;                   /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-delete {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-content {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-style {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-move {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-protection {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Image message box styles */&lt;br /&gt;
table.imbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
.imbox .mbox-text .imbox {  /* For imboxes inside imbox-text cells. */&lt;br /&gt;
    margin: 0 -0.5em;       /* 0.9 - 0.5 = 0.4em left/right.        */&lt;br /&gt;
    display: block;         /* Fix for webkit to force 100% width.  */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .imbox {       /* For imboxes inside other templates.  */&lt;br /&gt;
    margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.imbox-notice {&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-speedy {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-delete {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-content {&lt;br /&gt;
    border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-style {&lt;br /&gt;
    border: 3px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-move {&lt;br /&gt;
    border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-protection {&lt;br /&gt;
    border: 3px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-license {&lt;br /&gt;
    border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
    background: #f7f8ff;          /* Light gray */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-featured {&lt;br /&gt;
    border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Category message box styles */&lt;br /&gt;
table.cmbox {&lt;br /&gt;
    margin: 3px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #DFE8FF;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.cmbox-notice {&lt;br /&gt;
    background: #D8E8FF;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-speedy {&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
    border: 4px solid #b22222;    /* Red */&lt;br /&gt;
    background: #FFDBDB;          /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-delete {&lt;br /&gt;
    background: #FFDBDB;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-content {&lt;br /&gt;
    background: #FFE7CE;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-style {&lt;br /&gt;
    background: #FFF9DB;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-move {&lt;br /&gt;
    background: #E4D8FF;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-protection {&lt;br /&gt;
    background: #EFEFE1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Other pages message box styles */&lt;br /&gt;
table.ombox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa;       /* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
    border: 1px solid #aaa;       /* Gray */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
    border: 1px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
    border: 1px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
    border: 1px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
    border: 2px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Talk page message box styles */&lt;br /&gt;
table.tmbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
    background: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The &amp;quot;mediawiki&amp;quot; class ensures that */&lt;br /&gt;
    margin: 2px 0;               /* this declaration overrides other styles (including mbox-small above)   */&lt;br /&gt;
    width: 100%;                 /* For Safari and Opera */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .tmbox.mbox-small { /* &amp;quot;small&amp;quot; tmboxes should not be small when  */&lt;br /&gt;
    line-height: 1.5em;          /* also &amp;quot;nested&amp;quot;, so reset styles that are   */&lt;br /&gt;
    font-size: 100%;             /* set in &amp;quot;mbox-small&amp;quot; above.                */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.tmbox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-content {&lt;br /&gt;
    border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-style {&lt;br /&gt;
    border: 2px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-move {&lt;br /&gt;
    border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-protection,&lt;br /&gt;
table.tmbox-notice {&lt;br /&gt;
    border: 1px solid #c0c090;    /* Gray-brown */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Disambig and set index box styles */&lt;br /&gt;
table.dmbox {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.9em 1em;&lt;br /&gt;
    border-top: 1px solid #ccc;&lt;br /&gt;
    border-bottom: 1px solid #ccc;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Footer and header message box styles */&lt;br /&gt;
table.fmbox {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #f9f9f9;     /* Default &amp;quot;system&amp;quot; gray */&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-system {&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-warning {&lt;br /&gt;
    border: 1px solid #bb7070;  /* Dark pink */&lt;br /&gt;
    background: #ffdbdb;        /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-editnotice {&lt;br /&gt;
    background: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Div based &amp;quot;warning&amp;quot; style fmbox messages. */&lt;br /&gt;
div.mw-warning-with-logexcerpt,&lt;br /&gt;
div.mw-lag-warn-high,&lt;br /&gt;
div.mw-cascadeprotectedwarning {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #bb7070;&lt;br /&gt;
    background: #ffdbdb;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
/* Div based &amp;quot;system&amp;quot; style fmbox messages. Used in &lt;br /&gt;
   [[MediaWiki:Noarticletext]] and [[MediaWiki:Readonly lag]]. */&lt;br /&gt;
div.mw-lag-warn-normal,&lt;br /&gt;
div.noarticletext,&lt;br /&gt;
div.fmbox-system {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* These mbox-small classes must be placed after all other&lt;br /&gt;
   ambox/tmbox/ombox etc classes. &amp;quot;body.mediawiki&amp;quot; is so&lt;br /&gt;
   they override &amp;quot;table.ambox + table.ambox&amp;quot; above. */&lt;br /&gt;
body.mediawiki table.mbox-small {   /* For the &amp;quot;small=yes&amp;quot; option. */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    clear: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 4px 0 4px 1em;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
body.mediawiki table.mbox-small-left {   /* For the &amp;quot;small=left&amp;quot; option. */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 4px 1em 4px 0;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Style for compact ambox */&lt;br /&gt;
/* Hide the images */&lt;br /&gt;
.compact-ambox table .mbox-image,&lt;br /&gt;
.compact-ambox table .mbox-imageright,&lt;br /&gt;
.compact-ambox table .mbox-empty-cell {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
/* Remove borders, backgrounds, padding, etc. */&lt;br /&gt;
.compact-ambox table.ambox {&lt;br /&gt;
    border: none;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
    margin: 0 0 0 1.6em !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
body.mediawiki .compact-ambox table.mbox-small-left {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
/* Style the text cell as a list item and remove its padding */&lt;br /&gt;
.compact-ambox table .mbox-text {&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
    margin: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
.compact-ambox table .mbox-text-span {&lt;br /&gt;
    display: list-item;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style-type: square;&lt;br /&gt;
    list-style-image: url(//bits.wikimedia.org/skins/common/images/bullet.gif);&lt;br /&gt;
}&lt;br /&gt;
.skin-vector .compact-ambox table .mbox-text-span {&lt;br /&gt;
    list-style-type: circle;&lt;br /&gt;
    list-style-image: url(//bits.wikimedia.org/skins/vector/images/bullet-icon.png)&lt;br /&gt;
}&lt;br /&gt;
/* Allow for hiding text in compact form */&lt;br /&gt;
.compact-ambox .hide-when-compact {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Remove default styles for [[MediaWiki:Noarticletext]]. */&lt;br /&gt;
div.noarticletext {&lt;br /&gt;
    border: none;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
    display: inline ! important;&lt;br /&gt;
    color: #f00; &lt;br /&gt;
    background-color: #0f0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Bold save button */&lt;br /&gt;
#wpSave {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Standard Navigationsleisten, aka box hiding thingy&lt;br /&gt;
   from .de.  Documentation at [[Wikipedia:NavFrame]]. */&lt;br /&gt;
div.NavFrame {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame + div.NavFrame {&lt;br /&gt;
    border-top-style: none;&lt;br /&gt;
    border-top-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavPic {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavHead {&lt;br /&gt;
    height: 1.6em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #ccf;&lt;br /&gt;
    position: relative;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame p,&lt;br /&gt;
div.NavFrame div.NavContent,&lt;br /&gt;
div.NavFrame div.NavContent p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavEnd {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    line-height: 1px;&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
a.NavToggle {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    right: 3px;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Coloured watchlist numbers */&lt;br /&gt;
.mw-plusminus-pos { color: #006400; } /* dark green */&lt;br /&gt;
.mw-plusminus-neg { color: #8B0000; } /* dark red */&lt;br /&gt;
&lt;br /&gt;
.rellink,&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
}&lt;br /&gt;
.rellink i,&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Hatnotes and disambiguation notices */&lt;br /&gt;
.rellink,&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-left: 1.6em;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
.rellink i,&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for horizontal UL lists */&lt;br /&gt;
.horizontal ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li { &lt;br /&gt;
    padding: 0 0.6em 0 0.4em;&lt;br /&gt;
    display: inline;&lt;br /&gt;
    border-right: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li:last-child {&lt;br /&gt;
    border-right: none;&lt;br /&gt;
    padding-right: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Allow transcluded pages to display in lists rather than a table.&lt;br /&gt;
   Compatible in Firefox; incompatible in IE6. */&lt;br /&gt;
.listify td    { display: list-item; }&lt;br /&gt;
.listify tr    { display: block; }&lt;br /&gt;
.listify table { display: block; }&lt;br /&gt;
&lt;br /&gt;
/* When &amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt; is used on the table of contents,&lt;br /&gt;
   the ToC will display without numbers */&lt;br /&gt;
.nonumtoc .tocnumber { display: none; }&lt;br /&gt;
.nonumtoc #toc ul,&lt;br /&gt;
.nonumtoc .toc ul {&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin: .3em 0 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nonumtoc #toc ul ul,&lt;br /&gt;
.nonumtoc .toc ul ul {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 0 2em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Allow limiting of which header levels are shown in a TOC;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for instance, will limit to&lt;br /&gt;
   showing ==headings== and ===headings=== but no further&lt;br /&gt;
   (as long as there are no =headings= on the page, which&lt;br /&gt;
   there shouldn&#039;t be according to the MoS). */&lt;br /&gt;
.toclimit-2 .toclevel-1 ul,&lt;br /&gt;
.toclimit-3 .toclevel-2 ul,&lt;br /&gt;
.toclimit-4 .toclevel-3 ul,&lt;br /&gt;
.toclimit-5 .toclevel-4 ul,&lt;br /&gt;
.toclimit-6 .toclevel-5 ul,&lt;br /&gt;
.toclimit-7 .toclevel-6 ul {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevent line breaks in silly places:&lt;br /&gt;
   1) Where desired&lt;br /&gt;
   2) Links when we don&#039;t want them to&lt;br /&gt;
   3) Bold &amp;quot;links&amp;quot; to the page itself&lt;br /&gt;
   4) Ref tags with group names &amp;lt;ref group=&amp;quot;Note&amp;quot;&amp;gt; --&amp;gt; &amp;quot;[Note 1]&amp;quot; */&lt;br /&gt;
.nowrap,&lt;br /&gt;
.nowraplinks a,&lt;br /&gt;
.nowraplinks .selflink,&lt;br /&gt;
sup.reference a {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
/* But allow wrapping where desired: */&lt;br /&gt;
.wrap,&lt;br /&gt;
.wraplinks a {&lt;br /&gt;
    white-space: normal;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #ecfcf4;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Inline divs in ImageMaps (code borrowed from de.wiki) */&lt;br /&gt;
.imagemap-inline div {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Increase the height of the image upload box */&lt;br /&gt;
#wpUploadDescription {&lt;br /&gt;
    height: 13em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Minimum thumb width */&lt;br /&gt;
.thumbinner {&lt;br /&gt;
    min-width: 100px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Makes the background of a framed image white instead of gray.&lt;br /&gt;
   Only visible with transparent images. */&lt;br /&gt;
div.thumb img.thumbimage {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* The backgrounds for galleries. */&lt;br /&gt;
div#content .gallerybox div.thumb {&lt;br /&gt;
    /* Light gray padding */&lt;br /&gt;
    background-color: #F9F9F9;&lt;br /&gt;
}&lt;br /&gt;
/* Put a chequered background behind images, only visible if they have transparency.&lt;br /&gt;
   &#039;.filehistory a img&#039; and &#039;#file img:hover&#039; are handled by MediaWiki core (as of 1.19) */&lt;br /&gt;
.gallerybox .thumb img {&lt;br /&gt;
    background: #fff url(//bits.wikimedia.org/skins/common/images/Checker-16x16.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
/* But not on articles, user pages, portals or with opt-out. */&lt;br /&gt;
.ns-0 .gallerybox .thumb img,&lt;br /&gt;
.ns-2 .gallerybox .thumb img,&lt;br /&gt;
.ns-100 .gallerybox .thumb img,&lt;br /&gt;
.nochecker .gallerybox .thumb img {&lt;br /&gt;
    background: #fff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Category tree styling. Works in conjuction with [[MediaWiki:Categorytree-expand-bullet]],&lt;br /&gt;
   [[MediaWiki:Categorytree-collapse-bullet]] and [[MediaWiki:Categorytree-empty-bullet]]. */&lt;br /&gt;
#mw-subcategories ul {&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin-left: 0.25em;&lt;br /&gt;
}&lt;br /&gt;
.CategoryTreeChildren {&lt;br /&gt;
    margin-left: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Prevent floating boxes from overlapping any category listings,&lt;br /&gt;
   file histories, edit previews, and edit [Show changes] views. */&lt;br /&gt;
#mw-subcategories, #mw-pages, #mw-category-media,&lt;br /&gt;
#filehistory, #wikiPreview, #wikiDiff {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Disable the automatic text-size adjust of WebKit on iPhones etc.&lt;br /&gt;
   It scales some text, and not the other. Use none, or fixed percentage instead.&lt;br /&gt;
   Use media selector, because defining a value, overwrites platform defaults. */&lt;br /&gt;
@media only screen and (max-device-width: 480px) {&lt;br /&gt;
    body {&lt;br /&gt;
        -webkit-text-size-adjust: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Fix so &amp;lt;syntaxhighlight&amp;gt; tags and .css and .js pages get normal text size.&lt;br /&gt;
   [[Bugzilla:26204]]. See also [[Wikipedia:Typography#The monospace &#039;bug&#039;]] */&lt;br /&gt;
div.mw-geshi div,&lt;br /&gt;
div.mw-geshi div pre,&lt;br /&gt;
span.mw-geshi,&lt;br /&gt;
pre.source-css,&lt;br /&gt;
pre.source-javascript,&lt;br /&gt;
pre.source-lua {&lt;br /&gt;
    font-family: monospace, Courier !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For announcements */&lt;br /&gt;
#bodyContent .letterhead {&lt;br /&gt;
    background-image:url(&#039;//upload.wikimedia.org/wikipedia/commons/e/e0/Tan-page-corner.png&#039;);&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    padding: 2em;&lt;br /&gt;
    background-color: #faf9f2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tree style lists */&lt;br /&gt;
.treeview ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.treeview li {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    list-style-type: none;&lt;br /&gt;
    list-style-image: none;&lt;br /&gt;
    zoom: 1; /* BE KIND TO IE6 */;&lt;br /&gt;
}&lt;br /&gt;
.treeview li li {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/f/f2/Treeview-grey-line.png&amp;quot;) no-repeat 0 -2981px;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-left: 20px;&lt;br /&gt;
    text-indent: 0.3em;&lt;br /&gt;
}&lt;br /&gt;
.treeview li li.lastline {&lt;br /&gt;
    background-position: 0 -5971px&lt;br /&gt;
}&lt;br /&gt;
.treeview li.emptyline &amp;gt; ul {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-left: -1px;&lt;br /&gt;
}&lt;br /&gt;
.treeview li.emptyline &amp;gt; ul &amp;gt; li:first-child {&lt;br /&gt;
    background-position: 0 9px&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide charinsert base for those not using the gadget */&lt;br /&gt;
#editpage-specialchars {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* work-around for [[bugzilla:23965]] (Kaltura advertisement) */&lt;br /&gt;
.k-player .k-attribution {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Unicode font families, for [[Template:Unicode]] */&lt;br /&gt;
.UnicodeAnimal { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeAstro { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Brampton, &amp;quot;Apple Color Emoji&amp;quot;, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeChem { font-family: Quivira, Symbola,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeCommunication { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, Quivira, Brampton, FreeSerif,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeDentistry { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, FreeMono, Symbola,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEducation { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEmoticon { font-family: &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, Brampton, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEnclosed { font-family: Quivira, Brampton, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSans, FreeSerif, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEvent { font-family: &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeFood { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeGame { font-family: Symbola, Quivira, FreeSerif, Brampton, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMap { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMedicine { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, FreeSerif,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMoney { font-family: Symbola, Quivira, FreeSerif, FreeSans, FreeMono, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMusic { font-family: Symbola, FreeSerif, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePerson { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePicto { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePlant { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePoliticsReligion { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Quivira, Brampton, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeRegion { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeSport { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeTechnology { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeMono, FreeSerif, Quivira, FreeSans, Brampton, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeTime { font-family: Quivira, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, &amp;quot;Segoe UI Symbol&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeUI { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, FreeSerif, FreeMono, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeWarning { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, FreeSerif, &amp;quot;Arial Unicode MS&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeWeather  { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
&lt;br /&gt;
/* Dynamic menus */&lt;br /&gt;
.dmenu { width: 180px }&lt;br /&gt;
 &lt;br /&gt;
.dmenu, .dmenu ul { /* all lists */&lt;br /&gt;
padding: 0;&lt;br /&gt;
margin: 0;&lt;br /&gt;
list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.dmenu .selflink { font-weight: normal; }&lt;br /&gt;
 &lt;br /&gt;
.dmenu li { /* all list items */&lt;br /&gt;
position: relative;&lt;br /&gt;
float: left;&lt;br /&gt;
width: 172px;&lt;br /&gt;
padding: 4px;&lt;br /&gt;
z-index: 100;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li,&lt;br /&gt;
.dmenu li.even a,&lt;br /&gt;
.dmenu li.odd a,&lt;br /&gt;
.dmenu li li,&lt;br /&gt;
.dmenu li li a,&lt;br /&gt;
.dmenu li li li,&lt;br /&gt;
.dmenu li li li a {&lt;br /&gt;
color : black;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li li { margin: 0; }&lt;br /&gt;
 &lt;br /&gt;
.dmenu li ul { /* second-level lists */&lt;br /&gt;
position: absolute;&lt;br /&gt;
left: -999em;&lt;br /&gt;
z-index: 101;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li ul ul { /* third-and-above-level lists */&lt;br /&gt;
position: absolute;&lt;br /&gt;
left: -999em;&lt;br /&gt;
margin: 0 0 0 0;&lt;br /&gt;
z-index: 102;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li.odd .submenu {&lt;br /&gt;
width: 12px;&lt;br /&gt;
height: 15px;&lt;br /&gt;
float: right;&lt;br /&gt;
background: url(/common/images/rarr-lt.png) 0 3px no-repeat;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.even .submenu {&lt;br /&gt;
width: 12px;&lt;br /&gt;
height: 15px;&lt;br /&gt;
float: right;&lt;br /&gt;
background: url(/common/images/rarr-dk.png) 0 3px no-repeat;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.odd {&lt;br /&gt;
        background: #E9EDF4;&lt;br /&gt;
        border: 2px solid #E9EDF4;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.even {&lt;br /&gt;
        background: #D0D8E8;&lt;br /&gt;
        border: 2px solid #D0D8E8;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover, .dmenu li.sfhover {&lt;br /&gt;
        border: 2px solid #385D8A;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover ul ul,&lt;br /&gt;
.dmenu li:hover ul ul ul,&lt;br /&gt;
.dmenu li.sfhover ul ul,&lt;br /&gt;
.dmenu li.sfhover ul ul ul {&lt;br /&gt;
left: -999em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover ul,&lt;br /&gt;
.dmenu li li:hover ul,&lt;br /&gt;
.dmenu li li li:hover ul,&lt;br /&gt;
.dmenu li.sfhover ul,&lt;br /&gt;
.dmenu li li.sfhover ul,&lt;br /&gt;
.dmenu li li li.sfhover ul { /* lists nested under hovered list items */&lt;br /&gt;
left: 182px;&lt;br /&gt;
top: -3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
.dtree {&lt;br /&gt;
        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;&lt;br /&gt;
        font-size: 11px;&lt;br /&gt;
        color: #666;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.dtree img {&lt;br /&gt;
        border: 0px;&lt;br /&gt;
        vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
.dtree a {&lt;br /&gt;
        color: #333;&lt;br /&gt;
        text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.node, .dtree a.nodeSel {&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
        padding: 1px 2px 1px 2px;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.node:hover, .dtree a.nodeSel:hover {&lt;br /&gt;
        color: #333;&lt;br /&gt;
        text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.nodeSel {&lt;br /&gt;
        background-color: #c0d2ec;&lt;br /&gt;
}&lt;br /&gt;
.dtree .clip {&lt;br /&gt;
        overflow: hidden;&lt;br /&gt;
        padding-bottom: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
* MenuSidebar&lt;br /&gt;
*/&lt;br /&gt;
/* this has to be overridden for every menu */&lt;br /&gt;
#p-Menu,&lt;br /&gt;
#p-Menu2,&lt;br /&gt;
#p-Menu3 {&lt;br /&gt;
 overflow: visible; &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this has to be overridden for every menu */&lt;br /&gt;
#p-Menu div,&lt;br /&gt;
#p-Menu2 div,&lt;br /&gt;
#p-Menu3 div {&lt;br /&gt;
 margin: 0;&lt;br /&gt;
 padding: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this is an example to make the list of the second entry bigger e.g. when ther is a longer text in a list item&lt;br /&gt;
#p-Menu ul li.item2 ul {&lt;br /&gt;
 width: 16em;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
 &lt;br /&gt;
/* this an example to change the background color of every second list item&lt;br /&gt;
li.even {&lt;br /&gt;
 background-color: #eeeeee;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul { /* remove bullets and list indents */&lt;br /&gt;
 list-style: none;&lt;br /&gt;
 margin: 0;&lt;br /&gt;
 padding: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this div is only for better handling and navigation  ... could also be done in inner ul*/&lt;br /&gt;
.menuSidebar ul div { &lt;br /&gt;
 position: absolute;&lt;br /&gt;
 top: -6px;&lt;br /&gt;
 left: 100%; /* to position them to the right of their containing block */&lt;br /&gt;
 width: 100%; /* width is based on the containing block */&lt;br /&gt;
 z-index: 100; /* show ul on top */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul ul { &lt;br /&gt;
 background-color: white;&lt;br /&gt;
 border: 1px solid #aaaaaa;&lt;br /&gt;
 margin-top: 5px; /* make navigation easier*/&lt;br /&gt;
 margin-bottom: 5px; /* make navigation easier*/&lt;br /&gt;
 z-index: 101; /* show on top; Needed for IE 7 */&lt;br /&gt;
 width: 12em; /* width of inner menu, Needed for IE 7 */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li {&lt;br /&gt;
 position: relative; /* make li a container for inner elements */&lt;br /&gt;
 margin: 1px;&lt;br /&gt;
 z-index: 102; /* show on top; Needed for IE 7 */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* style, color and size links and headings to suit */&lt;br /&gt;
.menuSidebar a {&lt;br /&gt;
 font-weight: bold;&lt;br /&gt;
 display: block;&lt;br /&gt;
 border-width: 0px 0px 1px 0px;&lt;br /&gt;
 border-style: solid;&lt;br /&gt;
 border-color: #aaaaaa;&lt;br /&gt;
 margin: 0px;&lt;br /&gt;
 padding: 1px;&lt;br /&gt;
 padding-left: 5px;&lt;br /&gt;
 color: #000000;&lt;br /&gt;
 text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* move the &amp;amp;gt; to the right */&lt;br /&gt;
.menuSidebar a em {&lt;br /&gt;
 position: absolute;&lt;br /&gt;
 right: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li:hover, /* Needed for IE 7 */&lt;br /&gt;
.menuSidebar a:hover {&lt;br /&gt;
 background: #ccccff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li.separator a:hover {&lt;br /&gt;
 background: white;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Needed for IE 7 */&lt;br /&gt;
.menuSidebar li.separator a,&lt;br /&gt;
.menuSidebar li.separator {&lt;br /&gt;
 line-height: 0px;&lt;br /&gt;
 height: 0px;&lt;br /&gt;
 font-size: 0px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul li:last-Child a { &lt;br /&gt;
 border-width: 0px 0px 0px 0px; // remove the last bottom line &lt;br /&gt;
 padding-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* hides the first level */&lt;br /&gt;
.menuSidebar ul li div { display: none; }&lt;br /&gt;
 &lt;br /&gt;
/* shows the first level and hide the second */&lt;br /&gt;
.menuSidebar ul li:hover div, &lt;br /&gt;
.menuSidebar ul li div:hover { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li:hover ul li div { display: none; } /* hide the next level */&lt;br /&gt;
 &lt;br /&gt;
/* second level*/&lt;br /&gt;
.menuSidebar ul li ul li:hover div,&lt;br /&gt;
.menuSidebar ul li ul li div:hover  { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li ul li:hover ul li div { display: none; }  /* hide the next level */&lt;br /&gt;
 &lt;br /&gt;
/* third level */&lt;br /&gt;
.menuSidebar ul li ul li ul li:hover div,&lt;br /&gt;
.menuSidebar ul li ul li ul li div:hover   { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li ul li ul li:hover ul li div { display: none; }  /* hide the next level */&lt;br /&gt;
&lt;br /&gt;
/* General purpose &amp;quot;pretty (data) tables&amp;quot; */&lt;br /&gt;
table.datatable {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable th,&lt;br /&gt;
table.datatable td {&lt;br /&gt;
	padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable th {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	background-color: #999999;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable tr {&lt;br /&gt;
	background-color: #cccccc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable tr:hover {&lt;br /&gt;
	background-color: #ffffcc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* SideBox styling */&lt;br /&gt;
div.sideBox {&lt;br /&gt;
	position: relative;&lt;br /&gt;
	float: right;&lt;br /&gt;
	background: white;&lt;br /&gt;
	margin-left: 1em;&lt;br /&gt;
	border: 1px solid gray;&lt;br /&gt;
	padding: 0.3em;&lt;br /&gt;
	width: 200px;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	clear: right;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl {&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	margin: 0 0 0.3em 0;&lt;br /&gt;
	font-size: 96%;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl dt {&lt;br /&gt;
	background: none;&lt;br /&gt;
	margin: 0.4em 0 0 0;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl dd {&lt;br /&gt;
	margin: 0.1em 0 0 1.1em;&lt;br /&gt;
	background-color: #f3f3f3;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=MediaWiki:Common.css&amp;diff=86717</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=MediaWiki:Common.css&amp;diff=86717"/>
		<updated>2015-02-20T10:04:24Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*/&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; */&lt;br /&gt;
&lt;br /&gt;
/* Edit window toolbar */&lt;br /&gt;
#toolbar {&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Highlight clicked reference in blue to help navigation */&lt;br /&gt;
ol.references li:target,&lt;br /&gt;
sup.reference:target,&lt;br /&gt;
span.citation:target {&lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure refs in table headers and the like aren&#039;t bold or italic */&lt;br /&gt;
sup.reference {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow hidden ref errors to be shown by user CSS */&lt;br /&gt;
span.brokenref {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for citations (CSS3). Breaks long urls, etc., rather than overflowing box */&lt;br /&gt;
.citation {&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For linked citation numbers and document IDs, where&lt;br /&gt;
   the number need not be shown on a screen or a handheld,&lt;br /&gt;
   but should be included in the printed version */&lt;br /&gt;
@media screen, handheld {&lt;br /&gt;
    .citation *.printonly {&lt;br /&gt;
        display: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* wikitable/prettytable class for skinning normal tables */&lt;br /&gt;
table.wikitable,&lt;br /&gt;
table.prettytable {&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th, .wikitable td,&lt;br /&gt;
.prettytable th, .prettytable td {&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th,&lt;br /&gt;
.prettytable th {&lt;br /&gt;
    background: lightgrey;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.wikitable caption,&lt;br /&gt;
.prettytable caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for [[Template:Flowlist]] that Lets lists flow around floating objecs */&lt;br /&gt;
.flowlist ul {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    margin-left: 0em;&lt;br /&gt;
    padding-left: 1.6em;&lt;br /&gt;
}&lt;br /&gt;
.flowlist ol {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    margin-left: 0em;&lt;br /&gt;
    padding-left: 3.2em;&lt;br /&gt;
}&lt;br /&gt;
.flowlist dl {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Unbulleted lists */&lt;br /&gt;
.plainlist ul {&lt;br /&gt;
    line-height: inherit;&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.plainlist ul li {&lt;br /&gt;
    margin-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Default style for navigation boxes */&lt;br /&gt;
.navbox {                     /* Navbox container style */&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: auto;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    padding: 1px;&lt;br /&gt;
}&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
    padding: 0.25em 1em;      /* Title, group and above/below styles */&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
th.navbox-group {             /* Group style */&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
    background: #fdfdfd;      /* Background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-list {&lt;br /&gt;
    line-height: 1.8em;&lt;br /&gt;
    border-color: #fdfdfd;    /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox th,&lt;br /&gt;
.navbox-title {&lt;br /&gt;
    background: #ccccff;      /* Level 1 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
th.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
    background: #ddddff;      /* Level 2 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
    background: #e6e6ff;      /* Level 3 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-even {&lt;br /&gt;
    background: #f7f7f7;      /* Even row striping */&lt;br /&gt;
}&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
    background: transparent;  /* Odd row striping */&lt;br /&gt;
}&lt;br /&gt;
table.navbox + table.navbox {  /* Single pixel border between adjacent navboxes */&lt;br /&gt;
    margin-top: -1px;          /* (doesn&#039;t work for IE6, but that&#039;s okay)       */&lt;br /&gt;
}&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
    padding: 0.125em 0;       /* Adjust hlist padding in navboxes */&lt;br /&gt;
}&lt;br /&gt;
ol + table.navbox,&lt;br /&gt;
ul + table.navbox {&lt;br /&gt;
    margin-top: 0.5em;        /* Prevent lists from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Default styling for Navbar template */&lt;br /&gt;
.navbar {&lt;br /&gt;
    display: inline;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
}&lt;br /&gt;
.navbar ul {&lt;br /&gt;
    display: inline;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.navbar li {&lt;br /&gt;
    word-spacing: -0.125em;&lt;br /&gt;
}&lt;br /&gt;
.navbar.mini li span {&lt;br /&gt;
  font-variant: small-caps;&lt;br /&gt;
}&lt;br /&gt;
/* Navbar styling when nested in infobox and navbox */&lt;br /&gt;
.infobox .navbar {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
    display: block;&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-right: 0.5em;&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* &#039;show&#039;/&#039;hide&#039; buttons created dynamically by the CollapsibleTables javascript&lt;br /&gt;
   in [[MediaWiki:Common.js]] are styled here so they can be customised. */&lt;br /&gt;
.collapseButton {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-left: 0.5em;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
    width: auto;&lt;br /&gt;
}&lt;br /&gt;
/* In navboxes, the show/hide button balances the v·d·e links&lt;br /&gt;
   from [[Template:Navbar]], so they need to be the same width. */&lt;br /&gt;
.navbox .collapseButton {&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Styling for JQuery makeCollapsible, matching that of collapseButton */&lt;br /&gt;
.mw-collapsible-toggle {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
.navbox .mw-collapsible-toggle {&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Infobox template style */&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    color: black;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    clear: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
}&lt;br /&gt;
.infobox caption {	&lt;br /&gt;
    font-size: larger;&lt;br /&gt;
}&lt;br /&gt;
.infobox td,&lt;br /&gt;
.infobox th {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered td,&lt;br /&gt;
.infobox.bordered th {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered .borderless td,&lt;br /&gt;
.infobox.bordered .borderless th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.sisterproject {&lt;br /&gt;
    width: 20em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.infobox.standard-talk.bordered td,&lt;br /&gt;
.infobox.standard-talk.bordered th {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* styles for bordered infobox with merged rows */&lt;br /&gt;
.infobox.bordered .mergedtoprow td,&lt;br /&gt;
.infobox.bordered .mergedtoprow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.bordered .mergedrow td,&lt;br /&gt;
.infobox.bordered .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Styles for geography infoboxes, eg countries,&lt;br /&gt;
   country subdivisions, cities, etc.            */&lt;br /&gt;
.infobox.geography {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    line-height: 1.2em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography  td,&lt;br /&gt;
.infobox.geography  th {&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
.infobox.geography .mergedtoprow td,&lt;br /&gt;
.infobox.geography .mergedtoprow th {&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .mergedrow td,&lt;br /&gt;
.infobox.geography .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .mergedbottomrow td,&lt;br /&gt;
.infobox.geography .mergedbottomrow th {&lt;br /&gt;
    border-top: 0;&lt;br /&gt;
    border-bottom: 1px solid #aaa;&lt;br /&gt;
    padding: 0 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .maptable td,&lt;br /&gt;
.infobox.geography .maptable th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] */&lt;br /&gt;
.redirect-in-category, .allpagesredirect {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Normal font styling for table row headers with scope=&amp;quot;row&amp;quot; tag */&lt;br /&gt;
.wikitable.plainrowheaders th[scope=row] {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Lists in data cells are always left-aligned */&lt;br /&gt;
.wikitable td ul,&lt;br /&gt;
.wikitable td ol,&lt;br /&gt;
.wikitable td dl {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon for all PDF files&lt;br /&gt;
   in browsers that support these CSS selectors, like Mozilla and Opera */&lt;br /&gt;
div#content a[href$=&amp;quot;.pdf&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.pdf?&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
div#content a[href$=&amp;quot;.PDF&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.PDF?&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.PDF#&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href$=&amp;quot;.pdf&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.pdf?&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href$=&amp;quot;.PDF&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.PDF?&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.PDF#&amp;quot;].external {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif&amp;quot;) no-repeat right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-right: 18px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon anywhere the PDFlink class&lt;br /&gt;
   is used (notably Template:PDFlink). This works in IE, unlike the above. */&lt;br /&gt;
div#content span.PDFlink a,&lt;br /&gt;
div#mw_content span.PDFlink a {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif&amp;quot;) no-repeat right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-right: 18px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content in columns with CSS instead of tables [[Template:Columns]] */&lt;br /&gt;
div.columns-2 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 50%;&lt;br /&gt;
    min-width: 300px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-3 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 33.3%;&lt;br /&gt;
    min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-4 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 25%;&lt;br /&gt;
    min-width: 150px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-5 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 20%;&lt;br /&gt;
    min-width: 120px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Messagebox templates */&lt;br /&gt;
.messagebox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 0 auto 1em auto;&lt;br /&gt;
    padding: .2em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.merge {&lt;br /&gt;
    border: 1px solid #c0b8cc;&lt;br /&gt;
    background-color: #f0e5ff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.cleanup {&lt;br /&gt;
    border: 1px solid #9f9fff;&lt;br /&gt;
    background-color: #efefff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    margin: 4px auto;&lt;br /&gt;
}&lt;br /&gt;
/* For old WikiProject banners inside banner shells. */&lt;br /&gt;
.mbox-inside .standard-talk,&lt;br /&gt;
.messagebox.nested-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small-talk {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
    background: #F8EABA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {   /* The message body cell(s) */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 0.25em 0.9em;     /* 0.9em left/right */&lt;br /&gt;
    width: 100%;               /* Make all mboxes the same width regardless of text length */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                /* The left image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0 2px 0.9em;  /* 0.9em left, 0px right */&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {           /* The right image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0.9em 2px 0;  /* 0px left, 0.9em right */&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
td.mbox-empty-cell {           /* An empty narrow cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    width: 1px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Article message box styles */&lt;br /&gt;
table.ambox {&lt;br /&gt;
    margin: 0px 10%;                  /* 10% = Will not overlap with other elements */&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #1e90ff;  /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
table.ambox + table.ambox {      /* Single border between stacked boxes. */&lt;br /&gt;
    margin-top: -1px;&lt;br /&gt;
}&lt;br /&gt;
.ambox th.mbox-text,&lt;br /&gt;
.ambox td.mbox-text {            /* The message body cell(s) */&lt;br /&gt;
    padding: 0.25em 0.5em;       /* 0.5em left/right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-image {           /* The left image cell */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-imageright {      /* The right image cell */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0.5em 2px 0;    /* 0px left, 0.5em right */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.ambox-notice {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-speedy {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;                   /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-delete {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-content {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-style {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-move {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-protection {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Image message box styles */&lt;br /&gt;
table.imbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
.imbox .mbox-text .imbox {  /* For imboxes inside imbox-text cells. */&lt;br /&gt;
    margin: 0 -0.5em;       /* 0.9 - 0.5 = 0.4em left/right.        */&lt;br /&gt;
    display: block;         /* Fix for webkit to force 100% width.  */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .imbox {       /* For imboxes inside other templates.  */&lt;br /&gt;
    margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.imbox-notice {&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-speedy {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-delete {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-content {&lt;br /&gt;
    border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-style {&lt;br /&gt;
    border: 3px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-move {&lt;br /&gt;
    border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-protection {&lt;br /&gt;
    border: 3px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-license {&lt;br /&gt;
    border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
    background: #f7f8ff;          /* Light gray */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-featured {&lt;br /&gt;
    border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Category message box styles */&lt;br /&gt;
table.cmbox {&lt;br /&gt;
    margin: 3px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #DFE8FF;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.cmbox-notice {&lt;br /&gt;
    background: #D8E8FF;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-speedy {&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
    border: 4px solid #b22222;    /* Red */&lt;br /&gt;
    background: #FFDBDB;          /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-delete {&lt;br /&gt;
    background: #FFDBDB;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-content {&lt;br /&gt;
    background: #FFE7CE;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-style {&lt;br /&gt;
    background: #FFF9DB;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-move {&lt;br /&gt;
    background: #E4D8FF;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-protection {&lt;br /&gt;
    background: #EFEFE1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Other pages message box styles */&lt;br /&gt;
table.ombox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa;       /* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
    border: 1px solid #aaa;       /* Gray */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
    border: 1px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
    border: 1px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
    border: 1px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
    border: 2px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Talk page message box styles */&lt;br /&gt;
table.tmbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
    background: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The &amp;quot;mediawiki&amp;quot; class ensures that */&lt;br /&gt;
    margin: 2px 0;               /* this declaration overrides other styles (including mbox-small above)   */&lt;br /&gt;
    width: 100%;                 /* For Safari and Opera */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .tmbox.mbox-small { /* &amp;quot;small&amp;quot; tmboxes should not be small when  */&lt;br /&gt;
    line-height: 1.5em;          /* also &amp;quot;nested&amp;quot;, so reset styles that are   */&lt;br /&gt;
    font-size: 100%;             /* set in &amp;quot;mbox-small&amp;quot; above.                */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.tmbox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-content {&lt;br /&gt;
    border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-style {&lt;br /&gt;
    border: 2px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-move {&lt;br /&gt;
    border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-protection,&lt;br /&gt;
table.tmbox-notice {&lt;br /&gt;
    border: 1px solid #c0c090;    /* Gray-brown */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Disambig and set index box styles */&lt;br /&gt;
table.dmbox {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.9em 1em;&lt;br /&gt;
    border-top: 1px solid #ccc;&lt;br /&gt;
    border-bottom: 1px solid #ccc;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Footer and header message box styles */&lt;br /&gt;
table.fmbox {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #f9f9f9;     /* Default &amp;quot;system&amp;quot; gray */&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-system {&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-warning {&lt;br /&gt;
    border: 1px solid #bb7070;  /* Dark pink */&lt;br /&gt;
    background: #ffdbdb;        /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-editnotice {&lt;br /&gt;
    background: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Div based &amp;quot;warning&amp;quot; style fmbox messages. */&lt;br /&gt;
div.mw-warning-with-logexcerpt,&lt;br /&gt;
div.mw-lag-warn-high,&lt;br /&gt;
div.mw-cascadeprotectedwarning {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #bb7070;&lt;br /&gt;
    background: #ffdbdb;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
/* Div based &amp;quot;system&amp;quot; style fmbox messages. Used in &lt;br /&gt;
   [[MediaWiki:Noarticletext]] and [[MediaWiki:Readonly lag]]. */&lt;br /&gt;
div.mw-lag-warn-normal,&lt;br /&gt;
div.noarticletext,&lt;br /&gt;
div.fmbox-system {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* These mbox-small classes must be placed after all other&lt;br /&gt;
   ambox/tmbox/ombox etc classes. &amp;quot;body.mediawiki&amp;quot; is so&lt;br /&gt;
   they override &amp;quot;table.ambox + table.ambox&amp;quot; above. */&lt;br /&gt;
body.mediawiki table.mbox-small {   /* For the &amp;quot;small=yes&amp;quot; option. */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    clear: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 4px 0 4px 1em;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
body.mediawiki table.mbox-small-left {   /* For the &amp;quot;small=left&amp;quot; option. */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 4px 1em 4px 0;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Style for compact ambox */&lt;br /&gt;
/* Hide the images */&lt;br /&gt;
.compact-ambox table .mbox-image,&lt;br /&gt;
.compact-ambox table .mbox-imageright,&lt;br /&gt;
.compact-ambox table .mbox-empty-cell {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
/* Remove borders, backgrounds, padding, etc. */&lt;br /&gt;
.compact-ambox table.ambox {&lt;br /&gt;
    border: none;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
    margin: 0 0 0 1.6em !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
body.mediawiki .compact-ambox table.mbox-small-left {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
/* Style the text cell as a list item and remove its padding */&lt;br /&gt;
.compact-ambox table .mbox-text {&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
    margin: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
.compact-ambox table .mbox-text-span {&lt;br /&gt;
    display: list-item;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style-type: square;&lt;br /&gt;
    list-style-image: url(//bits.wikimedia.org/skins/common/images/bullet.gif);&lt;br /&gt;
}&lt;br /&gt;
.skin-vector .compact-ambox table .mbox-text-span {&lt;br /&gt;
    list-style-type: circle;&lt;br /&gt;
    list-style-image: url(//bits.wikimedia.org/skins/vector/images/bullet-icon.png)&lt;br /&gt;
}&lt;br /&gt;
/* Allow for hiding text in compact form */&lt;br /&gt;
.compact-ambox .hide-when-compact {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Remove default styles for [[MediaWiki:Noarticletext]]. */&lt;br /&gt;
div.noarticletext {&lt;br /&gt;
    border: none;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
    display: inline ! important;&lt;br /&gt;
    color: #f00; &lt;br /&gt;
    background-color: #0f0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Bold save button */&lt;br /&gt;
#wpSave {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Standard Navigationsleisten, aka box hiding thingy&lt;br /&gt;
   from .de.  Documentation at [[Wikipedia:NavFrame]]. */&lt;br /&gt;
div.NavFrame {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame + div.NavFrame {&lt;br /&gt;
    border-top-style: none;&lt;br /&gt;
    border-top-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavPic {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavHead {&lt;br /&gt;
    height: 1.6em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #ccf;&lt;br /&gt;
    position: relative;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame p,&lt;br /&gt;
div.NavFrame div.NavContent,&lt;br /&gt;
div.NavFrame div.NavContent p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavEnd {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    line-height: 1px;&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
a.NavToggle {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    right: 3px;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Coloured watchlist numbers */&lt;br /&gt;
.mw-plusminus-pos { color: #006400; } /* dark green */&lt;br /&gt;
.mw-plusminus-neg { color: #8B0000; } /* dark red */&lt;br /&gt;
&lt;br /&gt;
.rellink,&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
}&lt;br /&gt;
.rellink i,&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Hatnotes and disambiguation notices */&lt;br /&gt;
.rellink,&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-left: 1.6em;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
.rellink i,&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for horizontal UL lists */&lt;br /&gt;
.horizontal ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li { &lt;br /&gt;
    padding: 0 0.6em 0 0.4em;&lt;br /&gt;
    display: inline;&lt;br /&gt;
    border-right: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li:last-child {&lt;br /&gt;
    border-right: none;&lt;br /&gt;
    padding-right: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Allow transcluded pages to display in lists rather than a table.&lt;br /&gt;
   Compatible in Firefox; incompatible in IE6. */&lt;br /&gt;
.listify td    { display: list-item; }&lt;br /&gt;
.listify tr    { display: block; }&lt;br /&gt;
.listify table { display: block; }&lt;br /&gt;
&lt;br /&gt;
/* When &amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt; is used on the table of contents,&lt;br /&gt;
   the ToC will display without numbers */&lt;br /&gt;
.nonumtoc .tocnumber { display: none; }&lt;br /&gt;
.nonumtoc #toc ul,&lt;br /&gt;
.nonumtoc .toc ul {&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin: .3em 0 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nonumtoc #toc ul ul,&lt;br /&gt;
.nonumtoc .toc ul ul {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 0 2em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Allow limiting of which header levels are shown in a TOC;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for instance, will limit to&lt;br /&gt;
   showing ==headings== and ===headings=== but no further&lt;br /&gt;
   (as long as there are no =headings= on the page, which&lt;br /&gt;
   there shouldn&#039;t be according to the MoS). */&lt;br /&gt;
.toclimit-2 .toclevel-1 ul,&lt;br /&gt;
.toclimit-3 .toclevel-2 ul,&lt;br /&gt;
.toclimit-4 .toclevel-3 ul,&lt;br /&gt;
.toclimit-5 .toclevel-4 ul,&lt;br /&gt;
.toclimit-6 .toclevel-5 ul,&lt;br /&gt;
.toclimit-7 .toclevel-6 ul {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.toclevel-3 {&lt;br /&gt;
padding-left:25px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevent line breaks in silly places:&lt;br /&gt;
   1) Where desired&lt;br /&gt;
   2) Links when we don&#039;t want them to&lt;br /&gt;
   3) Bold &amp;quot;links&amp;quot; to the page itself&lt;br /&gt;
   4) Ref tags with group names &amp;lt;ref group=&amp;quot;Note&amp;quot;&amp;gt; --&amp;gt; &amp;quot;[Note 1]&amp;quot; */&lt;br /&gt;
.nowrap,&lt;br /&gt;
.nowraplinks a,&lt;br /&gt;
.nowraplinks .selflink,&lt;br /&gt;
sup.reference a {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
/* But allow wrapping where desired: */&lt;br /&gt;
.wrap,&lt;br /&gt;
.wraplinks a {&lt;br /&gt;
    white-space: normal;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #ecfcf4;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Inline divs in ImageMaps (code borrowed from de.wiki) */&lt;br /&gt;
.imagemap-inline div {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Increase the height of the image upload box */&lt;br /&gt;
#wpUploadDescription {&lt;br /&gt;
    height: 13em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Minimum thumb width */&lt;br /&gt;
.thumbinner {&lt;br /&gt;
    min-width: 100px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Makes the background of a framed image white instead of gray.&lt;br /&gt;
   Only visible with transparent images. */&lt;br /&gt;
div.thumb img.thumbimage {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* The backgrounds for galleries. */&lt;br /&gt;
div#content .gallerybox div.thumb {&lt;br /&gt;
    /* Light gray padding */&lt;br /&gt;
    background-color: #F9F9F9;&lt;br /&gt;
}&lt;br /&gt;
/* Put a chequered background behind images, only visible if they have transparency.&lt;br /&gt;
   &#039;.filehistory a img&#039; and &#039;#file img:hover&#039; are handled by MediaWiki core (as of 1.19) */&lt;br /&gt;
.gallerybox .thumb img {&lt;br /&gt;
    background: #fff url(//bits.wikimedia.org/skins/common/images/Checker-16x16.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
/* But not on articles, user pages, portals or with opt-out. */&lt;br /&gt;
.ns-0 .gallerybox .thumb img,&lt;br /&gt;
.ns-2 .gallerybox .thumb img,&lt;br /&gt;
.ns-100 .gallerybox .thumb img,&lt;br /&gt;
.nochecker .gallerybox .thumb img {&lt;br /&gt;
    background: #fff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Category tree styling. Works in conjuction with [[MediaWiki:Categorytree-expand-bullet]],&lt;br /&gt;
   [[MediaWiki:Categorytree-collapse-bullet]] and [[MediaWiki:Categorytree-empty-bullet]]. */&lt;br /&gt;
#mw-subcategories ul {&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin-left: 0.25em;&lt;br /&gt;
}&lt;br /&gt;
.CategoryTreeChildren {&lt;br /&gt;
    margin-left: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Prevent floating boxes from overlapping any category listings,&lt;br /&gt;
   file histories, edit previews, and edit [Show changes] views. */&lt;br /&gt;
#mw-subcategories, #mw-pages, #mw-category-media,&lt;br /&gt;
#filehistory, #wikiPreview, #wikiDiff {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Disable the automatic text-size adjust of WebKit on iPhones etc.&lt;br /&gt;
   It scales some text, and not the other. Use none, or fixed percentage instead.&lt;br /&gt;
   Use media selector, because defining a value, overwrites platform defaults. */&lt;br /&gt;
@media only screen and (max-device-width: 480px) {&lt;br /&gt;
    body {&lt;br /&gt;
        -webkit-text-size-adjust: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Fix so &amp;lt;syntaxhighlight&amp;gt; tags and .css and .js pages get normal text size.&lt;br /&gt;
   [[Bugzilla:26204]]. See also [[Wikipedia:Typography#The monospace &#039;bug&#039;]] */&lt;br /&gt;
div.mw-geshi div,&lt;br /&gt;
div.mw-geshi div pre,&lt;br /&gt;
span.mw-geshi,&lt;br /&gt;
pre.source-css,&lt;br /&gt;
pre.source-javascript,&lt;br /&gt;
pre.source-lua {&lt;br /&gt;
    font-family: monospace, Courier !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For announcements */&lt;br /&gt;
#bodyContent .letterhead {&lt;br /&gt;
    background-image:url(&#039;//upload.wikimedia.org/wikipedia/commons/e/e0/Tan-page-corner.png&#039;);&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    padding: 2em;&lt;br /&gt;
    background-color: #faf9f2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tree style lists */&lt;br /&gt;
.treeview ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.treeview li {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    list-style-type: none;&lt;br /&gt;
    list-style-image: none;&lt;br /&gt;
    zoom: 1; /* BE KIND TO IE6 */;&lt;br /&gt;
}&lt;br /&gt;
.treeview li li {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/f/f2/Treeview-grey-line.png&amp;quot;) no-repeat 0 -2981px;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-left: 20px;&lt;br /&gt;
    text-indent: 0.3em;&lt;br /&gt;
}&lt;br /&gt;
.treeview li li.lastline {&lt;br /&gt;
    background-position: 0 -5971px&lt;br /&gt;
}&lt;br /&gt;
.treeview li.emptyline &amp;gt; ul {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-left: -1px;&lt;br /&gt;
}&lt;br /&gt;
.treeview li.emptyline &amp;gt; ul &amp;gt; li:first-child {&lt;br /&gt;
    background-position: 0 9px&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide charinsert base for those not using the gadget */&lt;br /&gt;
#editpage-specialchars {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* work-around for [[bugzilla:23965]] (Kaltura advertisement) */&lt;br /&gt;
.k-player .k-attribution {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Unicode font families, for [[Template:Unicode]] */&lt;br /&gt;
.UnicodeAnimal { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeAstro { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Brampton, &amp;quot;Apple Color Emoji&amp;quot;, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeChem { font-family: Quivira, Symbola,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeCommunication { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, Quivira, Brampton, FreeSerif,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeDentistry { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, FreeMono, Symbola,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEducation { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEmoticon { font-family: &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, Brampton, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEnclosed { font-family: Quivira, Brampton, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSans, FreeSerif, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEvent { font-family: &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeFood { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeGame { font-family: Symbola, Quivira, FreeSerif, Brampton, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMap { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMedicine { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, FreeSerif,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMoney { font-family: Symbola, Quivira, FreeSerif, FreeSans, FreeMono, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMusic { font-family: Symbola, FreeSerif, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePerson { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePicto { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePlant { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePoliticsReligion { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Quivira, Brampton, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeRegion { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeSport { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeTechnology { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeMono, FreeSerif, Quivira, FreeSans, Brampton, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeTime { font-family: Quivira, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, &amp;quot;Segoe UI Symbol&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeUI { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, FreeSerif, FreeMono, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeWarning { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, FreeSerif, &amp;quot;Arial Unicode MS&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeWeather  { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
&lt;br /&gt;
/* Dynamic menus */&lt;br /&gt;
.dmenu { width: 180px }&lt;br /&gt;
 &lt;br /&gt;
.dmenu, .dmenu ul { /* all lists */&lt;br /&gt;
padding: 0;&lt;br /&gt;
margin: 0;&lt;br /&gt;
list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.dmenu .selflink { font-weight: normal; }&lt;br /&gt;
 &lt;br /&gt;
.dmenu li { /* all list items */&lt;br /&gt;
position: relative;&lt;br /&gt;
float: left;&lt;br /&gt;
width: 172px;&lt;br /&gt;
padding: 4px;&lt;br /&gt;
z-index: 100;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li,&lt;br /&gt;
.dmenu li.even a,&lt;br /&gt;
.dmenu li.odd a,&lt;br /&gt;
.dmenu li li,&lt;br /&gt;
.dmenu li li a,&lt;br /&gt;
.dmenu li li li,&lt;br /&gt;
.dmenu li li li a {&lt;br /&gt;
color : black;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li li { margin: 0; }&lt;br /&gt;
 &lt;br /&gt;
.dmenu li ul { /* second-level lists */&lt;br /&gt;
position: absolute;&lt;br /&gt;
left: -999em;&lt;br /&gt;
z-index: 101;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li ul ul { /* third-and-above-level lists */&lt;br /&gt;
position: absolute;&lt;br /&gt;
left: -999em;&lt;br /&gt;
margin: 0 0 0 0;&lt;br /&gt;
z-index: 102;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li.odd .submenu {&lt;br /&gt;
width: 12px;&lt;br /&gt;
height: 15px;&lt;br /&gt;
float: right;&lt;br /&gt;
background: url(/common/images/rarr-lt.png) 0 3px no-repeat;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.even .submenu {&lt;br /&gt;
width: 12px;&lt;br /&gt;
height: 15px;&lt;br /&gt;
float: right;&lt;br /&gt;
background: url(/common/images/rarr-dk.png) 0 3px no-repeat;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.odd {&lt;br /&gt;
        background: #E9EDF4;&lt;br /&gt;
        border: 2px solid #E9EDF4;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.even {&lt;br /&gt;
        background: #D0D8E8;&lt;br /&gt;
        border: 2px solid #D0D8E8;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover, .dmenu li.sfhover {&lt;br /&gt;
        border: 2px solid #385D8A;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover ul ul,&lt;br /&gt;
.dmenu li:hover ul ul ul,&lt;br /&gt;
.dmenu li.sfhover ul ul,&lt;br /&gt;
.dmenu li.sfhover ul ul ul {&lt;br /&gt;
left: -999em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover ul,&lt;br /&gt;
.dmenu li li:hover ul,&lt;br /&gt;
.dmenu li li li:hover ul,&lt;br /&gt;
.dmenu li.sfhover ul,&lt;br /&gt;
.dmenu li li.sfhover ul,&lt;br /&gt;
.dmenu li li li.sfhover ul { /* lists nested under hovered list items */&lt;br /&gt;
left: 182px;&lt;br /&gt;
top: -3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
.dtree {&lt;br /&gt;
        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;&lt;br /&gt;
        font-size: 11px;&lt;br /&gt;
        color: #666;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.dtree img {&lt;br /&gt;
        border: 0px;&lt;br /&gt;
        vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
.dtree a {&lt;br /&gt;
        color: #333;&lt;br /&gt;
        text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.node, .dtree a.nodeSel {&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
        padding: 1px 2px 1px 2px;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.node:hover, .dtree a.nodeSel:hover {&lt;br /&gt;
        color: #333;&lt;br /&gt;
        text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.nodeSel {&lt;br /&gt;
        background-color: #c0d2ec;&lt;br /&gt;
}&lt;br /&gt;
.dtree .clip {&lt;br /&gt;
        overflow: hidden;&lt;br /&gt;
        padding-bottom: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
* MenuSidebar&lt;br /&gt;
*/&lt;br /&gt;
/* this has to be overridden for every menu */&lt;br /&gt;
#p-Menu,&lt;br /&gt;
#p-Menu2,&lt;br /&gt;
#p-Menu3 {&lt;br /&gt;
 overflow: visible; &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this has to be overridden for every menu */&lt;br /&gt;
#p-Menu div,&lt;br /&gt;
#p-Menu2 div,&lt;br /&gt;
#p-Menu3 div {&lt;br /&gt;
 margin: 0;&lt;br /&gt;
 padding: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this is an example to make the list of the second entry bigger e.g. when ther is a longer text in a list item&lt;br /&gt;
#p-Menu ul li.item2 ul {&lt;br /&gt;
 width: 16em;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
 &lt;br /&gt;
/* this an example to change the background color of every second list item&lt;br /&gt;
li.even {&lt;br /&gt;
 background-color: #eeeeee;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul { /* remove bullets and list indents */&lt;br /&gt;
 list-style: none;&lt;br /&gt;
 margin: 0;&lt;br /&gt;
 padding: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this div is only for better handling and navigation  ... could also be done in inner ul*/&lt;br /&gt;
.menuSidebar ul div { &lt;br /&gt;
 position: absolute;&lt;br /&gt;
 top: -6px;&lt;br /&gt;
 left: 100%; /* to position them to the right of their containing block */&lt;br /&gt;
 width: 100%; /* width is based on the containing block */&lt;br /&gt;
 z-index: 100; /* show ul on top */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul ul { &lt;br /&gt;
 background-color: white;&lt;br /&gt;
 border: 1px solid #aaaaaa;&lt;br /&gt;
 margin-top: 5px; /* make navigation easier*/&lt;br /&gt;
 margin-bottom: 5px; /* make navigation easier*/&lt;br /&gt;
 z-index: 101; /* show on top; Needed for IE 7 */&lt;br /&gt;
 width: 12em; /* width of inner menu, Needed for IE 7 */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li {&lt;br /&gt;
 position: relative; /* make li a container for inner elements */&lt;br /&gt;
 margin: 1px;&lt;br /&gt;
 z-index: 102; /* show on top; Needed for IE 7 */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* style, color and size links and headings to suit */&lt;br /&gt;
.menuSidebar a {&lt;br /&gt;
 font-weight: bold;&lt;br /&gt;
 display: block;&lt;br /&gt;
 border-width: 0px 0px 1px 0px;&lt;br /&gt;
 border-style: solid;&lt;br /&gt;
 border-color: #aaaaaa;&lt;br /&gt;
 margin: 0px;&lt;br /&gt;
 padding: 1px;&lt;br /&gt;
 padding-left: 5px;&lt;br /&gt;
 color: #000000;&lt;br /&gt;
 text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* move the &amp;amp;gt; to the right */&lt;br /&gt;
.menuSidebar a em {&lt;br /&gt;
 position: absolute;&lt;br /&gt;
 right: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li:hover, /* Needed for IE 7 */&lt;br /&gt;
.menuSidebar a:hover {&lt;br /&gt;
 background: #ccccff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li.separator a:hover {&lt;br /&gt;
 background: white;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Needed for IE 7 */&lt;br /&gt;
.menuSidebar li.separator a,&lt;br /&gt;
.menuSidebar li.separator {&lt;br /&gt;
 line-height: 0px;&lt;br /&gt;
 height: 0px;&lt;br /&gt;
 font-size: 0px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul li:last-Child a { &lt;br /&gt;
 border-width: 0px 0px 0px 0px; // remove the last bottom line &lt;br /&gt;
 padding-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* hides the first level */&lt;br /&gt;
.menuSidebar ul li div { display: none; }&lt;br /&gt;
 &lt;br /&gt;
/* shows the first level and hide the second */&lt;br /&gt;
.menuSidebar ul li:hover div, &lt;br /&gt;
.menuSidebar ul li div:hover { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li:hover ul li div { display: none; } /* hide the next level */&lt;br /&gt;
 &lt;br /&gt;
/* second level*/&lt;br /&gt;
.menuSidebar ul li ul li:hover div,&lt;br /&gt;
.menuSidebar ul li ul li div:hover  { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li ul li:hover ul li div { display: none; }  /* hide the next level */&lt;br /&gt;
 &lt;br /&gt;
/* third level */&lt;br /&gt;
.menuSidebar ul li ul li ul li:hover div,&lt;br /&gt;
.menuSidebar ul li ul li ul li div:hover   { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li ul li ul li:hover ul li div { display: none; }  /* hide the next level */&lt;br /&gt;
&lt;br /&gt;
/* General purpose &amp;quot;pretty (data) tables&amp;quot; */&lt;br /&gt;
table.datatable {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable th,&lt;br /&gt;
table.datatable td {&lt;br /&gt;
	padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable th {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	background-color: #999999;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable tr {&lt;br /&gt;
	background-color: #cccccc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable tr:hover {&lt;br /&gt;
	background-color: #ffffcc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* SideBox styling */&lt;br /&gt;
div.sideBox {&lt;br /&gt;
	position: relative;&lt;br /&gt;
	float: right;&lt;br /&gt;
	background: white;&lt;br /&gt;
	margin-left: 1em;&lt;br /&gt;
	border: 1px solid gray;&lt;br /&gt;
	padding: 0.3em;&lt;br /&gt;
	width: 200px;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	clear: right;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl {&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	margin: 0 0 0.3em 0;&lt;br /&gt;
	font-size: 96%;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl dt {&lt;br /&gt;
	background: none;&lt;br /&gt;
	margin: 0.4em 0 0 0;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl dd {&lt;br /&gt;
	margin: 0.1em 0 0 1.1em;&lt;br /&gt;
	background-color: #f3f3f3;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=MediaWiki:Common.css&amp;diff=86716</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=MediaWiki:Common.css&amp;diff=86716"/>
		<updated>2015-02-20T10:03:33Z</updated>

		<summary type="html">&lt;p&gt;Natethomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*/&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; */&lt;br /&gt;
&lt;br /&gt;
/* Edit window toolbar */&lt;br /&gt;
#toolbar {&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Highlight clicked reference in blue to help navigation */&lt;br /&gt;
ol.references li:target,&lt;br /&gt;
sup.reference:target,&lt;br /&gt;
span.citation:target {&lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure refs in table headers and the like aren&#039;t bold or italic */&lt;br /&gt;
sup.reference {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow hidden ref errors to be shown by user CSS */&lt;br /&gt;
span.brokenref {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for citations (CSS3). Breaks long urls, etc., rather than overflowing box */&lt;br /&gt;
.citation {&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For linked citation numbers and document IDs, where&lt;br /&gt;
   the number need not be shown on a screen or a handheld,&lt;br /&gt;
   but should be included in the printed version */&lt;br /&gt;
@media screen, handheld {&lt;br /&gt;
    .citation *.printonly {&lt;br /&gt;
        display: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* wikitable/prettytable class for skinning normal tables */&lt;br /&gt;
table.wikitable,&lt;br /&gt;
table.prettytable {&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th, .wikitable td,&lt;br /&gt;
.prettytable th, .prettytable td {&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th,&lt;br /&gt;
.prettytable th {&lt;br /&gt;
    background: lightgrey;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.wikitable caption,&lt;br /&gt;
.prettytable caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for [[Template:Flowlist]] that Lets lists flow around floating objecs */&lt;br /&gt;
.flowlist ul {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    margin-left: 0em;&lt;br /&gt;
    padding-left: 1.6em;&lt;br /&gt;
}&lt;br /&gt;
.flowlist ol {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    margin-left: 0em;&lt;br /&gt;
    padding-left: 3.2em;&lt;br /&gt;
}&lt;br /&gt;
.flowlist dl {&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Unbulleted lists */&lt;br /&gt;
.plainlist ul {&lt;br /&gt;
    line-height: inherit;&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.plainlist ul li {&lt;br /&gt;
    margin-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Default style for navigation boxes */&lt;br /&gt;
.navbox {                     /* Navbox container style */&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: auto;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    padding: 1px;&lt;br /&gt;
}&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
    padding: 0.25em 1em;      /* Title, group and above/below styles */&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
th.navbox-group {             /* Group style */&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
    background: #fdfdfd;      /* Background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-list {&lt;br /&gt;
    line-height: 1.8em;&lt;br /&gt;
    border-color: #fdfdfd;    /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox th,&lt;br /&gt;
.navbox-title {&lt;br /&gt;
    background: #ccccff;      /* Level 1 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
th.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
    background: #ddddff;      /* Level 2 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
    background: #e6e6ff;      /* Level 3 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-even {&lt;br /&gt;
    background: #f7f7f7;      /* Even row striping */&lt;br /&gt;
}&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
    background: transparent;  /* Odd row striping */&lt;br /&gt;
}&lt;br /&gt;
table.navbox + table.navbox {  /* Single pixel border between adjacent navboxes */&lt;br /&gt;
    margin-top: -1px;          /* (doesn&#039;t work for IE6, but that&#039;s okay)       */&lt;br /&gt;
}&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
    padding: 0.125em 0;       /* Adjust hlist padding in navboxes */&lt;br /&gt;
}&lt;br /&gt;
ol + table.navbox,&lt;br /&gt;
ul + table.navbox {&lt;br /&gt;
    margin-top: 0.5em;        /* Prevent lists from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Default styling for Navbar template */&lt;br /&gt;
.navbar {&lt;br /&gt;
    display: inline;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
}&lt;br /&gt;
.navbar ul {&lt;br /&gt;
    display: inline;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.navbar li {&lt;br /&gt;
    word-spacing: -0.125em;&lt;br /&gt;
}&lt;br /&gt;
.navbar.mini li span {&lt;br /&gt;
  font-variant: small-caps;&lt;br /&gt;
}&lt;br /&gt;
/* Navbar styling when nested in infobox and navbox */&lt;br /&gt;
.infobox .navbar {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
    display: block;&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-right: 0.5em;&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* &#039;show&#039;/&#039;hide&#039; buttons created dynamically by the CollapsibleTables javascript&lt;br /&gt;
   in [[MediaWiki:Common.js]] are styled here so they can be customised. */&lt;br /&gt;
.collapseButton {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-left: 0.5em;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
    width: auto;&lt;br /&gt;
}&lt;br /&gt;
/* In navboxes, the show/hide button balances the v·d·e links&lt;br /&gt;
   from [[Template:Navbar]], so they need to be the same width. */&lt;br /&gt;
.navbox .collapseButton {&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Styling for JQuery makeCollapsible, matching that of collapseButton */&lt;br /&gt;
.mw-collapsible-toggle {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
.navbox .mw-collapsible-toggle {&lt;br /&gt;
    width: 6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Infobox template style */&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    color: black;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    clear: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
}&lt;br /&gt;
.infobox caption {	&lt;br /&gt;
    font-size: larger;&lt;br /&gt;
}&lt;br /&gt;
.infobox td,&lt;br /&gt;
.infobox th {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered td,&lt;br /&gt;
.infobox.bordered th {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered .borderless td,&lt;br /&gt;
.infobox.bordered .borderless th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.sisterproject {&lt;br /&gt;
    width: 20em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.infobox.standard-talk.bordered td,&lt;br /&gt;
.infobox.standard-talk.bordered th {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* styles for bordered infobox with merged rows */&lt;br /&gt;
.infobox.bordered .mergedtoprow td,&lt;br /&gt;
.infobox.bordered .mergedtoprow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.bordered .mergedrow td,&lt;br /&gt;
.infobox.bordered .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Styles for geography infoboxes, eg countries,&lt;br /&gt;
   country subdivisions, cities, etc.            */&lt;br /&gt;
.infobox.geography {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    line-height: 1.2em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography  td,&lt;br /&gt;
.infobox.geography  th {&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
.infobox.geography .mergedtoprow td,&lt;br /&gt;
.infobox.geography .mergedtoprow th {&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .mergedrow td,&lt;br /&gt;
.infobox.geography .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .mergedbottomrow td,&lt;br /&gt;
.infobox.geography .mergedbottomrow th {&lt;br /&gt;
    border-top: 0;&lt;br /&gt;
    border-bottom: 1px solid #aaa;&lt;br /&gt;
    padding: 0 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.infobox.geography .maptable td,&lt;br /&gt;
.infobox.geography .maptable th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] */&lt;br /&gt;
.redirect-in-category, .allpagesredirect {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Normal font styling for table row headers with scope=&amp;quot;row&amp;quot; tag */&lt;br /&gt;
.wikitable.plainrowheaders th[scope=row] {&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Lists in data cells are always left-aligned */&lt;br /&gt;
.wikitable td ul,&lt;br /&gt;
.wikitable td ol,&lt;br /&gt;
.wikitable td dl {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon for all PDF files&lt;br /&gt;
   in browsers that support these CSS selectors, like Mozilla and Opera */&lt;br /&gt;
div#content a[href$=&amp;quot;.pdf&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.pdf?&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
div#content a[href$=&amp;quot;.PDF&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.PDF?&amp;quot;].external,&lt;br /&gt;
div#content a[href*=&amp;quot;.PDF#&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href$=&amp;quot;.pdf&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.pdf?&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href$=&amp;quot;.PDF&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.PDF?&amp;quot;].external,&lt;br /&gt;
div#mw_content a[href*=&amp;quot;.PDF#&amp;quot;].external {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif&amp;quot;) no-repeat right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-right: 18px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon anywhere the PDFlink class&lt;br /&gt;
   is used (notably Template:PDFlink). This works in IE, unlike the above. */&lt;br /&gt;
div#content span.PDFlink a,&lt;br /&gt;
div#mw_content span.PDFlink a {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif&amp;quot;) no-repeat right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-right: 18px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content in columns with CSS instead of tables [[Template:Columns]] */&lt;br /&gt;
div.columns-2 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 50%;&lt;br /&gt;
    min-width: 300px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-3 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 33.3%;&lt;br /&gt;
    min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-4 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 25%;&lt;br /&gt;
    min-width: 150px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-5 div.column {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 20%;&lt;br /&gt;
    min-width: 120px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Messagebox templates */&lt;br /&gt;
.messagebox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 0 auto 1em auto;&lt;br /&gt;
    padding: .2em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.merge {&lt;br /&gt;
    border: 1px solid #c0b8cc;&lt;br /&gt;
    background-color: #f0e5ff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.cleanup {&lt;br /&gt;
    border: 1px solid #9f9fff;&lt;br /&gt;
    background-color: #efefff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    margin: 4px auto;&lt;br /&gt;
}&lt;br /&gt;
/* For old WikiProject banners inside banner shells. */&lt;br /&gt;
.mbox-inside .standard-talk,&lt;br /&gt;
.messagebox.nested-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small-talk {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
    background: #F8EABA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {   /* The message body cell(s) */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 0.25em 0.9em;     /* 0.9em left/right */&lt;br /&gt;
    width: 100%;               /* Make all mboxes the same width regardless of text length */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                /* The left image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0 2px 0.9em;  /* 0.9em left, 0px right */&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {           /* The right image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0.9em 2px 0;  /* 0px left, 0.9em right */&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
td.mbox-empty-cell {           /* An empty narrow cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    width: 1px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Article message box styles */&lt;br /&gt;
table.ambox {&lt;br /&gt;
    margin: 0px 10%;                  /* 10% = Will not overlap with other elements */&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #1e90ff;  /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
table.ambox + table.ambox {      /* Single border between stacked boxes. */&lt;br /&gt;
    margin-top: -1px;&lt;br /&gt;
}&lt;br /&gt;
.ambox th.mbox-text,&lt;br /&gt;
.ambox td.mbox-text {            /* The message body cell(s) */&lt;br /&gt;
    padding: 0.25em 0.5em;       /* 0.5em left/right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-image {           /* The left image cell */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-imageright {      /* The right image cell */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding: 2px 0.5em 2px 0;    /* 0px left, 0.5em right */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.ambox-notice {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-speedy {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;                   /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-delete {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-content {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-style {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-move {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-protection {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    border-left: 10px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Image message box styles */&lt;br /&gt;
table.imbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
.imbox .mbox-text .imbox {  /* For imboxes inside imbox-text cells. */&lt;br /&gt;
    margin: 0 -0.5em;       /* 0.9 - 0.5 = 0.4em left/right.        */&lt;br /&gt;
    display: block;         /* Fix for webkit to force 100% width.  */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .imbox {       /* For imboxes inside other templates.  */&lt;br /&gt;
    margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.imbox-notice {&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-speedy {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-delete {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-content {&lt;br /&gt;
    border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-style {&lt;br /&gt;
    border: 3px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-move {&lt;br /&gt;
    border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-protection {&lt;br /&gt;
    border: 3px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-license {&lt;br /&gt;
    border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
    background: #f7f8ff;          /* Light gray */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-featured {&lt;br /&gt;
    border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Category message box styles */&lt;br /&gt;
table.cmbox {&lt;br /&gt;
    margin: 3px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #DFE8FF;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.cmbox-notice {&lt;br /&gt;
    background: #D8E8FF;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-speedy {&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
    border: 4px solid #b22222;    /* Red */&lt;br /&gt;
    background: #FFDBDB;          /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-delete {&lt;br /&gt;
    background: #FFDBDB;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-content {&lt;br /&gt;
    background: #FFE7CE;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-style {&lt;br /&gt;
    background: #FFF9DB;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-move {&lt;br /&gt;
    background: #E4D8FF;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-protection {&lt;br /&gt;
    background: #EFEFE1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Other pages message box styles */&lt;br /&gt;
table.ombox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa;       /* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
    border: 1px solid #aaa;       /* Gray */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
    border: 1px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
    border: 1px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
    border: 1px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
    border: 2px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Talk page message box styles */&lt;br /&gt;
table.tmbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
    background: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The &amp;quot;mediawiki&amp;quot; class ensures that */&lt;br /&gt;
    margin: 2px 0;               /* this declaration overrides other styles (including mbox-small above)   */&lt;br /&gt;
    width: 100%;                 /* For Safari and Opera */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .tmbox.mbox-small { /* &amp;quot;small&amp;quot; tmboxes should not be small when  */&lt;br /&gt;
    line-height: 1.5em;          /* also &amp;quot;nested&amp;quot;, so reset styles that are   */&lt;br /&gt;
    font-size: 100%;             /* set in &amp;quot;mbox-small&amp;quot; above.                */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.tmbox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-content {&lt;br /&gt;
    border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-style {&lt;br /&gt;
    border: 2px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-move {&lt;br /&gt;
    border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-protection,&lt;br /&gt;
table.tmbox-notice {&lt;br /&gt;
    border: 1px solid #c0c090;    /* Gray-brown */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Disambig and set index box styles */&lt;br /&gt;
table.dmbox {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.9em 1em;&lt;br /&gt;
    border-top: 1px solid #ccc;&lt;br /&gt;
    border-bottom: 1px solid #ccc;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Footer and header message box styles */&lt;br /&gt;
table.fmbox {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #f9f9f9;     /* Default &amp;quot;system&amp;quot; gray */&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-system {&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-warning {&lt;br /&gt;
    border: 1px solid #bb7070;  /* Dark pink */&lt;br /&gt;
    background: #ffdbdb;        /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-editnotice {&lt;br /&gt;
    background: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Div based &amp;quot;warning&amp;quot; style fmbox messages. */&lt;br /&gt;
div.mw-warning-with-logexcerpt,&lt;br /&gt;
div.mw-lag-warn-high,&lt;br /&gt;
div.mw-cascadeprotectedwarning {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #bb7070;&lt;br /&gt;
    background: #ffdbdb;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
/* Div based &amp;quot;system&amp;quot; style fmbox messages. Used in &lt;br /&gt;
   [[MediaWiki:Noarticletext]] and [[MediaWiki:Readonly lag]]. */&lt;br /&gt;
div.mw-lag-warn-normal,&lt;br /&gt;
div.noarticletext,&lt;br /&gt;
div.fmbox-system {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* These mbox-small classes must be placed after all other&lt;br /&gt;
   ambox/tmbox/ombox etc classes. &amp;quot;body.mediawiki&amp;quot; is so&lt;br /&gt;
   they override &amp;quot;table.ambox + table.ambox&amp;quot; above. */&lt;br /&gt;
body.mediawiki table.mbox-small {   /* For the &amp;quot;small=yes&amp;quot; option. */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    clear: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: right;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 4px 0 4px 1em;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
body.mediawiki table.mbox-small-left {   /* For the &amp;quot;small=left&amp;quot; option. */&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 4px 1em 4px 0;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Style for compact ambox */&lt;br /&gt;
/* Hide the images */&lt;br /&gt;
.compact-ambox table .mbox-image,&lt;br /&gt;
.compact-ambox table .mbox-imageright,&lt;br /&gt;
.compact-ambox table .mbox-empty-cell {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
/* Remove borders, backgrounds, padding, etc. */&lt;br /&gt;
.compact-ambox table.ambox {&lt;br /&gt;
    border: none;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
    margin: 0 0 0 1.6em !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
body.mediawiki .compact-ambox table.mbox-small-left {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
/* Style the text cell as a list item and remove its padding */&lt;br /&gt;
.compact-ambox table .mbox-text {&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
    margin: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
.compact-ambox table .mbox-text-span {&lt;br /&gt;
    display: list-item;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style-type: square;&lt;br /&gt;
    list-style-image: url(//bits.wikimedia.org/skins/common/images/bullet.gif);&lt;br /&gt;
}&lt;br /&gt;
.skin-vector .compact-ambox table .mbox-text-span {&lt;br /&gt;
    list-style-type: circle;&lt;br /&gt;
    list-style-image: url(//bits.wikimedia.org/skins/vector/images/bullet-icon.png)&lt;br /&gt;
}&lt;br /&gt;
/* Allow for hiding text in compact form */&lt;br /&gt;
.compact-ambox .hide-when-compact {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Remove default styles for [[MediaWiki:Noarticletext]]. */&lt;br /&gt;
div.noarticletext {&lt;br /&gt;
    border: none;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
    display: inline ! important;&lt;br /&gt;
    color: #f00; &lt;br /&gt;
    background-color: #0f0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Bold save button */&lt;br /&gt;
#wpSave {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Standard Navigationsleisten, aka box hiding thingy&lt;br /&gt;
   from .de.  Documentation at [[Wikipedia:NavFrame]]. */&lt;br /&gt;
div.NavFrame {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame + div.NavFrame {&lt;br /&gt;
    border-top-style: none;&lt;br /&gt;
    border-top-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavPic {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavHead {&lt;br /&gt;
    height: 1.6em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #ccf;&lt;br /&gt;
    position: relative;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame p,&lt;br /&gt;
div.NavFrame div.NavContent,&lt;br /&gt;
div.NavFrame div.NavContent p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavEnd {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    line-height: 1px;&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
a.NavToggle {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    right: 3px;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Coloured watchlist numbers */&lt;br /&gt;
.mw-plusminus-pos { color: #006400; } /* dark green */&lt;br /&gt;
.mw-plusminus-neg { color: #8B0000; } /* dark red */&lt;br /&gt;
&lt;br /&gt;
.rellink,&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
}&lt;br /&gt;
.rellink i,&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Hatnotes and disambiguation notices */&lt;br /&gt;
.rellink,&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-left: 1.6em;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
.rellink i,&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for horizontal UL lists */&lt;br /&gt;
.horizontal ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li { &lt;br /&gt;
    padding: 0 0.6em 0 0.4em;&lt;br /&gt;
    display: inline;&lt;br /&gt;
    border-right: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li:last-child {&lt;br /&gt;
    border-right: none;&lt;br /&gt;
    padding-right: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Allow transcluded pages to display in lists rather than a table.&lt;br /&gt;
   Compatible in Firefox; incompatible in IE6. */&lt;br /&gt;
.listify td    { display: list-item; }&lt;br /&gt;
.listify tr    { display: block; }&lt;br /&gt;
.listify table { display: block; }&lt;br /&gt;
&lt;br /&gt;
/* When &amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt; is used on the table of contents,&lt;br /&gt;
   the ToC will display without numbers */&lt;br /&gt;
.nonumtoc .tocnumber { display: none; }&lt;br /&gt;
.nonumtoc #toc ul,&lt;br /&gt;
.nonumtoc .toc ul {&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin: .3em 0 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nonumtoc #toc ul ul,&lt;br /&gt;
.nonumtoc .toc ul ul {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin: 0 0 0 2em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Allow limiting of which header levels are shown in a TOC;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for instance, will limit to&lt;br /&gt;
   showing ==headings== and ===headings=== but no further&lt;br /&gt;
   (as long as there are no =headings= on the page, which&lt;br /&gt;
   there shouldn&#039;t be according to the MoS). */&lt;br /&gt;
.toclimit-2 .toclevel-1 ul,&lt;br /&gt;
.toclimit-3 .toclevel-2 ul,&lt;br /&gt;
.toclimit-4 .toclevel-3 ul,&lt;br /&gt;
.toclimit-5 .toclevel-4 ul,&lt;br /&gt;
.toclimit-6 .toclevel-5 ul,&lt;br /&gt;
.toclimit-7 .toclevel-6 ul {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.toclevel-3 {&lt;br /&gt;
text-indent:5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevent line breaks in silly places:&lt;br /&gt;
   1) Where desired&lt;br /&gt;
   2) Links when we don&#039;t want them to&lt;br /&gt;
   3) Bold &amp;quot;links&amp;quot; to the page itself&lt;br /&gt;
   4) Ref tags with group names &amp;lt;ref group=&amp;quot;Note&amp;quot;&amp;gt; --&amp;gt; &amp;quot;[Note 1]&amp;quot; */&lt;br /&gt;
.nowrap,&lt;br /&gt;
.nowraplinks a,&lt;br /&gt;
.nowraplinks .selflink,&lt;br /&gt;
sup.reference a {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
/* But allow wrapping where desired: */&lt;br /&gt;
.wrap,&lt;br /&gt;
.wraplinks a {&lt;br /&gt;
    white-space: normal;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #ecfcf4;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Inline divs in ImageMaps (code borrowed from de.wiki) */&lt;br /&gt;
.imagemap-inline div {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Increase the height of the image upload box */&lt;br /&gt;
#wpUploadDescription {&lt;br /&gt;
    height: 13em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Minimum thumb width */&lt;br /&gt;
.thumbinner {&lt;br /&gt;
    min-width: 100px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Makes the background of a framed image white instead of gray.&lt;br /&gt;
   Only visible with transparent images. */&lt;br /&gt;
div.thumb img.thumbimage {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* The backgrounds for galleries. */&lt;br /&gt;
div#content .gallerybox div.thumb {&lt;br /&gt;
    /* Light gray padding */&lt;br /&gt;
    background-color: #F9F9F9;&lt;br /&gt;
}&lt;br /&gt;
/* Put a chequered background behind images, only visible if they have transparency.&lt;br /&gt;
   &#039;.filehistory a img&#039; and &#039;#file img:hover&#039; are handled by MediaWiki core (as of 1.19) */&lt;br /&gt;
.gallerybox .thumb img {&lt;br /&gt;
    background: #fff url(//bits.wikimedia.org/skins/common/images/Checker-16x16.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
/* But not on articles, user pages, portals or with opt-out. */&lt;br /&gt;
.ns-0 .gallerybox .thumb img,&lt;br /&gt;
.ns-2 .gallerybox .thumb img,&lt;br /&gt;
.ns-100 .gallerybox .thumb img,&lt;br /&gt;
.nochecker .gallerybox .thumb img {&lt;br /&gt;
    background: #fff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Category tree styling. Works in conjuction with [[MediaWiki:Categorytree-expand-bullet]],&lt;br /&gt;
   [[MediaWiki:Categorytree-collapse-bullet]] and [[MediaWiki:Categorytree-empty-bullet]]. */&lt;br /&gt;
#mw-subcategories ul {&lt;br /&gt;
    list-style: none none;&lt;br /&gt;
    margin-left: 0.25em;&lt;br /&gt;
}&lt;br /&gt;
.CategoryTreeChildren {&lt;br /&gt;
    margin-left: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Prevent floating boxes from overlapping any category listings,&lt;br /&gt;
   file histories, edit previews, and edit [Show changes] views. */&lt;br /&gt;
#mw-subcategories, #mw-pages, #mw-category-media,&lt;br /&gt;
#filehistory, #wikiPreview, #wikiDiff {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Disable the automatic text-size adjust of WebKit on iPhones etc.&lt;br /&gt;
   It scales some text, and not the other. Use none, or fixed percentage instead.&lt;br /&gt;
   Use media selector, because defining a value, overwrites platform defaults. */&lt;br /&gt;
@media only screen and (max-device-width: 480px) {&lt;br /&gt;
    body {&lt;br /&gt;
        -webkit-text-size-adjust: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Fix so &amp;lt;syntaxhighlight&amp;gt; tags and .css and .js pages get normal text size.&lt;br /&gt;
   [[Bugzilla:26204]]. See also [[Wikipedia:Typography#The monospace &#039;bug&#039;]] */&lt;br /&gt;
div.mw-geshi div,&lt;br /&gt;
div.mw-geshi div pre,&lt;br /&gt;
span.mw-geshi,&lt;br /&gt;
pre.source-css,&lt;br /&gt;
pre.source-javascript,&lt;br /&gt;
pre.source-lua {&lt;br /&gt;
    font-family: monospace, Courier !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For announcements */&lt;br /&gt;
#bodyContent .letterhead {&lt;br /&gt;
    background-image:url(&#039;//upload.wikimedia.org/wikipedia/commons/e/e0/Tan-page-corner.png&#039;);&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    padding: 2em;&lt;br /&gt;
    background-color: #faf9f2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tree style lists */&lt;br /&gt;
.treeview ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.treeview li {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    list-style-type: none;&lt;br /&gt;
    list-style-image: none;&lt;br /&gt;
    zoom: 1; /* BE KIND TO IE6 */;&lt;br /&gt;
}&lt;br /&gt;
.treeview li li {&lt;br /&gt;
    background: url(&amp;quot;//upload.wikimedia.org/wikipedia/commons/f/f2/Treeview-grey-line.png&amp;quot;) no-repeat 0 -2981px;&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    padding-left: 20px;&lt;br /&gt;
    text-indent: 0.3em;&lt;br /&gt;
}&lt;br /&gt;
.treeview li li.lastline {&lt;br /&gt;
    background-position: 0 -5971px&lt;br /&gt;
}&lt;br /&gt;
.treeview li.emptyline &amp;gt; ul {&lt;br /&gt;
    /* @noflip */&lt;br /&gt;
    margin-left: -1px;&lt;br /&gt;
}&lt;br /&gt;
.treeview li.emptyline &amp;gt; ul &amp;gt; li:first-child {&lt;br /&gt;
    background-position: 0 9px&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide charinsert base for those not using the gadget */&lt;br /&gt;
#editpage-specialchars {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* work-around for [[bugzilla:23965]] (Kaltura advertisement) */&lt;br /&gt;
.k-player .k-attribution {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Unicode font families, for [[Template:Unicode]] */&lt;br /&gt;
.UnicodeAnimal { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeAstro { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Brampton, &amp;quot;Apple Color Emoji&amp;quot;, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeChem { font-family: Quivira, Symbola,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeCommunication { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, Quivira, Brampton, FreeSerif,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeDentistry { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, FreeMono, Symbola,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEducation { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEmoticon { font-family: &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, Brampton, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEnclosed { font-family: Quivira, Brampton, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSans, FreeSerif, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeEvent { font-family: &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Symbola, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeFood { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeGame { font-family: Symbola, Quivira, FreeSerif, Brampton, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMap { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMedicine { font-family: &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, FreeSerif,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMoney { font-family: Symbola, Quivira, FreeSerif, FreeSans, FreeMono, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeMusic { font-family: Symbola, FreeSerif, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePerson { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePicto { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Quivira, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePlant { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodePoliticsReligion { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, Quivira, Brampton, FreeMono,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeRegion { font-family: &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeSport { font-family: Symbola, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeTechnology { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, FreeMono, FreeSerif, Quivira, FreeSans, Brampton, &amp;quot;Apple Color Emoji&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeTime { font-family: Quivira, Symbola, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, &amp;quot;Segoe UI Symbol&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeUI { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, FreeSerif, FreeMono, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeWarning { font-family: Symbola, &amp;quot;Segoe UI Symbol&amp;quot;, Quivira, &amp;quot;Apple Color Emoji&amp;quot;, Brampton, FreeSerif, &amp;quot;Arial Unicode MS&amp;quot;,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
.UnicodeWeather  { font-family: Symbola, Quivira, &amp;quot;Segoe UI Symbol&amp;quot;, FreeSerif, &amp;quot;Apple Color Emoji&amp;quot;, Brampton,   &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }&lt;br /&gt;
&lt;br /&gt;
/* Dynamic menus */&lt;br /&gt;
.dmenu { width: 180px }&lt;br /&gt;
 &lt;br /&gt;
.dmenu, .dmenu ul { /* all lists */&lt;br /&gt;
padding: 0;&lt;br /&gt;
margin: 0;&lt;br /&gt;
list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.dmenu .selflink { font-weight: normal; }&lt;br /&gt;
 &lt;br /&gt;
.dmenu li { /* all list items */&lt;br /&gt;
position: relative;&lt;br /&gt;
float: left;&lt;br /&gt;
width: 172px;&lt;br /&gt;
padding: 4px;&lt;br /&gt;
z-index: 100;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li,&lt;br /&gt;
.dmenu li.even a,&lt;br /&gt;
.dmenu li.odd a,&lt;br /&gt;
.dmenu li li,&lt;br /&gt;
.dmenu li li a,&lt;br /&gt;
.dmenu li li li,&lt;br /&gt;
.dmenu li li li a {&lt;br /&gt;
color : black;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li li { margin: 0; }&lt;br /&gt;
 &lt;br /&gt;
.dmenu li ul { /* second-level lists */&lt;br /&gt;
position: absolute;&lt;br /&gt;
left: -999em;&lt;br /&gt;
z-index: 101;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li ul ul { /* third-and-above-level lists */&lt;br /&gt;
position: absolute;&lt;br /&gt;
left: -999em;&lt;br /&gt;
margin: 0 0 0 0;&lt;br /&gt;
z-index: 102;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li.odd .submenu {&lt;br /&gt;
width: 12px;&lt;br /&gt;
height: 15px;&lt;br /&gt;
float: right;&lt;br /&gt;
background: url(/common/images/rarr-lt.png) 0 3px no-repeat;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.even .submenu {&lt;br /&gt;
width: 12px;&lt;br /&gt;
height: 15px;&lt;br /&gt;
float: right;&lt;br /&gt;
background: url(/common/images/rarr-dk.png) 0 3px no-repeat;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.odd {&lt;br /&gt;
        background: #E9EDF4;&lt;br /&gt;
        border: 2px solid #E9EDF4;&lt;br /&gt;
}&lt;br /&gt;
.dmenu li.even {&lt;br /&gt;
        background: #D0D8E8;&lt;br /&gt;
        border: 2px solid #D0D8E8;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover, .dmenu li.sfhover {&lt;br /&gt;
        border: 2px solid #385D8A;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover ul ul,&lt;br /&gt;
.dmenu li:hover ul ul ul,&lt;br /&gt;
.dmenu li.sfhover ul ul,&lt;br /&gt;
.dmenu li.sfhover ul ul ul {&lt;br /&gt;
left: -999em;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dmenu li:hover ul,&lt;br /&gt;
.dmenu li li:hover ul,&lt;br /&gt;
.dmenu li li li:hover ul,&lt;br /&gt;
.dmenu li.sfhover ul,&lt;br /&gt;
.dmenu li li.sfhover ul,&lt;br /&gt;
.dmenu li li li.sfhover ul { /* lists nested under hovered list items */&lt;br /&gt;
left: 182px;&lt;br /&gt;
top: -3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
.dtree {&lt;br /&gt;
        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;&lt;br /&gt;
        font-size: 11px;&lt;br /&gt;
        color: #666;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.dtree img {&lt;br /&gt;
        border: 0px;&lt;br /&gt;
        vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
.dtree a {&lt;br /&gt;
        color: #333;&lt;br /&gt;
        text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.node, .dtree a.nodeSel {&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
        padding: 1px 2px 1px 2px;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.node:hover, .dtree a.nodeSel:hover {&lt;br /&gt;
        color: #333;&lt;br /&gt;
        text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
.dtree a.nodeSel {&lt;br /&gt;
        background-color: #c0d2ec;&lt;br /&gt;
}&lt;br /&gt;
.dtree .clip {&lt;br /&gt;
        overflow: hidden;&lt;br /&gt;
        padding-bottom: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
* MenuSidebar&lt;br /&gt;
*/&lt;br /&gt;
/* this has to be overridden for every menu */&lt;br /&gt;
#p-Menu,&lt;br /&gt;
#p-Menu2,&lt;br /&gt;
#p-Menu3 {&lt;br /&gt;
 overflow: visible; &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this has to be overridden for every menu */&lt;br /&gt;
#p-Menu div,&lt;br /&gt;
#p-Menu2 div,&lt;br /&gt;
#p-Menu3 div {&lt;br /&gt;
 margin: 0;&lt;br /&gt;
 padding: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this is an example to make the list of the second entry bigger e.g. when ther is a longer text in a list item&lt;br /&gt;
#p-Menu ul li.item2 ul {&lt;br /&gt;
 width: 16em;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
 &lt;br /&gt;
/* this an example to change the background color of every second list item&lt;br /&gt;
li.even {&lt;br /&gt;
 background-color: #eeeeee;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul { /* remove bullets and list indents */&lt;br /&gt;
 list-style: none;&lt;br /&gt;
 margin: 0;&lt;br /&gt;
 padding: 0;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* this div is only for better handling and navigation  ... could also be done in inner ul*/&lt;br /&gt;
.menuSidebar ul div { &lt;br /&gt;
 position: absolute;&lt;br /&gt;
 top: -6px;&lt;br /&gt;
 left: 100%; /* to position them to the right of their containing block */&lt;br /&gt;
 width: 100%; /* width is based on the containing block */&lt;br /&gt;
 z-index: 100; /* show ul on top */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul ul { &lt;br /&gt;
 background-color: white;&lt;br /&gt;
 border: 1px solid #aaaaaa;&lt;br /&gt;
 margin-top: 5px; /* make navigation easier*/&lt;br /&gt;
 margin-bottom: 5px; /* make navigation easier*/&lt;br /&gt;
 z-index: 101; /* show on top; Needed for IE 7 */&lt;br /&gt;
 width: 12em; /* width of inner menu, Needed for IE 7 */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li {&lt;br /&gt;
 position: relative; /* make li a container for inner elements */&lt;br /&gt;
 margin: 1px;&lt;br /&gt;
 z-index: 102; /* show on top; Needed for IE 7 */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* style, color and size links and headings to suit */&lt;br /&gt;
.menuSidebar a {&lt;br /&gt;
 font-weight: bold;&lt;br /&gt;
 display: block;&lt;br /&gt;
 border-width: 0px 0px 1px 0px;&lt;br /&gt;
 border-style: solid;&lt;br /&gt;
 border-color: #aaaaaa;&lt;br /&gt;
 margin: 0px;&lt;br /&gt;
 padding: 1px;&lt;br /&gt;
 padding-left: 5px;&lt;br /&gt;
 color: #000000;&lt;br /&gt;
 text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* move the &amp;amp;gt; to the right */&lt;br /&gt;
.menuSidebar a em {&lt;br /&gt;
 position: absolute;&lt;br /&gt;
 right: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li:hover, /* Needed for IE 7 */&lt;br /&gt;
.menuSidebar a:hover {&lt;br /&gt;
 background: #ccccff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar li.separator a:hover {&lt;br /&gt;
 background: white;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Needed for IE 7 */&lt;br /&gt;
.menuSidebar li.separator a,&lt;br /&gt;
.menuSidebar li.separator {&lt;br /&gt;
 line-height: 0px;&lt;br /&gt;
 height: 0px;&lt;br /&gt;
 font-size: 0px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.menuSidebar ul li:last-Child a { &lt;br /&gt;
 border-width: 0px 0px 0px 0px; // remove the last bottom line &lt;br /&gt;
 padding-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* hides the first level */&lt;br /&gt;
.menuSidebar ul li div { display: none; }&lt;br /&gt;
 &lt;br /&gt;
/* shows the first level and hide the second */&lt;br /&gt;
.menuSidebar ul li:hover div, &lt;br /&gt;
.menuSidebar ul li div:hover { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li:hover ul li div { display: none; } /* hide the next level */&lt;br /&gt;
 &lt;br /&gt;
/* second level*/&lt;br /&gt;
.menuSidebar ul li ul li:hover div,&lt;br /&gt;
.menuSidebar ul li ul li div:hover  { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li ul li:hover ul li div { display: none; }  /* hide the next level */&lt;br /&gt;
 &lt;br /&gt;
/* third level */&lt;br /&gt;
.menuSidebar ul li ul li ul li:hover div,&lt;br /&gt;
.menuSidebar ul li ul li ul li div:hover   { display: block; } /* div is again used for easier navigation*/&lt;br /&gt;
.menuSidebar ul li ul li ul li:hover ul li div { display: none; }  /* hide the next level */&lt;br /&gt;
&lt;br /&gt;
/* General purpose &amp;quot;pretty (data) tables&amp;quot; */&lt;br /&gt;
table.datatable {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable th,&lt;br /&gt;
table.datatable td {&lt;br /&gt;
	padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable th {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	background-color: #999999;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable tr {&lt;br /&gt;
	background-color: #cccccc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
table.datatable tr:hover {&lt;br /&gt;
	background-color: #ffffcc;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* SideBox styling */&lt;br /&gt;
div.sideBox {&lt;br /&gt;
	position: relative;&lt;br /&gt;
	float: right;&lt;br /&gt;
	background: white;&lt;br /&gt;
	margin-left: 1em;&lt;br /&gt;
	border: 1px solid gray;&lt;br /&gt;
	padding: 0.3em;&lt;br /&gt;
	width: 200px;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	clear: right;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl {&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	margin: 0 0 0.3em 0;&lt;br /&gt;
	font-size: 96%;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl dt {&lt;br /&gt;
	background: none;&lt;br /&gt;
	margin: 0.4em 0 0 0;&lt;br /&gt;
}&lt;br /&gt;
div.sideBox dl dd {&lt;br /&gt;
	margin: 0.1em 0 0 1.1em;&lt;br /&gt;
	background-color: #f3f3f3;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Natethomas</name></author>
	</entry>
</feed>