[5] Kodi was initially designed as a multi-platform home-theater PC (HTPC) application that has grown to become a multi-purpose technological convergence platform.
It is customizable: skins can change its appearance, and plug-ins allow users to access streaming media content via online services such as Amazon Prime Instant Video, Crackle, Pandora Internet Radio, Rhapsody, Spotify, and YouTube.
[6] The later versions also have a personal video-recorder (PVR) graphical front end for receiving live television with electronic program guide (EPG) and high-definition digital video recorder (DVR) support.
Because of its open source and cross-platform nature, with its core code written in C++, modified versions of Kodi XBMC together with JeOS have been used as a software appliance suite or software framework in a variety of devices, including smart TVs, set-top boxes, digital signage, hotel television systems, network connected media players and embedded systems based on armhf platforms like Raspberry Pi.
[6][10][11] Plug-ins, using either C/C++ programming languages to create binary add-ons or the Python scripting language to create Script Addons, expand Kodi to include features such as television program guides, YouTube, Hulu, Netflix, Veoh, online movie trailer support, and Pandora Radio and podcast streaming.
The Library Mode view allows users to browse their video content by categories; Genre, Title, Year, Actors and Directors.
This video-player "core" for video-playback is an in-house developed cross-platform media player, "DVDPlayer", which was designed to play back DVD-Video movies, and this includes support native for DVD-menus, (based on the free open source libraries code libdvdcss and libdvdnav).
[6][10] Kodi handles all common digital picture/image formats with the options of panning/zooming and slideshow with the Ken Burns effect, with the use of CxImage open source library code.
It can play media from an internal built-in hard disk drive and SMB/SAMBA/CIFS shares (Windows File-Sharing), NFS, or stream them over ReplayTV DVRs/PVRs, Universal Plug and Play (UPnP) or Digital Living Network Alliance (DLNA) shares, or stream iTunes-shares via Digital Audio Access Protocol (DAAP).
Kodi can take advantage of a broadband Internet connection if available to stream Internet-video-streams like YouTube, Hulu, Netflix, and Veoh, and play Internet-radio-stations (such as Pandora Radio).
[10] Kodi features several open APIs to enable third-party developers to create capabilities which extend Kodi with a multitude of addons, such as audio and video streaming plugins for online sources, screensavers, skins and themes, visualizations, weather forecasts, web interfaces, web scrapers, widget scripts, and more.
Current plugin scripts include functions like Internet-TV and movie-trailer browsers, cinemaguides, weather forecast, over-the-top content video streaming services like YouTube, BBC iPlayer, Hulu, Netflix, Veoh, MLB.tv, Internet-radio-station browsers such as Pandora Radio, online picture sharing sites like Flickr, TV guides such as TVShow Time, e-mail clients, instant messaging, different timetables, home automation scripts to front-end control PVR software and hardware, P2P file-sharing downloaders (BitTorrent), IRC, also casual games such as Tetris.
The Kodi skinning engine's flexibility is also advantageous to third parties wanting to create derivative works, as it facilitates rebranding the environment and making deeper changes to the look and feel of the user interface.
Many such third-party skins exist that are well maintained by the community, and while some skins are originals with unique designs, most begin as a clone or an exact replica of other multimedia software interfaces, such as Apple Front Row, Windows Media Center Edition (MCE), MediaPortal, Wii Channel Menu (Xii), Xbox 360 interface, and others.
Web Interface addons for Kodi normally allow browsing a media library remotely, to handle music playlists from a computer instead of television.
[11][35] The source code for XBMC is actively updated by developers in a public Git repository, which may contain features and functionality not yet incorporated into the most recent "stable" releases.
Accordingly, unofficial executable builds from the subversion repository are often released by third parties on sites unaffiliated with the official XBMC project.
They envision Kodi being pre-installed as a third-party software component that commercial and non-commercial ODMs and OEMs and systems integrator companies can use royalty-free on their own hardware, hardware such as set-top boxes from cable-TV companies, Blu-ray Disc and DVD players, game-consoles, or embedded computers and SoC (System-on-a-Chip) built into television sets for web-enabled TVs, and other entertainment devices for the living room entertainment system, home cinema, or similar uses.
On 5 February 2013, together they released a fully passively cooled entertainment system: the MC001 media centre (US and EU version), equipped with the latest XBMC 12 (OpenELEC 3.0) platform.
[citation needed] Lucida TV II, made by LUCIDQ inc, is a nettop based on Nvidia Ion chipset which can be ordered with Xubuntu and XBMC software installed.
[49] PrismCube Ruby by Marusys is a DVB-S2 twin-tuner high-definition DVR-PVR set-top-box running XBMC as its main interface on-top of embedded Linux.
And today at least Boxee, Plex, Tofu, MediaPortal, LibreELEC, OpenELEC, OSMC, GeeXboX, Voddler, DVDFab Media Player, and Horizon TV are all separate derivative products that are all openly known to at least initially have forked the graphical user interface (GUI) and media player part of their software from XBMC's source code.
Some examples on building on Kodi-XBMC are LibreELEC, OSMC, OpenELEC and GeeXboX which are free and open source embedded operating systems providing complete media center software suite that comes with a preconfigured version of Kodi/XBMC and DVR/PVR plugins.
The online user manual is wiki-based and community driven, and it also works as a basic developers' guide for getting a good overview of Kodi's architecture.
[citation needed] Because of Kodi/XBMC's origin with the resource constraints on the hardware and environment of the first-generation Xbox game-console platform, all software development of Kodi/XBMC has always been focused on reserving the limited resources that existed on embedded system hardware, like the original Xbox (which was only a 733 MHz Intel Pentium III and 64 MB of RAM in total as shared memory), as well as the still relatively low resources of embedded system devices today, of which the main hindrance has always been the amount of available system RAM and graphics memory at any one time.
This means that Kodi/XBMC is purposely programmed to be very resource- and power-efficient and can therefore run on very low-end and relatively non-expensive hardware, especially when compared to other media center software design for HTPC use.
[30] Kodi's own internal cross-platform video and audio players (DVDPlayer and PAPlayer) cannot officially play any audio or video files that are protected or encrypted with digital rights management (DRM) technologies for access control, meaning audio files purchased from online music stores such as iTunes Music Store, Audible.com, Windows Media Player Stores, and video files protected with Windows Media DRM or DivX proprietary DRM.
Not featured in XBMP, the addition of embedded Python was given the ability to draw interface elements in the GUI, and allowed user and community generated scripts to be executed within the XBMC environment.
XBMC Foundation president Nathan Betzen disagreed with the assumption, stating that "We always say we don't care what our users do with the software, and we stand by that position.
In December 2015, the Amazon Fire TV Stick experienced a stock shortage in the United Kingdom that was speculated to have been associated with its use with Kodi.