report
Transcription
report
FP7-ICT-2009-5 257103 page: 1 of 229 Target Platforms, target Requirements and Platform IPRs webinos project deliverable Target Platforms, target Requirements and Platform IPRs November 2011 This work is partially funded by webinos, an EU-funded project under the EU FP7 ICT Programme, No 257103. This report is a public deliverable of the webinos project. The project members will review any feedback received; updates will be incorporated as applicable. The webinos project reserves the right to disregard feedback without explanation. Late in the year, updates to the report may be published on www.webions.org as well as being made available as a live and community maintainable wiki. If you want to comment or contribute on the content of the webinos project and its deliverables you shall agree to make available any Essential Claims related to the work of webinos under the conditions of section 5 of the W3C Patent Policy; the exact Royalty Free Terms can be found at : http://w3.org/Consortium/Patent-Policy-20040205/. This report is for personal use only. Other individuals who are interested to receive a copy, need to register to http://webinos.org/downloads. For feedback or further questions, contact: [email protected] DISCLAIMER: webinos believes that the statements contained in this publication to be based upon information that we consider reliable, but we do n o represent upon as such. Opinions expressed are current opinions as of the date appearing on this publication only and the information, including the opinions contained herein, are subject to change without notice. Use of this publication by any third party for whatever purposes should not and does not, absolve such third party from using due diligence in verifyting the publication’s contents. webinos disclaims all implied warranties, including, without limitation, warranties of merchantability or fitness for a particular purpose. Webinos, its partners, affiliates, and representatives, shall have no liability for any direct, incidental, special, or consequential damages or lost profits, if any suffered by any third party as a result of decisions made, or not made, or actions taken or not taken, based on this publicationthat it is accurate or complete and it should not be relied. Copyright webinos project © 2011 webinos.org page: 1 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 2 of 229 Target Platforms, target Requirements and Platform IPRs Abstract This document outlines the analysis and process the webinos consortium undertook in order to identify the most suitable platforms upon which to realize and implement webinos. The process for analyzing and shortlisting suitable platforms is as follows: We analysed the technical, commercial and licensing/IPR aspects of 27 operating systems across 4 domains and 3 web rendering engines. This process provided a SWOT analysis and a verdict with regard to that operating systems appropriateness for the purposes of webinos. Additionally this report identifies specific device side integration issues that should be understood with regard to selecting the most appropriate operating systems. Our recommendations are that webinos should prioritize implementation on the following platforms: Windows 7 Desktop Mac (desktop) Android Linux (Debian) distribution Meego Finally there are resourcing, governance, licensing and IPR recommendations provided which should guide the setting-up of webinos as an open source project. These recommendations acknowledge that webinos will be borrowing heavily from pre-existing upstream open source projects and as such there will be pre-existing open source obligations and requirements to be considered. page: 2 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 3 of 229 Target Platforms, target Requirements and Platform IPRs Table of Contents webinos project deliverable ...................................................................................................... 1 Target Platforms, target Requirements and Platform IPRs ....................................................... 1 INTRODUCTION ......................................................................................................................... 6 Intended Audience................................................................................................................. 6 Document structure............................................................................................................... 6 What is webinos? ................................................................................................................... 7 Objectives of this Report ....................................................................................................... 7 Guidance for Readers ............................................................................................................ 8 Chapter 1 ................................................................................................................................... 9 Introduction ........................................................................................................................... 9 Comparison Criteria & Methodology ..................................................................................... 9 Technical Commercial and Licensing info criteria capture template .................................. 10 Platform-partner assignments ......................................................................................... 13 Chapter 2¶ ............................................................................................................................... 16 Operating Systems Analysis ................................................................................................. 16 PC ..................................................................................................................................... 16 Windows 7 ................................................................................................................... 16 MAC OS-X .................................................................................................................... 28 Debian.......................................................................................................................... 39 FreeBSD ....................................................................................................................... 45 Mobile / Tablet¶ .............................................................................................................. 51 Symbian ....................................................................................................................... 51 Android (mobile) ......................................................................................................... 56 Windows Phone........................................................................................................... 68 iOS................................................................................................................................ 73 Samsung bada.............................................................................................................. 78 page: 3 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 4 of 229 Target Platforms, target Requirements and Platform IPRs BlackBerry .................................................................................................................... 85 Linux (raw) ................................................................................................................... 90 Ubuntu Unity ............................................................................................................... 96 MeeGo ....................................................................................................................... 100 WebOS ....................................................................................................................... 110 Home Media ................................................................................................................... 114 Google TV .................................................................................................................. 114 Mediaroom ................................................................................................................ 121 MythTV ...................................................................................................................... 127 MeeGo ....................................................................................................................... 132 NetTV ......................................................................................................................... 137 Samsung TV ............................................................................................................... 143 HbbTV ........................................................................................................................ 148 AppleTV ..................................................................................................................... 154 XBMC ......................................................................................................................... 158 Automotive .................................................................................................................... 163 MeeGo IVI (reference implementation for GENIVI) .................................................. 163 Android (AutoLinQ) ................................................................................................... 169 Microsoft Windows Embedded Automotive ............................................................. 175 QNX Car ..................................................................................................................... 181 WEB rendering engines analysis .................................................................................... 186 QT .............................................................................................................................. 186 Mozilla Firefox ........................................................................................................... 193 Chromium .................................................................................................................. 200 Chapter 3 - Shortlisting and Recommendations for platforms¶ ........................................... 204 Objective ............................................................................................................................ 204 Platform Prioritization ....................................................................................................... 204 Discounted Platforms ........................................................................................................ 204 Proposed Platforms ........................................................................................................... 208 Chapter 4 Device-side Implementation Architecture ........................................................... 213 Introduction ....................................................................................................................... 213 page: 4 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 5 of 229 Target Platforms, target Requirements and Platform IPRs WRT.................................................................................................................................... 214 PZP ..................................................................................................................................... 215 APIs .................................................................................................................................... 217 Chapter 5 - Recommendations for licensing and IPR ............................................................ 219 Introduction ....................................................................................................................... 219 Resourcing scenarios for webinos ..................................................................................... 221 Proposed governance model for webinos open source project ....................................... 222 page: 5 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 6 of 229 Target Platforms, target Requirements and Platform IPRs INTRODUCTION Intended Audience This document provides the target platforms, target requirements and platform IPRs that are needed to deliver the webinos system. Document structure This document is structured in four different Chapters. Chapter 1 details the Template used to compare the available Desktop, Mobile, Home Media and Automotive platforms using technical, commercial and licensing criteria. These criteria are then summarised via a SWOT (strengths, weaknesses, opportunities and threats) analysis along with a verdict i.e. how appropriate is this platform to form part of webinos. Chapter 2 details the actual Operating System platforms review. This Chapter forms the bulk of the Report and covers the following platforms:PC Mobile/Tablet WEB rendering engines analysis Windows 7 MAC OS-X Debian FreeBSD ______________________ Symbian Android - Mobile Windows Phone iOS Samsung bada BlackBerry Linux (raw) Ubuntu Unity MeeGo WebOS Automotive Home media Google TV Mediaroom MythTV MeeGo NetTV Samsung TV HbbTV AppleTV XBMC QT Mozilla Firefox Chromium MeeGo IVI (reference implementation for GENIVI) Android (AutoLinQ) Microsoft Windows Embedded Automotive QNX Car Chapter 3 proposes the recommended platforms that will contribute to or be part of webinos, detailing the proposed platforms and discounted platforms, including justification and reasoning for both. Chapter 4 considers the Device side Implementation Architecture, to the extent that this must be a factor in considering which platforms webinos should focus on or use as part of its solution. page: 6 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 7 of 229 Target Platforms, target Requirements and Platform IPRs Chapter 5 provides recommendations for the management of source code created by webinos with regard to licensing and Intellectual Property Rights (IPR) management. It also considers some scenarios for further resourcing of webinos post EU funding and proposes a suggested governance model for webinos, taking into consideration the preferred platforms against which webinos will be implemented. What is webinos? The webinos project has been tasked to define and deliver an Open Source Platform and software components for the Future Internet in the form of web runtime extensions, and complementary infrastructure components, to enable web applications and services to be used and shared consistently and securely over a broad spectrum of converged and connected devices, including mobile, PC, home media (TV) and in-car units. Objectives of this Report Based on the technical, commercial and licensing/IPR requirements and the findings provided by associated investigations, this Report identifies the most appropriate platforms which are selected for the later realization of the webinos system. According to the selected platforms, this task also identifies special requirements to the architectural design which may be raised by the platform selection. Thus, the risk of introducing design issues in later webinos work is reduced. Further to the technical considerations, the task bases its selection of platform (or parts thereof), considering underlying IPR and licensing models. Only if these are acceptable to a wider community, can the solution be really successful. The task also produces recommendations on the IPR, licensing and governance models that should constitute to best practices in Europe, especially as no prior best practices exist in this domain. page: 7 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 8 of 229 Target Platforms, target Requirements and Platform IPRs Guidance for Readers We appreciate that this is a dense Report with a huge amount of detail and information. In order to aid the Reader we propose that Readers who cannot devote the time to read the complete Report concentrate on the following Chapters:Chapter 1 - all Chapter 2 – We would recommend that readers read at least the following sections of Chapter 2 as these sections highlight those platforms that will be prioritized for implementation of webinos i.e. Windows 7 Desktop, Mac (desktop), Android, Linux (Debian Distribution) and MeeGo Chapter 3 – all Chapter 4 – all Chapter 5 – all page: 8 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 9 of 229 Target Platforms, target Requirements and Platform IPRs Chapter 1 Introduction Based on the preferences of the consortium partners and their customers and the findings and recommendations provided by our earlier Report on Landscape and IPR Analysis, this Report will assess and recommend the most appropriate platforms which are selected for the initial and long term realization of the webinos reference system. According to the selected platforms, this task will also identify special requirements to the architectural design which may be raised by the platform selection. Thus, the risk of introducing design issues later in webinos is reduced. Further to the technical considerations, the task shall base its selection of platform (or parts thereof) also considering underlying IPR and licensing models. Only if these are acceptable to a wider community, can the solution be really successful. This Report shall also produce recommendations on the IPR, licensing and governance models that should constitute to best practices in Europe (especially as no prior best practices exist in this domain) and will be crucial for progressing and "open sourcing" webinos deliverables. Comparison Criteria & Methodology The focus of the document is to provide justification and rationale for the selected primary & secondary target platforms. It must be stressed that the aim is not to duplicate the work in webinos Report Landscape, Governance & IPR but leverage and extend it. The aim of the document is to capture and gauge the know-how of the consortium and more importantly the market sentiment as this is perceived by the project partners via their customers and contact with the broader industry. Therefore the criteria was compiled and reviewed within webinos focusing on the qualitative criteria that were not captured in our earlier investigations (e.g. market sentiment and industry partner perspective) but also on the technical side focusing on feasibility (technical know-how within the consortium, source code availability), interoperability (cross-platform code bases) and estimated commercial viability. In short, this document goes beyond defining a rigid set of specifications and into a more pragmatic approach on how webinos should minimize risk in order to deliver a successful end product in time. More importantly this document builds on our earlier Reports along with partner insights and further analysis in the document in order to produce a recommendation for the IPR, licensing and governance model that will be adopted by webinos to ensure virality, commercial traction and nourish the creation of business models above it. The remaining of the section lists all the criteria (technical, commercial, IPR/licensing) that were decided and considered by the partners for analysis and assessment of the individual platforms (OSes and Web run-time environments) page: 9 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 10 of 229 Target Platforms, target Requirements and Platform IPRs Technical Commercial and Licensing info criteria capture template Introduction¶ General overview of platform (MAX THREE PARAGRAPHS): Background - when was it launched? Ownership - who owns it? Relevance - what is its relevance for webinos implementation? Part A1: Technical Information (web rendering engines) ¶ Web components¶ Briefly describe (MAX THREE PARAGRAPHS): HTML 4 rendering capabilities HTML 5 rendering capabilities JavaScript engine capabilities Widget availability Briefly describe (MAX THREE PARAGRAPHS): Digital signature code availability How are widgets packaged? WARP implementation Extensibility framework (feature tags) Part A2: Technical Information (Operating Systems) General OS features Portability Security Connectivity Reliability Technical criteria Usability Criteria Product Diversity On which devices or platforms is the OS available How the High level components like Certificate management, Privilege apps and Cryptography are met? How well are connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX are supported? What is the general developer and end user feedback on the stability of the platform? What is ‘Memory footprint’ the amount of memory used by the operating system In these platforms? How well are technical criteria like Power management, Multitasking, Multiprocessing, Configuration possibility, Memory requirements satisfied for webinos? How well does the platform address usability? The possibility to innovate and develop new applications API codebase¶ Is there platform (or 3rd party) support for some of the more critical, and more sensitive enablers like Bluetooth, RFID, DNS, UPNP, USB? Note: webinos will require access to a number of low level capabilities as identified in various Architecture and API specifications. For each of these features it is worth identifying 3rd party APIs that can be used to implement this capability. For example, if the Bluetooth support on a particular Linux distribution is poor, this could jeopardise a successful implementation. page: 10 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 11 of 229 Target Platforms, target Requirements and Platform IPRs Part B: Commercial information¶ Device coverage On how many differing device types can this platform support? Platform maturity How stable (i.e. free from bugs) is this platform? Market How widely is this platform deployed in the market and penetration/availability products? Availability Is there an Implementation available that can be used by webinos? Feasibility Is webinos implementable within a reasonable time frame? Partner perspective Who are the customers, existing codebase, market outlook, resources, exploitation plans? Risks What are the risks related to using this platform for webinos implementation? Part C: Licensing and Governance¶ Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms project mailing lists, forums, bugtracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the page: 11 of 229 4. Yes 3. No – discriminates with regard to a. developers, b. source code or c. time 2. No – discriminates with regard to two of the above 1. No – discriminates with regard to all of the above ? Not known 4. Yes – approved license and permissive (e.g. Apache, BSD, MIT) 3. Yes – approved license and weak copyleft (e.g. Eclipse Public License, GNU LGPL v2/v3) 2. Yes – approved license and strong copyleft (e.g. GNU GPL v2/v3) 1. No – unapproved licensed/proprietary license ? Not known 3. Yes – developer support mechanisms open to all developers 2. No – developer support mechanisms are limited, e.g., access to bug-tracking dbase not provided 1. No – there are poor developer support mechanisms ? Not known 4. Yes – full roadmap available, with explicit call for contributions to the roadmap 3. Yes – roadmap information available but no call for contributions or similar 2. No – No formal roadmap exists, but there are visible committer or contributor requests 1. No ? Not known 4. Yes 3. Yes – there is some information but it is hard to find and doesn't appear comprehensive 2. No – but the intent is to provide more information Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 12 of 229 Target Platforms, target Requirements and Platform IPRs project? and make the process more open 1. No ? Not known Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 4. Yes – contributions and acceptance process are clear, with progress status of contributions provided 3. Yes – contributions process and acceptance process are clear, but no progress status of contributions provided 2. No – contributions process only, with progress status of contributions provided 1. No – contributions process only, no progress status of contributions provided ? Not known 4. Yes – there are good project statistics that provide this information 3. Yes – but you must manually find and collate the information from various project sources 2. No – although you may be able to find this information by checking the copyright notices attached to each file/contribution 1. No ? Not known 3. Yes – the process is documented and accessible to all developers 2. No – the process is vague/unclear so we do not know if it is accessible to all developers 1. No – commit access is restricted to specific users/members of the Project only ? Not known 3. Yes – there are good project statistics that provide this information 2. Yes – but you must manually find and collate the information from various project sources 1. No – this information is not provided ? Not known 4. Yes – project requires a copyright assignment and patent grant 3. Yes – project requires a copyright license and patent grant 2. Yes – project requires a copyright license/'sign-off' process 1. No – no contribution license ? Not known Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior page: 12 of 229 2. No – You can freely distribute to the code and use the project trademark without completing formal compliance requirements Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 13 of 229 Target Platforms, target Requirements and Platform IPRs to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes – code must go through a formal compliance process prior to be distributed to other parties ? Not known 4. No 3. Yes – restricted by approval, distribution or discovery 2. Yes – restricted by two or more of approval or distribution or discovery 1. Yes – restricted by all, i.e., approval, distribution and discovery ? Not known Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – there is no formal membership or discrimination between the rights of members and non-members from a development/access perspective 1. Yes – there are tiered rights depending on membership status ? Not known Summary Total Score Summary of all governance points added (when unsure about a question, allocate zero points) Additional comments (Any additional comments on the governance model analysis go here - but please be short and concise, not verbose) Part D: Summary Verdict Is this platform suitable for webinos? Write yes/no conclusion here SWOT Swot analysis in relation to webinos: Strengths - Strength 1 - Strength 2 Weaknesses - Weakness 1 - Weakness 2 Opportunities - Opportunity 1 - Opportunity 2 Risks - Risk 1 - Risk 2 Platform-partner assignments Note that the following Partners undertook analysis of software platforms based on the above template. page: 13 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 14 of 229 Target Platforms, target Requirements and Platform IPRs Domain Platform Partner PC Windows 7 NTUA PC OSX NTUA PC Debian ISMB PC FreeBSD ISMB Mobile/tablet Symbian Impleo Mobile/tablet Android UNICT Mobile/tablet webOS FutureText Mobile/tablet Windows phone FutureText Mobile/tablet iOS Telecom Italia Mobile/tablet BADA Samsung Mobile/tablet Blackberry Telecom Italia Mobile/tablet Linux (RAW) Samsung Mobile/tablet Meego Impleo Mobile/tablet Ubuntu Unity ISMB Home media Android/GoogleTV UNICT Home media Mediaroom DT Home media MythTV Fraunhoffer Home media Meego Fraunhoffer Home media Phillips NetTV Fraunhoffer Home media Samsung TV TNO Home media HbbTV TNO Home media XBMC Fraunhoffer Home media Apple TV DT Automotive Meego IVI (Genivi) BMW page: 14 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 15 of 229 Target Platforms, target Requirements and Platform IPRs Automotive Android (Autolinq) UNICT Automotive Microsoft Auto (Ford sync, Fiat Blue&Me) TUM Automotive QNX (ConnectedDrive) BMW Web rendering engines Mozilla UNICT Web rendering engines Qt TUM Web rendering engines Chromium TNO page: 15 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 16 of 229 Target Platforms, target Requirements and Platform IPRs Chapter 2¶ Operating Systems Analysis Based on the criteria template defined in section 2, this section provides an analysis of all base-platforms (Operating Systems and Wed Runtime Engines) which complements the findings of our earlier Report (Landscape, Governance & IPR), in order to provide the rationale and justification of the shortlisted platforms that will be targeted primarily during the implementation phase of webinos. As with the entire scope of this deliverable, the analysis is geared towards technical, licensing, commercial perspective but focusing more on integration, feasibility and viability (market traction) perspective of the platforms. Integration; to ensure coherency and interoperability, feasibility; to ensure that an end product can be delivered within the timeframe, and viability; to minimize market related risks in the mid-/long-run of the project. PC Windows 7 Microsoft Windows is a series of software operating systems and graphical user interfaces produced by the Microsoft Corporation . Microsoft first introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs). Microsoft Windows came to dominate the world's personal computer market, overtaking Mac OS, which had been introduced in 1984. As of October 2009, Windows had approximately 91% of the market share of the client operating systems for usage on the Internet (Global Stats ). The most recent client version of Windows is Windows 7 ; the most recent server version is Windows Server 2008 R2 ; the most recent mobile OS version is Windows Phone 7 . Windows 7 is the current major commercial release after Windows Vista and was released to manufacturing on July 22, 2009, and reached general retail availability on October 22, 2009. It was previously known by the codenames Blackcomb and Vienna. Some features of Windows 7 are faster booting, Device Stage , Windows PowerShell , less obtrusive User Account Control , multi-touch, and improved window management. Features included with Windows Vista and not in Windows 7 include the sidebar (although gadgets remain) and several programs that were removed in favour of downloading their Windows Live counterparts. Windows 7 ships in six editions: Starter (available worldwide with new PCs only), Home Basic, Home Premium, Professional, Enterprise (available to volume-license business customers only) and Ultimate (available to retail market with limited availability to OEMs) In some countries (Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, United Kingdom, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, page: 16 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 17 of 229 Target Platforms, target Requirements and Platform IPRs Romania, Slovakia, Slovenia, Spain, Sweden, and Switzerland), there are other editions that lack some features such as Windows Media Player, Windows Media Center and Internet Explorer called names such as "Windows 7 N." Microsoft focuses on selling Windows 7 Home Premium and Professional. All editions, except the Starter edition, are available in both 32-bit and 64-bit versions. Webinos sets out to make it possible to use and share applications consistently and securely over a broad spectrum of converged, connected devices, including mobile, home media (TV), PC or automotive. As Windows is by far the most popular PC operating system, it is fundamental that webinos should be provided to Windows-based systems. Part A1: Technical Information (web rendering engines)¶ Web components¶ Trident (also known as MSHTML ) is the name of the layout engine for the Microsoft Windows version of Internet Explorer. The currently distributed version is v5.0, which is included in Microsoft Internet Explorer 9.0. Since Trident v4.0 in Internet Explorer 8.0, HTML4 is rendered mostly to the W3C recommendation, apart from a reported incorrect implementation of the style stylesheet element and the noscript script element. Trident v5.0 in Internet Explorer 9.0 supports HTML5 to most of the W3C recommendation, excluding the following element attributes: media kind label src srclang And the following DOM attributes MediaError And the following Video format support: Ogg Theora WebM VP8 And the following audio format support: Ogg Vorbis WAV PCM Speex In total, i.e. 9 on a x64 windows 7 scores 141 and 5 bonus points out of a total of 450 points on the HTML5 rendering test provided by http://html5test.com/results.html . Chakra is a JScript engine developed by Microsoft for Internet Explorer 9 (IE9). A distinctive feature of the 32-bit version of the engine is that it "JIT compiles scripts on a separate CPU page: 17 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 18 of 229 Target Platforms, target Requirements and Platform IPRs core, parallel to the web browser. The engine is also able to access the computer's graphics processing unit (GPU), in particular for 3D graphics and video. More references: http://www.browserscope.org/?category=summary&ua=IE* http://html5test.com/results.html http://html5demos.com/ Widget availability Windows support widgets since Windows Vista and they are called Microsoft Gadgets . They are lightweight single-purpose applications, or software widgets, that can sit on a Microsoft Windows user's computer desktop, or are hosted on a web page. According to Microsoft, it will be possible for the different types of gadgets to run on different environments without modification, but this is currently not the case. The gadgets are actually HTML files compressed in a ZIP archive, renamed to .CAB, where the developers can place javascript, css files etc. Microsoft provides Jscript APIs that expose functionality in the following areas: Gadget functionality, such as Sidebar and gadget state and event handling. System functionality, such as file, network, and operating system information. Presentation functionality, such as gadget background, image, and text handling. The archives can be digitally signed through the Microsoft .NET Framework SDK and the provided Crypto API . The Windows Advanced Rasterization Platform (WARP10 ) is the software rasterizer device that is a component of Windows Graphics runtime in Windows 7. WARP is based on the reference rasterizer codebase. Therefore, WARP uses the same software interface to both Direct3D 10 and DXGI. WARP is included in Windows 7 in the D3d10warp.dll, located in Windows systems folders. Two versions of WARP are installed on 64 bit machines, an x86 and x64 version. The x64 version might run faster in certain circumstances because the code generator contained in WARP can take advantage of the additional registers that are available when users run 64-bit applications. WARP contains the following two high-speed, real-time compilers: The high-level intermediate language compiler that converts HLSL byte code and the current render state into an optimized stream of vector commands for the geometry shader (GS), vertex shader (VS), and pixel shader (PS) stages of the pipeline. The high-performance just-in-time code generator that can take these commands and generate optimized SSE2 , SSE4.1 , x86, or x64 assembly code. Microsoft gadgets support all Jscript Frameworks like JQuery , Dojo etc. since it is just plain HTML rendered through the Trident rendering engine. Windows gadgets provide the feature through custom JavaScript objects that retrieve system information using the Windows Management Information (WMI). They may be used page: 18 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 19 of 229 Target Platforms, target Requirements and Platform IPRs to display information such as the system time and Internet-powered features such as RSS feeds, and to control external applications such as Windows Media Player. The MSHTML runtime is configured with the set of permissions given to HTAs or the Local Machine Zone security configuration. Part A2: Technical Information (Operating Systems) General OS features:Portability Portability of Windows 7 is not officially supported. Some third party implementations can achieve this through hardware virtualisation on other OSs, but Windows are designed to sit directly on either IA-32 or x86-64 platforms. Security Microsoft Internet Explorer always uses the TLS implementation of the underlying Microsoft Windows Operating System, a service called SChannel Security Service Provider . Internet Explorer 8 in Windows 7 and Windows Server 2008 R2 supports TLS 1.2 . Windows 7 and Windows Server 2008 R2 use the same code (Microsoft Windows Version 6.1 (build 7600)). There are three certificate stores in Windows . 1. User Account store: A user specific space where certificates are installed into. 2. Service Account store: This store contains all certificates used by the service user account (network or local). 3. Computer store: Certificated installed in this store are inherited to each and every user account store. Certificates are stored into specific regions depending on their use. The available regions are: Personal (can be known as My when using scripts to add certs) Trusted Root Certification Authority (can be known as Root) Enterprise Trust Intermediate Certification Authority Active Directory User Object Trusted Publishers Untrusted Certificates Third Party Root Certification Authorities Trusted People Windows 7 introduces HTTP enrolment protocols that enable policy-based certificate enrolment across Active Directory forest boundaries and over the Internet. These changes enable new certificate enrolment scenarios that allow organizations to expand the accessibility of existing public key infrastructure (PKI ) deployments and reduce the number of certification authorities (CAs ). page: 19 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 20 of 229 Target Platforms, target Requirements and Platform IPRs All Windows versions from Windows NT 3 have been based on a file system permission system referred to as AGDLP (Accounts, Global, Domain Local, Permissions) which in essence where file permissions are applied to the file/folder in the form of a 'local group' which then has other 'global groups' as members. These global groups then hold other groups or users depending on different Windows versions used. This system varies from other vendor products such as Linux and NetWare due to the 'static' allocation of permission being applied directory to the file or folder. However using this process of AGLP/AGDLP/AGUDLP allows a small number of static permissions to be applied and allows for easy changes to the account groups without reapplying the file permissions on the files and folders. User Account Control (UAC) is a technology and security infrastructure introduced with Microsoft's Windows Vista and Windows Server 2008 operating systems, with a more relaxed version also present in Windows 7 and Windows Server 2008 R2. It aims to improve the security of Microsoft Windows by limiting application software to standard user privileges until an administrator authorizes an increase or elevation. In this way, only applications trusted by the user may receive administrative privileges, and malware should be kept from compromising the operating system. In other words, a user account may have administrator privileges assigned to it, but applications that the user runs do not inherit those privileges unless they are approved beforehand or the user explicitly authorizes it. The Encrypting File System (EFS ) on Microsoft Windows is a feature introduced in version 3.0 of NTFS that provides file-system-level encryption. The technology enables files to be transparently encrypted to protect confidential data from attackers with physical access to the computer. EFS is enabled in all versions of Windows meant for professional use from Windows 2000 onwards. However, since significant caveats exist for its use, no files are encrypted by default and must explicitly be invoked by the user (in organizational settings encryption can also be mandated through Group Policy). Cryptographic file system implementations for other operating systems are available, but generally incompatible with the Microsoft EFS. BitLocker Drive Encryption is a full disk encryption feature included with the Ultimate and Enterprise editions of Microsoft's Windows Vista and Windows 7 desktop operating systems, as well as the Windows Server 2008 and Windows Server 2008 R2 server platforms. It is designed to protect data by providing encryption for entire volumes. By default it uses the AES encryption algorithm in CBC mode with a 128 bit key, combined with the Elephant diffuser for additional disk encryption specific security not provided by AES. BitLocker is available only in the Enterprise and Ultimate editions of Windows Vista and Windows 7. Users of other versions of Windows that don't include BitLocker could use a 3rd party encryption program to satisfy the need for full drive encryption (see Comparison of disk encryption software). In the RTM release of Windows Vista, only the operating system volume could be encrypted using the GUI and encrypting other volumes required using WMI-based scripts included in Windows Vista in the Windir\System32 folder. An example of how to use the WMI interface is in the script manage-bde.wsf, that can be used to set up and manage BitLocker from the command line. With Windows Vista Service Pack 1 and Windows Server 2008, volumes other than the operating system volume can be BitLockerprotected using the graphical Control Panel applet as well. The latest version of Bitlocker, page: 20 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 21 of 229 Target Platforms, target Requirements and Platform IPRs included in Windows 7 and Windows Server 2008 R2, adds the ability to encrypt removable drives. Connectivity Windows can support GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX connectivity, provided the appropriate hardware module and device drivers. Windows provide a number of generic drivers for many connectivity interfaces, although third party implementations from the hardware manufacturers is proposed. Windows Driver Foundation (WDF ) is a set of Microsoft tools that aid in the creation of device drivers for Windows 2000 and later versions of Windows. The primary tools that comprise WDF are the Kernel Mode Driver Framework (KMDF) and User Mode Driver Framework (UMDF). These tool kits provide a new object-oriented programming model for Windows driver development. The primary goal of the Frameworks is "Conceptual Scalability", that is the characteristics of only requiring a driver developer to learn a few simple concepts to be able to write a simple driver, and to be able to incrementally learn more when more complex driver features are required. This differs markedly from the Windows Driver Model (WDM) that requires driver developers to be fully familiar with many complex technical details before writing even a simple driver. Microsoft also runs a certification program, WHQL Testing, through which most drivers are digitally signed by Microsoft as compatible with the operating system, especially on 64-bit versions. All network interfaces can be transparent to the application developer, since they can be handled as a unified entity under the Windows platform and let the OS handle the routing and the ARP requests Reliability The reliability of the platform is considered to be rising with each subsequent release and therefore the perceived reliability of the latest version is what should be expected from the most mature operating system. Nevertheless, several tools such as the Reliability Monitor can keep track of the system or program crashes an error on a statistical level. The Windows System Assessment Tool (WinSAT ) is a module of Microsoft Windows Vista and Windows 7, which measures various performance characteristics and capabilities of the hardware it is running on and reports them as a Windows Experience Index (WEI ) score, a number from 1.0 and 5.9 for Windows Vista and from 1.0 and 7.9 for Windows 7. The WEI is due to increase its maximum score with future updates. The WEI includes five subscores: processor, memory, 2D graphics, 3D graphics, and disk; the base score is equal to the lowest of the subscores. Microsoft intends that software publishers list WEI scores to specify hardware requirements instead of specific technical parameters (such as "256MB of RAM or more"). Microsoft also intends that hardware manufacturers publish the WEI scores of their computers. However, very few software or hardware vendors have done so to date. Technical Criteria Windows 7 features improved multithreading capabilities over its predecessors, reducing power consumption, and avoiding swapping threads between cores, which prevented them page: 21 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 22 of 229 Target Platforms, target Requirements and Platform IPRs from entering lower power states and caused cache thrashing as separate cores raced to grab data processed by others. The Windows 7 kernel has improved thread affinity, locking threads to particular cores in order to allow unused CPU cores to enter low power C-states when they’re not in use called thread parking. Windows Performance Monitor is a Microsoft Management Console (MMC ) snap-in that provides tools for analysing system performance. From a single console, the user can monitor application and hardware performance in real time, customize what data he wants to collect in logs, define thresholds for alerts and automatic actions, generate reports, and view past performance data in a variety of ways. Windows Performance Monitor combines the functionality of previous stand-alone tools including Performance Logs and Alerts (PLA), Server Performance Advisor (SPA), and System Monitor. It provides a graphical interface for the customization of Data Collector Sets and Event Trace Sessions. Windows Performance Monitor performs data collection and logging using Data Collector Sets. Windows 7 features a hybrid kernel, a kernel architecture based on combining aspects of microkernel and monolithic kernel architectures. Windows operating systems based on the NT kernel (including all currently supported versions of desktop Windows) are technically much more stable than some older versions (including Windows 3.1 and 95/98), as these older versions do not properly protect the kernel's data structures. Installing unsigned or beta drivers can lead to decreased system stability. Reboots are usually required after system and driver updates. Microsoft has its hotpatching technology, designed to reduce downtimes. In modern, NT-based versions of Windows, programs that crash may be forcibly ended through the Windows Task Manager by pressing CTRL+SHIFT+ESC or CTRL+ALT+DEL. If Windows fails to boot properly, it is possible to boot to safe mode in order to recover the system. Also, for Windows 2000, XP and 2003 the Recovery Console can be utilized, which was replaced in Windows Vista with the System Recovery Options menu. If the kernel or a driver running in kernel mode encounters an error under circumstances whereby Windows cannot continue to operate safely, a "bug check" is thrown. A memory dump is created and, depending on the configuration, the computer may then automatically restart. Additionally, automatic restart can be applied to services. Windows NT family (including 2000, XP, Vista, Win7) most commonly employs a dynamically allocated pagefile for memory management. A pagefile is allocated on disk, for less frequently accessed objects in memory, leaving more RAM available to actively used objects. This scheme suffers from slow-downs due to disk fragmentation (if a variable size paging file is specified), which hampers the speed at which the objects can be brought back into memory when they are needed. Windows XP and later can defragment the pagefile, and on NTFS filesystems, intelligently allocate blocks to avoid this problem. Windows can be configured to place the pagefile on a separate disk or partition. However, this is not default behaviour, because if the pagefile is on a separate partition, then Windows cannot create a memory dump in the event of a Stop Error. Microsoft does not recommend disabling virtual memory in Windows because of this reason. Also, it is not recommended to place the paging file on a different partition on the same physical hard disk, as this will cause the drive's page: 22 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 23 of 229 Target Platforms, target Requirements and Platform IPRs read/write heads to jump between the Windows and paging file partitions, which causes a loss of I/O performance that outweighs any gains of having the paging file defragmented. Windows kernel is modular and there is no current standard memory footprint that can be attributed to all Windows 7 based systems. Microsoft designed Windows 7 with a strong focus on reducing the overall power consumption by investing in key areas of the platform including performance optimizations, idle resource utilization, device power management, and key end-user scenarios. Energy efficiency requires investments across the entire platform, not only in the core hardware or in the operating system. While Windows 7 can have a significant impact on platform energy efficiency, attached devices, and non-Microsoft and end-user applications, other platform extensions often have a larger total impact. The complexity and quantity of platform extensions require a broad approach to energy efficiency beyond focusing on a single component in the platform. In addition to core investments in Windows 7, Microsoft has emphasized ecosystem engagements for energy efficiency. Ecosystem partners, including IT pros, may leverage Windows 7 technical documentation, built-in diagnostic tools, and rich performance analysis tools to help identify issues across the enterprise. All of Webinos requirements in this field are met. Usability Criteria The Windows user focus is considered mostly consistent. Inconsistencies appear primarily through backports—software ported from newer operating systems to older ones. For example, software ported from Vista to XP must follow the Vista or Windows 7 guidelines, those of the newer system. However, Microsoft continually pushes for consistency between releases with guidelines for interface design. Their focus is on consistency and usability. Third-party applications may or may not follow these guidelines, may have their own guidelines, or may not follow any rules for interface design. By default, Windows only offers customization of size and color of the graphical elements, and it is typically not possible to change how the interface reacts to user input. A few third-party programs allow more extensive customization, like WindowBlinds or LiteStep, but extreme changes are usually out of reach. It is not possible to customize applications that do not use the default look-and-feel beyond the options the specific application offers. Product Diversity Microsoft is well known for not following standards but rather create its own. During the past 2 years, this attitude has changed and the company has gradually increased support of standards. In this context, Microsoft has produced the .NET Framework under the ECMA standard. The .NET Platform programming languages — including Visual Basic .NET, Visual C# , Managed Extensions for C++, and many other programming languages from various vendors — use .NET Framework services and features through a common set of unified classes. The .NET unified classes provide a consistent method of accessing the platform's page: 23 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 24 of 229 Target Platforms, target Requirements and Platform IPRs functionality. Native applications can also be developed using ANSI C/C++, or any other framework that supports Windows, e.g. Java, Ruby, Pearl and QT. Microsoft provides the Windows API , which provides advanced interaction with the OS, providing software developers to use the built-in encryption mechanism APIs, network services. Implementations are provided for most common Data Exchange mechanisms, such as Pipes, TCP/UDP package flows. Microsoft also implements its own Microsoft Message Queuing. MSMQ is essentially a messaging protocol that allows applications running on separate servers/processes to communicate in a failsafe manner. Many IT courses are written for participants to learn how to use and manage Windows systems and networks. Most computer assistance experts have Windows training and qualifications. API codebase Windows 7 Operating System supports all webinos APIs, including Bluetooth, RFID, DNS and DLNA, either via drivers and hardware modules or via Windows Media Player and other applications that are provided bundled with the OS. Every hardware manufacturer that provides products for Windows based systems will also provide the drivers to support them. Part B: Commercial information Device Coverage Portability of Windows 7 is not officially supported. Some third party implementations can achieve this through hardware virtualisation on other OSs, but Windows are designed to sit directly on either IA-32 or x86-64 platforms. Platform Maturity Windows is being developed since 1981 and is considered a very mature operating system. In all, the estimated worldwide desktop usage share for Windows is 80.99%, based on w3counter and 86.3%, based on W3Schools. Windows is easily available worldwide. The current Windows 7 implementation is perfectly capable of supporting all features proposed for the webinos platform, while Microsoft provides all the tools necessary for its implementation on this OS. Market penetration/availability In July 2009, in only eight hours, pre-orders of Windows 7 at Amazon.co.uk surpassed the demand Windows Vista had had in its first 17 weeks. It became the highest-grossing preorder in Amazon's history, surpassing sales of the previous record holder, the seventh Harry Potter book. After 36 hours, 64-bit versions of Windows 7 Professional and Ultimate editions sold out in Japan. Two weeks after its release, it was announced that its market share had surpassed that of Snow Leopard, released two months previously as the most recent update to Apple's Mac OS X operating system. According to Net Applications, Windows 7 reached a page: 24 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 25 of 229 Target Platforms, target Requirements and Platform IPRs 4% market share in less than three weeks. In comparison, it took Windows Vista seven months to reach the same mark. As of March 4, 2010, Microsoft announced that it had sold more than 90 million Windows 7 licenses. On April 23, 2010, Windows 7 has sold more than 100 million copies in six months which made it Microsoft's fastest selling operating system. As of June 23, 2010, Windows 7 has sold 150 million copies which made it the fastest selling operating system in history with seven copies sold every second. Based on worldwide data taken during June 2010 from Windows Update 46% of Windows 7 PCs run the 64-bit edition of Windows 7. According to Stephen Baker of the NPD Group during April 2010 in the United States 77% of PCs sold at retail were pre-installed with the 64-bit edition of Windows 7. As of July 22, 2010, Windows 7 had sold 175 million copies. On October 21, 2010, Microsoft announced that more than 240 million copies of Windows 7 had been sold. Three months later, on January 27th, 2011, Microsoft announced total sales of 300 million copies of Windows 7. Availability The current Windows 7 version of the OS can be used by webinos, while backwards compatibility can be achieved effortlessly in some cases. Feasibility Developing webinos applications for Windows will provide a very strong starting point, as the majority of software developing companies build applications of this OS. The support for developing Windows application is strong and they can be developed faster than on most other OSes. The Windows 7 software market accounts for 29.46% of all Operating Systems, including mobile Operating Systems, such as Android, Symbian, BlackBerry OS etc. Windows customers range from home users, to large organisations and countries, therefore providing diversity equal to the user-base. Risks Microsoft does not use open standards, therefore any change made to the OS’ implementation might happen unexpectedly and might not be easily handled, even though Microsoft has provided sufficient consistency between versions, in order to satisfy the cast number of developers associated with Microsoft technologies. Part C: Licensing information Source code availability Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing page: 25 of 229 2. No – discriminates with regard to developers and source code 1. No – unapproved licensed/proprietary license for some code 3. Yes – developer support Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 26 of 229 Target Platforms, target Requirements and Platform IPRs lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? mechanisms open to all developers 3. Yes – roadmap information available but no call for contributions or similar 1. No Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1. No – contributions process only, no progress status of contributions provided 1. No 1. No – commit access is restricted to specific users/members of the Project only 1. No – this information is not provided 1. No – no contribution license Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 2. No – You can freely distribute to the code and use the project trademark without completing formal compliance requirements 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 22 Part D: Summary Verdict page: 26 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 27 of 229 Target Platforms, target Requirements and Platform IPRs The use-base of the Windows OS is large enough that a Windows version of webinos is crucial for the project’s success. Even though the OS’s source code is not available to users, nevertheless, developing webinos is not hindered by this. In most cases, access to the OS’s source code does not affect the implementation of applications and frameworks built for it. The documentation available for developers is vast and there are millions of third party contributors to this knowledge base. Third party open source code is also available for developers, as well as open source code from Microsoft for various uses. It is very likely that Windows does already include everything that might be needed for a webinos implementation. SWOT Strengths - Fully-established project - Mature platform and fully featured - It will continue to be developed for a long time - Extremely big community of users and developers - Vast development documentation with extended resources from both MSDN, as well as the developing community in general, either from MSND blogs and other Microsoft sources, or external content from the community in general Opportunities - The vast majority of desktop PC users will be reached if webinos is built for Windows - Probably the majority of webinos applications will be available in this OS Weaknesses - Windows development resources (SDKs, APIs etc) are controlled by Microsoft and are not freely available - Changes in the implementation of the Windows platform might not be easily identified when newer versions are released - Unclear updates might mask threats to compatibility Risks - In the long run, outdated webinos builds have to renew the compatibility with newer versions of Windows, since backwards compatibility can be withdrawn by Microsoft with little or no prior notice . page: 27 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 28 of 229 Target Platforms, target Requirements and Platform IPRs MAC OS-X Introduction Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc . Since 2002, Mac OS X has been included with all new Macintosh computer systems and is the successor to Mac OS 9 , released in 1999, the final release of the "classic" Mac OS, which had been Apple's primary operating system since 1984. Mac OS X, whose X is the Roman numeral for 10 and is a prominent part of its brand identity, is built on technologies developed at NeXT between the second half of the 1980s and Apple's purchase of the company in late 1996. Mac OS X runs on Intel processors and has gained the UNIX 03 certification since version 10.5. The current version of the operating system is version 10.6, codenamed ‘Snow Leopard’. One of the major differences between the previous versions of Mac OS and OS X is the addition of the Aqua GUI , a graphical user interface with water-like elements. Every window element, text, graphic, or widget is drawn on-screen using anti-aliasing technology. ColorSync, a technology introduced many years before, was improved and built into the core drawing engine, to provide colour matching for printing and multimedia professionals. The human interface guidelines, published by Apple, are followed by most applications, giving them a consistent user interface and keyboard shortcuts. In addition, new built-in services for applications are provided, which include spelling and grammar checkers, special characters palette, colour picker, font chooser and a dictionary. OpenGL is used for hardware-accelerated window compositing. This technology, introduced in version 10.2, is called Quartz Extreme, a component of Quartz . Quartz's internal imaging model correlates well with the Portable Document Format (PDF) imaging model, making it easy to output PDF to multiple devices. Other features of note include Exposé, a feature which provides easy access to application windows; Dashboard, a full-screen group of desktop widgets; Front Row, a media viewer interface accessed by the Apple Remote; Filevault, an optional encryption scheme for the user's files; and Quick Look, which allows for dynamic previews of file contents, including video and multi-page documents. Mac OS X currently ships in two separate versions: the desktop-oriented version and Mac OS X Server, the latter being architecturally identical to its desktop counterpart, except that it includes work group management and administration software tools, in order to provide simplified access to key network services, including a mail transfer agent, AFP and SMB servers, an LDAP server, a domain name server, etc. It should be noted, however, that the two versions will merge and will be no longer sold separately with the release of the next version of Mac OS X, codenamed ‘Lion’. Furthermore, Apple produces specialized versions of OS X for use on its consumer devices, such as the iOS operating system for the iPhone, iPod Touch, iPad and Apple TV, while both operating systems share a common development environment and programming framework. As to this, webinos support for Mac OS X would not only provide support for an operating system of growing popularity and market penetration, but also allow for the simultaneous development for other Apple product lines, such as mobile devices and media players. page: 28 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 29 of 229 Target Platforms, target Requirements and Platform IPRs Part A1: Technical Information (web rendering engines) Web components WebKit is a BSD-licensed open source web browser engine integrated in Mac OS X and used by the built-in web browser, called Safari. Cocoa, the development framework for Mac OS X applications, includes the WebKit framework, allowing for its use in the development of third-party native applications. Web standards compliance and compatibility are two primary goals for the development of WebKit. Safari 5.0.5 , which is the latest version at the time of this writing, scores 100/100 in the Acid3 test , which is developed by the Web Standards Project and checks for DOM2 scripting capabilities, HTML4, XHTML 1.0 and CSS 2.1 compliance. As far as HTML5 is concerned, Safari 5.0.5 provides support for HTML5 media elements, sectioning elements, AJAX history, the sandbox attribute, partial forms validation support, HTML5 storage features and geolocation. The following HTML5 features are not supported: HTML5 tree building SVG and MathML in text/html Date-based fields Form events Microdata Seamless iframe elements The device element As far as media format support is concerned, Safari 5.05 provides support for the MPEG-4 and H.264 video codecs, as well as the PCM, MP3 and AAC audio codecs. Support is not provided for HTML5 subtitles or the Ogg Vorbis and WebM audio and video codecs. In total, Safari v.5.0.5 on OSX v.10.6.8 scores 253 and 7 bonus points out of a total of 450 points on the HTML5 rendering test1 . As of 2008, the Javascript engine included in WebKit and Mac OS X is SquirrelFish, which is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation2. Widget availability Widgets are supported since Mac OS X v10.4 through the Dashboard application. When Dashboard is activated, the user's desktop is dimmed and widgets appear in the foreground. Like application windows, they can be moved around, rearranged, deleted, and recreated (so that more than one of the same Widget is open at the same time, possibly with different settings). New widgets can be opened, via an icon bar on the bottom of the layer, by dragging a widget icon out into the layer. After loading, the widget is ready for use. 1 2 How well does your Browser support HTML 5?, http://html5test.com/results.html Broswerscope - Safari, http://www.browserscope.org/?category=summary&ua=Safari* page: 29 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 30 of 229 Target Platforms, target Requirements and Platform IPRs Dashboard widgets are created using HTML, CSS and JavaScript, as they are, at the core, simply HTML files that are displayed within the Dashboard layer through the WebKit application framework for rendering widgets. When a Dashboard widget is built, it usually consists of six files: The widget's HTML file, which is the actual file that will be displayed in the Dashboard layer The widget's CSS file, used for styling the widget The widget's JavaScript file The widget's Property List (called “Info.plist”), used to describe the widget’s properties and metadata (i.e.: name, version, HTML file, etc.) The background image of the widget, in PNG format The icon that is displayed in the menu bar Once all of these files are in the root of a directory, it is given a name and the extension ".wdgt", and then it can be opened up in Dashboard as a widget. More complex widgets may also include a Cocoa widget plugin for platform-specific functionality. Mac OS X v10.5 ‘Leopard’ includes an application called Dashcode, which is a more userfriendly way of creating widgets. Another new feature of Mac OS X Leopard is called "Web Clips" which lets users easily create widgets from parts of a webpage. Part A2: Technical Information (Operating Systems) General OS features OS X is available for PowerPC: versions 10.0 through 10.5, IA-32: versions 10.4 through 10.6, x86-64: versions 10.4 through 10.7 The Darwin core currently includes support for both 32-bit and 64-bit variants of the Intel x86 processor used in the Mac and Apple TV as well as the 32-bit ARM processor used in the iPhone, iPod Touch and iPad. An open-source port of the XNU kernel exists which supports Darwin on Intel and AMD x86 platforms not officially supported by Apple. As of Mac OS X 10.6 ‘Snow Leopard’, support for the PowerPC architecture has been dropped. Portability Darwin supports the POSIX API by way of its BSD lineage and a large number of programs written for various other UNIX-like systems can be compiled on Darwin with no changes to the source code. However, the same does not apply for the proprietary Apple components of Mac OS X, mainly relating to the graphical user interface, which are not portable to other UNIX or POSIX-compliant systems or architectures not officially supported by Apple. Only the Server version of the operating system supports virtualization as a guest operating system. The restrictions in the desktop-oriented version are both software-related and license-related. Security Mac OS X provides runtime protection for data such as stack canaries, heap corruption checks, and sandboxed system services helps to stymie attacks that try to hijack or modify page: 30 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 31 of 229 Target Platforms, target Requirements and Platform IPRs software on the system. Furthermore, the 64-bit versions provide enhanced security thanks to features such as no-execute data on the system heap, as well as architectural advantages such as passing arguments to functions in registers rather than on the stack. Mac OS X inherits its permissions model from UNIX. Apple has enhanced this security model by disabling the root account by default. Running code with the minimum necessary level of privileges helps protect the system from inadvertent or deliberate damage. There are three types of user accounts in Mac OS X: -User. The user account is the least privileged account in the Mac OS X system. The user can modify settings only for his or her account, not the entire system. -Administrator. Mac OS X establishes an administrator user account when the system is first installed. An admin user can perform most of the operations normally associated with the root user, except directly adding, modifying, or deleting files in the system domain. However, an administrator can use the Installer or Software Update applications for this purpose. Root. Mac OS X (like most UNIX operating systems) has a super user, named root, which has full permissions for access to all files on the system. Specifically, root can—with a few limited exceptions—execute any file that has any of it’s execute permissions turned on and can access, read, modify, or delete any file and any directory. Unlike traditional UNIX systems, Mac OS X disables this powerful account by default. This precaution helps to limit the extent of harmful changes that viruses or unauthorized users could make to the operating system. In a networked environment, Mac OS X can provide authentication using UNIX Pluggable Authentication Modules , Open Directory , Active Directory, Kerberos and NTLMv2. Other security features include: FileVault is a feature that uses encrypted file systems that are mounted and unmounted when the user logs into or out of the system. The user's home directory is encrypted using the Advanced Encryption Standard (AES) algorithm with a key derived from the user's login password. A master password can be set as a precaution against a user losing his or her password. Content is automatically encrypted and decrypted on the fly. Although early versions were slow and caused system to temporarily hang when used with disk-intensive applications, such as sound and video editing, the performance of FileVault has been improved in more recent versions of Mac OS X. Keychain is the integrated password management system in Mac OS. It was introduced with Mac OS 8.6, and has been included in all subsequent versions of Mac OS, including Mac OS X. A Keychain can contain various types of data: passwords (for Websites, FTP servers, SSH accounts, network shares, wireless networks, groupware applications, encrypted disk images), private keys, certificates, and secure notes. The application-based firewall in Mac OS X makes it easy for non-experts to get the benefits of firewall protection. The application firewall allows or blocks incoming connections on a per-application basis rather than on a per-port basis. The Mac OS X kernel provides mandatory access controls. These controls enforce restrictions on access to system resources (such as networking, file systems, and process execution) so that resources are available only to processes that are explicitly granted access. Mandatory access controls are integrated with the exec system service to prevent the execution of page: 31 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 32 of 229 Target Platforms, target Requirements and Platform IPRs applications that aren’t authorized. In the case of the sandboxing facility in Mac OS X, mandatory access controls restrict access to system resources as determined by a special sandboxing profile that is provided for each sandboxed application. This means that even processes running as root can have extremely limited access to system resources. Connectivity The networking component of the kernel provides 4.4BSD TCP/IP stack and socket APIs, support for both IP and DDP (AppleTalk transport), multihoming, routing, multicast support, server tuning, packet filtering and Mac OS Classic support (through filters). Both IPv4 and IPv6 are supported natively. The Cocoa API includes an implementation of the Bluetooth protocol stack and provides developers with native tools for access to Bluetooth peripherals. The current Mac OS X hardware product line include 10/100/1000BASE-T Gigabit Ethernet connectivity and 802.11n Wi-Fi wireless networking as a standard feature. Furthermore, the current Mac OS X hardware product line includes USB 2.0 connectivity, FireWire 800 and Intel’s Thunderbolt technology. WiMAX, HSDPA/UMTS/GPRS and CDMA/GSM connectivity can be achieved through third-party software and peripherals Reliability OS X is considered a very reliable operating system, by many more reliable than its main rival Windows. Although crashes and system hangs do occur, they are considered to be rare for normal use Technical Criteria Mac OS X's core is a POSIX compliant operating system built on top of the XNU kernel , with standard Unix facilities available from the command line interface. Apple has released this family of software as a free and open source operating system named Darwin , which is derived from NeXTSTEP, BSD and other free software projects. Darwin is built around XNU, a hybrid kernel that combines the Mach-3 microkernel, various elements of BSD (including the process model, network stack, and virtual file system), and an object-oriented device driver API called I/O Kit. Some of the benefits of this choice of kernel are the Mach-O binary format, which allows a single executable file (including the kernel itself) to support multiple CPU architectures, and the mature support for symmetric multiprocessing in Mach. The hybrid kernel design compromises between the flexibility of a microkernel and the performance of a monolithic kernel. The Darwin kernel environment is composed of several architectural components, namely: Mach manages processor resources such as CPU usage and memory, handles scheduling, provides memory protection, and provides a messaging-centered infrastructure to the rest of the operating-system layers. The Mach component provides untyped interprocess communication (IPC), remote procedure calls (RPC), scheduler support for symmetric multiprocessing (SMP), support for real-time services, virtual memory support, support for page: 32 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 33 of 229 Target Platforms, target Requirements and Platform IPRs pagers and a modular architecture. Above the Mach layer, the BSD layer provides “OS personality” APIs and services. The BSD layer is based on the BSD kernel, primarily FreeBSD, and provides file system support, networking (except for the hardware device level), the UNIX security model, syscall support, the BSD process model, including process IDs and signals, FreeBSD kernel APIs, many of the POSIX APIs and kernel support for pthreads (POSIX threads). The Mac OS X networking component takes advantage of BSD’s advanced networking capabilities to provide support for modern features, such as Network Address Translation (NAT) and firewalls. The networking component provides 4.4BSD TCP/IP stack and socket APIs, support for both IP and DDP (AppleTalk transport), multihoming, routing, multicast support, server tuning, packet filtering and Mac OS Classic support (through filters). Mac OS X provides support for numerous types of file systems, including HFS, HFS+, UFS, NFS, ISO 9660, and others. The default file-system type is HFS+; Mac OS X boots (and “roots”) from HFS+, UFS, ISO, NFS, and UDF. Advanced features of Mac OS X file systems include an enhanced Virtual File System (VFS) design. VFS provides for a layered architecture (file systems are stackable). The file system component provides UTF-8 (Unicode) support and increased performance over previous versions of Mac OS. The I/O Kit provides a framework for simplified driver development, supporting many categories of devices. The I/O Kit features an object-oriented I/O architecture implemented in a restricted subset of C++. The I/O Kit framework is both modular and extensible. The I/O Kit component provides true plug and play, dynamic device management, dynamic (“ondemand”) loading of drivers, power management for desktop systems as well as portables, as well as multiprocessor capabilities. Finally, Mac OS X provides a kernel extension mechanism as a means of allowing dynamic loading of pieces of code into kernel space, without the need to recompile. These pieces of code are known generically as plug-ins or, in the Mac OS X kernel environment, as kernel extensions or KEXTs . On top of Darwin, Apple layered a number of proprietary components, including the Quartz Compositor and the Aqua interface, as well as the Carbon and Cocoa APIs for software development. Processing capabilities Mac OS X, being a Unix-like system, uses pre-emptive multitasking for all native applications, although Classic applications are multitasked cooperatively in a Mac OS 9 environment that itself is running as an OS X process (and is subject to pre-emption like any other OS X process). Multi-core and multi-processor execution is supported natively and a programming API called Grand Central Dispatch is provided. GCD has a multicore execution engine that reads the queues created by each application and assigns work from the queues to the threads it is page: 33 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 34 of 229 Target Platforms, target Requirements and Platform IPRs managing. GCD manages threads based on the number of cores available and the demands being made at any given point in time by the applications on the system. Because the system is responsible for managing the threads used to execute blocks, the same application code runs efficiently on single-processor machines, large multiprocessor servers, and everything in between. Furthermore, as of version 10.6, Mac OS X includes OpenCL support for leveraging the computing power of GPUs and multi-core CPUs. Memory Management The VM system used in Mac OS X is a descendent of Mach VM, which was created at Carnegie Mellon University in the 1980s. To a large extent, the fundamental design is the same, although some of the details are different, particularly when enhancing the VM system. It does, however, support the ability to request certain paging behaviour through the use of universal page lists (UPLs). The design of Mach VM centres on the concept of physical memory being a cache for virtual memory. At its highest level, Mach VM consists of address spaces and ways to manipulate the contents of those address spaces from outside the space. These address spaces are sparse and have a notion of protections to limit what tasks can access their contents. At a lower level, the object level, virtual memory is seen as a collection of VM objects and memory objects, each with a particular owner and protections. These objects can be modified with object calls that are available both to the task and (via the back end of the VM) to the pagers. VM objects are cached with system pages (RAM), which can be any power of two multiple of the hardware page size. In the Mac OS X kernel, system pages are the same size as hardware pages. Each system page is represented in a given address space by a map entry. Each map entry has its own protection and inheritance. A given map entry can have an inheritance of shared, copy, or none. If a page is marked shared in a given map, child tasks share this page for reading and writing. If a page is marked copy, child tasks get a copy of this page (using copy-on-write). If a page is marked none, the child’s page is left unallocated. VM objects are managed by the machine-independent VM system, with the underlying virtual to physical mappings handled by the machine-dependent pmap system. The pmap system actually handles page tables, translation lookaside buffers, segments, and so on, depending on the design of the underlying hardware. Usability Criteria The graphics system OpenGL composites windows onto the screen to allow hardwareaccelerated drawing. This technology, introduced in version 10.2, is called Quartz Extreme, a component of Quartz. Quartz's internal imaging model correlates well with the Portable Document Format (PDF) imaging model, making it easy to output PDF to multiple devices. As a side result, PDF viewing and creating PDF documents from any application are built-in features. As of version 10.6.3, Mac OS X fully supports the OpenGL 3.0 specifications. Aqua is the GUI and primary visual theme of Apple Inc.'s Mac OS X operating system. It is based around the theme of water, as its name suggests, with droplet-like elements and liberal use of translucency and reflection effects. Aqua design elements make up the uniform appearance of most Mac OS X applications. Its goal is to "incorporate colour, depth, page: 34 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 35 of 229 Target Platforms, target Requirements and Platform IPRs translucence, and complex textures into a visually appealing interface" in Mac OS X applications. Although Aqua is the entire user interface, two notable features of Aqua are gel-like buttons (such as the ones colored red, yellow, and green that control the windows), and a Dock, which facilitates the launching of and navigation between applications. The Apple Human Interface Guidelines, are designed to assist in developing products that provide Mac OS X users with a consistent visual and behavioural experience across applications and the operating system. In addition, many built-in services for applications are provided, which include spelling and grammar checkers, special characters palette, color picker, font chooser and a dictionary. Product Diversity Cocoa is the native object-oriented application programming interface for the Mac OS X operating system and, along with the Cocoa Touch extension for gesture recognition and animation, for iOS applications on Apple's iPhone, iPad and iPod Touch product lines. Essentially, Cocoa is the continuation of several frameworks from the NextSTEP and OpenStep programming environments developed by NeXT in the '80s and '90s. Cocoa applications are almost exclusively developed using the development tools provided by Apple, namely XCode and Interface Builder, using the Objective-C language, although other programming languages, such as Python, Perl, Ruby and Java are supported through bridging mechanisms and third-party tools. API codebase As far as webinos APIs are concerned, the following technologies are of note: The WebKit framework is integrated in the Cocoa API and can be used by third-party developers to integrate the WebKit rendering engine in this applications. The Bluetooth protocol stack is implemented natively in Mac OS X and available to developers through the Cocoa framework. RFID is not natively supported but is featured through third-party peripherals and software. DNS services are included in Mac OS X, including mDNSResponder, a multi-cast DNS responder. There is no native DLNA server support, however third-party DLNA server software is available for Mac OS X. Part B: Commercial information Device Coverage Mac OS X runs exclusively on Apple’s Macintosh computers and licensing restrictions (as well as the lack of BIOS support, since Macintosh computers use Intel’s EFI instead) do not allow Mac OS X to be used on hardware that is not Apple-branded. Platform Maturity page: 35 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 36 of 229 Target Platforms, target Requirements and Platform IPRs The first version of the Mac OS X line was released on March 24, 2001 and has received six major upgrades so far. New major upgrade releases have not followed a steady schedule so far, but the latest major versions tend to be released 20 to 30 months apart. Mac OS X is considered a very mature and stable operating system, however it should be noted that Apple tends to deprecate older technologies and APIs faster than other OS vendors, without necessarily providing for backwards compatibility. As to this, applications in Mac OS X require steady maintenance and further development in order to keep up to date with OS changes. Market Penetration/availability According to the latest NetMarketShare survey released in May 2011, based on sample data from visitors to 40,000 web sites operated by their clients, Mac OS X had 5.19% of the global market share among operating systems. However, data gathered in this fashion by different firms tends to vary greatly and is considered unreliable. For instance, the W3Counter for May 2011 shows a larger percentage of 9.19%, based on the last 15,000 page views to each website tracked by W3Counter (the sample currently includes 47,362 websites). According to StatCounter, another web traffic analysis firm, in February 2011 Mac OS X shows the greatest market penetration in Switzerland (17.61%), Luxemburg (15.79%) and the United States (15.36%). Finally, according to market research firm Gartner, Apple had 10.4% of U.S. PC shipments in Q3 2010, making it the fourth largest computer maker in the U.S. Availability Apple provides all required development tools, APIs and SDKs required for native application development. Apple highly encourages the use of the supplied Cocoa framework instead of third-party libraries in order to provide a consistent user interface across all applications. Cross-platform frameworks, such as Java frameworks, QT and GTK+ are available for Mac OS X; however they are not officially supported by Apple. Feasibility Apple has actively supported open web standards through the development of the open source standards-compliant WebKit rendering engine. As to this, Mac OS X should prove a stable platform for web-based applications and the purposes of the webinos platform. Partner Perspective who are the customers, existing codebase, market outlook, resources, exploitation plans? Risks Apple does not provide a consistent open standards approach throughout the platform and has the right to ban an application from being distributed on the platform Part C: Licensing information Source code availability page: 36 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 37 of 229 Target Platforms, target Requirements and Platform IPRs Access¶ Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 2. No – discriminates with regard to developers and source code 1. No –OSI-approved license for Darwin/proprietary license for OS X 2. No – developer support mechanisms are limited for anyone who is not a program member 3. Yes – roadmap information available but no call for contributions or similar 1. No Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1. No – contributions process only, no progress status of contributions provided 1. No 2. No – the process is vague/unclear so we do not know if it is accessible to all developers 1. No – this information is not provided 4. Yes – project requires a copyright assignment and patent grant Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes – code must go through a formal compliance process prior to be distributed to other parties 2. Yes – restricted by approval and distribution Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 22 page: 37 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 38 of 229 Target Platforms, target Requirements and Platform IPRs Part D: Summary Verdict OS X is popular platform with a very strong following. The development tools available for it are substantial and the documentation available is extensive. It is very likely that it does already include everything that might be needed for a webinos implementation. Nevertheless, since webinos will be a platform on which further applications will be built, Apple might refuse to allow webinos to provide a platform for the installation of applications that are not included directly in its store. If any development is to be made on Mac OS X or other Apple OSes, webinos might have to form a special licensing and distribution agreement with Apple that protects Apple from the potential of bypassing its terms for the development and distribution of applications. SWOT Swot analysis in relation to webinos: Strengths - Mac OS X is well-established project with major hardware support and a fairly large development community, mainly based on applications that fall in the specifications of the applications that will be developed on webinos - Apple provides a lot of open source resources and good development documentation. - The OS X’s following show very strong brand loyalty. - The platform is mature, fully featured and is and will continue to be mostly open source for the foreseeable future. Opportunities - Apple products are expanding their reach rapidly and might continue to do so in the future. This means that an entry in desktop OS of Apple can easily support the combined use of applications with other Apple products, like the iPhone and iPad. Due to the brand loyalty, users will intuitively wish to combine their user experience between Apple products and hence, a strong potential exists for a successful webinos market penetration in those platforms. page: 38 of 229 Weaknesses - The market share of Mac OS X as a desktop operating system is significantly smaller than Microsoft Windows. - For applications that the developer wants to distribute through the Apple store, these have to go through a process of approval by Apple before they becomes available. There is also a yearly fee for joining the Mac Developer Program. This would also mean that Apple will keep 30% of the revenues from the application sales. Risks - Development of applications for Mac OS X is required to be done through the Mac Developer Program, which means that Apple has to approve every application before it becomes available on the store. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 39 of 229 Target Platforms, target Requirements and Platform IPRs Debian Introduction Debian GNU/Linux is a Linux-based operating system launched in 1993 by Ian Murdock and currently developed by the "Debian Project", an independent decentralized organization of more than 3 thousand individuals, and is not backed by a company like other Linux distributions. It is one of the most popular and influential Linux distributions, as well as the base of other popular distributions such as Ubuntu and Linux Mint. According to Distrowatch.com's statistics, Debian and its derivatives are by far the most popular family of Linux-based operating systems. Part A2: Technical Information General OS features Portability There is at least one stable Debian release for Intel x86/IA-32, Motorola 68k, Sun SPARC, Alpha, Motorola IBM/PowerPC, ARM, MIPS, HP PA-RISC, IA-64, S/390 and AMD64, while there are not yet released ports for ppc64, SuperH, armhf, m32r and AVR32 platforms (more details here). Security A significant number of products that may be of help to implement a security infrastructure are already available at different levels: from the already mentioned OpenSSL and GnuTLS, to libxml (MIT license) and expat (MIT license) for parsing XML-based syntaxes, Linux-PAM (dual licensed, GNU GPL and BSD license) for dynamic authorization of application and services through pluggable authentication modules, the krb5 (MIT license) Kerberos protocol implementation, etc. Connectivity In most cases ppp (BSD license and GPL mixture) needs to be used for establishing point-topoint connections with any supported technology. Furthermore wvstreams (LGPL v2.1 and GPL v2 mixture), NetworkManager (GPL v2+ and LGPL v2+ mixture) and ModemManager for D-Bus (GPL v2+) should be considered. To sum up supported technologies: - GSM/EDGE: gammu (GPL v2), gsmlib (LGPL v2+), gnokii (GPL v2+) - iDEN - CDMA: BitPim (GPL v2+ with parts under other open source licenses) - EV-DO - UMTS - Bluetooth: BlueZ (GPL v2+, LGPL v2.1+ and MIT license mixture) page: 39 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 40 of 229 Target Platforms, target Requirements and Platform IPRs - WiFi: wpa_supplicant (GPL v2 and BSD license mixture), wicd (GPL v2, GPL v2+ and BSD license mixture), Wireless Tools (GPL v2+ and LGPL v2.1+ mixture) - LTE - WiMax (very limited support): madwimax (GPL v2) Reliability Linux has a good fame for its reliability, yet the concept of reliability itself is quite fuzzy and difficult to measure. Here is a quite dated article attempting to measure Linux' reliability. On the other hand, the latest surveys (by sold units) give indications that Linux has 40 to 70% server OS market share and over 90% market share when it comes to supercomputers. Technical Criteria Multi-threaded: the Linux kernel used in the current Debian release (6.0.1, March 2011) implements NPTL that provides a 1:1 threading model to be used via the POSIX Threads API. TLS: the two main implementations available are OpenSSL (dual-licensed, OpenSSL license equivalent to Apache License 1.0 - and SSLeay license - equivalent to 4-clause BSD license) and GnuTLS (LGPL v2.1+), but there are other options as well. IPv6: supported at system level, but some applications may not yet support it (more details here). Standards Linux strives to be fully compliant with the latest POSIX and SUS (Single UNIX Specification) releases. Debian does also strive to follow and comply with the LSB (Linux Standard Base) more information here. The GCC compiler collection strives to be compliant with the latest standards of the supported programming languages (C, C++, Objective-C, Fortran, Java, Ada, and Go). Most free/open source software available for Linux tries to adhere to standards when they are available. Kernel size: it is highly dependent on the actual hardware and kernel configuration. It can vary from a few hundreds of kilobytes to a few dozens of megabytes. Usability Criteria It is highly dependent on the system configuration. The most important aspect, in this sense, is likely to be the chosen desktop environment: GNOME, KDE, XFCE and LXDE are examples of easy-to-use desktop environments that should be perfectly suited to unexperienced users. Many well known applications that can also be found on other platforms are available as well, such as Firefox, Google Chrome, OpenOffice.org, VLC, etc. Product Diversity The Linux ecosystem in general is absolutely open for the development of new solutions at any level of the system. However, there is a strong bias towards free/open source software that in practice makes commercial/proprietary products second-class citizens in the Linux world. Nevertheless there are examples of closed source applications that have had some success, like Skype, the Adobe Flash Player or the Intel C++ Compiler. page: 40 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 41 of 229 Target Platforms, target Requirements and Platform IPRs API codebase Debian, like most Linux distributions, does not place any restriction on APIs. As of today there are libraries for basically everything that might ever be needed, and for each task there are usually several viable options to choose from. As an example, here's a short list of useful software packages providing APIs for a handful of technologies that webinos might want to directly support: Bluetooth: The aforementioned BlueZ is the official Linux Bluetooth protocol stack and it offers an extensive API and a D-Bus interface. RFID: librfid (GPL v2) offers an API to read RFID data from some readers, other related software is RFIDIOt (GPL) and RFDUMP (GPL). DNS: the "resolver library" offered by the BIND project (BSD license) is the de-facto standard to perform DNS queries, even though there are alternatives. DLNA: libdlna (LGPL v2.1+) provides DLNA support and APIs. Another options is the Coherence framework (MIT license). Part B: Commercial information Device Coverage Linux works on a relatively high number of platforms, ranging from embedded devices to supercomputers. Hardware support is generally good, even though the most advanced features supported by the latest hardware is not always available through free/open source drivers. Platform Maturity The beginning of the development of the Linux kernel dates back to 1991, with many userspace components having their roots in the '70s and '80s. Linux follows the UNIX design, which goes back to the late '60s. In this sense the platform is incredibly mature. On the other hand, due to its fragmented and decentralized design and development processes, and also to the availability of several and often incompatible options to handle a given task, the overall system is sometimes lacking when it comes to consistency, backward and forward compatibility and separation of different abstraction layers. Much of the "harmonizing" work is left to the distribution makers and to the end users. Market penetration Debian, as well as most other Linux distributions, is distributed free of charge. The latest surveys indicate that Linux has a market share as a desktop OS somewhere in between 0.5% and 5%, which, despite being relatively low, in absolute terms (i.e., number of users) is actually high. Moreover, the Linux community is extremely active when it comes to participating to free/open source projects, to the point that, as of today, the Sourceforge.net page: 41 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 42 of 229 Target Platforms, target Requirements and Platform IPRs software directory has 48587 Linux-related projects and only 42299 Windows-related projects. Availability Debian distribution is available at http://www.debian.org/distrib/ Feasibility There is absolutely no reason why a webinos implementation for Debian could not be done today Partner perspective Open source communities which might increase of project's impact Risks The end user configuration (especially concerning the desktop environment varies greatly) and the unavailability of a native html rendering engine Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes 4. Yes – approved license and permissive (e.g. Apache, BSD, MIT) 3. Yes – developer support mechanisms open to all developers 4. Yes – full roadmap available, with explicit call for contributions to the roadmap 4. Yes Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all page: 42 of 229 3. Yes – contributions process and acceptance process are clear, but no progress status of contributions provided 4. Yes – there are good project statistics that provide this information 3. Yes – the process is documented and accessible to all developers Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 43 of 229 Target Platforms, target Requirements and Platform IPRs developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 2. Yes – but you must manually find and collate the information from various project sources 1. No - no contribution license Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes – code must go through a formal compliance process prior to be distributed to other parties 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 38 Part D: Summary Verdict Debian is a full-featured platform and provides an excellent development environment in general. More than 29,000 free/open source software packages are available (see Debian Packages) and it is very likely to support everything that webinos might ever need. Like most Linux distributions, the degree of customizability and configurability that Debian allows is exceptionally high. In light of the above results, this platform seems to be suitable to fulfil webinos needs, even if the bias towards free/open source software in the Linux community might also be problematic for third party developers of proprietary software for webinos. SWOT Swot analysis in relation to webinos: Strengths - Debian is a well-established project with a large and active, inclusive and cooperationincline community. Its governance model is transparent, open and unencumbered by the interests of a single or a small group of companies. - The platform is mature, fully featured and is and will continue to be fully free/open source for the foreseeable future. It is very page: 43 of 229 Weaknesses - The market share of Debian as a desktop operating system is small when compared to Microsoft Windows and Apple Mac OS X. - Due to the ever evolving and decentralized nature of design and development of Linux software, the system occasionally suffers from redundancies, lack of integration and/or backward/forward compatibility Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 44 of 229 Target Platforms, target Requirements and Platform IPRs likely that it does already include everything that might be needed for a webinos implementation. Opportunities - Developing a webinos implementation for Debian would, in practice, make it trivial to have ports to other Linux distributions, and especially Debian derivatives like Ubuntu and Linux Mint, and make it sensibly easier to do the same with other UNIX-like operating systems. - It could also be very important for the development of a server-side webinos infrastructure, where usage of these systems is much more widespread. - Given the high level of active contribution of the Linux community to free/open source projects, it could also help in getting skilful individuals involved, especially when it comes to gaining/maintaining support for exotic platforms or adapting to unforeseen real-world scenarios, as well as having external people to spread the word. page: 44 of 229 issues. Risks - Since free/open source ecosystems tend to be in continuous, quick and, at times, divergent evolution, especially when it comes to desktop technologies, it is of great importance to build a community of talented and devoted developers to keep developing and maintaining the software, otherwise there is a concrete risk of moving fast towards a form of obsolescence whose most evident symptoms would be the lack of integration with the underlying system and incompatibilities with the latest system components. - Furthermore, special attention should be payed to the licensing terms and governance models of the various components to be used, especially when it comes to viral licenses, such as the GPL, and the possibility for third-party developers to distribute proprietary products. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 45 of 229 Target Platforms, target Requirements and Platform IPRs FreeBSD Introduction FreeBSD is a free/open source UNIX-like operating system descended from AT&T UNIX via BSD UNIX. The first release was published in November 1993 and it is currently being developed by the "FreeBSD Project", a group of over 400 active developers and thousands of contributors, and partially backed by the FreeBSD Foundation, a US-based non-profit organization devoted to support the FreeBSD Project, its development and its community. FreeBSD is probably the most popular non-Linux UNIX-like operating system and is the base of other popular BSD operating systems, such as PC-BSD and GhostBSD. According to Distrowatch.com's statistics, FreeBSD and its derivatives are by far the most popular family of BSD operating systems. Part A2: Technical Information General OS features Portability The list of supported architectures is available here. At the moment of writing, i386, AMD64, and PC98 are fully supported. Security A huge number of products that may be of help to implement a security infrastructure are already available at different levels: from the already mentioned OpenSSL and GnuTLS, to libxml (MIT license) and expat (MIT license) for parsing XML-based syntaxes, OpenPAM (BSD license) for dynamic authorization of application and services through pluggable authentication modules, the krb5 (MIT license) Kerberos protocol implementation, etc. Connectivity In most cases the ppp utility needs to be used for establishing point-to-point connections with any supported technology. To sum up supported technologies: - GSM/EDGE: gammu (GPL v2), gsmlib (LGPL v2+), gnokii (GPL v2+) - iDEN - CDMA - EV-DO - UMTS - Bluetooth: Netgraph framework (part of FreeBSD) - WiFi: wpa_supplicant (GPL v2 and BSD license mixture), see also the Wireless Networking section of the FreeBSD handbook - LTE: no documentation about support. Unknown. - WiMax (very limited support): lvwimax (GPL v2) page: 45 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 46 of 229 Target Platforms, target Requirements and Platform IPRs Reliability Although the concept of reliability is quite fuzzy in general, FreeBSD is well known for being capable of very long uptime scores when powering a server3. Technical Criteria 1. Multi-threaded: FreeBSD 8 supports a 1:1 threading model. 2. TLS: the two main implementations available are OpenSSL (dual-licensed, OpenSSL license - equivalent to Apache License 1.0 - and SSLeay license - equivalent to 4-clause BSD license) and GnuTLS (LGPL v2.1+), but there are other options as well. 3. IPv6: According to the IPv6 section in the FreeBSD Handbook, FreeBSD supports IPv6. ARM, PowerPC, ia64, and Sparc64 are mostly supported, while support for MIPS and S/390 is experimental. 4. Standards: 4.1. FreeBSD strives to be fully compliant with the latest POSIX and C99 standards through the FreeBSD C99 and POSIX® Conformance Project. 4.2. The GCC compiler collection strives to be compliant with the latest standards of the supported programming languages (C, C++, Objective-C, Fortran, Java, Ada, and Go). 4.3. Most free/open source software available for FreeBSD tries to adhere to standards when they are available. 5. Kernel size: It is highly dependent on the actual hardware and kernel configuration. It can vary from a few hundreds of kilobytes to a few dozens of megabytes. Usability Criteria It is highly dependent on the system configuration. The most important aspect, in this sense, is likely to be the chosen desktop environment: GNOME, KDE, XFCE and LXDE are examples of easy-to-use desktop environments that should be perfectly suited to unexperienced users. Many well known applications that can also be found on other platforms are available as well, such as Firefox, OpenOffice.org, VLC, etc. Product Diversity The FreeBSD ecosystem in general is absolutely open for the development of new solutions at any level of the system. However, unlike what usually happens in Linux ecosystems, there is a strong bias towards BSD licensed software, especially at a system level, and the FreeBSD project is much more in control of which software ends up being easily available on FreeBSD systems. Furthermore, not many commercial/proprietary products are natively available for FreeBSD, yet it features a Linux binary compatibility level that allows to run a wide variety of software built for Linux under FreeBSD without performance penalties. API codebase 3 Netcraft Upstime statistics, http://uptime.netcraft.com/perf/reports/Hosters page: 46 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 47 of 229 Target Platforms, target Requirements and Platform IPRs FreeBSD does not place any restriction on APIs. As of today there are libraries for basically everything that might ever be needed, and for each task there are usually several viable options to choose from. As an example, here's a short list of useful software packages providing APIs for a handful of technologies that webinos might want to directly support: Bluetooth: The aforementioned Netgraph framework is the official FreeBSD Bluetooth protocol stack and it offers an extensive API. RFID: librfid (GPL v2) offers an API to read RFID data from some readers, other related software is RFIDIOt (GPL) and RFDUMP (GPL). DNS: the "resolver library" offered by the BIND project (BSD license) is the de-facto standard to perform DNS queries, even though there are alternatives. See also the Domain Name System section of the FreeBSD handbook. DLNA: libdlna (LGPL v2.1+) provides DLNA support and APIs. Another option is the Coherence framework (MIT license). Part B: Commercial information Device Coverage FreeBSD works on a relatively high number of platforms, ranging from embedded devices to supercomputers. Hardware support is generally decent, yet the latest and/or not really widespread hardware may be unsupported or only partially supported. Platform Maturity FreeBSD is an incredibly mature product, especially as a server platform. However, it is very likely that users need to use third-party software that is not as mature as the "FreeBSD core". Market penetration FreeBSD is distributed free of charge. The FreeBSD market share on the desktop is minimal, to the point that most surveys don't even name it, yet it enjoys quite some popularity in the server market, where it is usually credited 1% to 5% market share. Availability FreeBSD distribution is available at http://www.freebsd.org/where.html Feasibility There should be no technical reason why webinos could not be implemented for FreeBSD. Partner perspective Since Mac OS is based on BSD, perhaps an implementation that could run on Mac OS X could also be distributed in the FreeBSD community. Risks page: 47 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 48 of 229 Target Platforms, target Requirements and Platform IPRs FreeBSD is mostly used as a server OS and the use of webinos seems unimportant. Nevertheless, FreeBSD or any other BSD derivative OS can be used on the server side. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes 4. Yes – approved license and permissive (e.g. Apache, BSD, MIT) 3. Yes – developer support mechanisms open to all developers 2. No – No formal roadmap exists, but there are visible committer or contributor requests 3. Yes – there is some information but it is hard to find and doesn't appear comprehensive Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 3. Yes – contributions process and acceptance process are clear, but no progress status of contributions provided 3. Yes – but you must manually find and collate the information from various project sources 3. Yes – the process is documented and accessible to all developers 2. Yes – but you must manually find and collate the information from various project sources 1. No - no contribution license Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes – code must go through a formal compliance process prior to be distributed to other parties 4. No Community page: 48 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 49 of 229 Target Platforms, target Requirements and Platform IPRs Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 34 Part D: Summary Verdict FreeBSD is a full-featured platform and provides an excellent development environment in general. More than 22,000 free/open source software packages are availableand it is very likely to support everything that webinos might ever need4. On the other hand, the degree of customizability and configurability that FreeBSD allows is exceptionally high. FreeBSD, however, tends to be more difficult to configure than most Linux systems. In light of the above results, this platform seems to be suitable to fulfil webinos needs. SWOT Swot analysis in relation to webinos: Strengths - FreeBSD is a well-established project with a strong following, a long tradition and a very active community. Its governance model is open and unencumbered by the interests of a single or a small group of companies. - The platform is very mature, full-featured and is fully free/open source. It is very likely that it does already include everything that might be needed for a webinos implementation. Opportunities - The main advantage in developing a FreeBSD implementation would be to allow a potential webinos server-side infrastructure to share at least part of the codebase with the client-side implementation, and having that available for companies and/or server farms that already use FreeBSD, thus potentially attracting skilful system administrators and security-minded developers that usually work on large scale systems. 4 Weaknesses - The market share of FreeBSD as a desktop operating system is minimal, and even in the server arena it is not comparable to Linux. - Despite being generally more stable than most Linux distributions when it comes to backward/forward compatibility, there may still be consistency, redundancy and integration problems regarding software that is not directly developed by the FreeBSD Project, and that constitutes a major part of the platform. Risks - Special attention should be payed to the licensing terms and governance models of the various components to be used, especially when it comes to viral licenses, such as the GPL, and the possibility for third-party developers to distribute proprietary products. FreeBSD Port Information, http://www.freebsd.org/ports/index.html page: 49 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 50 of 229 Target Platforms, target Requirements and Platform IPRs page: 50 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 51 of 229 Target Platforms, target Requirements and Platform IPRs Mobile / Tablet¶ Symbian Introduction To quote from http://licensing.symbian.org/ In 2009, we established the Symbian Foundation to make the Symbian platform available open source and royalty-free. In November 2010 we announced that the foundation would ramp down its operational activities as a result of changes in global economic and market conditions. Symbian is no longer an active Open Source Project. As such it is not a contender for considering as a platform on which webinos can be built. No attempt shall, therefore, be made on the technical merits of the platform. It is worth, however, doing a retrospective analysis of the merits and weaknesses of the platform, as there may be lessons for webinos that can be applied to the organisation setup Part A1: Technical Information (web rendering engines) N/A Part B: Commercial information Device Coverage Symbian was only ever targeted at the mobile profile. Platform Maturity Symbian, is/was easily one of the most mature platforms on the market, having been in market almost 10 years, having foundations, in and even older Psion platform Market penetration/availability Within that profile, at its peak it had 46.6% of the Smartphone market. Symbian will continue to be used by Nokia for their mid-tier handsets. Detailed figures are given below Availability The Symbian source code is not longer available as open source Feasibility Technically it would be entirely feasible to implement webinos on top of the Symbian platform, reusing the QT components Partner Perspective page: 51 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 52 of 229 Target Platforms, target Requirements and Platform IPRs The partner perspective is unanimously negative Risks Symbian is not realistically been considered as option for webinos implementation Market penetration facts and figures According the a Gartner report http://www.gartner.com/it/page.jsp?id=1466313 from 2010 Company Symbian Android iOS Research In Motion Microsoft Windows Mobile Linux Other OS Total 3Q10 Units 29,480.1 20,500.0 13,484.4 11,908.3 2,247.9 3Q10 Market Share (%) 36.6 25.5 16.7 14.8 2.8 3Q09 Units 18,314.8 1,424.5 7,040.4 8,522.7 3,259.9 Q09 Market Share (%) 44.6 3.5 17.1 20.7 7.9 1,697.1 1,214.8 80,532.6 2.1 1.5 100.0 1,918.5 612.5 41,093.3 4.7 1.5 100.0 In 2009 Symbian still held 44.6% of the market, dropping 8 points in the subsequent year to 36.6% 2010.This loss was largely attributable to the phenomenal gains made by Android in this same time frame. It is worth re-enforcing that despite the publicity Android and Iphone receives and the obvious decline of Symbian, both in terms of absolute sales figures and the shutdown of the open source project - Symbian was in 2010 still the highest selling Smartphone worldwide, 50% higher than its closest competitor, Android. Throughout its lifetime it shipped 450 million units between 2002-20105. Ecosystem adoption Formerly, in the 2004-2009 time frames, Symbian was widely adopted by a variety of handset manufacturers, including Nokia, Sony Ericsson, Motorola, Fujitsu, Panasonic and NEC. Paradoxically, almost coinciding with the opening up of the ecosystem and the creation of the Open Source Symbian Foundation, this support had dwindled to only Nokia Application developers Symbian developers were small in number but relatively loyal. Symbian was a notoriously difficult platform to develop for requiring not only strong C++ knowledge and an understanding of where Symbian deviated from the basics of standard C++. 5 Tradeoffs of Open Innovation Platform Leadership:The Rise and Fall of Symbian Ltd., http://siepr.stanford.edu/system/files/shared/documents/2011-03_WestWood_SIEPR.pdf page: 52 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 53 of 229 Target Platforms, target Requirements and Platform IPRs Developer on the Symbian platform, as a result, tended to be (a) very good (b) very supportive of a platform that that had invested considerable time in mastering. Customization possibilities The commercial Symbian license and latterly the Symbian foundation license, had a tightly defined compliance process 6 which was intended to ensure the guaranteed interoperability of applications over different Symbian releases. The design of the User Interfaces layer was less tightly controlled, allowing those with the inclination the opportunity to give a rich and differentiated user experience. The technical complexity of working with the platform, at this level of sophistication however, meant that this opposition could only be exploited by the most ambitious and resource rich of the device manufacturers. Although the compliance suite put strict constraints on the minimum set of capabilities that must be present and interoperable on the phone, the platform was relatively permissive in terms of new capabilities that could be added to enhance or customise the feature sets available Part C: Licensing and Governance This section is filled in considering Symbian before it was shut down. It is instructive to consider the Governance and Licensing as it was before its collapse, to identify whether this had an influence on its demise Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? 4. Yes 3. Yes. Symbian code was predominately released under the OSI provided eclipse public license 3. Yes – developer support mechanisms open to all developers 3. Yes – full roadmap available, but input to it is limited to Symbian 6 Symbian Foundation Device CompatibilityVerificationProcess and Promise, http://www.symlab.org/wiki/index.php/Symbian_Foundation_Device_Compatibility_Verification_Pro cess#Compatibility_Promise_and_Verification_Scope page: 53 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 54 of 229 Target Platforms, target Requirements and Platform IPRs Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? members 4. Yes Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1. No – contribution process was largely closed 2. No – although you may be able to find this information by checking copyright files etc. 2. No – process is vague. The starting position of Symbian was Nokia was primary committer on almost all projects 2. Yes – but you must manually find and collate the information from various project sources 3. Yes - copyright license and patent license is covered by the Symbian memberships Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes. Compliance and trademarks were enforced 3. Yes – restricted by approval Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes here are tiered memberships Summary Total Score 32 Is Platform open source or proprietary? Symbian was an open source platform. As of April 2011 it is a Nokia owned proprietary platform which Nokia make available to customers on a commercial basis Part D: Summary Verdict Symbian's outlook is extremely weak. The Symbian foundation has been shut down, and Nokia has re-aquired the assets. page: 54 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 55 of 229 Target Platforms, target Requirements and Platform IPRs Symbian only future appears to be supporting Nokia's own range of mid range handsets. Due to Nokias historical strength in this market, absolute number of shipped handsets is likely to be healthy, but developers will obviously be limited to a single vendor SWOT Swot analysis in relation to webinos: Strengths - Mature well proved technology - Optimised for mobile, high performance Opportunities - none page: 55 of 229 Weaknesses - Symbian is hard to program Risks - Community engagement beyond Nokia was never proven Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 56 of 229 Target Platforms, target Requirements and Platform IPRs Android (mobile) Introduction The Open Handset Alliance (OHA) led by Google, officially announced open-source Android mobile operating system on November 5th, 2007. Ownership The ownership of the Android open source project is held by Google and the Android project is distributed under Apache 2 license. Relevance The current version is Android 3.1 which is an incremental platform release that refines many of the features introduced in Android 3.0. Android is freely available to all device makers so webinos can be pre-loaded on devices. Webinos will need to compete with native apps and web apps by demonstrating clear differentiating value for webinos applications. Part A1: Technical Information (web rendering engines) The Android browser is based on WebKit an open source web engine used also by Google Chrome, Maxthon 3, Safari (both desktop and mobile), Shiira, iCab 4, OmniWeb 5.5+, Epiphany, Adobe AIR, Midori, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+). Android also has support for the following web rendering engines: Name Reference Source dolphin http://browser.mgeek.mobi/ closed skyfire http://www.skyfire.com/en/product/android closed opera mobile http://www.opera.com/mobile/ closed opera mini (no HTML5, no Adobe http://www.opera.com/mobile/ closed flash support) The above are complete products which don't necessarily have available open reusable web rendering engine codebase. WebKit Security Concerning the attack surface of Android, we can note that remote attacks are realized by gaining access to WebKit. A WebKit vulnerability could allow someone entry into a device through the browser and enable them to extract sensitive data. At the end of 2010 there was probably the most important targeted vulnerability of WebKit and Android later fixed by page: 56 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 57 of 229 Target Platforms, target Requirements and Platform IPRs Android 2.27. In fact, WebKit was not able to validate correctly floating-point data. This allowed remote hackers to execute arbitrary code or cause an application crash. Because of this the Android devices with a version < 2.2 are still affected by this vulnerability. Even if WebKit is shared by several OSs, mobile and not, an attack to WebKit doesn't mean a cross attack to different OSs8. In fact, the type of malware in WebKit is exploit code and each platform implements several functions in different ways. For this reason we can say that authors of malware won't be able to figure out how to launch cross-platform attacks relatively easily. Web components HTML 4 rendering capabilities HTML 5 rendering capabilities JavaScript engine capabilities The results of Acid3 test on Android web browser with default settings rendering are: - version 2.3 result: 93/100 - version 3.1 result: 100/100 with incorrect rendering The following table describes the capabilities of Android browser concerning HTML5 rendering tested by html5test.com The global score of Android 2.3.3 is 182 for Android 3.1 is 151. More references: http://www.browserscope.org/?category=summary&ua=Android* http://html5demos.com/ Android 2.2 introduced a new open source JavaScript engine: Google V8 the same engine present in Google Chrome. WebKit JavaScript Core, WebKit SquirrelFish Extreme ("Nitro" in Safari) and Google V8 differ significantly in their execution models. In fact, the first one executes JavaScript bytecode; the second one uses interpreted bytecodes augmented with JIT compilation to machine language and the last one introduces an efficient method for accessing objects’ properties and the bytecode is compiled into architecture-specific machine code before executing it. We think that it is possible to replace the engine following the same experience of Google V8, even if it's not a simple substitution. Widget availability Android home-screen widgets are Java applications (not JavaScript). Webinos widgets are based on the structure of W3C Widgets with some enhanced features. As pointed out below Aplix WRTC, Obigo X10 and Opera 11.5 (all closed source) support W3C widgets. In particular Obigo X10 claims a "Tight integration with Android - Seeamless widget execution (vs. native widgets) - Support for full-screen mode + 'floating' mode". There is an open source project called android-widget that works on an "Implementation of the W3C Widget specification for android." 7 Pressure to improve Android security is building up, http://nakedsecurity.sophos.com/2010/11/08/pressure-to-improve-android-security-is-building-up/ 8 Will WebKit Be iOS' Achilles' Heel?, http://www.macnewsworld.com/story/72681.html page: 57 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 58 of 229 Target Platforms, target Requirements and Platform IPRs Digital signature code availability Android provides a package named android.content.pm for the signature of code How are widgets packaged? Android supports widget packaging as well as activity, service, and receivers and so on. In fact, as for a generic Android Application, the Android Asset Packaging Tool (aapt) builds an apk file for the developed widget. It is a zipped file composed of the files AndroidManifest.xml, class.dex, resource.arsc and the directories “res” and “META-INF”. The aapt tool, as the other tools of Google Android SDK is under OpenSource Apache Software Licence 2.0 (ASL). WARP implementation The following list represents android user agents that claim to support the Widget Access Request Policy. Aplix Web runtime android 2.1+ closed source Opera 11.5 Beta android 1.6+ closed source OBIGO X10 android 2.2.x closed source For more information see:Widget Access Request Policy - 20 April 2010 Widget Access Request Policy - draft 07 June 2011 Widget Access Request Policy - Implementation report WidgetImplementation Call for Implementation: WARP spec Implementation No native android implementation found Extensibility framework (feature tags) Netscape Plugin Application Programming Interface (NPAPI) is a cross-platform plugin architecture used by many web browsers and in WebKit Android too. For this browser engine the simplest drawing models is called Bitmap Model. It is a piece of memory that you can hand to the plugin and the plugin will call back on a set of functions that you have registered with it. Part A2: Technical Information (Operating Systems) General OS features Portability page: 58 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 59 of 229 Target Platforms, target Requirements and Platform IPRs Android is designed to run on many different types of device. A device is “Android compatible” if it can correctly run apps written for the Android execution environment, defined by the Android Compatibility Definition Document 9 and pass the Compatibility Test Suite 10. The CDD represents the "policy" aspect of Android compatibility. Each release of the Android platform provides a new Compatibility Definition Document (CDD). Android applications are written in Java but may include code in C/C++ and code in other scripting languages. Concerning Java, Android executes only .dex bytecode, so the compatibilty with Java standard it’s possible only at source code level. However the support of Android to Java SE appears more complete if compared to JAVAME-CDC, even if AWT and Swing are not available. Android provides a support for scripting languages, named Scripting Layer for Android (SL4A), supporting JavaScript, Python, Perl, JRuby and Lua. The Android Native Development Kit (NDK), provides support for developing in C/C++. First of all, we remind that C++ is a common denominator for the most important mobile OSs, so the possibility to port an existing application developed in C++ to Android it’s very important. The standard capabilities of Android for C++ are very simple. Even if we can use gdb tool on command line to debug our C++ source code it’s possible to configure Eclipse to do the same11. The first step is to encapsulate the C++ source code into shared libraries for interfacing to Java by Java Native Interface (JNI).Finally, there are few but very important limitations concerning support of C++ in Android. The first important limitation is that Android doesn’t support C++ exceptions, RTTI and Standard C++ Library due to performance limitations and memory usage. There is an attempt to solve this problem12. The Standard Template Library (STL) in not provided in Android, but there are open source versions like STLPort. Another limitation concerns the Reference Parameters for Function. In fact, even if Java objects are passed by reference to a function, the pointer to the object is passed by value to the native function. If the object is immutable, such as an instance of the Integer class, then the native function cannot legally pass back integer data to that object. Security - Rooting: it is the process by which a user regains administrative access. Even if Android is an open source operating system with a Linux kernel, and user must operate using permission and policy established. By Rooting Android an user gain full control over the system and application by-passing Android rules, for example: improve performances, 9 Android Compatiblity, http://source.android.com/compatibility/index.html Android CompatibilityDownloads, http://source.android.com/compatibility/downloads.html 11 Using Eclipse for Android C/C++ Debugging, http://mhandroid.wordpress.com/2011/01/23/usingeclipse-for-android-cc-debugging/ 12 Improved Android NDK, http://www.crystax.net/android/ndk.php 10 page: 59 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 60 of 229 Target Platforms, target Requirements and Platform IPRs modify system files, update Android version...Root access circumvents the security restrictions of Android and there is no way to know what an application will do by this new capability. A malicious root application can: replace the Gmail application with a modified version, delete files, download and install a different modified ROM, gain access to your Market account and make purchases on your behalf, replace keyboard with a version that logs keystrokes... - Self-signing: self signing of an application is allowed. An important issue around Android self-signing is: given an app self-signed by a user, a second user can change the binary and then re-sign the resulting app. So, it seems that signing the code does not prove who a user is and it does not prove that the code has not been modified by anybody else. Android's security architecture is based on the concept that it's not important who is the author, but that the author of an application is the same author of another. Protecting the signing key, it shows that it was self-signed by a specific user and not modified by others. When a user upload a new version of the .apk, the market can verify that it is really from that user, and not modified by anyone else.A user can publish two applications that that share a common repository, or run in the same process signing them with the same private key. But, the latest Android incident shows that applications installed directly from the Google market could still be affected by malware. The question is if Android applications should only allowed keys certified by trusted authorities and not be allowed to be self-signed. . Standards: Mobile OS use the most common standards for accessing and managing networking, e-mails, messaging and communication. The most important language in Android is Java, that even if uses a subset packages of Java SE (with extensions) permits to reuse a lot of secure software developed and used in other platforms. All Android applications (.apk files) must be signed with a certificate whose private key is held by their developer. This certificate identifies the author of the application. The certificate does not need to be signed by a certificate authority: it is perfectly allowable, and typical, for Android applications to use self-signed certificates. The purpose of certificates in Android is to distinguish application authors. This allows the system to grant or deny applications access to signature-level permissions and to grant or deny an application's request to be given the same Linux identity as another application Connectivity Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE and WiMAX and uses the "connectivity manager" to identify automatically the best available transport network. Android manages available connection taking in account the user preferences related to available network (e.g. use wifi, after umts...). An application may ask for using a specified network 3GPP or WLAN. The Connectivity Manager: monitors all network connections as Wi-Fi, GPRS, UMTS, etc. and, sends broadcast intents if the state of a network connectivity changes and when connectivity to a network is unavailable, tries to use another network and finally, provide an API that allows applications page: 60 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 61 of 229 Target Platforms, target Requirements and Platform IPRs to query the coarse-grained or fine-grained state of the available networks. Applications are notified when there are changes in network connectivity. Reliability In a recent test performed by a third-party warranty company it was announced that the iPhone 4 had a non-accident malfunction rate of 2.1 percent against the 2.3 percent of Android and Research in Motion's BlackBerry device with 6.3 percent13. Technical Criteria We think that is very important in terms of performance of the platform to know the amount of the minimum memory available for kernel and user space. For each platform released, Google provides a Compatibility Definition Document (CDD). - version 2.3 requires 128 MB - version 2.2 requires 98 MB - version 2.1 requires 92 MB10 Usability Criteria The interaction styles are still in their infancy, so gestural user interface still needs to be explored and improved. Below we report the results available in http://www.emich.edu/compsci/projects/Master_Thesis_-_Benjamin_Speckmann.pdf concerning Android platform: - Acts on the assumption of unexperienced user - Good usability - High applications level - Good diver configuration More references: http://www.martinlijanto.com/thesis/case2.php - User Interface Criteria: speaking about interface, it's obvious comparing Android to iPhone and its iOS. A test provided by Spyre Studios Ref shows that Android and iOS are very similar in terms of usability14. There are applications on both platforms that are well designed, and poorly designed applications.The above test shows that comparing iPhone with a similar hardware device both of these mobile operating systems can well perform in terms of usability even if Android won the test for 9 - 7.5. Product Diversity 13 IPhone More Reliability Than Android, But More Fragile, http://www.mobiledia.com/news/76535.html 14 Android vs iOS,A usability battle, http://spyrestudios.com/android-vs-ios-a-usabilitybattle/?utm_source=twitterfeed&utm_medium=twitter page: 61 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 62 of 229 Target Platforms, target Requirements and Platform IPRs In July 2010 the Android Market features the highest percentage of free apps compared to the other mobile markets. In fact, about 60% are free applications, double the amount of Apple's App Store (Nokia's Ovi Store 26%, BlackBerry's App World 26%, Windows Marketplace 22%). Even if the total number of applications of the Apple App Store (381,062) is greater than the Android Market (200,000), the growing trend of the Android market is better (28,000 new apps in April 2011, versus Apple 11,000). So, what these numbers show is that a very large community of developer is active on Android platform and probably it will be greater in the next days. This can be explained not only by the large distribution of Android devices, but also by the easy way to innovate and develop new application using all the Android capabilities and connected devices. API codebase Bluetooth: Supported. The Bluetooth APIs let applications: scan for other Bluetooth, devices, query the local Bluetooth adapter for paired Bluetooth devices, establish RFCOMM channels/sockets, connect to specified sockets on other devices, transfer data to and from other devices. NFC & RFID: The android.nfc package provides access to Near Field Communication (NFC) functionality, allowing applications to read NDEF message in NFC tags. A "tag" may actually be another device that appears as a tag. DNS: Android chooses the DNS servers using the script located at “/system/etc/dhcpcd/dhcpcd-hooks/20-dns.conf. The DNS configuration can rely on the DHCP client and is node-scoped. Each time new configuration data is received by the host from a DHCP server the DHCP client rewrites the global configuration data with the most recent information received. DLNA: Android does not include DLNA support natively but there are several applications in the market that allow it to use DLNA technology15. No standard API for DLNA on Android but supported in most devices. Crypto and Certificate libraries: Android provides classes and interfaces for cryptographic applications implementing algorithms for encryption, decryption, or key agreement16. It also provide a library to generate, administer and verify X.509 certificates DRM: Android provides a DRM framework by which an application can manage its rightsprotected content according to the license constraints. Applications can use different DRM schemes but it is the device manufacturer who decides which DRM schemes a specific device supports. 15 Skifta, Wikipedia, http://en.wikipedia.org/wiki/Skifta Android Developers, javax crypto, http://developer.android.com/reference/javax/crypto/packagesummary.html 16 page: 62 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 63 of 229 Target Platforms, target Requirements and Platform IPRs UPnP: An Android UPnP client provides a mean to stream music, videos or photos from an UPnP enabled media server or control an UPnP enabled media. Android Market provides a lot of UPnP clients but no open source solutions are available. Media capture capability/codecs: The network protocols for audio and video playback RTSP (RTP, SDP), HTTP progressive streaming, HTTP live streaming draft protocol (Android 3.0 and above) are supported by Android17. TV and set top box control: this feature is connected to DLNA. In fact, even if Android as a remote is not a new feature, now it's possible to use it to send content to a TV-connected set-top box. Skifta for Android is certified by the Digital Living Network Alliance (DLNA). Android can stream onboard media to any DLNA source, including TVs, stereos, PCs and Sony's PS3. Vehicle: Available Android apps are vehicle agnostic and allow drivers to share information about their cars. Google services like Google Voice could be tweaked for a whole new range of product integration. For example, Android recognizes when it is on a dashboard thereby switching to a voice-activated mode. So, if in one hand we will see an increasing number of vehicle-oriented applications, on the other hand Android will adapt itself to the vehiclecontext. Payment: Android supports two methods of payment. The first method is the in-App billing service used by the Android Market. Each step of the transaction is signed by a system based on private-key/public-key. A second method is actually in a beta phase: the Google Wallet. It's a free application based on the NFC technology and no source code is available. Platform attestation API: general, very strong sensor framework (i.e. many sensors are available -> enabling user cases e.g. location, position, NFC, gyroscope, acc/ter, camera etc) exposed through ext. set of APIs has very good support for different screen sizes & form factors from tablet screen res. to QVGA. Part B: Commercial information Device Coverage Due to the open-source and royalty-free nature of the OS, a majority of handset makers and ODMs manufacture Android handsets. This includes 1st-tier makers such as Samsung, Motorola, LG, HTC and Sony Ericsson, low-cost assemblers such ZTE and Asus, as well as small 3rd- and 4th-tier makers. As of May 2011, Google reported that there are more than 310 Android device models manufactured and sold around the world18. Android is supported 17 Android Developer Guide, Media formats, http://developer.android.com/guide/appendix/mediaformats.html 18 Android Momentum Mobile and More, http://googleblog.blogspot.com/2011/05/androidmomentum-mobile-and-more-at.html page: 63 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 64 of 229 Target Platforms, target Requirements and Platform IPRs on wide range of device price points from high-end devices (e.g. HTC Blast concept phone, http://www.sleetherz.com/android-news/htc-blast-specs-high-end-android-phone-with-15ghz-processor/2872/) to sub 100 Euro models made by many small Chinese ODM. Recent versions of the OS support Smartphone and tablet form-factors. Platform Maturity Since its introduction Google released 8 OS versions. Current versions of Android show strong and stable performance and rich API. However the platform continues to evolve very fast, introducing new API and making some API obsolete. Market penetration Android OS showed unprecedented growth since its introduction of the first handset in October 2008. At Google IO event in May 2011 Google announced that in a little more than two and a half years 100 million Android devices were activated around the globe. The OS continues strong growth with 400,000 new Android devices activated every day as of May 201118. Availability Free development tools, wide availability of community support and open submission application submission process won Android significant mind-share with mobile application developers. Android is second only to Apple in developer mind-share. As of May 2011, there are 200,000 free and paid applications available in Android Market1818. Feasibility At the time of writing Android is relatively open allowing customization by handset makers and operators. In order to minimize effects of fragmentation Google runs compatibility test program. Handset makers and operators generally can replace the home screen application, pre-load applications and make UI customizations. Google however watches closely that preloaded applications will not harm long-term interests of the company and react aggressively when handset makers attempt to use competing software on the platform (Skyhook sued Google for non-competitive practices in September 201019. Handset makers or operators that do not wish to use Google applications on the device, including Android Market, are not obliged to adhere to Google certification rules. For example China Mobile created its own branch of the OS called OMS. OMS replaces Google proprietary applications with applications provided by China Mobile and its partners. Partner perspective 19 Skyhook sues Google, http://gigaom.com/2010/09/15/skyhook-sues-google-in-a-location-battleroyale/ page: 64 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 65 of 229 Target Platforms, target Requirements and Platform IPRs Android will continue to play leading role in mobile platforms expanding to tablets, connected TVs and car infotainment. Risks Android evolves very fast, and that sense it presents a moving target. Webinos run-time will need to be ported to new OS versions to remain relevant. Google exerts tights control over handset makers and Android Market. If webinos will be deemed competitive to Google interests, Google may prevent handset makers to pre-load webinos run-time on their devices. Google can also potentially prevent distribution of webinos run-time through Android Market (less probable). Part C: Licensing and Governance For WebKits' JavaScriptCore and WebCore components are available under the GNU LGPL v2.1, while the rest of WebKit is available under a BSD-style license. Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 1. No discriminates with regard to developers and source code and time 4. Yes – approved license and permissive (e.g. Apache, BSD, MIT) 2. No – limited developer support mechanisms 1. No 1. No Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code page: 65 of 229 1. No – contributions process only, no progress stages of contributions provided 2. – No, although you may find this info by checking copyright notices in files 1. – No commit access restricted to specific groups 1. – No this information is not provided Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 66 of 229 Target Platforms, target Requirements and Platform IPRs to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 3. Yes – project requires a copyright assignment and patent grant Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes-code must go through formal compliance process prior to being distributed to other parties 2. Yes - restricted Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 21 Part D: Summary Verdict Is this platform suitable for webinos? Yes SWOT Strengths - Android is widely supported in the mobile industry and will continue to play leading role in Smartphones and tablets. Despite potential risk of Google preventing adoption of webinos on Android platform, Android is recommended to become primary platform for webinos implementation on mobile devices. - Android offers strong native and web application frameworks. webinos will need to compete with native apps and web apps by demonstrating clear differentiating value for webinos applications. - Android enjoys strong support from all ecosystem players. There is broad selection of devices at all possible price points and wide availability of developers with expertise necessary to develop webinos run-time on the OS. - Since Android is freely available to all device makers, availability of webinos can be considered as differentiating feature for device makers and be pre-loaded on devices. Opportunities page: 66 of 229 Weaknesses - Android evolves very fast, and that sense it presents a moving target. Webinos run-time will need to be ported to new OS versions to remain relevant. Risks Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 67 of 229 Target Platforms, target Requirements and Platform IPRs - Android offers strong API and reasonably open governance regime allowing customization of the OS and installation of webinos run-time and webinos apps as a post-load software. - Android also offers a significant market penetration and support across a range of devices with these soon to be extended to other domains in scope for webinos (i.e. automotive and TV) page: 67 of 229 - Google exerts tights control over handset makers and Android Market. If webinos will be deemed competitive to Google interests, Google may prevent handset makers to pre-load webinos run-time on their devices. - Google can also potentially prevent distribution of webinos run-time through Android Market (less probable). Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 68 of 229 Target Platforms, target Requirements and Platform IPRs Windows Phone Introduction Windows Mobile is a mobile operating system developed by Microsoft that was used in Smartphones and mobile devices, but is being currently phased out to specialized markets. It is superseded by Windows Phone 7. The current and last version is “ Windows Mobile 6.5 ". It is based on the Windows CE 5.2 kernel. Windows OS is programmed in ‘C++’ language. Developers have several options for deploying mobile applications. These include writing native code with Visual C++, writing Managed code that works with the .NET Compact Framework. In context of Webinos, it is more relevant to discuss the Mango version of windows phone. Windows Phone 7.5 (codenamed 'Mango') is a major software update for Windows Phone, the mobile operating system by Microsoft. It was announced on May 24, 2011 and expected to be released in mid-October 2011. Windows Mobile is owned by Microsoft. Windows Mobile/Mango is often seen to be the 'third platform' by the industry, especially the Operators (after Apple and Android). Hence, the platform is significant to Webinos. Part A1: Technical Information (web rendering engines) Web components Mango will include IE9 which is capable of HTML5 rendering which includes support for JavaScript Widget availability Unclear as at time of writing Part A2: Technical Information (Operating Systems) General OS features Portability Nokia, Samsung, HTC, ZTE are expected but details still unclear Security Unclear at time of writing Connectivity Device specific Reliability Because of the commitment from MSFT and Nokia and the existing developer relationships on both platforms, this platform will be significant for developers page: 68 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 69 of 229 Target Platforms, target Requirements and Platform IPRs Technical criteria Microsoft has announced a list of 500 features but this level of detail is unknown at the time of writing Usability Criteria Mango places a heavy emphasis on usability and integration with other services like Facebook, Twitter, LinkedIn, Facebook checkins, photo tagging, Facebook chat and face detection. Product Diversity Microsoft products have been open and developer friendly. We could expect the same from Mango release The Windows Phone 7 mobile OS includes a completely new over-hauled UI inspired by Microsoft's "Metro Design Language". It includes full integration of Microsoft services such as Windows Live, Zune, Xbox Live and Bing, but also integrates with many other nonMicrosoft services such as Facebook and Google accounts. The new OS platform has received some positive reception from the technology press. As Windows Phone 7 is a new platform, there is no backwards compatibility with Windows Mobile applications and some power-user features that were in Windows Mobile will not be present until near-future updates. Encryption may only be possible if you use a removable flash storage card and a third-party provider Supported platforms: Silverlight, Microsoft XNA Kernel type Windows CE 7.0 API codebase Is there platform (or 3rd party) support for some of the more critical, and more sensitive enablers like Bluetooth, RFID, DNS, UPNP, USB? Unknown at the time of writing but this is expected to be device specific. Part B: Commercial information Device coverage See above Platform maturity Early stage platform Market penetration/availability Early stage platform Availability page: 69 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 70 of 229 Target Platforms, target Requirements and Platform IPRs No Partner perspective Nokia Risks The platform is early and unknown. It needs to capture mindshare from the iPhone and Android. It is not clear how successfully this will be achieved Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 2 2 ? 1 1 Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1 1 1 1 ? Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1 1 Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status Summary Total Score 12 Additional comments 1) Microsoft EULA may be applicable in some cases but unclear as at time of writing page: 70 of 229 Target Platforms, target Requirements and Platform IPRs ? FP7-ICT-2009-5 257103 page: 71 of 229 Target Platforms, target Requirements and Platform IPRs 2) For each handset manufactured with WP7 OS, MSFT collects a licensing fee. While the exact fee charged per handset is undisclosed, it is thought the price falls somewhere between $8 and $15.14 MSFT claims to deliver a superior product and therefore charges a premium above competitors (e.g., Google, which licenses the Android OS for free). 3) Windows Phone will be significant but at the time of writing it is unclear how the alliance with Nokia will play out in terms of devices that the customer buys 4) Nitobi, maker of the PhoneGap mobile cross-platform application development framework, and Microsoft announced a new beta of PhoneGap for the Windows Phone 7 “Mango” release. JavaScript APIs to use Windows Phone Mango features like: • Access Device Information (UDDI and more) • Add and search Contacts • Connection status (network/WiFi connection status) • Alerts/Notification (alert and confirm) • Media Capture (Image and Audio) • Camera • Accelerometer • Geolocation This is a good indicative list of possible directions and possibilities for Mango20. 5) Microsoft is moving Windows Phone in a contrarian direction, focusing less on apps and more on building features like search and social stuff directly into the OS21. 6) The company outlined its three focus areas for Mango: • Communications • Apps • Internet Features like multitasking, better cloud integration and better platform tools are all part of Mango’s roadmap22 7) While Microsoft/IE9 scores high on HTML5 compatibility, the meaning and inclusion of HTML5 is unclear 20 Nitobi Launches PhoneGap for Windows Phone Mango, http://www.eweek.com/c/a/Application-Development/Nitobi-Launches-PhoneGap-forWindows-Phone-Mango-848724/ 21 Microsoft Mango preview, http://technologizer.com/2011/05/27/microsofts-mangopreview/ 22 Microsoft unveils Mango, the latest version of Windows Phone http://mashable.com/2011/05/24/windows-phone-mango/ page: 71 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 72 of 229 Target Platforms, target Requirements and Platform IPRs Web workers, the file API, local storage, or other aspects of the spec. Not do they cover CSS or other standards that have nothing to do with HTML5 but are somehow lumped under HTML5 by the likes of Apple, Google, and Microsoft. http://www.theregister.co.uk/2010/11/01/w3c_html5_conformance_tests/ http://w3c-test.org/html/tests/reporting/report.htm Part D: Summary Verdict Unclear SWOT Swot analysis in relation to webinos: Strengths - A significant platform(after Apple and Android) Opportunities - could mature into a significant platform page: 72 of 229 Weaknesses - Many elements unknown Risks - Webinos is based on Open source which is not the primary emphasis of Mango Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 73 of 229 Target Platforms, target Requirements and Platform IPRs iOS Introduction iOS (is the mobile operating system powering Apple handsets, touch players and tablets; its core derived by FreeBSD (UNIX operating system) based on microkernel XNU Mach based on Darwin OS. iOS has four levels of abstraction: the Core OS layer, the Core Services layer, the Media layer and the Cocoa Touch layer. The first version to intruduce multitasking was Version 4 (iOS4). Last available version is iOS 4.3 release 1Q11. iOS 4.3 introduced the Nitro JavaScript engine in Safari Part A1: Technical Information (web rendering engines) iOS also has support for the following web rendering engines: Name opera mini iCab Mobile Atomic Web Browser iBrowse Reference Source http://app2.me/2878 closed http://app2.me/2944 http://app2.me/2945 http://app2.me/2946 Web components HTML 4 rendering code base The results of Acid3 test on iOS web browser with default settings rendering are: Version Result iPad2 100/100 HTML 5 rendering code base: According to html5test.com Blackberry os 7 browser has a score of 277 with 3 bonus points. For informations about html5 not supported elements check http://docs.blackberry.com/en/developers/deliverables/20957/HTML5_support_1326451_1 1.jsp. New version increased HTML5 support: in particular: Accelerometer & Gyroscope support through the DeviceOrientation API WebSockets API from HTML5 Updated HTML5 Form Support Partial XHR-2 Support Print Support through AirPrint New JavaScript data types New DOM events Enhanced SVG and Canvas support page: 73 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 74 of 229 Target Platforms, target Requirements and Platform IPRs It should be noticed that Flash is not supported on iOS23 Javacript engine Last version of iOS introduced the Nitro Javascript engine. It increased the performance of Javascript24. Widget availability iOS support only following web apps paradigms: web pages based hybrid apps based (e.g. PhoneGap style) Web Pages based it is possible to integrate web pages within iOS with a simple paradigm; in particular it is possible to insert bookmarks within main menu of iPhone; using the dedicated css that styles the pages with iOS themes it is somehow possible to develop a web application. Given the good support of HTML5 caching techniques it is then possible to develop a web apps25. At moment there is no support for W3C widgets. Hybrid application iOS APIs support web view in order to consume web content within a native application. PhoneGap created a porting of its layers on iOS. Following APIs are at moment supported within PhoneGap: ACCELEROMETER CAMERA COMPASS CONTACTS GEOLOCATION NOTIFICATION (SOUND) NOTIFICATION (VIBRATION) STORAGE 23 Safari on iPhone & iPad 4.2: Accelerometer, WebSockets & better HTML5 support, http://www.mobilexweb.com/blog/safari-ios-accelerometer-websockets-html5 24 ios-4-2-1-vs-ios-4-3-new-nitro-javascript-engine-shows-up-to-three-fold-performanceimprovement, http://www.iosnoops.com/2011/03/08/ios-4-2-1-vs-ios-4-3-new-nitrojavascript-engine-shows-up-to-three-fold-performance-improvement/ 25 How to make an HTML iPhone App, http://sixrevisions.com/web-development/html5iphone-app/ page: 74 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 75 of 229 Target Platforms, target Requirements and Platform IPRs After some problems raised by Apple, PhoneGap based applications were accepted in Apple Store26. Digital signature code availability Not supported Widget packaging: Not supported WARP implementation not supported Extensibility framework (feature tags) Plug in are not supported by Mobile Safari .JavaScript (or XUL) extensions are not supported but some simple extension have being tried through use of Bookmark27. Part A2: Technical Information (Operating Systems) General OS features Portability The OS is available only for Apple devices Security Unknown Connectivity Device specific; main connectivity standards are supported by the os; support for LTE is expected with the new iOS 5 Reliability According to recent tests, iOS platform is the more reliable on the mobile devices market13 Technical criteria Multi-threading and TLS are supported Product criteria 26 Phonegap-officially-permitted-on-the-app-store, http://nachbaur.com/blog/phonegapofficially-permitted-on-the-app-store 27 Iphuelin, http://www.ipuhelin.com/en/safariplus/ page: 75 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 76 of 229 Target Platforms, target Requirements and Platform IPRs Nowadays Apple App store hass the reachest in term of applications available (more than 350K)28. API codebase Bluetooth: supported Nfc: NA DNS: supported DLNA: downloadable Crypto: supported DRM: NA Database: supported Barcode: NA Part B: Commercial information Device coverage Platform maturity Market penetration/availability Availability Feasibility Partner perspective Risks iOS is available only on Apple smartphones Commercial According to Gartner data, iOS smartphones have a market penetration of 16.7% with about 13 million devices PhoneGap is an open source project (available also for iOS) and could be a starting point for a Webinos Wrt Yes iOS will continue playing a leading role in mobile market Hardly an implementation of a Webinos platform will be accepted on the Apple Store Part C: Licensing information iOS platform is proprietary. Apple does not license iOS for installation on third-party hardware. Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 1 1 ? 3 ? Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? 28 Apple vs. All the Rest: Every Mobile App Store Compared, http://www.pcmag.com/article2/0,2817,2382944,00.asp#fbid=wnVQdlCP1kE page: 76 of 229 Target Platforms, target Requirements and Platform IPRs 1 FP7-ICT-2009-5 257103 page: 77 of 229 Target Platforms, target Requirements and Platform IPRs Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1 1 1 ? Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1 1 Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status ? Summary Total Score 11 Part D: Summary iOS has all the most advanced web technologies; anyhow, the extendibility as well as the restriction in acceptance criteria as well as the unique source of installable application limits its feasibility and flexibility as a research target platform. Verdict Is this platform suitable for webinos? No SWOT Swot analysis in relation to webinos: Strengths - A very stable and reliable platform - High performance devices Opportunities - The richest app store nowadays page: 77 of 229 Weaknesses - Closed source - A single app store controlled by Apple Risks - Probably an implementation of the Webinos platform would not be accepted on the Apple store, drastically limiting its diffusion Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 78 of 229 Target Platforms, target Requirements and Platform IPRs Samsung bada Introduction Samsung bada is a Samsung proprietary mobile application platform targeted at a range of mid to low-end Smartphones and feature phones. Samsung describe the goal of bada as not to compete with traditional high end Smartphone operating systems (like Android OS), but to extend the lower end of the market for Smartphones and thus allow conventional mobile phone users access to “Smartphone like” features. Samsung bada is a mobile platform with a configurable kernel. Bada itself can sit upon either a Samsung proprietary kernel or Linux kernel. On the top of these OS kernels the bada platform provides device, service, and framework layers. The current release of the bada SDK is release 1.2.1. This was released during late December 2010, and was the 3rd release of the platform made by Samsung. This latest release introduced a few new features such as conditional application launching, memory leak detection, Wi-Fi EAP support, a web application model and a Flash application model. Since the release of 1.2.1 bada 2.0 was announced by Samsung at Mobile World Congress 2011, it will be launched sometime during the second half of 2011. Some of the new features expected to be released during the lifetime of the bada 2.0 platform are multitasking, push notification messages, NFC support, Wi-Fi Direct, FlashLite 4 support, Flash-based interactive lock screen, text-to-speech and speech-to-text, and HTML5 support Part A2: Technical Information (Operating Systems) General OS features Portability Samsung bada has been Samsung's proprietary platform. Porting applications from or to bada is not officially supported Security Samsung bada provides Key management for encryption, decryption, digital signatures, verifying signatures, and hashes. It also provides Cryptographically Secure Pseudo Random Number Generator (CSPRNG). Connectivity Samsung bada supports communications between devices or between devices and servers. The Wi-Fi functionality in bada supports both infrastructure and ad-hoc modes. Other highlevel networking functionality includes Bluetooth, while lower level tools include both an HTTP toolkit and a sockets toolkit for maximum networking control Reliability page: 78 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 79 of 229 Target Platforms, target Requirements and Platform IPRs The underlying technology of Samsung bada has a long history of almost 10 years. During this time it was Samsung's proprietary platform called SHP, and was deployed in many successful feature phone devices. Based on the original SHP proprietary platform, bada has introduced many more new features such as an open developer API, multipoint-touch, 3D graphics, enhanced user experience, and the ability to support application downloads and installation from a central app store called Samsung Apps. Samsung bada has generally proven to be reliable in its past non-open incarnations, and also with its enhanced new features as an open platform. Technical Criteria Samsung bada in the version 2.0 is a full-fledged Smartphone platform and has support for multitasking. Multiple applications can run simultaneously depending upon the amount of free RAM that the phone has and also how quickly it switches between them. Samsung bada supports multi-threading. There are two thread models: a worker thread and an event thread. The Mutex and Semaphore classes are supported to synchronize between threads. Usability Criteria The Samsung bada platform is Service Oriented, meaning that it is differentiated from other platforms by its support for service-centric features like social networking, commerce, remote content management and location-based services – all hosted on a cloud infrastructure referred to as the bada Server. The bada SDK includes most tools that developers would expect and need to create applications, such as a compiler, debugger, a device “simulator”, unit testing framework, testing tools such as code coverage or performance analyser, documentation, and sample applications. Bada has a rich collection of features to enable the creation of a variety of applications, satisfying diverse and innovative application requirements. Product Diversity The bada SDK includes most tools that developers would expect and need to create applications, such as a compiler, debugger, a device “simulator”, unit testing framework, testing tools such as code coverage or performance analyser, documentation, and sample applications. Bada has a rich collection of features to enable the creation of a variety of applications, satisfying diverse and innovative application requirements. API codebase Bluetooth The bada platform provides the following Bluetooth features: General Access Profile (GAP) support Object Push Profile (OPP) support Serial Port Profile (SPP) support Point-to-point connection support page: 79 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 80 of 229 Target Platforms, target Requirements and Platform IPRs Wifi Samsung bada provides a rich set of methods for managing Wi-Fi devices and accounts, and communicating over a Wi-Fi channel. The Wifi namespace consists of different classes like WifiManager, AdhocService and WifiNetAccountInfo. WifiManager - the WifiManager, WifiBssInfo and WifiSecurityInfo classes provide functionality for local Wi-Fi device and network. AdhocService - the AdhocService and AdhocPeerInfo classes provide methods for communication over an adhoc network. WifiNetAccountInfo - the WifiNetAccountInfo and WifiSecurityInfo classes provide methods for Wi-Fi account information. DNS The Dns class in bada provides the simple domain name resolution functionality. Both GetHostByAddress() and GetHostByName() requests can be made in an asynchronous mode. It also contains the IDnsEventListener event handler for listening DNS events. DNS translates host names into IP addresses and vice versa. DLNA Samsung bada wave provides application called AllShare based on DLNA technology. It is a simple application that will let users stream media to and from your phone onto a TV or computer. DRM Samsung bada handles rights management automatically for licensed and valid DRM content. The DrmInfo class lets you get DRM information from DRM-protected files, such as DRM info type, DRM info method, right status, permission type and right constraints. The ConstraintInfo class contains the current right constraint information for DRM-protected content. The value of ConstraintInfo is updated after the DRM rights instance has been consumed by a player or a viewer. Commerce API The Store namespace in bada facilitates mobile commerce services. The main components of this namespace are Item Service and Purchase Service. Item Service Item service provides functionalities related to item information query. Applications can get their item information (e.g. name, price, description) from Samsung Apps. ItemInfo class contains the item information. Purchase Service Purchase service provides functionalities related to item purchase. Application vendors can sell their additional features to the payer. They can also query the purchase details. PurchaseInfo class contains the purchase information. page: 80 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 81 of 229 Target Platforms, target Requirements and Platform IPRs Media processing APIs The Media namespace defines interfaces and classes that let the application to integrate audio, video, and image processing functions easily. The Image class provides methods for encoding and decoding images. The Player class provides methods for playing audio and video from media file stored in a device or streaming media or data over the network. AudioRecorder and VideoRecorder classes can be used to add audio or video recording features to the application through MIC or Camera devices. The Camera class provides methods to use the camera on the device to display live preview of the scene and capture a still image from the preview. The DrmInfo and the DrmConstraintInfo classes provide DRM information and content information of the DRM file. The MediaCapability class provides capability information of various classes in the Media namespace. Sensor APIs The SensorManager class provides methods to add or remove the sensor's listeners, check the sensor availability, set intervals, and get the maximum or minimum interval. Supported sensors include Acceleration sensor, Magnetic sensor, Proximity sensor, Tilt sensor, Weather sensor etc. Part B: Commercial information The bada platform was first announced on 10 November 2009 and released with the first bada-based phone, the Samsung Wave S8500 on June 1 2010. Over the summer 2010 various bada mass-devices were launched such as the Samsung 723, 575, 533, 525.The second Samsung bada flagship device the Wave II S8530 was released in November 2010. Further bada devices are planned to be launched by Samsung during 2011 including the Wave 578 mobile phone which was announced by Samsung at MWC in early 2011. While the Android OS is becoming more and more dominant in the Smartphone market, Samsung has reported that it has shipped around 5 million bada based devices as of the first quarter of 2011. Thus the bada platform despite being proprietary has actually outperformed total shipments of Windows Phone 7 devices by more than a million units. Device coverage Samsung is the only company selling devices based on the bada platform. Platform Maturity Samsung bada has a long history of almost 10 years. During this time, it has been deployed in many successful handsets. Samsung bada is proven to be reliable with its success history and also enhanced with its new features. Market penetration/availability page: 81 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 82 of 229 Target Platforms, target Requirements and Platform IPRs The Samsung Wave S8500 was the first Smartphone based on bada, and was the cornerstone of the company’s commitment to ‘Smartphone democratization’ during the early stages of bada. With the launch of the Wave, Samsung started constructing a total ecosystem around bada platform including the Samsung Apps store. The Samsung Wave II device was released in late 2010, and the third bada device to be launched will be the Wave 578 sometime later in 2011. The Samsung App store had reached more than 100 Million downloads by March 2011 by comparison the Apple application store has had 14 Billion downloads as of June 2011. Availability The bada SDK includes copyright software licensed are provided to developers as open source. Samsung bada claims that full technical support for bada application development is available. Samsung Apps provides a variety of mobile applications specially developed for Samsung bada phones Feasibility Although Samsung bada provides full technical support for bada application development, developing webinos applications for bada will still face challenges such as the device availability, licensing issues. Partner perspective Bada is aiming at providing customers a wider choice of Smartphones with cost-effective yet powerful bada-powered phones. Risks Bada is a proprietary platform. The availability of bada device and application are far less than its competitors Android and Apple iPhone Part C: Licensing information Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand page: 82 of 229 1. No – discriminates with regard to all of the above Not known 3. Yes – developer support mechanisms open to all developers 4. Yes – full roadmap available, with explicit call for contributions to the roadmap 4. Yes Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 83 of 229 Target Platforms, target Requirements and Platform IPRs decision-making in the project? Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 4. Yes – contributions and acceptance process are clear, with progress status of contributions provided 4. Yes – there are good project statistics that provide this information 3. Yes – the process is documented and accessible to all developers Not known 2. Yes – project requires a copyright license/'sign-off' process Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes – code must go through a formal compliance process prior to be distributed to other parties 3. Yes – restricted by approval, distribution or discovery Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – there is no formal membership or discrimination between the rights of members and non-members from a development/access perspective Summary Total Score 31 Additional comments Samsung bada is a proprietary closed-source application platform with open APIs to third party developer and is currently not licensable to any other parties. Samsung have full control over the bada platform due to its closed nature. Part D: Summary Verdict As bada is under company proprietary license, it probably not suitable for an open source project like webinos. SWOT page: 83 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 84 of 229 Target Platforms, target Requirements and Platform IPRs Swot analysis in relation to webinos: Strengths - Samsung bada provides rich collections of features and services with high reliability and performance. Comparing with its competitors, bada outperforms on highquality multimedia, easy to use user interface and flexible customization options etc. - Samsung bada represents great challenges and unprecedented opportunities to developers. With supports for a wide range of devices, bada benefits from active developer community and well-grown Samsung Apps app store. It offers opensourced SDK, full technical supports, great rewards and returns to application developers. Opportunities The vision of Samsung bada is “Smartphones for everyone”. The global distribution and coverage of Samsung mobile phones and Samsung Apps (the application store), will boost bada application developers' business opportunities. page: 84 of 229 Weaknesses A main concern on using this platform in Webinos project is its company proprietary license. Risks The developers shall be aware of the increasing dominance of Google's Android platform in mobile world that bada is facing. There are already a huge number of applications available for Apple iPhone and Android devices - and these numbers are growing extremely fast. Bada, on the other hand, with only a handful devices released, certainly has a catch-up to do in order to create similar momentum on the apps front. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 85 of 229 Target Platforms, target Requirements and Platform IPRs BlackBerry Introduction Blackberry is the commercial name of many devices produced by the Canadian company Research in Motion (RIM). All devices have a proprietary operating system called Blackberry OS. RIM recently released a new OS called Blackberry Tablet OS together with RIM's first tablet called Blackberry Playbook; this new OS will be able to run both Blackberry and Android apps thanks to application players. Part A1: Technical Information (web rendering engines) Starting from version 6.0 BB browser - Blackberry Mobile - is based on WebKit an open source web engine used also by Google Chrome, Maxthon 3, Safari (both desktop and mobile), Shiira, iCab 4, OmniWeb 5.5+, Epiphany, Adobe AIR, Midori, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+). BB also has support for the following web rendering engines: Name Reference Source opera mini http://www.opera.com/mobile/ closed Web components HTML 4 rendering code base The results of Acid3 test on BB web browser with default settings rendering are: Version Result 6.0 100/100 HTML 5 rendering code base: According to html5test.com Blackberry OS 7 browser has a score of 277 with 3 bonus points. For information about html5 not supported elements check http://docs.blackberry.com/en/developers/deliverables/20957/HTML5_support_1326451_1 1.jsp. JavaScript engine According to Blackberry info JavaScript is fully supported up to version 1.6, while JavaScript 1.8 is partially supported. Widget availability page: 85 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 86 of 229 Target Platforms, target Requirements and Platform IPRs Blackberry Webworks is a platform for developing applications using web technologies, offering also support for web frameworks like JQuery and PhoneGap29. Digital signature code availability Webworks applications’ signing is supported; applications that use controlled APIs require signatures from the Blackberry Signing Authority Tool30. Widget packaging Widget packaging supports an extension of w3c packaging. The resources are compiled in a .cod file that can be installed on the phone30 WARP implementation Blackberry supports W3C Widget Access Request Policy 31. Extensibility framework It's possible to extend the framework with Webworks APIs declaring them in the widget manifest32. Part A2: Technical Information (Operating Systems) General OS features Portability The OS is available only for RIM devices. Security Security is a key aspect for Blackberry phones and is provided at many levels (communication with the enterprise server, data storage,) and has received many third party certifications33. Application signing is needed for distribution. Connectivity Device specific, but all connectivity standards are supported by the OS. 29 Blackberry Webworks development, http://us.blackberry.com/developers/browserdev/opensource.jsp 30 Signing .cod Files for Blackberry Widgets, http://docs.blackberry.com/en/developers/deliverables/20770/Signing_cod_files_for_BB_Widget_ap plications_836006_11.jsp 31 Blackberry, Allowig Access to external resources and APIs, http://docs.blackberry.com/en/developers/deliverables/20770/Allowing_access_to_external_resourc es_and_APIs_834696_11.jsp 32 Blackberry Webworks API Reference, http://www.blackberry.com/developers/docs/webworks/api/ 33 Blackberry Approvals and Certifications, http://us.blackberry.com/ataglance/security/certifications.jsp page: 86 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 87 of 229 Target Platforms, target Requirements and Platform IPRs Reliability The platform is stable. Technical Criteria Multi-threading and multi-processing are supported, as well as TLS instead IP-v6 is still unsupported34. Product Diversity It's possible to develop new apps and sell them through the Blackberry app store ; there are more than 25000 applications available today. API codebase Bluetooth: supported (package net.rim.device.api.bluetooth). Nfc: supported (package net.rim.device.api.io.nfc). DLNA: not supported. Crypto: supported (package net.rim.device.api.crypto). DRM: supported (package net.rim.device.api.drm). Database: SQLite supported (package net.rim.device.api.database). Barcode: supported (package net.rim.device.api.barcodelib). UPnP: not supported. Part B: Commercial information Device coverage Blackberry is only targeted at RIM mobile devices Platform maturity Blackberry is one of the most mature platforms on the market, having been in market almost 10 years Market penetration/availability According to Gartner data, Blackberry Smartphones have a market penetration of 14.8% with about 11.9 million devices, but is losing market shares Availability PhoneGap is an open source project (available also for BlackBerry) and could be a starting point for a Webinos implementation 34 Blackberry Enterprise Server Support for IPv6, http://btsc.webapps.blackberry.com/btsc/search.do?cmd=displayKC&docType=kc&externalId=KB050 94 page: 87 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 88 of 229 Target Platforms, target Requirements and Platform IPRs Feasibility High risk of obstacles in implementation Partner perspective Risks Since the OS is closed source, some features of webinos platform may not be implementable Part C: Licensing information Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 1 1 ? 1 1 Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1 1 1 1 ? Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1 1 Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status Summary Total Score 10 Part D: Summary page: 88 of 229 Target Platforms, target Requirements and Platform IPRs ? FP7-ICT-2009-5 257103 page: 89 of 229 Target Platforms, target Requirements and Platform IPRs Verdict Is this platform suitable for webinos? No SWOT Swot analysis in relation to webinos: Strengths - A significant platform with a well defined Smartphone market Opportunities - Business UC can get attractions - Implement already widget specification natively so adoption of webinos web technologies can potentially be well received page: 89 of 229 Weaknesses - The platform is closed with no possibility to influence it Risks - Missing API to link WRT to device APIs - Security model is difficult to be changed - Low level system not accessible Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 90 of 229 Target Platforms, target Requirements and Platform IPRs Linux (raw) Introduction Linux is an open operating system that offers rich functionality and scalability to handset developers and manufactures. It is evolving into a major standard for mobile device operating systems as handset manufacturers are discovering that traditional proprietary platforms no longer provide the flexibility they require to differentiate themselves, and are too costly and difficult to extend to provide the innovative services required by mobile operators. With its excellent record of success within mobile embedded systems, Linux has been selected as the core technology for the LiMo (Linux Mobile) Foundation Platform. The LiMo Foundation is an organization aiming to establish a globally competitive, Linux-based mobile operating system for Smartphone mobile devices. The scopes of LiMo Foundation Platform are to easily cross-platformize with other categories such as consumer electronics and automotive, and to engage the large community of Linux developers into the mobile arena. The foundation was founded in January 2007 and has more than 50 member organizations. It is an independent, non-profit organization. The LiMo Platform is being developed to enable the design, development and deployment of mobile phone devices based on a modular, plug-in architecture built around an open operating system with a secure run-time environment for the support of downloaded applications. Currently the LiMo platform only uses open source components and is built on top of them. It is planned that a new release, LiMo 4 code, will become available for public download from July 2011. LiMo 4 delivers complete middleware and base application functionality. It makes broad use of the leading open source technologies and is positioned to support the realisation of openness and choice within mobile consumer propositions. At the CTIA 2011 show in Orlando, LiMo is announcing that LiMo 4 will be able to support at least 4 classes of devices: flagship Smartphones, mid-tier Smartphones, entry-level Smartphones and tablets. Part A2: Technical Information (Operating Systems) General OS features Portability While not originally designed to be portable, Linux is now one of the most widely ported operating system kernels. Linux been ported to not only super computers but also various handheld devices. Some operating systems developed for mobile phones use modified versions of the Linux kernel including Google Android, HP webOS, and Nokia Maemo. LiMo itself offers common platform for application portability across various LiMo powered devices. Security page: 90 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 91 of 229 Target Platforms, target Requirements and Platform IPRs Linux is and has always been a very secure operating system. Although it still can be attacked when compared to Windows, it is much more secure. LiMo 4 provides basic libraries associate with security, e.g. open ssh, openssl. Connectivity LiMo open source packages has offered bluez - Official Linux Bluetooth protocol stack. Apart from this, LiMo currently has very limited support for connectivity Reliability The majority of Linux variants and versions are notoriously reliable and can often run for months and years without needing to be rebooted Technical criteria Linux supports true pre-emptive multitasking (both in user mode and kernel mode), virtual memory, shared libraries, demand loading, shared copy-on-write executables, memory management, the Internet protocol suite, and threading. Usability criteria Although the majority Linux variants have improved dramatically in ease of use, comparing with some other operating systems, e.g. Windows, it is still not an easy to use system for new computer users. LiMo itself has provided flexible and powerful user interface - there is a choice of two UI frameworks - EFL (Enlightenment Foundation Libraries) and GTK+. It also provides multitouch gesture support. Product Diversity LiMo platform provides a common technology base that allows cost-efficient development and deployment of differentiated handsets and services API codebase page: 91 of 229 LiMo open source packages currently offers alsa library - Advanced Linux Sound Architecture BlueZ libraries and tools - Official Linux Bluetooth protocol stack and tools WebKit - open-source web browser layout engine. Security libraries, e.g. open ssh, openssl cario 2D - Cairo is a 2D graphics library with support for multiple output devices. Gtk library - gtk 2.14.4 GIMP Tool video codec, e.g. libtheora, libvorbis GSteamer - Gstreamer Core plug-in image libraries. e.g. libpng, libjpeg X11 libraries Databases, e.g. sqlite, sqliteodbc, unixODBC Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 92 of 229 Target Platforms, target Requirements and Platform IPRs More API codebases are available at http://opensource.limofoundation.org/index.php/limoopen-source.html Part B: Commercial information Device coverage The first LiMo handset was released in 2008. By February 2010, with new LiMo handsets from ELSE, NEC and Panasonic, the launch of the new devices brings the total number of LiMo compliant handsets announced to fifty, according to the Foundation. Platform maturity LiMo platform is not a full, retail-ready OS package. Market penetration/availability Comparing with high volume releases for Google Android or Apple iPhone, the penetration of Limo handset has not been high enough to pull it out of the analyst firms’ “other” category. Availability LiMo does not impose any commercial restrictions on use of the LiMo Platform and the source code is full available to developers Feasibility LiMo only handles things that are tucked below what the user actually sees. User experience items, such as the interface, are the responsibility of those developing the device. Partner perspective Device-makers and operators embrace the technology in any real way, support also failed to grow among the application developer community, as the device user numbers failed to be large enough to generate interest. Risks Due to the lacks of support among the application developer community and maturity of the platform itself, application development over LiMo platform probably will face a long cycle. Part C: Licensing information Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIpage: 92 of 229 4. Yes 4. Yes – approved license and Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 93 of 229 Target Platforms, target Requirements and Platform IPRs approved license? permissive (e.g. Apache, BSD, MIT) 3. Yes – developer support mechanisms open to all developers 4. Yes – full roadmap available, with explicit call for contributions to the roadmap 4. Yes Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 4. Yes – contributions and acceptance process are clear, with progress status of contributions provided 3. Yes – the process is documented and accessible to all developers Not known 3. Yes for LiMo non-common module – project requires a copyright license and patent grant. 1. No for LiMo common module – no contribution license Derivatives Are trademarks used to control how and where the platform is used via Not enforcing a compliance process prior to distribution? known Are go-to-market channels for applications derivatives constrained by the project 4. No in terms of approval, distribution or discovery? Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 33 Additional comments LiMo Foundation itself does not operate an ‘app store’ but instead works with its members to ensure that their own app stores and distribution strategies will support apps and services page: 93 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 94 of 229 Target Platforms, target Requirements and Platform IPRs created for LiMo handsets. Developers will be able to distribute their applications on the numerous application stores. LiMo’s common code is a set of modules being built through member contributions. The common code is contributed under LiMo’s Foundation Public License and is royalty-free. The additional (differentiated) modules are can be contributed under common open source licenses or under a RAND-type (Reasonable and Non Discriminatory) license. Contributors to the LiMo platform grant patent licenses in respect of their contributions It is important to note that any company is eligible to join LiMo, and that LiMo's IPR policy is published and specified in the LiMo bylaws and website. Part D: Summary Verdict Is this platform suitable for webinos? No. SWOT Swot analysis in relation to webinos: Strengths - Being an open source Linux offers the opportunity to standardize platforms deployed in networks, reducing the amount of time necessary to deploy applications and services and thereby reduce operating expenses. Different from traditional proprietary platforms, it give operators a flexible, open platform they can tailor to meet their development platform requirements. - A typical installation of embedded Linux requires only about two megabytes, which is therefore a good candidate for use as operating system of resource limited devices. Furthermore, as mobile phones incorporate greater amounts computing device features, Linux is emerging as an ideally suited platform to develop this functionality. - LiMo 4 has promised a good collection of features and interfaces for mobile application development. It is designed to be hardware independent so that companies that create LiMo-powered handsets have the flexibility to choose any hardware solution to meet their needs. Choosing Linux as the core page: 94 of 229 Weaknesses Though the time of establishment of LiMo foundation is relatively early, its software is slow in Android in rate of development. The issue with LiMo is that it focuses on standardising middleware and not the service delivery layer, unlike Android, Qt and WebKit open source efforts. Unfortunately, middleware requires more expertise and efforts than upper level application development. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 95 of 229 Target Platforms, target Requirements and Platform IPRs technology for the platform, LiMo offers a foundation platform for next generation devices - Linux platform is well ideally suited to developing next generation intelligent device functionality. - With support and participation of global mobile industry leaders and aiming to deliver an open and globally consistent handset software platform based upon Mobile Linux, Limo leads the way towards a broadly accepted operating system. Opportunities - LiMo 4 enables flexible separation of the device platform and the service propositions proving operators and device manufacturers the opportunity to shape attractive user propositions for consumers and thereby, secure sustainable long-term value. - LiMo’s membership includes support and participation of 10 global mobile operators, who collectively represent a subscriber base of nearly 1 billion mobile subscribers worldwide. In addition, support for WAC runtime means that developer will benefit a potential subscriber base of 3 million through WAC compliant app stores. - Neutral support for a broad range of application. This means that developers do not have to learn a whole new programming paradigm to deploy your applications on the LiMo Platform. - LiMo presents a very natural opportunity to transfer developer's Linux skills into the mobile marketplace. page: 95 of 229 Risks Although LiMo continued to add new members, and develop the LiMo stack, e.g. releasing the LiMo-sponsored BONDI Web SDK for interoperable web widgets, the Android phenomenon appears to have stifled the group's momentum. LiMo was hit especially hard when Motorola abandoned the Limo in favour of Android. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 96 of 229 Target Platforms, target Requirements and Platform IPRs Ubuntu Unity Introduction Ubuntu Unity is a shell interface for the GNOME desktop environment launched in June 2010 by Canonical, Ltd. for its Ubuntu operating system and especially designed for netbooks and related touch-based devices, but also used on the desktop. Unity is not a full desktop environment and is designed to be used with existing GTK+ programs. It is part of the Ayatana project, an initiative to improve the user experience within Ubuntu. Part A2: Technical information General OS features See ISMB_26_Debian_NEW. API codebase Being just a shell environment, Unity has no influence on which APIs it is possible to use. Hence, please refer to ISMB_26_Debian_NEW for Linux APIs. It does however offer a C API and a Python API to interact with the shell environment. Part B: Commercial information Device coverage These are the hardware requirements for the 3D version of Unity, while the 2D version Unity will be available as a fallback starting from the upcoming Ubuntu "Oneiric Ocelot" 11.10, thus probably available here once published. Platform Maturity Unity is a relatively new technology, hence cannot be reasonably considered mature, nevertheless it is the default shell environment on Ubuntu "Natty Narwhal" 11.04 and will completely replace the default GNOME shell in Ubuntu "Oneiric Ocelot" 11.10. Market penetration/availability Ubuntu, including Unity, is distributed free of charge. Since Ubuntu "Natty Narwhal" 11.04, the first Ubuntu release shipping with Unity, was released only a couple of months ago, at the time of writing, the market share of Unity is negligible at this point Availability Feasibility page: 96 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 97 of 229 Target Platforms, target Requirements and Platform IPRs Unity should not constitute a problem of any sort for a webinos implementation and should not require any particular effort for things to work. That said, in order to have the best possible integration with the Unity shell, it may be needed to write a small amount of Unityspecific code, and that is very unlikely to be problematic. Partner perspective A possible partnership is with the open source communities embracing Ubuntu, thus it might increase the project's impact. Moreover, Canonical may be also interested in embracing the project. Risks Any development done specifically for Unity is restricted by the core Ubuntu versions and thus any implementation of webinos cannot be directly targeting Unity. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes 4. Yes – approved license and permissive (e.g. Apache, BSD, MIT) 3. Yes – developer support mechanisms open to all developers 2. No – No formal roadmap exists, but there are visible committer or contributor requests 3. Yes – there is some information but it is hard to find and doesn't appear comprehensive Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline page: 97 of 229 4. Yes – contributions and acceptance process are clear, with progress status of contributions provided 4. Yes – there are good project statistics that provide this information 3. Yes – the process is documented and accessible to all developers 2. Yes – but you must manually find and collate the information from various project sources Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 98 of 229 Target Platforms, target Requirements and Platform IPRs Does the contribution license require a copyright assignment, or copyright license and/or patent license? 3. Yes – project requires a copyright license and patent grant Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes – code must go through a formal compliance process prior to be distributed to other parties 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 38 Part D: Summary Verdict Even if the above investigation suggests it as a good candidate, the risks that are implied from the platform immaturity and the unclear license agreement should be taken into account. SWOT Swot analysis in relation to webinos: Strengths - Being the default desktop shell for Ubuntu, both on desktops and tablets/netbooks, Unity is getting shipped to a large number of users worldwide with regard to its young age. This kind of early feedback is likely to reduce the possibility of having fundamental design mistakes and of having subtle bugs lying around for significant amounts of time. - The code base is relatively small, given the number of active developers, and relies heavily on the very mature GNOME platform, hence keeping flexibility without sacrificing feature support. - It is backed by a large and active development team led by Canonical, which is investing significantly on the development of this technology. - It does not require, at least now, any special effort for applications to work with it. Opportunities - At this early stage of development it's difficult to page: 98 of 229 Weaknesses - Unity is not yet a mature product and is likely to evolve significantly in the near future; hence its future is pretty much uncertain. - Its market share, as of today, is minimal. Risks - Unity is released mostly under GPL Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 99 of 229 Target Platforms, target Requirements and Platform IPRs say which are the actual opportunities for webinos, however one thing that can be said about Unity is that if tablets shipping with traditional Linux distributions are to become popular, it will probably be a major player when it comes to user interfaces in that area. page: 99 of 229 v3+, yet the main development trunk in the public code repository does also include the LGPL v3+ text, making it unclear whether it is the whole product to be dual-licensed or if the LGPL v3+ applies only to parts of the product. - The contributor agreement gives Canonical copyright ownership over contributions and allows Canonical to make the contribution available to the public under arbitrary license terms. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 100 of 229 Target Platforms, target Requirements and Platform IPRs MeeGo Introduction MeeGo is a merger of two open source projects Maemo (based on Debian GNU Linux) and of Moblin (based on Red Hat's Fedora Linux) and is supported by Intel and Nokia. From MeeGo’s own site https://meego.com/about The MeeGo project provides a Linux-based, open source software platform for the next generation of computing devices. The MeeGo software platform is designed to give developers the broadest range of device segments to target for their applications, including netbooks, handheld computing and communications devices, in-vehicle infotainment devices, smart TVs, tablets and more – all using a uniform set of APIs based on Qt. For consumers, MeeGo will offer innovative application experiences that they can take from device to device. The MeeGo project is hosted by The Linux Foundation. MeeGo includes: Performance optimizations and features which enable rich computational and graphically oriented applications and connected services development No-compromise internet standards support delivering the best web experiences Easy to use, flexible and powerful UI/app development environment based on Qt Open source project organization managed by the Linux Foundation State of the Art Linux stack optimized for the size and capabilities of small footprint platforms and mobile devices, but delivering broad Linux software application compatibility MeeGo currently targets platforms such as netbooks/entry-level desktops, handheld computing and communications devices, in-vehicle infotainment devices, connected TVs, and media phones. All of these platforms have common user requirements in communications, application, and internet services in a portable or small form factor. The MeeGo project will continue to expand platform support as new features are incorporated and new form factors emerge in the market. MeeGo is Linux based therefore largely GPL code. Its current primary contributors are Nokia and Intel. However, as shall be discussed, uncertainty and lack of stability surrounding Nokia's platform strategy, casts a cloud over this alliance. Contrast the following news items for a flavour of the mixed messages surrounding MeeGo Nokia support. http://www.deccanherald.com/content/172494/nokia-phase-symbian-platform-2016.html http://www.fonehome.co.uk/2011/06/29/the-death-of-meego-how-why-and-when/ page: 100 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 101 of 229 Target Platforms, target Requirements and Platform IPRs http://www.techeye.net/mobile/nokia-demonstrates-its-meego-support http://www.techaloud.com/2011/06/meet-the-nokia-n9-the-first-and-probably-last-meegodevice-from-nokia/ Relationship between QT and MeeGo Understanding the relationship between QT and MeeGo is essential to understand the technical capability of the platform, but more importantly, the governance, value and roadmap of the MeeGo project. According to the formal architecture definition https://meego.com/developers/meego-api QT features as part of the MeeGo API as part of the cross platform UI framework, but it is important to note that this does not mean that it is "essential" to use QT to create a MeeGo application. The subtlety here is that if QT is a mandatory interface for 3rd party developers, developing on the MeeGo platform, but QT is run under a different ecosystem, as far as the Application Developer ecosystem is concerned, it the governance of QT not MeeGo that is the significant determinant on application capability and roadmap. Part A1: Technical Information (web rendering engines) The web developer has a number of options open, for the integration of HTML rendering, and building enhanced browser components. Web Components QT The QT WebKit browser components exist as part of the MeeGo API for developers to use for rendering HTML content. Full source code is available to this browser component, under the normal QT license. We presume that the default browser, available for the N9 device is also based upon QT This browser supports a number of claimed technologies support - CSS 3 - DOM Level 3 - HTML over TCP/IP - HTML5 - Javascript 1.8 - Webkit 2 based - XHTML - XML Flash support is not included, but already many major web sites deliver video content through HTML5 technology, so for example, the YouTube app on the phone is a web application leveraging the browser. page: 101 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 102 of 229 Target Platforms, target Requirements and Platform IPRs A full list of up to date HTML 5 functionality supported by the QT browser components can be found on http://developer.qt.nokia.com/wiki/Qt_Webkit_HTML5_Score A detailed paper http://sf2011.meego.com/program/sessions/meego-browser-touch-whenchromium-meets-qt presented at the MeeGo conference, claims Chromium port to MeeGo utilising element of QT. It is however unclear whether this relates to an "in development" browser for MeeGo or whether this is the browser supported in the N9 device. Chrome According to https://meego.com/downloads/releases/1.0/meego-v1.0-netbooks For a fast and rich Internet experience the MeeGo Netbook user experience integrates Google Chrome or, if you prefer a fully open source browser solution, Google Chromium is also provided. Soon we will be releasing the MeeGo Handset user experience which will use the Fennec Mozilla Browser. The Google Chrome browser is the default supported browser on the MeeGo netbook platform. From a governance and licensing perspective, it is important to note the subtle difference between the Chrome browser and fully open sourced Google Chromium browser. Mozilla Fennec was the default browser provided on the previous incarnation of Maemo on the launched N900 device. With the release of the N9, Fennec is no longer the default browser. Discussions on the developer boards https://groups.google.com/forum/#!topic/mozilla.dev.apps.firefox/wKHxRuMHY1U seem to imply that development continues on the previous Maemo browser, upgrading it to a MeeGo compliant stack. Interestingly, according to http://shootspeak.com/2011/06/29/fennec-gives-nokia-n9-theability-to-display-flash-content/ the Fennec browser supports flash content, unlike the default N9 browser. As with all Mozilla products, developers can get full access to the source code from Mozilla's source code repository. See information on Mozilla trademarks and licensing, for limitations on how this code can be used. Opera page: 102 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 103 of 229 Target Platforms, target Requirements and Platform IPRs Opera is a commercial company producing proprietary software. A developer therefore cannot access the browser code, unless it has a commercial agreement to do so with Opera Summary of web support MeeGo is well supported by a number of different browser technologies. Chrome, Opera and Firefox derive from completely different code bases, however all support high levels of compliance against HTML4, HTML5 and Firefox capability. Chrome and Firefox provide the source code to the requisite technology. Opera stands out as being proprietary software QT technology is built in by default into the MeeGo Platform, both as the base of the default browser and as source code components that can be re-used by application developers. JavaScript engine Chrome versions of the MeeGo browser make use of the V8 JavaScript engine. The QT browser makes use of the standard WebKit JavaScript (Javacore) engine. Although QT appears to be evaluating a more complete integration of the V8 engine into the QT stack Widget availability The N9 device appears to have lost the more visible support of widget technology from it UI and homescreen 35. However, QT supports this as a beta release technology36. Meaning essentially, it is functionality that can be available to developers who are prepared to invest the effort. But it is not available in a product ready form to end users Specifically, we presume solid implementations of Widget packaging, Digital Signatures and WARP are all available as part of the Widget Gallery Preview release. Extensibility framework (feature tags) Qt has documented ability to add new objects to the root level JavaScript objects37 This capability simply has to be combined with feature tag parsing in the widget config.xml to give full extensibility functionality Part A2: Technical Information (Operating Systems) 35 N9 and MeeGo loss of widgets, http://mobiletablets.blogspot.com/2011/06/n9-andmeego-harmattan-loss-of-widgets.html 36 WebKit SDK with WRT, http://wiki.meego.com/SDK/Docs/1.1/Web_SDK_with_WRT and Maemo 6 UI preview widgets gallery, http://mymaemo.com/c/maemo-6-ui-previewwidgets-gallery-1008.html 37 WebKit Fancy Browser, http://doc.qt.nokia.com/4.5/webkit-fancybrowser.html page: 103 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 104 of 229 Target Platforms, target Requirements and Platform IPRs General OS features Portability Porting from MeeGo to other platforms is supported by the recommended use of the QT cross platform porting library. Nokia provide guidelines for porting to the MeeGo platform38. As MeeGo is based on the Debian platform, the real world effort of porting to a MeeGo device is not significantly different from porting to general Linux platforms. Security The MeeGo security architecture is documented at http://wiki.meego.com/Security/Architecture Full details of the architecture can be viewed from the above link. From the perspective of webinos, i.e. creating a flexible web based execution environment on top of the operating system the following should be taken note of Trusted Execution Environment: MeeGo supports a TEE. This gives high levels of assurance on the integrity of the core platform Access control and manifests: MeeGo makes user of the widespread notions of application manifests, which declare applications intent to use capability, and access control list based policy mechanism for determining which applications can use which capability. Secure software distribution: in many ways this is the most sensitive element. What applications come from where and what can they do. The platform itself demonstrable has the capability to enforce these rules very strongly. However as the document states Each MeeGo software source is supposed to check its applications for robustness and security compliance against their own security policies. There are many different ways a software vendor can accomplish this, and that effort specifically falls outside the scope of this document. Device security policy: similarly, at the next level of abstraction up, there exist on the MeeGo platform a set of rules that determine what capability different classes of application have access to39. The implications of the above are a) Unlike Android - MeeGo as a platform is not tied to a specific application ecosystem b) the restrictions that a vendor (device integrator of the MeeGo platform) may impose on the platform, could be varied. The security framework seems to imply them to be quite solid. Connectivity 38 WebKit Porting Guide, http://wiki.meego.com/MeeGo_Porting_Guide 39 MeeGo Secure Architecture Software Distribution, http://wiki.meego.com/Security/Architecture#Secure_Software_Distribution page: 104 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 105 of 229 Target Platforms, target Requirements and Platform IPRs Device specific and platform agnostic. MeeGo being formally well supported by Nokia is well provided for in the connectivity area. Reliability While the platform was considered cutting edge in terms of its pioneering spirit, the current commercial status makes it less favourable to developers only the N9 device has been released to date, therefore it is hard to evaluate the platform in great detail Technical Criteria MeeGo is based upon the Debian Linux distribution; therefore it inherits many of the qualities of the Debian stack Product Diversity Supports most features one would expect of a Web based mobile platform but current commercial focus is unclear Capability Description Information source Multithreaded Supported natively and at the QT level Supported. http://www.multicoreinfo.com/2011/04/atommeego/ Source code repository MeeGo repository http://wiki.meego.com/images/MeeGoCompliance-Spec-1.1.0.0.pdf https://bugs.meego.com/show_bug.cgi?id=9352 MeeGo repository N/A TLS IPv6 Not Supported. Usability Criteria MeeGo promote the use of QT for the UI framework. QT is well proven and used across many devices and operating systems. The UI of the N9 has generally been well received by the technical press. Product Diversity: Similarly, the fact that only the Nokia N9 has been released to date on the MeeGo platform means that evidential support for product diversity is very low indeed. API codebase Bluetooth: Supported. The "Bluetooth APIs"http://bugreports.qt.nokia.com/browse/QTMOBILITY-633 is supported in the local connectivity API page: 105 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 106 of 229 Target Platforms, target Requirements and Platform IPRs NFC & RFID: Unclear at present time. Forum discussions http://forum.meego.com/showthread.php?t=1191 imply it is not yet there. However NFC is indicated to be present in Linux 2.6 distribution http://www.linuxfordevices.com/c/a/News/Inside-Contactless-Open-NFC/ DNS: Supported DLNA: No indications of current support Crypto and Certificate libraries: Crypto libraries are supported by the OpenSSL package DRM: Information unclear at present UPnP: Supported on the multimedia stack https://meego.com/developers/meego-architecture/meego-architecturedomain-view Media capture capability/codecs: is provided through the GStreamer component http://en.wikipedia.org/wiki/GStreamer Audio&Video Video codec support: H.263, MPEG4-SP & ASP, H.264 BP/MP, WMV9 / VC-1 and Mkv (Matroska). Audio codecs: MPEG-4 AAC , eAAC/C+,MP3 , WMA , Dolby Digital Plus , FLAC. Part B: Commercial information Device Coverage Despite claiming support for phones, netbooks, TC and in Car, MeeGo to date has only been released for a single phone, the Nokia N9. MeeGo has strong heritage in the Maemo and Moblin platforms. The release of the N9 phone proves it is (in Nokias’ eyes) the platform is mature enough for release Independent reviews of some of the other MeeGo platforms claim that it still needs some work40 . Market penetration/availability There is only one MeeGo device that has been released to date. The N9 was officially released on 20th of June 201141.Many anticipated it will be the first and last MeeGo. There are rumours that the N9 may not even reach the UK42. It is too early to see any sales figures for the device. Although MeeGo supports software releases for Tablets (media phone), Netbooks, in vehicle, Smart TV in addition to phones. To date there are no commercially available devices supporting these platforms. Nor are there publicly committed products supporting these OS variants Availability 40 Intel shows off more of its MeeGo Table UI, http://www.engadget.com/2011/02/14/intelshows-off-more-of-its-meego-tablet-ui-still-needs-lots-of/ 41 Nokia N9 Officially Announced, http://thenokiablog.com/2011/06/20/nokia-n9-official/ Nokia N9 will not get UK release, http://www.t3.com/news/nokia-n9-will-not-get-ukrelease?=58055 42 page: 106 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 107 of 229 Target Platforms, target Requirements and Platform IPRs The MeeGo software stack is publicly available on the MeeGo website Feasibility MeeGo is a mature platform with good web framework and security support. Webinos implementation is very feasible Partner perspective See above Risks The biggest risk for MeeGo is the lack of industrial support to maintain and evolve the platform. Nokia appears to be pulling back from the platform. Recent rumours indicate that Intel may also be pulling back from the platform Ecosystem adoption Application developers The n9 comes with a few key applications pre-installed43 The ovi store however, does not as yet even support an option for selecting the N9. Therefore it is impossible to identify how many third party applications exist for the N9/MeeGo platform Device manufacturers Only a single mobile manufacturer (Nokia) with claims that they will only support this single device, due to the new Windows Mobile 7 strategy. Developers Device availability and range As of May 2011, Google reported that there are more than 310 Android device models manufactured and sold around the world18. Android is supported on wide range of device price points from high-end devices (e.g. HTC Blast concept phone44) to sub 100 Euro models made by many small Chinese ODMs. Recent versions of the OS support Smartphone and tablet form-factors. 43 Nokia N9 must have apps, http://swipe.nokia.com/applications/ 44 HTC Blast Specs : High-End Android phone with 1.5GHz processor, http://www.sleetherz.com/android-news/htc-blast-specs-high-end-android-phone-with-1-5ghzprocessor/2872/) page: 107 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 108 of 229 Target Platforms, target Requirements and Platform IPRs Customization possibilities The MeeGo platform is comprised of many components, each coming with its own licensing terms. Although as Linux based platform, a significant number of these are GPL based Technically this means that MeeGo is theoretically infinitely customisable. The real world restrictions on this could be: The restriction on use of the MeeGo trademark https://meego.com/about/trademark, which is in turn dependent upon the specifics of the MeeGo compliance program http://wiki.meego.com/Quality/Compliance Any restriction on access to application ecosystems. However, as the volume of MeeGo apps is still small at the moment, this is not a significant constraint. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes 2. Yes – strong copyleft 3. Yes – developer support mechanisms open to all developers 1.No 4. Yes Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 2. contributions process only with progress status of contributions provided 3. Yes but you must manually find and collate from various sources 3. Yes – the process is documented and accessible to all developers 3. Yes – but you must manually find and collate the information from various project sources 2. Project requires sign-off process Derivatives page: 108 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 109 of 229 Target Platforms, target Requirements and Platform IPRs Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes it is intended that there will be a formal compliance process 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No– the community structure appears flat Summary Total Score 33 Part D: Summary Verdict From a technical, licensing and governance perspective MeeGo is an ideal match for webinos requirements. MeeGo also has publicly declared aspirations to cross device interoperability that exactly match the webinos visions. The biggest concern for MeeGo is the future support of its primary sponsors - specifically now it's officially merged with LiMo into the "Tizen" project (announced 27 September 2011), which seems a politically-driven move without tangible OEM commitments. SWOT Swot analysis in relation to webinos: Strengths - Based upon technically mature technologies - MeeGo has been pre-optimised to the mobile profile - Well proven community and governance model Opportunities - Replacing MeeGo UI layer with web technology page: 109 of 229 Weaknesses - Nokia and Intel support looks unlikely Risks - MeeGo UI components appear heavily dependent upon Nokia. Yet Nokia’s support for MeeGo seems weak. Indeed if another handset manufacturer adopted MeeGo it could be in Nokia’s commercial interest to hamper MeeGo’s growth Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 110 of 229 Target Platforms, target Requirements and Platform IPRs WebOS Introduction WebOS is a mobile operating system developed by Palm and later acquired by HP. It runs on the Linux kernel. WebOS is deemed to be the first Operating system designed to take advantage of connectedness. Operating systems before WebOS have had to continuously evolve to take advantage of increased connectedness. Although this evolution is good, most operating systems are building on platforms that were never designed to be mobile and connected to the web 100% of the time. However Palm WebOS is the first operating system to take full advantage of web development technologies and platforms to provide consumers with a seamless experience between the web and mobile apps. The first device that used WebOS was Palm Pre released by Sprint in June 2009. Current ownership of WebOS is unclear Unlike other platforms that rely on a PC in some way, Palm’s WebOS is designed to deliver applications optimized for a completely mobile experience. Hence, it is functionally similar to Webinos goals and hence significant for Webinos. Part A1: Technical Information (web rendering engines) Web components WebOS supports HTML4 being a Web based platform. Based on evidence from usage and game development examples (http://www.youtube.com/watch?v=gYPXp_ipGe4), WebOS supports HTML5. WebOS also supports other features of HTML5 such as local storage (http://www.weboshelp.net/webos-tutorials/156-palm-webos-html5-database-storagetutorial) Mojo is an application framework based on the HTML5, CSS, and JavaScript standards. The Mojo Application framework is basically a set of JavaScript libraries that wrap the webOS API. In addition to Mojo, Palm has included the Prototype JavaScript framework with their SDK. It is not part of Mojo but is included to help you with some parts of the JavaScript development. It appears that Palm's javascript engine is a customised version of the Google v8 engine (https://developer.palm.com/distribution/viewtopic.php?f=11&t=403). Widget availability Prior to the current uncertainty around WebOS, there was some initial traction achieved by developers and as at Sep 2010, there were more than 5000 widgets/apps45. The concept of a 'widget' is a central part of WebOS, but these widgets are more in line with traditional visual 45 WebOS surpasses 5000 Apps, http://www.precentral.net/webos-surpasses-5-000-apps page: 110 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 111 of 229 Target Platforms, target Requirements and Platform IPRs interface type widgets46. However, widgets/ apps are available through the Palm App Catalog, which is an online marketplace for applications for Palm mobile devices running webOS but not Palm OS. Apps can be packaged in the emulator using the appinfo.json file https://developer.palm.com/index.php?...rticle&id=1758 and also through the Eclipse framework. Part A2: Technical information General OS features Portability Palm Pre, Pixi, and Veer phones and the HP Touchpad tablet. On August 18, 2011, HP announced that it would discontinue production of all webOS related hardware devices. HP is presently considering licensing webOS software to other manufacturers for placement on their hardware devices Security Original PalmOS does not allow for encryption or timed auto-lock, New Palm webOS enables these features. Both operating systems can connect to an Exchange server through ActiveSync. Remote Delete is available through Outlook Web Access. Encryption may only be possible if you use a removable flash storage card and a third-party provider Connectivity Device specific(and platform agnostic Reliability While the platform was considered cutting edge in terms of its pioneering spirit, the current commercial status makes it less favourable to developers Technical criteria N/A Usability Criteria Uses visual widgets extensively and also WebKit (layout engine used by browsers for rendering) Product Diversity Supports most features one would expect of a Web based mobile platform but current commercial focus is unclear 46 Wediges WebOS guide, http://www.precentral.net/widgets-webos-guide-widgetizing-your-webosdevice page: 111 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 112 of 229 Target Platforms, target Requirements and Platform IPRs API codebase The API supports Bluetooth, RFID, DNS, and DLNA Part B: Commercial information Device coverage Palm Pre, Pixi, and Veer phones and the HP Touchpad tablet. Platform maturity Technically mature platform Market penetration/availability Low traction, future uncertain Availability There is an implementation it is unclear if it can be used by Webinos Feasibility Unclear Partner Perspective See above Risks Unclear status is a risk for Webinos Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 0 4 3 ? 3 Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a page: 112 of 229 Target Platforms, target Requirements and Platform IPRs ? 3 2 FP7-ICT-2009-5 257103 page: 113 of 229 Target Platforms, target Requirements and Platform IPRs committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 2 ? Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1 1 ? Not known Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status Summary Total Score 19 Additional comments Part D: Summary Verdict Considering the unknowns and the timescales, the platform is not suitable SWOT Swot analysis in relation to webinos: Strengths - A pioneer Opportunities - May be relevant in future page: 113 of 229 Weaknesses - Unknown status Risks - may be irrelevant due to other players if no clear strategy appears in near future Target Platforms, target Requirements and Platform IPRs ? FP7-ICT-2009-5 257103 page: 114 of 229 Target Platforms, target Requirements and Platform IPRs Home Media Google TV Introduction Google TV is a Smart TV platform used as a framework by several manufactures (Intel, Sony, and Logitech) and TV provider (DISH Network).The official presentation of this platform is dated April 10, 201047. Google TV corresponds to the HoneyComb MR1 release of Android and, as for the other releases of Android, the Android SDK provides tools and APIs for developing applications by Java. The main difference between Android and Google TV is that live TV is only available on Google TV. Other differences are that a Google TV devices doesn't provide an own display; UI controls are different and a number of features and hardware are different. It's probably that Google plans to merge the Android Open Source Code for three different platforms: Google TV, Android 3.0+ for tablets (Honeycomb), and Android 2.3 for Smartphones (Gingerbread) in a unique platform able to adapt itself to the specific device (TV, Smartphone or tablet 48). The following table describes other available Smart TV platforms: Name MythTV Blobbox LG Smart TV Mediaroom MeeGo for Smart TV Philips NetTV Samsung Smart TV Viera Cast Vudu XBMC Media Center Yahoo! Connected TV - Yahoo! GoTV AppleTV Companies Open Source Project TVBLOB, Telesystem, Tiscali TvBox LG Electronics Microsoft Linux Foundation, Intel, AMD Philips Samsung Source open closed Ref http://www.mythtv.org http://www.blobbox.tv/ closed closed open http://whylgtv.lge.com/archives/2108 http://www.microsoft.com/mediaroom/ https://meego.com/devices/smart-tv closed closed http://www.nettv.philips.com/ http://www.samsung.com/uk/smarttv/ Panasonic closed Wal-Mart XBMC Foundation closed open http://www.panasonic.co.uk/html/en_GB/21 15692/index.html http://www.walmart.com/cp/vudu/1066144 http://sourceforge.net/projects/xbmc/ Yahoo! closed http://connectedtv.yahoo.com/ Apple closed http://www.apple.com/appletv/ 47 Here comes Google TV, http://googleblog.blogspot.com/2010/10/here-comes-google-tv.html What is Googles Ice-cream Sandwich, http://gizmodo.com/5800358/what-is-androids-ice-creamsandwich and Google Tv to beomce part of Android code branch http://gtvsource.com/2011/03/31/google-tv-to-become-part-of-android-code-branch/ 48 page: 114 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 115 of 229 Target Platforms, target Requirements and Platform IPRs Concerning present version of Google TV we think that it's not the best platform in relation to webinos. First of all for it is not a mature platformand we are not sure that manufacturers will support the platform. Another aspect of the platform that is not clear is the performance of Android in the future release of Google TV. We know the capabilities of Android in t devices such as Smartphones and tablets, but the world of Smart TV is very new for this platform and may suffer the same problems encountered for tablets. Our analysis could be more optimistic in the case Android 4.0 which will supposedly be a unique and high-performing platform for Smartphone, tablet and set-top-box. Part A1: Technical Information (web rendering engines) Google TV 2.0 uses Chrome 5 as internet browser and supports Adobe Flash Player 10.1. Chrome is based on WebKit and uses Google V8 as JavaScript engine. Web components As described in Chapter 2, Android for Mobile. HTML 4 rendering code base HTML 5 rendering code base JavaScript engine The result of Acid3 test on Chrome 5 with default settings rendering is 100/100. The following table describes a comparison between Chrome 5 and other Android browsers concerning HTML5 rendering (tested by http://www.browserscope.org/) Total score for Android 2.3 is 184 Total score for Android 3.0 is 222 Total score for Android 3.0 is 222 Total score for Android 3.2 is 222 Total score for Chrome 5.0.375 is 243 Google TV 2.0 uses the JavaScript engine Google V8. More references: Chapter 2, Android for Mobile. Widget availability As described in Chapter 2, Android for Mobile. Digital signature code availability Widget packaging As described in Chapter 2, Android for Mobile. As described in Chapter 2, Android for Mobile WARP implementation As described in Chapter 2, Android for Mobile Extensibility framework (feature tags) As described in Chapter 2, Android for Mobile Part A2: Technical Information (Operating Systems) As described in Chapter 2, Android for Mobile. General OS features As described in Chapter 2, Android for Mobile. page: 115 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 116 of 229 Target Platforms, target Requirements and Platform IPRs Portability Android applications that don't depend on unsupported features may work with Google TV, Android 3.1 and Android previous versions. An application developed for a version of Android previous Android 2.3 must be modified in order to be compatible with Android 3.0 and 3.1 and Google TV too. TV display is much larger than every Android display and landscape orientation has a different aspect ratio. The distance between the user and the display is much greater than a typical Android display so, in order to migrate an application from Android, or another OS (mobile or not), we have to take into account these constraints. More references: As described in Chapter 2, Android for Mobile Security In Android we can identify a device or user by the TelephonyManager.getDeviceID() that is not available on Google TV. Instead, it provides a system constant Setting.Secure.ANDROID.id that we can set during the initialization phase of the device49. Google TV requires secure sockets as a transport layer to protect user keystrokes from being recorded by sniffing applications or other devices. The encryption prevents the leakage of secret information such as usernames, passwords, credit-card data, and so on. Google TV uses a pairing process to establish the identities of client applications based on the Pairing Protocol. Client applications that communicate with Google TV must use the Google TV Pairing Protocol for the pairing process. The client needs to establish a pairing session on the next, consecutive port of the server. For example, if Google TV announced itself at port 9551 then the pairing server listens on 9552.The client should set up the pairing session for 4 digit hexadecimal encoding. If the pairing succeeds, the client should store the server's certificate obtained from the pairing session in a secure, local key store, and use it for subsequent connection attempts with the same Google TV. A variety of key management systems are available to help you manage the key store. The Google TV Remote Android application uses Bouncy Castle, which is an open-source key management system. The trusted certificate is specific to the particular client application. Other applications on the same client device will need to go through the pairing process and get their own certificates. Connectivity SIP/VOIP is unsupported. Cell-based data (for example, 3G) unsupported 50. More references: Chapter 2, Android for Mobile Reliability 49 Google Developer Documentation, Telephony Module, http://developer.android.com/reference/android/telephony/TelephonyManager.html 50 Google TV, Android features, - http://code.google.com/intl/itIT/tv/android/docs/gtv_android_features.html#Software page: 116 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 117 of 229 Target Platforms, target Requirements and Platform IPRs - User Interface Criteria: we can view the display of a Google TV from a distance and for this reason the UI needs to be large enough to permit to the user to easily interact with menus and buttons (he moves a remote control that is less accurate than a touch on the screen) an to see the text inside the UI controls. This UI controls must satisfy the "10-foot UI": a user that is sitting about ten feet away from its own TV must clearly view buttons and texts. More references: Chapter 2, Android for Mobile API codebase Bluetooth: Unsupported (ref). NFC & RFID: Unsupported (ref). DNS: As described in UNICT_26_mobile-android DLNA: As described in UNICT_26_mobile-android Crypto and Certificate libraries: DRM: As described in UNICT_26_mobile-android UPnP: As described in UNICT_26_mobile-android Media capture capability/ codecs: More references: Google TV media formats. Tv and set top box control: Google TV 2.0 provides a new content provider named Channel Listing Content Provider that provides accessing to the available television channels. This is an extra capability that is unavailable in Android 3.1. The Anymote Protocol (source code) is a messaging protocol that applications on a remote device (mobile phones, tablets) can use to interact with Google TV. The Anymote Protocol works together with "Google TV Pairing Protocol" (source code). This protocol can be used to manage pairing sessions between a mobile phone and Google TV where the client contacts the server, and the server issues a challenge for the client to complete. Both Anymote and Pairing protocol are under Apache license 2.0. Vehicle: Not applicable. Payment: As described in UNICT_26_mobile-android Platform attestation API: As described in UNICT_26_mobile-android The following devices and corresponding API present in Android 3.1 are not available in Google TV Hardware Feature Bluetooth A2DP - Wireless keyboard Camera GPS Microphone NFC Sensors Orientation-Movement-Automatic Screen brightness Telephony Phone dialling - SMS- 3G Touchscreen More references: Google TV features Another unsupported software is live wallpaper. page: 117 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 118 of 229 Target Platforms, target Requirements and Platform IPRs Part B: Commercial information Device coverage Only Sony and Logitech distribute this platform. Even if selling trends are not positive51 manufacturer partners are optimistic because of the new features of the Google TV 2.x52. Platform Security Google TV it is not a mature platform. Its official presentation is dated April 10, 201047 and Google TV 2.0 has been presented at Google I/O 2011. We think that Google TV based on Android 4.0 will be the right Android platform for this kind of smart TV. Market penetration At the moment there is not complete information about market penetration. Availability At this moment the only device available are the Logitech revue and two models of the Sony internet tv. Feasibility Much of the applications of the Android Market could be executable in a Google TV device, but only few applications are exclusively designed for it. We think that if the future release (4.0?, which is due to arrive later in 2011) of the Android will be able to really adapt itself to the device, than it's probably that the number of applications "good" for Google TV will increase. Risks It seems that this platform shows a lot of problems to be for televisions what Android is for mobile devices. If the television company will not focus themselves on Google TV we suspect that Google will drop this project in the future. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? 1. Not at present 51 Logitech Fourth-Quarter Net Drops 89% on Lower Regional Sales, http://www.googletvforum.org/forum/more-news-your-google-tv-news-team/1668-logitech-fourthquarter-net-drops-89-a.html 52 Despite Setbacks, Sony Is Optimistic About Google TV, http://www.nytimes.com/2010/12/21/technology/21sony.html page: 118 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 119 of 229 Target Platforms, target Requirements and Platform IPRs Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes – approved license and permissive (e.g. Apache, BSD, MIT) 2. limited developer support mechanisms 3. Yes – roadmap information available but no call for contributions or similar ? Not known Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1. No, contributions process only ? Not known 1. No commit access restricted to specific users/groups ? Not known 4. Yes – project requires a copyright assignment and patent grant Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 2. No – You can freely distribute to the code and use the project trademark without completing formal compliance requirements 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 23 Part D: Summary Verdict Is this platform suitable for webinos? No page: 119 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 120 of 229 Target Platforms, target Requirements and Platform IPRs SWOT Swot analysis in relation to webinos: Strengths - It's possible to use the same platform for mobile device and television, so user can interact with a very strong connected ecosystem. More in Chapter 2, Android for Mobile Opportunities - The future version of Android (4.0) seems to merge the actual three Android platforms in a unique environment able to adapt itself to devices. - If this will be true, it represents an important opportunity for webinos, because a portion of code that is developed for Android doesn't need to be adapted for executing it in a tablet rather than in a top-box or Smartphone. page: 120 of 229 Weaknesses - Unlike Honeycomb, which is not open source, Ice Cream Sandwich alias Android 4.0 should be open sourced for developers. But it is only a forecast. - The fragmentation of actual Android platform represents a weakness for webinos because the same code needs to be developed and test for Smartphone, tablet and set-top-box. Risks - It's possible that Google will not support this platform if the manufacturer companies will not distribute it Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 121 of 229 Target Platforms, target Requirements and Platform IPRs Mediaroom Introduction Microsoft Mediaroom is a complete end-to-end solution for IPTV in managed Telco and Cableco environments and the latest update of the Microsoft TV IPTV Edition platform software, intended for use in a set-top box to access on-demand as well as live television programming on a Microsoft IPTV network. It was launched in early 2006 and is a product of Microsoft TV, which is a division within the Microsoft Corporation. Development of applications is only possible with the Microsoft Mediaroom Presentation Framework (MPF). This Framework enables developers to build connected TV applications that extend the Mediaroom TV experience. Service providers and third party partners can build client-side applications using Web services to incorporate streaming Web video, RSS feeds, and other elements. This content can be blended with the existing core user interface as well as broadcast, on-demand, or digitally recorded video streams. Service providers and third party developers can create applications that integrate with the underlying content and interface, or they can create applications that overlay or replace video. MPF applications can run on the servers where the pertinent data and content resides, or they can make remote calls to external servers to deliver content to viewers. MPF applications can mash up data from Mediaroom clients and servers, the Internet, and private data sources. Actually it is not very relevant for webinos implementation because it is a closed proprietary platform. Part A1: Technical Information (web rendering engines) Web components Mediaroom Presentation Framework The Mediaroom Presentation Framework is an implementation to render Mediaroom applications. It is developed by Microsoft and does not lean at any other open standard. It supports -Actions -Animations -Events -Lists -Buttons -Panels to present a rich user interface to the user. Mediaroom Presentation Framework applications are developed with ASP.NET Language. The Presentation Framework converts the APSX code to xml code, which is then rendered by the Mediaroom client on the Set-TopBox. Microsoft Mediaroom Browser The Microsoft Mediaroom Browser is a Tasman Rendering-Engine of Microsoft, which supports the following standards: page: 121 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 122 of 229 Target Platforms, target Requirements and Platform IPRs -XHTML 1.0 Strict. -CSS 1.0. -CSS 2.1. -CSS 3.0 partial. -ECMAScript. ECMAScript Edition 3 interpreter is provided by Windows CE 5.0. -XML. -DHTML. -DOM1, DOM2 events. -AJAX. -HTTP/HTTPS. -Microsoft Media Server (MMS) protocol (mms://). -Proxy support. -Session Cookies (Limited support is available. A session exists only during the lifetime of an individual application. Therefore, the cookie is useful only when navigating from one page to another within the browser session. Exiting the page and returning to PF application page terminates the session.) The Microsoft Mediaroom Browser does not support the following standards: -HTML5 -Persistent cookies. -Plug-ins. -Java. -ActiveX controls. -Flash. -Silverlight. -BMP image format. -DOM2 mutation events. -HTML frames. Widget availability The Mediaroom platform does not support widget functionality. Part A2: Technical Information (Operating Systems) General OS features Portability The Microsoft Mediaroom platform relies on Microsoft Windows CE 5, which is optimized for devices with minimal storage. For general information about Microsoft Windows CE see [2]. However, the Mediaroom Presentation Framework does not support all capabilities, features and device APIs of Microsoft Windows CE. The Mediaroom client is usually deployed on Tatung, Cisco or Motorola Set-Top-Boxes Security page: 122 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 123 of 229 Target Platforms, target Requirements and Platform IPRs It supports security mechanism for certificates and DRM. Connectivity The connectivity is actually limited to LAN adapters, but it will be extended in the next years to Wi-Fi in the Home Network and UMTS/LTE for mobile purposes. Reliability No statement for this point can be provided. Technical criteria Actual Set-Top-Boxes have 256 MB RAM, while older models have 128 MB RAM. In the actual models the operating system is using about 67MB of the memory after boot up while in the old models the operating system is using about 17MB. No further statement for this point can be provided. Usability Criteria The platform addresses usability at a high level in the end user area by the rich user interface design. Product Diversity The possibility to innovate and develop new applications is very low, because it is a proprietary platform. Developers need a service provider to provide new applications. There is no possibility to provide applications via a URL by the developer, because the end user cannot enter a URL. API codebase The platform provides basic UPnP functionality but there is no support for Bluetooth, RFID, DNS or USB. 3rd party support is not available on the Mediaroom platform. The Mediaroom Presentation Framework builds the bridge between the Graphical User Interface and the underlying device capabilities. It provides native support to navigate with a remote control through the Graphical User Interface. Also Tune-In functions are supported natively by the Presentation Framework. Part B: Commercial information Device coverage There are several Set-Top-Boxes on the market which are Mediaroom enabled, e.g. MR303 of Deutsche Telekom.*Moreover Microsoft products such as XBOX360 or Windows Phone 7 (for multiscreen and remote control services) can be used with Mediaroom. Platform maturity Mature. It is developed by Microsoft and world-wide deployed by several service providers. page: 123 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 124 of 229 Target Platforms, target Requirements and Platform IPRs Market penetration/availability There are 26 TV providers world-wide which offer IPTV via Mediaroom Availability No. Applications cannot be distributed without a service provider Feasibility Low. It requires dedicated hardware and software. Partner perspective Development of applications is restricted to Mediaroom partners only. Risks Webinos Mediaroom applications could not be provided to everybody world-wide because there is not in every country a service provider which could deploy the application in the Mediaroom ecosystem. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 1. No - Source code is not available for developers now or in future. 1. No – proprietary license 2. Mediaroom partners only have access to forums, mailing lists and much developer documentation. 1. No 1. No Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who page: 124 of 229 ? Not known 1. No 1. No – commit access is restricted to specific users/members of the Project only 1. No – this information is not Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 125 of 229 Target Platforms, target Requirements and Platform IPRs committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? provided 1. No – no contribution license Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? ? No possibility to distribute the platform without being Microsoft partner 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – there is no formal membership or discrimination between the rights of members and non-members from a development/access perspective Summary Total Score 16 Additional comments There is no possibility to deploy a Mediaroom application without the service providers Mediaroom infrastructure. The URL of the Mediaroom application must be provided by the Mediaroom IPTV ecosystem to the Set-Top-Boxes. Part D: Summary Verdict In conclusion, the Mediaroom platform is not suitable for the webinos project. SWOT Swot analysis in relation to webinos: Strengths - web based platform - content oriented Opportunities - webinos could provide second screen interaction mechanisms - integration with a market-proven end-to-end solution Weaknesses - unsupported by TV devices - requires complex IPTV infrastructure for delivering content to devices - interactive applications are controlled by service provider and access to developer tools requires membership Threats - growing support for Web-based (e.g. HTML5) TV platforms References [1] Mediaroom Website: http://www.microsoft.com/mediaroom/ page: 125 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 126 of 229 Target Platforms, target Requirements and Platform IPRs [2] Microsoft Windows CE: http://msdn.microsoft.com/en-us/library/ms905511.aspx page: 126 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 127 of 229 Target Platforms, target Requirements and Platform IPRs MythTV Introduction The project was founded by Isaac Richards in 2002 and is designed to run on Linux/Unix systems. Isaac Richards stepped down as founder and leader in 2010 and three core developers stepped in as a trial advisory council. MythTV still runs on a "scratch an itch" open source model, with developers working individually or in small groups on whatever personal projects they think are most important. Conflicts are usually resolved one-on-one, but if they escalate, these three developers hold a vote and go by the consensus of the entire group. Relevance is to extent existing and popular Home Media Software solutions to be Webinos enabled. This will support the growth of Webinos enabled software. MythTV's backend (PVR) is the default backend of XMBC. Hence extending MythTV has an impact to other Home Media solution which made use of MythTV technologies. Part A1: Technical Information (web rendering engines) Web components MythTV's official plugin "MythBrowser" is based on a full featured WebKit Browser. HTML 4 rendering capabilities full support, compare WebKit engine HTML 4 rendering code base, test results at http://en.wikipedia.org/wiki/Acid3, live test at http://acid3.acidtests.org/ (with WebKit browser) HTML 5 rendering capabilities supported partially (HTML5 is not jet finished). HTML 5 rendering code base, test results at http://www.browserscope.org/, live test at http://html5test.com/results.html (with WebKit browser) JavaScript engine capabilities WebKit's JavaScript engine, JavaScriptCore, based on KJS which is a framework separate from WebCore and WebKit. MythTV uses QtWebKit and requires Qt4.4.0 or later versions. There are hooks available which can replace MythBrowser by a Mozilla's Firefox, just by replacing the binaries. A Wrapper can be used to adopt parameters passed to another browser like Firefox in kind of starting problems. Widget availability MythUI Widget Types are based on XML and are intended for theme development. MythUI Widgets are not compliant to W3C widgets and are part of MythTV's UI library called libmythui. Nevertheless, due to the WebKit browser (MythTVBrowser), a deployment of page: 127 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 128 of 229 Target Platforms, target Requirements and Platform IPRs Webinos Widgets or W3C compliant Widgets is possible. For instance Aplix's WebVM is implemented as a WebKit plugin in C. Digital signature code availability depends on WebKit’s Widgets are dependent on WebKit’s and used extension. W3C widgets are packaged as ZIP compliant to W3C's "widget packaging" spec. WARP implementation unknown, compare WebKit’s featurelist Extensibility framework (feature tags) unknown Part A2: Technical Information (Operating Systems) General OS features MythTV is an application not an OS. MythTV is designed to run on Linux/Unix Systems, hence should run on most Linux Distributions (Debian, Ubuntu, Fedora, SUSE, etc.). Some Linux Distribution release special MythTV enabled versions of their distributions. Sample Linux Distribution - Mythbuntu (based on Ubuntu Linux) and Mythdora (based on Red Hat's Fedora Linux Distribution) API Codebase Not relevant for MythTV as this depends on the underlying hardware and used Operating System. Part B: Commercial information Device coverage ? Platform maturity Depends on the chosen Linux distribution. MythTV offers a stable version. Depends on the source code branch (stable, testing..., etc...) Market penetration/availability Free for download / penetration is difficult to mature. MythTV comes with a big community (sample indicator: www.mythTVtalk.com/forum -> Threads: 14,429 Posts: 56,838 Members: 19,802 ) and enhanced integration options which indicates that it is used quite often. Availability ? Feasibility page: 128 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 129 of 229 Target Platforms, target Requirements and Platform IPRs Yes, Webinos adoption is feasible in a limited time frame. Medium afford Partner perspective Private households; other application projects like XMBC, which reuse/adopts to MythTV's backend by default; Several Linux Live Distribution. Risks Community of developers and supporters of Linux and/or MythTV can decrease or increase for whatever reason. Limited visibility/support by TV manufactures MythTV owns no patents of its own, but given that MythTV borrows code from several other open source projects, some of this is beyond MythTV's control. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes 2. Yes – approved license and strong copyleft (e.g. GNU GPL v2/v3) 3. Yes – developer support mechanisms open to all developers 2. No – No formal roadmap exists, but there are visible committer or contributor requests Not known Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source page: 129 of 229 3. Yes – contributions process and acceptance process are clear, but no progress status of contributions provided 4. Yes – there are good project statistics that provide this information 3. Yes – the process is documented and accessible to all developers 3. Yes – there are good project statistics that provide this information Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 130 of 229 Target Platforms, target Requirements and Platform IPRs code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1. No – no contribution license Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 2. No – You can freely distribute to the code and use the project trademark without completing formal compliance requirements 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – there is no formal membership or discrimination between the rights of members and non-members from a development/access perspective Total Score 33 Part D: Summary Verdict Again, MythTV is an application not a platform. In conclusion, Myth TV is a good media home platform for webinos. We are more or less free to choose the underlying Linux Operating System. In addition we will have an impact on Home Media systems which derivate form MythTV. The already existing Web browser plugin simplifies possible integration. SWOT Swot analysis in relation to webinos: Strengths - flexible in respect to the underlying Linux OS. - Nearly no limitations with the respect to creativity, technology and GNU GPL. - big community (sample indicator : mythTVtalk.com forum Threads: 14,429 Posts: 56,838 Members: 19,802 Opportunities - MythTV seems to be manageable. - MythTV shows interest in Webinos. page: 130 of 229 Weakness - GPL - MythTV requires Linux - no OS support (e.g. Windows) Risks - some relics exist (closed developer Mailing list) but MythTV is willing to discuss. - MythTV pre Foundation status. - Community of developers and supporters of Linux and/or MythTV can decrease or increase for Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 131 of 229 Target Platforms, target Requirements and Platform IPRs whatever reason. - limited visibility/support by TV manufactures - MythTV owns no patents of its own, but given that MythTV borrows code from several other open source projects, some of this is beyond MythTV's control. page: 131 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 132 of 229 Target Platforms, target Requirements and Platform IPRs MeeGo Introduction MeeGo is not yet launched, it was announced in 2009. MeeGo is a merger of two open source projects Maemo (based on Debian GNU Linux) and of Moblin (based on Red Hat's Fedora Linux) and is supported by Intel and in former times in addition by Nokia. MeeGo is also available for mobiles and vehicles, hence is would be very interesting to have the same platform in use when thinking about TVs and Set-Top-Boxes. Part A1: Technical Information (web rendering engines) Web components Unclear what "MeeGo for TV" will provide. Other MeeGo Derivates use chromium or Fennec. HTML 4 rendering capabilities Unclear. Integration of Fennec or Chromium seems to be realistic. HTML 5 rendering capabilities Unclear. Depends on the Browser (It could be Fennec or Chromium) JavaScript engine capabilities Unclear. Integration of Fennec or Chromium seems to be realistic. Widget availability Digital signature code availability unknown. How are widgets packaged? Unknown. WARP implementation unknown. Extensibility framework (feature tags) unknown. Part A2: Technical Information (Operating Systems) General OS features Portability Intel Atom based systems, ARM7 based architectures. Linux only, QT for UX across different platforms. page: 132 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 133 of 229 Target Platforms, target Requirements and Platform IPRs Security Openssl , multithreading, multiprocessors allow app execution in different privileged layers and offer Linux like crypto features. Connectivity WLAN: Linux wireless subsystem (IEEE-802.11) is supported. Bluetooth: Bluetooth is provided by the BlueZ software stack. Reliability Unknown, MeeGo for TV is not yet released Technical criteria MeeGo for TV is designed to run on devices with limited resources, hence the footprint of e.g. memory etc. is adapted to its target platforms (TVs or Set-TopBoxes etc. The Linux power management frameworks and APIs include: CPU frequency control (support for the different voltage and frequency operating points) via the cpufreq infrastructure CPU idle state management (different levels of sleep) through the cpuidle infrastructure Clock management through the clock framework Suspend/resume Runtime power management HW voltage/current regulator control via the regulator framework PM_QOS (power management quality of service) framework for making and listening to PM QoS requests Energy Management : Battery charging and monitoring is support by Linux’s sysfs class. Energy management related functions can be handled by developers. API codebase In respect to MeeGo in general: Cellular is supported be oFono. MeeGo 1.2 supports SMS for CDMA, GPRS, GSM/UMTS WLAN: Linux wireless subsystem (IEEE-802.11) is supported. Bluetooth: Bluetooth is provided by the BlueZ software stack. Access to an USB stack is available; RFID and NFC are currently not supported by any MeeGo derivative. Part B: Commercial information Device coverage MeeGo for TV is not yet released so zero coverage at this point in time page: 133 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 134 of 229 Target Platforms, target Requirements and Platform IPRs Platform maturity Not applicable Market penetration/availability Not applicable Availability Is there an Implementation available that can be used by webinos? Feasibility Unknown. Integration of Webinos is to be considered to be feasible in a limited timeframe Partner perspective Unknown Risks MeeGo for TV's release date is unclear Part C: Licensing and Governance Could look the same as for MeeGo IVI and MeeGo for mobiles Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? Not known 3. Yes – approved license and weak copyleft (e.g. Eclipse Public License, GNU LGPL v2/v3) Not known Not known Not known Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and page: 134 of 229 Not known Not known Not known Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 135 of 229 Target Platforms, target Requirements and Platform IPRs is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? Not known Not known Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? Not known Not known Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status Not known Summary Total Score 3 (could be around 39 in case of its release) The value in brackets indicated an estimated value - calculated by just having an eye on MeeGo for Mobiles and MeeGo IVI. Additional comments Part D: Summary Verdict MeeGo TV is currently not suitable because it is not available. However, MeeGo would be a good base Operating System for possible Webinos implementations. The integration of Home Media software solutions like MythTV and XMBC should be feasible. SWOT Swot analysis in relation to webinos: Strengths UX optimized for different EndDevices using QT. MeeGo has a strong supporter Intel. Opportunities To have the same OS available for mobiles, vehicles and Set-Toppage: 135 of 229 Weaknesses Intel just focuses on x86 Atom (CE-x100 platforms) processors and ARMv7. Threats MeeGo, pushed by Nokia and Intel recently lost Nokia as supporter. Intel claims to keep on supporting Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 136 of 229 Target Platforms, target Requirements and Platform IPRs Boxes/TVs would simplify the integration (synergy effects). page: 136 of 229 MeeGo. Nevertheless, companies using MeeGo are concerned about MeeGo's further development and existence. MeeGo for TV sets is not released yet. There is uncertainty as to QT’s future. Nokia, responsible for QT, recently left the MeeGo partners. When thinking of an integration of Home Media solutions like XMBC and MythTV, we have to check if the processing power of ARM and Atom processors is high enough to provide sufficient quality of user experience. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 137 of 229 Target Platforms, target Requirements and Platform IPRs NetTV Introduction Net TV was launched by Philips in 2009. It is available on selected Philips Blu-Ray players and iDTVs. Services and apps are adapted to TV devices and can be launched via a portal page (restricted to Philips partners). Moreover it is possible to address Web sites directly. Philips is the creator of NetTV. In addition to Philips TV, Loewe and Sharp use NetTV. Extending NetTV would bring Webinos straight forward to a wide range of off the shelf devices. Part A1: Technical Information (web rendering engines) jointSPACE ( http://jointspace.sourceforge.net/ ) an open source system can be activated on the latest firmware versions. Web components For jointSPACE there is no pre-installed open source browser. Samples mainly include Remote Applications. Due to the sandbox model it is unlikely to run a browser directly on the TV. A remote browser, e.g. WebKit - WebKit for DirectFB (http://git.directfb.org/?p=programs/WebKit.git;a=summary , last change 20 Nov 2010) is more likely. WebKitDFB is WebKit on top of DirectFB without using GTK+ or Qt. Python binding are also available: http://www.gnu.org/software/pythonwebkit/. HTML 4 rendering capabilities Opera embedded (fully support of HTML4), compare to acid test HTML 5 rendering capabilities Opera embedded (wide support of HTML5), compare to acid test JavaScript engine capabilities Opera's JavaScript interpreter Widget availability Widgets are currently not supported on Net TV, although the embedded Opera browser would allow this (Opera Widgets). For jointSPACE widget availability depends on the WebKit implementation. Digital signature code availability currently not supported How are widgets packaged? Currently not supported page: 137 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 138 of 229 Target Platforms, target Requirements and Platform IPRs WARP implementation currently not supported Extensibility framework (feature tags) currently not supported Part A2: Technical Information (Operating Systems) General OS features In factory default, Net TV’s operating system is closed and applications can only be submitted in partnership with Philips. To use the open source jointSPACE, it needs to be activated on Philips NetTVs with the key combination: 5646877223 (="jointspace" using multitap digit entry). jointSPACE is an Open Source project that will allow every user/supplier to develop applications for Philips TV displays. jointSPACE is based on the SPACE architecture which was developed by Philips to ease internal development. At a certain point in time, Philips decided to open its architecture to allow everyone developing code for the TV target. jointSPACE addresses this by opening and extending the current TV architecture: jointSPACE proposes a single platform to develop applications (any Linux PC or device capable of running Linux/DirectFB technologies) jointSPACE publishes the essential TV APIs used in the SPACE architecture jointSPACE provides a portable prototyping software that includes and illustrate the essential of the SPACE architecture jointSPACE will extend the TV architecture to allow: Executing TV applications on a remote system, rendering and being controlled on the TV Executing application on a remote system, controlling the TV APIs remotely. jointSPACE will continuously provide new technologies/libraries to ease and improve the development of new applications jointSPACE will extend the TV API to allow controlling more TV functionalities (http://sourceforge.net/apps/mediawiki/jointspace/index.php?title=Introduction). Multi-threaded System consists of applications, each a separate process using a shared Linux and DirectFB infrastructure. The TV only supports one rendering remote application at a time, but supports multiple control applications at a time Performance benchmarking page: 138 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 139 of 229 Target Platforms, target Requirements and Platform IPRs Applications are running on the remote device but, Drawing primitives are executed on the TV (font rendering, other DirectFB drawing primitives, Write, Flip,...) Remote Applications are running at the lowest priory (very nice value) Frame rate is limited Depends on TV selected use case and load Usually defined by the GFX window size/format of the application GFX data is copied over the network: GFX data is RLE compressed but the BW of the network defines the limit for e.g. 25FPS at 320X200x16Bits => up to 3 MBytes/s (24Mbits/s) TLS (version?) IPv6 Portability: On which OS is the framework available, openness of the Platform? jointSPACE offers a Remote API . It exposes a subset of SPACE APIs over the network using Voodoo technology. Those APIs are clustered in few groups: Remote Control (jslibrc based on DiVIne API) Remote Rendering and Remote Screen (based on DirectFB graphical API) Remote Discovery (voodoo player API) Remote Content and Data(jslibapi based on FusionDale) The Remote API is meant for Remote Applications, such as the samples, which are available for download. Security: How the High level components like Certificate management, Privilege apps and Cryptography are met? Security/Robustness rules imply application integrity Only start applications that have been verified to run on the system Use hash based algorithm (sha1) to verify application Required for all executable code that could tamper with the system Restricted to code that could access security data (key, license Connectivity: How well the connectivity technologies including GSM/EDGE, IDEN, CDMA, EVDO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX are supported? Remote applications are using the IP network (wired or wireless) to communicate with the TV. Remote applications can be controlled with the TV remote. page: 139 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 140 of 229 Target Platforms, target Requirements and Platform IPRs Standards: How well standards concerning programming languages, special features, Data exchange and Networking criteria’s supported? Remote API exposes a subset of SPACE APIs over the network using Voodoo technology. Reliability: Reliability is very much dependent on the user experience how well the platform can cope with this? Total window/surface/font memory pool is limited (4MB for 2k9) The TV only supports one rendering remote application at a time, but supports multiple control applications at a time. User Interface Criteria: How well the User Interfaces can be met? Depends on WebKit DirectFB Product Diversity: The possibility to innovate and develop new applications. Limited due to sandbox model and focus on remote applications API codebase Is there platform (or 3rd party) support for some of the more critical, and more sensitive enablers like Bluetooth, RFID, DNS, UPNP, USB? As jointSPACE is based on DirectFB technologies, the first API to understand is the one the various DirectFB packages: DirectFB 1.4 SaWMan 1.4 FusionDale 0.8.1 DiVIne 0.4.0 Next to this, jointSPACE exposes 3 core APIs: plfApi: the Platform control API used by applications to control the HW platform features (FrontEnd (Tuner, Demux), A/V decoding and rendering, USB, IP, etc) papi: an internal "clean" API toward HW suppliers that can be used to glue existing HW functionalities amApi: the Application manager API, used to communicate between applications (http://sourceforge.net/apps/mediawiki/jointspace/index.php?title=Documentation) Part B: Commercial information Device coverage jointSPACE is available 2k9 8000 range, 2k9 9000 range and 2k10 7000,8000 and 9000 ranges. (total installed base?) Platform maturity NetTV is a commercial product, thus is stable. The SDKs for remote applications are being updated regularly page: 140 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 141 of 229 Target Platforms, target Requirements and Platform IPRs Market penetration/availability See Device coverage Availability Mainly the Remote API can be used Feasibility Feasible regarding remote applications, useful for prototyping TV use-cases Partner perspective Implementations can be used by all customers with covered devices. Risks jointSPACE activation relies on Philips’ acceptance, applications are limited to remote functionality. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes 4. Yes – approved license and permissive (e.g. Apache, BSD, MIT) 3. Yes – developer support mechanisms open to all developers 3. Yes – roadmap information available but no call for contributions or similar Not known Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all page: 141 of 229 4. Yes – contributions and acceptance process are clear, with progress status of contributions provided 4. Yes – there are good project statistics that provide this information 3. Yes – the process is documented and accessible to all developers Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 142 of 229 Target Platforms, target Requirements and Platform IPRs developers potentially become committers? Not known Does the contribution license require a copyright assignment, or copyright license and/or patent license? 1. No – no contribution license Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? Not known Not known Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – there is no formal membership or discrimination between the rights of members and non-members from a development/access perspective Summary Total Score 28 Additional comments Part D: Summary Verdict Is this platform suitable for webinos? NetTV is suitable for demo purposes only. SWOT Swot analysis in relation to webinos: Strengths: - Open source project Opportunities: - Remote API availability for cross-platform applications, hosting is possible on multiple platforms Weaknesses: - Small community, mainly Philips driven development - activation is governed by Philips Threats: - jointSPACE is not enabled by default - Effort needed to run jointSPACE on other TV vendors/platforms - single-vendor solution . page: 142 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 143 of 229 Target Platforms, target Requirements and Platform IPRs Samsung TV Introduction Samsung announced Smart TV on CES 201153. Samsung Smart TV is the new member of the internet connected TVs of Samsung. It is not to be confused with Philips Smart TV (http://www.ifa.philips.com/pressreleases/Philips_Smart_TV/), LG Smart TV (http://www.lg.com/global/smarttv/index.jsp) or the smart TV products of others. For reference purposes, the reader may refer to the Samsung TV section, which presents Samsungs Internet@TV solution from last year. From the App Development Guide (part of the SDK): Samsung Smart TV is a web-based application running on an application engine installed in digital TVs connected to the Internet. The Samsung Smart TV service makes it possible to extend the functions of the TV by applying a variety of web functions to it, so that users can obtain useful information and interesting content on their TV screens. Users can check internet services such as news, weather, stock, UCC with simple operation. It loosely builds on last year’s platform (in contrast to the Yahoo platform of the year before). Part A1: Technical Information (web rendering engines) Much of the information below is retrieved from the Samsung SDK, found at http://www.samsungdforum.com/. Web components Rendering is done with the Samsung proprietary Maple browser, which supports CSS1 and CSS2, a subset of CSS3 plus the CSS TV profile 1.0. It has a JavaScript engine built-in that supports JavaScript 1.6. The BMP, JPEG, PNG and GIF image formats are supported. Applications are written in HTML+CSS+JavaScript. In addition, the platform supports both Flash and Adobe AIR. Apps can be fullscreen, ticker tape or sidebar format (latter prohibited in Europe). Widget availability Widgets are supported through the Widget API (Common.API.Widget). 53 Samsung 2011 CES wrapup, http://www.samsung.com/us/article/samsung-2011-ceswrap-up-products-for-a-smarter-life. page: 143 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 144 of 229 Target Platforms, target Requirements and Platform IPRs Part A2: Technical Information (Operating Systems) General OS features The Smart TV is built on top of the proprietary (Linux based?) television firmware. Not much is known about the internals. Portability Samsung TVs from 2011 onward, series D6000 and up, selected Blue-Ray players and home media entertainment systems. See also page one of http://www.samsung.com/us/pdf/appsand-product-table.pdf Security Unknown Connectivity WLAN and/or LAN depending on model Reliability Both the SDK and internet comments point to the fact that the current implementation in not very mature as it suffers from memory leaks. (Even APIs are introduced to have the developer do its own garbage collection.) Technical Criteria Unknown Usability Criteria Aimed at 10-foot interaction Product Diversity New apps are possible, e.g. through the Samsung App Store (complete overview of current apps can be found at http://www.samsung.com/us/pdf/apps-and-product-table.pdf). The platform itself is not extendable, as it is closed source and under full control of Samsung. Since 2009 there is an initiative for an open source firmware (http://www.samygo.tv/) but this is for experienced users only and actively opposed by Samsung. API codebase Applications communicate with the TV through the Device API, which may be different per firmware, TV or supported feature. Nearly all TV capabilities can be programmatically addressed, e.g.: Volume and channel control EPG info page: 144 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 145 of 229 Target Platforms, target Requirements and Platform IPRs binding to keys on the remote control HAS (HTTP Adaptive Streaming) and many more In addition, the File API allows communication with disks connected through USB Part B: Commercial information Device coverage 2011+ Samsung TVs from the D7000-, D8000- en D9500-series, selected Blue-Ray players, home media entertainment sets. Full overview at http://www.samsung.com/us/smarttv/ (click overview open at bottom. Platform Maturity Immature Market penetration/availability Samsung has a huge market share in connected TVs Availability An SDK is available, TVs are available. Note that the DeviceAPI is not extendable, so all extensions are AJAX based. Feasibility Medium Partner perspective Unknown, Samsung internal Risks Immature platform that can only be extended through AJAX. Part C: Licensing and Governance Please keep in mind in the following that the Samsung Smart TV technology is proprietary and fully owned by Samsung, and that only an application API has been made available. Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? page: 145 of 229 1. No ? Not known 1. No – there are poor developer support mechanisms (and the community is quite small as well) Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 146 of 229 Target Platforms, target Requirements and Platform IPRs Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 1. No 1. No Development These questions seem to assume development of the platform itself, not the apps. As the Samsung Smart TV is closed and proprietary, all answers are somewhat boring :-). Note that while the platform is Linux-based, the answers below only regard the specifics of the final platform, not the Linux foundation. Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? ? Not known 1. No ? Not known ? Not known ? Not known Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? ? Not known ? Not known Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status ? Not known Summary Total Score 5 Additional comments None. Part D: Summary Verdict This platform is unsuited for creating a webinos PZP. However, it should be investigated if it were possible to create some sort of webinos proxy, possibly javascript based. SWOT Swot analysis in relation to webinos: page: 146 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 147 of 229 Target Platforms, target Requirements and Platform IPRs Strengths - Coding is done in HTML+CSS+JavaScript, which nicely fits the targeted average webinos developer. Opportunities - Samsung has a huge market share in connected TV's page: 147 of 229 Weaknesses - Lack of maturity, both of the platform and of the SDK. - Platform is proprietary closed source, making it impossible to extend in a secure manner (webinos shouldn't be implemented as JavaScript library) Risks - Lack of platform consistency within Samsung; this is the third platform in 3 years time - platform is proprietary and closed source Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 148 of 229 Target Platforms, target Requirements and Platform IPRs HbbTV Introduction HbbTV was formed as a quick go-to-market activity between the French H4TV and the German broadcasters and quickly gained support from the European Broadcasting Union (EBU). In 2009 a draft standard was published and sent to ETSI for adoption as an ETSI standard. It has been published in June 2010 as TS 102 796: "Hybrid Broadcast Broadband TV". The HbbTV specification is developed by the HbbTV consortium and is expected to become one of the main platforms for interactive TV services in Europe. Part A1: Technical Information (web rendering engines) HbbTV is a system for browser-based, interactive TV applications combined with DVB signalling protocols, for so called Red Button services. The specification describes how the interactive applications are signalled and announced over DVB networks and how specific content related stream events are announced. The HbbTV specification does not specify the operating system or client platform itself on the receiving device. Therefore, the usability of the HbbTV platform for webinos is mostly related as a means to carry certain types of interactive application information to the receiving device and manages the life cycle of the application. Web components HbbTV positions itself as an interactive TV solution that is based on web-technology. It combines technologies fromthe DVB forum (TS 102809) for the signalling and announcement of interactive applications over digital TV. The Consumer Electronics Association with parts of its CEA-2014 standard (CE-HTML), providing an adoption of HTML4 and CSS for the TV as the main technology for the , which is also used by the OpenIPTV forum. CE-HTML itself is standardised by the Consumer Electronics Association (CEA, http://www.ce.org/). The Open IPTV Forum's Declarative Application Environment (DAE) defining a TV-oriented application environment, including application lifecycle management and dedicated TV device APIs (http://www.oipf.tv/docs/Release2/OIPF-T1-R2-Specification-Volume-5Declarative-Application-Environment-v2_0-2010-09-07.pdf) Widget availability Refer to CE-HTML for UI aspects, the OIPF DAE for Device API issues (http://www.oipf.tv/docs/Release2/OIPF-T1-R2-Specification-Volume-5-DeclarativeApplication-Environment-v2_0-2010-09-07.pdf) and to DVB for issues on the signalling and announcement of applications using the Application Information Table (AIT) and Event Information Table (EIT) through the DSM-CC/object carousel (http://www.etsi.org/deliver/etsi_ts/102800_102899/102809/01.01.01_60/ts_102809v0101 01p.pdf) page: 148 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 149 of 229 Target Platforms, target Requirements and Platform IPRs Part A2: Technical Information (Operating Systems) HbbTV relies heavily on CE-HTML for UI aspects (CEA-2014-A), the OIPF DAE for aspects concerning Device APIs and DVB specifications for the signalling and announcement of applications through the broadcast channel. General OS features Portability Currently there are only closed source proprietary implementations from vendors, and no open source initiatives Security HbbTV works with TLS and SSL root certificates of Thawte and Verisign. The security aspects can be found in chapter 11 of the specifications: http://www.etsi.org/deliver/etsi_ts/102700_102799/102796/01.01.01_60/ts_102796v0101 01p.pdf Connectivity HbbTV is targeted at hybrid devices. A hybrid device has the capability to be connected to two networks in parallel. Specifically the specification mandates support for DVB networks and leaves support for Internet optional, because Web applications can be transported within the stream, thus offline usage is allowed Reliability Unknown Technical Criteria Unknown Usability Criteria See CE-HTML. Further are some requirements about “red button” appearance (depending on type of application). Product Diversity HbbTV is not an open marketplace for 3rd party developers to bring applications on the TV to consumers like with Android or Apple. Application development would have to be organized by the broadcasters (for broadcast-related applications) or device vendors (for broadcast-independent applications). API codebase Access to lower level functionality is not supported. page: 149 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 150 of 229 Target Platforms, target Requirements and Platform IPRs Part B: Commercial information Device coverage HbbTV can be received on a number of set top boxes and a few TVs. Platform maturity Immature. The wide scale support of the HbbTV system by TV manufacturers is very uncertain. There are many competing technologies in other countries, for instance MHEG, YouView and MHP. Further, most TV vendors focus on their own interactive Connected TV platforms and operating systems, as this is a possible revenue generator for them. Market penetration/availability The HbbTV service is operational in Germany with broadcasters ZDF, ARD, arte, ProSieben, SAT1 and RTL. In France Normandie TV launched in April 2011. Many more pilot projects in Europe are started by broadcasters. In Czech Public Broadcaster CT starts pilots with set top box provider Antik and in Spain Mediaset and Telefonica pilot HbbTV. Availability None. Interactivity is managed by the broadcaster of a TV channel. Broadcast-related applications cannot be distributed or created independent from the owner of the TV channel. Most device vendors use the same browser for broadcast-related and broadcastindependent applications (e.g. applications, which are started from a portal). Therefore, if a device has open internet functionality, its browser can be used to access any Web page based on CE-HTML. Feasibility Medium. Transporting applications through the HbbTV framework requires dedicated hardware and software for DVB networks and systems. However, HbbTV devices can be used for any Web page (if enabled) to render web pages. Partner perspective The development of HbbTV is most advanced in Germany. Exploitation is done by professional partners. Risks The HbbTV system may not reach Pan European maturity if the TV market remains fragmented. Part C: Licensing and Governance Access page: 150 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 151 of 229 Target Platforms, target Requirements and Platform IPRs Known implementations of the platforms are closed source. There is an unofficial test available, see https://github.com/mitxp/HbbTV-Testsuite#readme. The HbbTV consortium is working on an official test suite. Other HbbTV members provide professional test suites. Open source code is not available. Many parties provide platform and middleware software. The HbbTV consortium is a legal entity since May 2011 and open to membership. The cost of membership is €7,000 per year. Member can participate in meetings and contribute to the development of the specification. The steering board currently comprises ANT Software, EBU (European Broadcasting Union), France Televisions, Institut für Rundfunktechnik, OpenTV, Philips Electronics, Samsung, SES Astra, Sony Corporation and TF1. The HbbTV organisation has modelled its IPR policy on that of the DVB project, to which many members of the HbbTV consortium also belong. Members will be required to notify the steering group chairman of any essential patents held within 90 days of the publication of a specification being published. A patent pool has not yet been established. IPR license fees are unknown. Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 1. No ? Not known 2. No – developer support mechanisms are limited 3. Yes – roadmap information available but no call for contributions or similar except when member of HbbTV. 3. Yes – there is some information but it is hard to find and doesn't appear comprehensive. Most is members/only. Development As mentioned above there is no open source code available. Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? page: 151 of 229 Target Platforms, target Requirements and Platform IPRs not applicable not applicable not applicable not applicable not applicable FP7-ICT-2009-5 257103 page: 152 of 229 Target Platforms, target Requirements and Platform IPRs Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? ? Not known 1. Yes, Interactivity is managed by the broadcaster of a TV channel. Applications cannot be distributed or created independent from the owner of the TV channel. Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status not applicable Summary Total Score 9 Part D: Summary Verdict In conclusion, the HbbTV platform is only of moderate suitability for webinos. Application development and distribution is controlled by broadcasters and a TV broadcast system is required. The spirit of HbbTV is to tie interactive applications to specific TV channels. A possibility would be to use broadcast-independent applications relying on the CE-HTML capabilities of the end-user device. Furthermore, there are no native hooks for home networking or cross device communication. Another barrier is the lack of open source implementations. SWOT Swot analysis in relation to webinos: Strengths - web based platform - support by TV devices - content oriented Opportunities - application development for HbbTV gains momentum in the industry - many trials and pilots are started - webinos could provide second screen interaction mechanisms page: 152 of 229 Weaknesses - requires complex TV broadcast infrastructure for transporting data to devices via the HbbTV framework. Because HbbTV devices are CE-HTML compliant devices, this weakness can be mitigated by using broadcast independent applications. - no native mechanisms for cross device communication. - interactive applications are bound to TV channels and controlled by the broadcaster Threats - Android as TV platform - evolving Web standards (e.g. HTML5) - Long term support for system is unsure. No ownership or final responsibility for system. - Patent pool has not been established yet. IPR license fees unknown Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 153 of 229 Target Platforms, target Requirements and Platform IPRs for broadcasters - Browsers, which are used for HbbTV applications, can be used for any Web applications, because of CE-HTML support References: http://www.ard.de/ratgeber/multimedia/hbbtv//id=13302/nid=13302/did=1567970/1gwjv12/index.html http://www.broadbandtvnews.com/2011/04/14/normandie-tv-launches-hbbtv-pilotservice/ http://www.zdnet.de/news/lebensart_lifestyle_digital_pro_sieben__sat_1_und_rtl_starten _hbbtv_livebetrieb_story-39001025-41537118-1.htm http://www.digital-room.de/news/Smart-tv-schwacher-Standard-HbbTV page: 153 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 154 of 229 Target Platforms, target Requirements and Platform IPRs AppleTV Introduction Apple TV is a digital media receiver designed to play digital content originating from the iTunes Store, Netflix, YouTube, Flickr or any Mac OS X or Windows computer running iTunes. Apple launched the first version of Apple TV in March 2007 with a 40G hard disk and later with a 160G version. The Second generation Apple TV was released on September 1, 2010. It has an Apple A4 (ARM Cortex-A8) processor, Apple A4 (PowerVR SGX535) graphics chip, 256M of memory, 8 GB NAND Flash for Cache. It connects via WiFi and Ethernet and supports Micro-USB, HDMI, infrared receiver, optical audio connectivity. It uses a modified version of iOS. Its primary use case could be seen as a way to access your iTunes content on a TV like device. The resurgence of interest in Apple TV could be seen as an extension of the current 'Apple halo effect' and the potential motivation could be to attract new customers to the Apple platforms and also at the same time to maintain existing users. Actually it is not very relevant for webinos implementation because it is a closed proprietary platform. Part A1: Technical Information (web rendering engines) Web components HTML 4/5 rendering code base. The device has no browser. Its UI is similar to the Apple products and is based on iTunes. JavaScript engine -none Widget availability Not available Part A2: Technical Information (Operating Systems) General OS features Portability The operating system is only available on Apple devices. Security No information Connectivity Wi-Fi and LAN are supported for the home network. UMTS, WiMax, Bluetooth or LTE is not supported page: 154 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 155 of 229 Target Platforms, target Requirements and Platform IPRs Reliability No information Technical criteria No information Usability criteria The platform addresses a very good usability in form of a nice graphical user interface API codebase There is no official API, because it is closed source. But, it is a modified iOS 4. Thus, it could be possible to use the official iOS API to develop applications and install the via the Cydia paket manager. Part B: Commercial information Device coverage None. Only AppleTV devices (official) Platform maturity Very stable Market penetration/availability Widely spread through low prices Availability No Feasibility Actually it is not possible to implement webinos for the official AppleTV. It could be possible to implement it for the hacked version. But the market penetration for a hacked AppleTV could be very low and the implementation time frame could be very high. Partner perspective No information Risks No official possibility to get the webinos implementation running on AppleTV devices. Part C: Licensing and Governance Access page: 155 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 156 of 229 Target Platforms, target Requirements and Platform IPRs Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? 1. No 1. No – unapproved licensed 1. No – Not for AppleTV Are developer support mechanisms - project mailing lists, forums, bugtracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 1. No 1. No Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? ? Not known 1. No ? Not known 1. No – this information is not provided ? Not known Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? ? Not known ? Not known Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – there is no formal membership or discrimination between the rights of members and non-members from a development/access perspective Summary Total Score 9 Part D: Summary Verdict Currently, it is a closed platform i.e. there is currently no opportunity for third part developers to create content for the platform. Thus, it makes no sense to use the Apple TV platform for the webinos project. SWOT Swot analysis in relation to webinos: Strengths page: 156 of 229 Weaknesses Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 157 of 229 Target Platforms, target Requirements and Platform IPRs - very good UX and UI - content oriented Opportunities - Apple has a big following. Thus, a good availability to customers is provided. page: 157 of 229 - platform is closed and proprietary. No official way to implement own code. - no OS support (only iOS) Threats - Apple plans to release own TV devices with the Apple TV platform. The Apple ecosystem could be more popular. - evolving Web standards (e.g. HTML5) Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 158 of 229 Target Platforms, target Requirements and Platform IPRs XBMC Introduction XBMC is a Media Centre application originally developed as Media Player for Microsoft Xbox Platform. Started in 2002 by two private programmers, the application grew bigger and became a whole Media Centre called XBMC since 2010. It is now developed by a group of volunteer Open Source developers and managed by the non-profit organization XBMC Foundation. The XBMC Foundation was established as a non-profit entity on January 16, 2009. Since then there haven’t really released much information about the Foundation. Relevance is to extent existing and popular Home Media Software solutions to be Webinos enabled. This will support the growth of Webinos enabled software. Part A1: Technical Information (web rendering engines) Web components There is no native web browser available for XBMC at the time. Some plugins enable browsing but are restricted e.g. to browsing specific XBMC related forums. As well plugins for accessing different internet media services like YouTube, Netflix or Pandora Radio are available. With built-in web scrapers metadata information e.g. cover art or reviews for available media content can be downloaded. The scrapers use sites like themoviedb.org, imdb.com, thetvdb.com and others. HTML 4 rendering capabilities no information available HTML 5 rendering capabilities no information available JavaScript engine capabilities no information available Widget availability Digital signature code availability no information available How are widgets packaged? No information available WARP implementation no information available Extensibility framework (feature tags) no information available page: 158 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 159 of 229 Target Platforms, target Requirements and Platform IPRs Part A2: Technical Information (Operating Systems) General OS features XBMC is an application, it is not an OS. Therefore most OS features depend on the underlying OS. XBMC is programmed mainly in C++ with Python Scripts as plugins. Portability XBMC runs on Windows, Linux and MacOS, Remote controls are available for iPhone and android mobiles. Security Depends on the underlying OS. Connectivity Depends on the underlying OS. Windows as well as Linux is an option. Technical Criteria Depends on the underlying OS. Windows as well as Linux is an option. Memory requirements are satisfied for webinos. Usability Criteria Depends on the underlying OS. Windows as well as Linux is an option. XBMC is designed to run on big screens (TV / Monitors); hence the usability is optimized for remote controls and big UIs. Product Diversity API codebase XBMC has a built-in UPnP-server and UPnP-client, both are compatible with DLNA CERTIFIED. Everything else can be installed and used by developers themselves. Part B: Commercial information Device coverage Available for devices running Linux, Mac OS X, Microsoft Windows with most processors like x86, x86-64, ARM or Power PC. It needs 3D capable GPU. Video decoding can be done by CPU as well as GPU with hardware-accelerated video decoding support Platform maturity page: 159 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 160 of 229 Target Platforms, target Requirements and Platform IPRs ? Market penetration/availability For availability see device coverage. Market penetration is high due to many commercial products that are developed using XBMC as the base of their own adjusted Media Centre. Popular ones are Plex and Boxee Availability The source code is open, thus can be used. XBMC is an application on its own therefore cannot be used directly as base for the webinos platform. Further it lacks in desired web support because not offering a browser Feasibility Yes. Effort medium Partner perspective Code can be used for developing own platform with desired functionality. Commercial XBMC derivates exist. Risks Unidentified Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes 2. Yes – approved license and strong copyleft (e.g. GNU GPL v2/v3) 3. Yes – developer support mechanisms open to all developers 3. Yes – roadmap information available but no call for contributions or similar 3. Yes – there is some information but it is hard to find and doesn't appear comprehensive Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you page: 160 of 229 4. Yes – contributions and acceptance process are clear, with progress status of contributions provided 4. Yes – there are good project Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 161 of 229 Target Platforms, target Requirements and Platform IPRs identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? statistics that provide this information 3. Yes – the process is documented and accessible to all developers 3. Yes – there are good project statistics that provide this information 1. No – no contribution license Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? ? Not known 4. No (besides the logo) Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – there is no formal membership or discrimination between the rights of members and non-members from a development/access perspective Summary Total Score 36) Part D: Summary Verdict XBMC is suitable for Webinos; however there is more integration work to be done in comparison to MythTV. XBMC has no relevant Browser integration yet. In conclusion, XBMC is a good media home platform for webinos. We are more or less free to choose the underlying Operating System as Linux, Windows and MAC OS X are supported. In addition we will/could have an impact on Home Media systems which derivate form XBMC (Plex etc..). However the lack of an already integrated Web browser complicated a possible integration. However, integrating Webinos to XBMC is definitely feasible. SWOT Swot analysis in relation to webinos: Strengths - Open Source - Big developer community - Many platforms supported page: 161 of 229 Weaknesses: - No W3C Widgets and no native browser - Extensibility only with Python / XML - browser plugin is still missing. - Many platforms mean also a lot of special conditions. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 162 of 229 Target Platforms, target Requirements and Platform IPRs Opportunities: - Usage of available code for many platforms/devices to enable audio/video delivery from physical media or internet stream page: 162 of 229 Threats: - Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 163 of 229 Target Platforms, target Requirements and Platform IPRs Automotive MeeGo IVI (reference implementation for GENIVI) Introduction MeeGo is an open source, Linux project, which unites Intel's Moblin and Nokia's Maemo efforts. It was announced during the Mobile World Congress 2010. The MeeGo IVI (invehicle infotainment) is an optimized MeeGo distribution for in-car headunits. As of September 2011 the most current version is 1.2 released on May 19th 201154. The Genivi consortium has chosen MeeGo IVI as a base platform for their reference implementation in August 201055. Genivi adds additional software packages to MeeGo IVI in order to be compliant with their specification56. During MeeGo SF 2011 the Linux Foundation announced, that they will gain access to Genivi's compliance specification56 in order to have MeeGo IVI 1.3 and further releases fully compliant57. In contrast to MeeGo, Genivi is not an open source project. The objective among the project partners including numerous OEMs and first and second tiers in the automotive industry is to reuse and share code56.MeeGo IVI plays a critical role for webinos success inside the automotive domain, as it is the only significant open-source project in this field and has been adopted by the industry (cf. Genivi). Part A1: Technical Information (web rendering engines) Web components MeeGo IVI uses Fennec as its web browser. Fennec is the mobile version of Mozilla’s Firefox. According to Mozilla Fennec supports HTML4 as well as HTML5 and implements W3C's Geolocation and Device Orientation API. It fully supports JavaScript58. Fennec's rendering engine is based on Firefox 4 Beta59. Widget availability Fennec does not support W3C's Widget spec. However, it supports Mozilla's Add-on architecture 60. 54 MeeGo Invehicle, https://www.meego.com/devices/in-vehicle What does GENIVI’s selection of MeeGo mean?, https://meego.com/community/blogs/jahoffmann/2010/what-does-genivi%E2%80%99s-selectionmeego-mean 56 MeeGo ivi latest working group developments, http://sf2011.meego.com/program/sessions/meego-ivi-latest-working-group-developments 57 MeeGo ivi Working Group Minutes, http://wiki.meego.com/images/2011-06-07MeeGoIVIWGroupMeeting.pdf 55 58 Mozilla Cutting edge, https://www.mozilla.org/en-US/mobile/features/#cuttingedge Mozilla Platforms, https://wiki.mozilla.org/Mobile/Platforms 60 Mozilla, Fennec Features, https://wiki.mozilla.org/Mobile/Fennec#Features 59 page: 163 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 164 of 229 Target Platforms, target Requirements and Platform IPRs Part A2: Technical Information (Operating Systems) General OS features Portability MeeGo IVI supports ARM and Intel Atom Architecture. A list of supported boards is available at http://wiki.meego.com/In-vehicle#Platforms Security The MeeGo security architecture is documented at http://wiki.meego.com/Security/Architecture andhttp://meego.gitorious.org/meegoplatform-security. Connectivity MeeGo IVI has support for GSM/EDGE, UMTS, Bluetooth and Wi-Fi, LTE. Support for LTE, CDMA and WiMAX has been announced for the October 2011 release (v 1.3)61. Reliability As MeeGo IVI has not been largely deployed on consumer products, there is no credible information about the reliability available. Technical Criteria MeeGo IVI is specifically optimized for devices with limited resources. Usability Criteria MeeGo IVI's user interface is optimized for touch inputs62. Product Diversity There is no specific SDK for developing MeeGo IVI applications available. The standard MeeGo SDK can be used63. API codebase The IVI edition provides the same API codebase as the other MeeGo editions. A special Vehicle API was not part of 1.2 and previous versions. A common vehicle API for QT 61 MeeGo roadmap, http://www.slashgear.com/meego-roadmap-tips-no-cdma-or-lte-support-untiloct-2011-16114418/ 62 MeeGo touch, http://meego.gitorious.org/meegotouch Introducing MeeGo ivi, http://www.devshed.com/c/a/Smartphone-Development/IntroducingMeeGo-IVI-Ignition-Switch/2/ 63 page: 164 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 165 of 229 Target Platforms, target Requirements and Platform IPRs applications is on the roadmap for the upcoming 1.3 release scheduled for October 201164. MeeGo IVI provides access to a Bluetooth65 and USB stack. RFID and NFC are currently not supported, but addressed for upcoming releases66. The source code to these components is available. Part B: Commercial information Device coverage MeeGo IVI is specifically designed for ivi-systems. In general, MeeGo is suited for a wide range of devices (Tablets, PC, Netbooks, and Smartphones) Platform maturity Due to the young age of MeeGo IVI the platform lacks some features. Current bugs for MeeGo IVI are listed at67. Market penetration/availability MeeGo IVI is not widely used yet. There are two MeeGo IVI in-vehicle systems (Hawtei and Geely) and one after-market solution (ICP Deutschland) available68. Availability The source code of MeeGo IVI is available at http://meego.gitorious.org/ and binary files are available at https://meego.com/downloads/releases/in-vehicle. Feasibility The webinos integration onto MeeGo IVI seems feasible within the project timeframe. Partner Perspective MeeGo IVI is used by the Genivi consortium as its reference implementation. The platform is sponsored by Intel. According to the participation in IVI working group meetings Intel, LG, Nokia, Pelagicore and Visteon seems to be the most active contributors to the IVI releases . Risks Availability of supported devices is currently very limited. 64 MeeGo Roadmap http://wiki.meego.com/In-vehicle/Roadmap/API MeeGo Bluetooth, http://meego.gitorious.org/maemo-bluetooth 66 Bugfixes, MeeGo, https://bugs.meego.com/show_bug.cgi?id=7333 67 Current Bugs, MeeGo https://bugs.meego.com/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__o pen__&product=MeeGo+IVI&content= 68 Shipping MeeGo ivi Products, http://wiki.meego.com/In-vehicle#Shipping_MeeGo_IVI_Products 65 page: 165 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 166 of 229 Target Platforms, target Requirements and Platform IPRs Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms - project mailing lists, forums, bugtracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4: MeeGo IVI source code is available. 3: For kernel components GPLv2 is used. Platform itself is OSI-compliant and allows companies to build proprietary extension on all levels. As MeeGo IVI makes strong use of upstream projects, there is no general licence for MeeGo IVI. Licences are handled on a package level. 3: All documents are available at wiki.meego.org, mailing list archives are available. 4: The roadmap is available 4: The meeting minutes of the working group are available Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 4: Development process and contribution acceptance can be monitored 3: Contributions can be identified using the git protocols and the bug tracking system. 4: The process for becoming a committer is described 2: Information has to be aggregated from the git repositories of the different MeeGo projects 2: The project requires a copyright license/'sign-off'. The process is described Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications page: 166 of 229 1. Yes – code must go through a formal compliance process prior to be distributed to other parties is described 0: No channels are available at present. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 167 of 229 Target Platforms, target Requirements and Platform IPRs derivatives constrained by the project in terms of approval, distribution or discovery? Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2: There is no formal membership or discrimination between the rights of members and non-members from a development/access perspective . Summary Total Score 36 Part D: Summary Verdict MeeGo has gained some negative press after Nokia’s announcement of using Windows Phone 7 in favour of Symbian and potentially MeeGo. However, MeeGo is still heavily backed up by Intel, as it tries to expand its ecosystem beyond the microprocessor business 69 . Furthermore, MeeGo IVI is the only relevant open source platform for in-car headunits and was picked up by the Genivi consortium for its reference implementation. Although the MeeGo IVI lacks some relevant features for an IVI-platform such as a common vehicle API, these open points have been addressed for the 1.3 release due in October 2011. The access to Genivi's compliance specification will enable the Linux foundation to build a fully Genivi-compliant operating system, as new competitors (e.g. Canonical) are introducing new base platforms for Genivi70. Having a Genivi compliant platform as a basis for webinos will enhance webinos chances to be picked up by other automotive companies. Taking the long development cycles inside the automotive domain (around seven years) and the relatively young age of MeeGo (around 2 years) into account, it is not surprising that there is only a minor selection of MeeGo IVI based devices available. SWOT Swot analysis in relation to webinos: Strengths - MeeGo is heavily backed up by Intel. - Only fully fleshed out and true open source operating system for IVI-systems. Opportunities - Genivi uses MeeGo as a basis for their reference implementation. Weaknesses - currently no standardized vehicle API available. - Not heavily in productive use yet. Risks - after Nokia's commitment to Windows Phone 7. The acceptance by developers and market penetration is being unclear. 69 Intel support for MeeGo, http://www.ftd.de/it-medien/it-telekommunikation/:betriebssystemmeego-intel-kaempft-um-mobilen-hoffnungstraeger/60056220.html 70 Canonical joins GENIVI, http://www.h-online.com/open/news/item/Canonical-joins-GENIVIcreates-Ubuntu-IVI-Remix-1242314.html page: 167 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 168 of 229 Target Platforms, target Requirements and Platform IPRs - Linux Foundation gained access to the Genivi compliance specification. - Genivi might drop MeeGo as a reference open source implementation in favour of Ubuntu after Canonical announced a Genivi compliant Ubuntu version for summer 2011 References for MeeGo IVI analysis http://wiki.meego.com/In-vehicle/working-group https://www.meego.com/about/licensing-policy http://lists.meego.com/listinfo/meego-ivi https://bugs.meego.com/ http://forum.meego.com/forumdisplay.php?f=9 http://wiki.meego.com/In-vehicle/Roadmap http://wiki.meego.com/In-vehicle/working-group https://www.meego.com/about/contribution-guidelines https://www.meego.com/about/compliance/platform-compliance https://www.meego.com/about/trademark https://www.meego.com/about/contribution-guidelines/signed-process http://wiki.meego.com/Contributing_to_MeeGo page: 168 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 169 of 229 Target Platforms, target Requirements and Platform IPRs Android (AutoLinQ) Introduction Continental Automotive announced AutoLinQ™ at the Telematics Detroit 2009 Conference71. AutoLinQ is an open, end-to-end vehicle connectivity platform that will enable vehicle owners to safely connect to what matters in their lives. AutoLinQ extends the vehicle ownership experience by creating an “always connected” environment where users can have meaningful interaction with their vehicles from home, from the office, or from their mobile devices72. AutoLinQ’s architecture is comprised of 4 system elements called “Views” and provides vehicle owners with information that is relevant to their location. These “Views” can be configured and combined to create a unique version of the AutoLinQ platform, to suit individual requirements of end customers and OEMs. For example, through AutoLinQ mobile view, vehicle owners can ask questions or send commands from their mobile phone to their vehicle, including options like checking the status or location of a vehicle. While at home, vehicle owners can access real-time vehicle status or remote diagnostic information from an account on their laptop. Or, while on the road, vehicle occupants will be able to access real-time location-based information and content that is relevant to the driving situation. Part A1: Technical Information (web rendering engines) Web components AutoLinQ allows web pages interacting with the vehicle and allows applications to query vehicle data. However, before the application is allowed to access vehicle data, the driver must have already agreed to allow access. This control will be in place when the user first adds the application. If the user does not allow, the javascript command will return "no access". If the command is not available for that particular car, the JavaScript command will return "not available". Some new JavaScript commands have been added to the AutoLinQ Browser (the full list is at http://www.autolinq.net/api/). Currently there isn’t information about HTML rendering features. Widget availability Support for developing ‘automotive extended’ widgets using vehicle data. It is not specified whether such widgets are specific Android Apps or browser based widgets. Part A2: Technical Information (Operating Systems) General OS features Portability 71 72 AutoLinQ press announcement, http://www.autolinq.de/en/press.aspx About LinQ, http://www.autolinq.de/en/press.aspx page: 169 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 170 of 229 Target Platforms, target Requirements and Platform IPRs All Android-related portability issues (see Chapter 2, Android for Mobile) should also apply in AutoLinQ, although at this stage of development an explicit set of supported devices cannot be listed. Security The platform is optimized for automotive environments and includes critical security and administrative features such as firewalls and VPNs, vehicle authentication, service portfolio management, service delivery and reporting [http://www.inrix.com/pressrelease.asp?ID=97]. Safety parameters enforced by the API and/or the OEM Connectivity Support of 3G for extra-vehicle connection and of Bluetooth, Wi-Fi for intra-vehicle connection. Reliability It is difficult to assess the reliability level of the AutoLinQ platform as Continental does not provide any information but public documentation is limited to presenting some functional features of the platform. However, since AutoLinQ platform is based on Android, it is reasonable to assume that the reliability level of the AutoLinQ platform corresponds to that of Android (see Chapter 2, Android for Mobile). Technical criteria System details not known. AutoLinQ run's within a touchscreen display that is 800x480 native resolution with a diagonal dimension between 6.5 to 7.0 inches. The browser itself will not be running full screen, but rather it will be running in a window that is 660x400 (http://www.autolinq.net/api/). Usability Criteria The fundamental concern on which designers are working on is the users' safety. HMI equipment includes High-resolution graphics, touch-screen, voice activation, text-to-speech and steering wheel-mounted control technologies. Product Diversity The core system is founded on Android which lets developers create a wide range of applications like the ones to improve the vehicle control through interaction with the car's sensors or to entertain passengers API codebase Continental expects to release a SDK that will extend the open Android™ API and provide developers with the tools they need to create automotive-specific Android™ applications. This open API will be freely available for use by the development community. It will enable page: 170 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 171 of 229 Target Platforms, target Requirements and Platform IPRs developers, OEMs, and other entrepreneurs to create ‘automotive extended’ apps and widgets using vehicle data - within safety parameters enforced by the API and/or the OEM [http://www.autolinq.de/en/faq.aspx]. The AutoLinQ APIs enable developers to write applications that leverage the state of the vehicle, such as the fuel level, or whether the doors are locked. Although Continental announced to begin demonstrating applications, via an application store, to automotive customers in the second half of 2010 and making the AutoLinQ SDK freely available for use by the development community by the end of the first quarter of 2010, till now, there is not any practical evidence of this promise. Part B: Commercial information "Continental decided to base its AutoLinQ architecture on the Android™ operating system because the company wants to leverage a large and well established developer community. Recent forecasts from analyst firm Gartner say Android is expected to power 18 percent of all Smartphones sold globally in 2012 – addressing approximately 94 million users. This is up from a share of less than 2% of all Smartphones sold in 2009. The development community, which has designed approximately 10,000 applications so far, also is expected to grow with the market."[http://www.autolinq.de/en/faq.aspx] Device coverage AutoLinQ’s architecture is comprised of 4 system elements called “Views”. These “Views” (Home, Mobile, Car and Partner) can be configured and combined to create a unique version of the AutoLinQ platform, to suit individual requirements of end customers and OEMs. Platform maturity There is an alpha version of SDK which has been made available only to key partners and developers. Market penetration/availability Continental is in the early stages of development. The company is currently working with automotive customers, partner companies and the Android™ development community. Availability inside a car may be possible in the next product generation [http://www.autolinq.de/en/faq.aspx]. Continental announced the availability of the alpha release of the AutoLinQ SDK. This alpha release is being made available to key partners and developers. A public release of the SDK will be available in the coming months. There is not yet concrete information about the public release of the SDK. Availability The Alpha version of SDK consists of the following components: Automotive API, AutoLinQ Emulator, Vehicle (sensors) Simulator and HMI Design Guidelines [http://www.autolinq.de/en/developers_overview.aspx] page: 171 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 172 of 229 Target Platforms, target Requirements and Platform IPRs Feasibility Webinos implementation may be not so difficult thank to the Android base system Partner perspective A few key partners are: Deutsche Telekom, INRIX, NAVIGON, NAVTEQ, secunet, SVOX, Ygomi. Quite a few more are in the works. The objective is to create mutually beneficial partnerships across the complete value chain resulting in the delivery of unmatched value to Automotive manufactures and consumers alike [http://www.autolinq.de/en/partners.aspx]. Risks Webinos apps can be seen as in competition with native AutoLinQ applications. Possible restrictions in distribution of webinos run-time and apps. Part C: Licensing information Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 0: Not known. There is no public information about the licensing policy for AutoLinQ operating system. In addition, it is not specified whether the source code of the platform will be available or not. 0: Not known. 2: No – developer support mechanisms are limited. 3: Yes – roadmap information available but no call for contributions or similar. 1: No. Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline page: 172 of 229 0: Not known. 0: Not known. 2: No – the process is vague/unclear so we do not know if it is 0: Not known. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 173 of 229 Target Platforms, target Requirements and Platform IPRs Does the contribution license require a copyright assignment, or copyright license and/or patent license? 0: Not known. Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution 0: Not known 3: Yes – restricted by approval. Continental will create an application certification process to ensure application conformance to established safety standards, and conformance to OEM style guidelines [http://www.autolinq.de/en/faq.aspx]. Its central element is the AutoLinQ market place, where Continental and Deutsche Telekom, or other suppliers, can provide certified supplementary applications for uncomplicated downloading [http://www.telekom.com/dtag/cms/content/dt/en/822952?printversion=true Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Currently, yes – there are tiered rights depending on membership status. Summary Total Score 12 Part D: Summary Verdict Some technical and commercial details are still missing in order to evaluate its impact on the webinos platform selection and adoption. The evolution of the AutoLinQ development should be monitored during the next months of webinos project, while considering it as a secondary choice for automotive platform selection. SWOT Swot analysis in relation to webinos: Strengths Android-based platform that offers automotive API and relatively open governance regime could be an easy-to-adapt webinos run-time installation and webinos apps environment Opportunities Exploit the whole codebase and efforts spent in developing Android webinos runtime and applications. page: 173 of 229 Weaknesses - Lack of enough documentation and resources about the platform. - Webinos apps can be seen as in competition with native AutoLinQ applications. Possible restrictions in distribution of webinos run-time and apps. - The platform is not publicly available. Risks Competition with native apps can be seen as a negative issue by Continental. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 174 of 229 Target Platforms, target Requirements and Platform IPRs page: 174 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 175 of 229 Target Platforms, target Requirements and Platform IPRs Microsoft Windows Embedded Automotive Introduction Windows Embedded Automotive (also previously known as Windows CE for Automotive, Windows Automotive, and Windows Mobile for Automotive, Microsoft Auto) is an embedded operating system based on Windows Embedded for use on computer systems in vehicles. Windows Embedded Automotive 7 is the most current release. The operating system is developed by Microsoft through the Microsoft Automotive Business Unit that was formed in August 1995. The first automotive product built by Microsoft was marketed as AutoPC. Ford Sync and Fiat Blue&Me were based on Microsoft Auto, as well. Part A1: Technical Information (web rendering engines) Web components: The publicly available information about the exact browser features in Windows Auto is limited. According to Microsoft’s developer documentation Windows Embedded Automotive 7 contains Internet Explorer 773 , which is optimized for embedded use and misses some features of the desktop version74. The browser supports the following document types: • Adobe Flash Lite (Flash Lite 3.1/Flash 10.1) and User interface customization with Silverlight for Windows Embedded • HTML, Dynamic HTML (DHTML), and CSS data formats • Jscript 5.8 The exact support features of HTML 5 and JavaScript could not been verified. Widget availability There is no public information available, if Windows Auto supports browser widgets. Part A2: Technical Information General OS features Windows Embedded Automotive 7 is based on Windows Embedded Compact 7. The operating system provides the following features: Portability Only on Microsoft Platforms Security 73 Internet Explorer Embedded (Windows Embedded Compact 7) http://msdn.microsoft.com/enus/library/ee487632.aspx 74 http://msdn.microsoft.com/en-us/library/gg155886.aspx page: 175 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 176 of 229 Target Platforms, target Requirements and Platform IPRs Security and encryption technologies, Internet client technologies Connectivity TCP/IP and Bluetooth wireless technology, GPS, Wi-Fi, DNS Reliability Consists of process monitor, reliability service, provides backup installer Technical criteria Small footprint (300 KB, 700 components), 32-bit native real-time support unified kernel Product Diversity The possibility to innovate and develop new applications File and memory management, device and service management, threads and process management, and networking stacks Video, hard disk support, XML, Internet servers, graphic displays, database support, Multilanguage support Enables Variance Frequency Processors (VFP) support in ARM processors, Dual-core support (SMP, ARMv6)75. API codebase Applications that are written for Windows Embedded Automotive 7 can use an array of C/C++ APIs. The base Windows Embedded Compact 7 system exposes an API for its services (including memory and process management, file systems, network, and registry access). The automotive-specific platform components expose APIs for support of functionality such as speech, hands-free telephony, text-messaging, media playback, and radio. There is additional support DirectX. In order to built wireless-connection services Windows Embedded Automotive provides a library called CellCore, which includes: Radio Interface Layer handles the communication between the CellCore system software and the radio hardware. Telephony programming elements that are applicable to CellCore: Extended TAPI (ExTAPI), Assisted TAPI, and Telephony Service Provider (TSP) API. 75 Technical companion to Windows Embedded Automotive, http://download.microsoft.com/download/0/A/1/0A1E07D6-7562-4566-AACFE04DF4FF8879/A%20Technical%20Companion%20to%20Windows%20Embedded%20Automotive%20 7%20(final).pdf page: 176 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 177 of 229 Target Platforms, target Requirements and Platform IPRs Wireless Application Protocol (WAP) API defines both a communications protocol and an application environment. Using the WAP Wakeup feature, an asynchronous application can be available to process incoming messages, yet be neither running nor loaded in memory. SMS providers enable the SMS client to determine the application that should receive an incoming SMS message. This service associates message types with an SMS provider by modifying the registry. Enhanced Messaging Service (EMS) processing is disabled by default, but can be activated. SMS API supports sending messages of up to 160 characters to mobile-based devices. The Subscriber Identity Module (SIM) Manager API is used to access information stored on the SIM card. Windows Embedded 7 supports the following networking features: DNS, TCP/IP version 4 and version 6, and WinSock Local Area Network (LAN) IEEE 802.3 and 802.5, Wi-Fi IEEE 802.11 Part B: Commercial information Market penetration/availability Microsoft Auto is the platform used by Microsoft and Ford to engineer the in-car communication and entertainment system, Ford Sync, while Fiat has used Microsoft Auto for more than two years as the platform for their Blue&Me and Blue&Me Nav technology. As mentioned in our D 2.3 Ford Sync has been installed on more than 2.5 million vehicles according to Ford and Blue&Me is installed in more than 1,000,000 vehicles. The Windows Embedded Automotive Development Kit (WE-ADK-07) costs $6,295 and the StartUp/Software Support (SS-40) costs $5,80076. Besides Ford and Fiat, Microsoft lists the following OEMs and 1st tiers as additional customers of Microsoft’s automotive products: KIA, Smart Car2Go, Alpine, Pioneer75. Availability The current The Windows Embedded Automotive version of the OS can be used by webinos. Feasibility The support for developing Windows application is strong and they can be developed faster than on most other OSs. Partner perspective 76 Qualnetics, Windows Embedded Automotive Development KIT [6] http://qualnetics.com/we-adk/ page: 177 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 178 of 229 Target Platforms, target Requirements and Platform IPRs Fiat has used Microsoft Auto for more than two years as the platform for their Blue&Me and Blue&Me Nav technology. As mentioned in our D 2.3 Ford Sync has been installed on more than 2.5 million vehicles according to Ford and Blue&Me is installed in more than 1,000,000 vehicles. Risks Microsoft does not use open standards, therefore any change made to the OS’ implementation might happen unexpectedly and might not be easily handled. Part C: Licensing information Development tools and runtime licenses are sold through Microsoft Authorized Embedded Distributors. The Windows Embedded Automotive is not OSI compatible. Further information on the licensing model on Windows Embedded Automotive is available athttp://www.microsoft.com/windowsembedded/en-us/evaluate/bringing-a-windowsembedded-device-to-market.aspx. Source code availability Parts of the source code of Windows Embedded CE 7.0, which forms the foundation of Windows Embedded Automotive, are available under the Windows Embedded Shared Source Initiative77. Components available shared source are listed at http://www.microsoft.com/windowsembedded/en-us/develop/windows-embedded-ce-6sample-code.aspx. . The OS core components such as kernel library, file system, device manager and storage manager are not available77. The evaluation of the platform is free of charge for 180 days. After that period licence fees for the platform and the development tools apply. Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms project mailing lists, forums, bugtracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Parts of the source code of Windows Embedded CE 7.0, are available under the Windows Embedded Shared Source Initiative77 1. No – unapproved licensed Microsoft Auto is not OSI compatible 2. No – developer support mechanisms are limited. There is no specific community structure apart from MSDN 2. No – No formal roadmap. The roadmap for Windows Embedded Automotive is not publicly available. Silver and gold members of Microsoft's 77 Windows Embedded CE Shared Source Licensing Program, http://www.microsoft.com/resources/sharedsource/licensing/winembedcesslp.mspx page: 178 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 179 of 229 Target Platforms, target Requirements and Platform IPRs Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decisionmaking in the project? Windows Embedded Partner program (WEPP) have limited access to the roadmap78. 2. No – but the intent is to provide more information and make the process more open Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? contributions and acceptance process are not so clear 1. No 1. No – commit access is restricted to specific users/members of the Project only 1. No – this information is not provided Copyright required for commercial projects Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1. Yes – code must go through a formal compliance process, Microsoft Automotive is a trademark of Microsoft. 4. No - No App store for Windows Embedded Automotive 7 available but intent to provide one Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – There is no specific community structure apart from MSDN Summary Total Score 17 Part D: Summary Verdict Though windows Embedded offers a comprehensive suite of operating systems and tools that can help device manufacturers reduce time to market and already used by Fiat and Ford 78 Windows Embedded Partners Benefits, http://www.microsoft.com/windowsembedded/enus/partners/windows-embedded-partner-benefits-plan.aspx page: 179 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 180 of 229 Target Platforms, target Requirements and Platform IPRs Sync. Microsoft Auto is not OSI compatible and lacks the apps store that would benefit the application developers. There is no specific community structure apart from MSDN. SWOT Strengths - Older versions of the platform have been successfully used in products by Fiat and Ford. Opportunities - Can attract a large developer base due to using the .NET framework for application development. page: 180 of 229 Weaknesses - Development Tools runs only on Microsoft platform they are not Platform Independent. - Not Open Source Initiative(OSI) compatible. - IE is the only available browser for the platform and lacks the support for standards - Support for JavaScript and HTML 5 unclear Risks - OEMs are looking into open source alternatives for their software components to cut licensing costs - Microsoft could restrict access to the source code Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 181 of 229 Target Platforms, target Requirements and Platform IPRs QNX Car Introduction QNX is a POSIX-conform proprietary real-time operating system (RTOS) for embedded devices and is the foundation of a wide range of ivi-systems (including Audi, BMW, GM, Chrysler, Porsche, Hyundai)79. A pre-defined software stack for ivi-systems is provided under the name QNX car80. Research In Motion (RIM) acquired QNX from Harman International, a first tier supplier in the automotive domain, in April 2010. The source code for QNX was made publicly available in September 2007, but is not accessible under an open-source licence81. Part A1: Technical Information (web rendering engines) Web components QNX car includes a WebKit rendering engine and supports the following features82 : HTML parsing (HTML 4.01). CSS parsing (CSS 2.1 and parts of CSS 3). JavaScript interpreting (JavaScript 1.5, also 1.7 and ECMA-262 3rd edition. Document Object Model (DOM Level 1 and 2). XML parsing (XHTML 1.1 and XML). XSLT and XPath 1.0. HTML canvas and AJAX. SMIL 2.2 or 2.3. Image formats: jpeg, gif, png. HTTP 1.1, HTTP Cookies. SSL3/TLS1.0. SSL Root Certificates Support: VeriSign, Entrust, Thawte, Baltimore. Support of externally supplied fonts. Support for HTML 5 is scheduled for the fourth quarter of 201183. Widget availability There is no information available, if QNX Car supports W3C's widget specification. During the QNX Automotive Summit 2010 QNX announced that they plan to offer an application framework based on browser and Web technology with a strong focus on HTML 5. Part A2: Technical Information (Operating Systems) 79 QNX Operating Systems, http://www.qnx.com/products/neutrino-rtos/index.html QNX Automotice solutions, http://www.qnx.com/solutions/industries/automotive/ 81 QNX Software Licensing, http://www.qnx.com/legal/licensing/index.html 82 QNX Features, http://www.qnx.com/developers/docs/6.4.1/webkit/dev_guide/overview.html#features 80 83 QNS ppt, HtML http://www.qnx.com/news/events/germansummit/presentations/qnx_sebastien_marineau.pdf page: 181 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 182 of 229 Target Platforms, target Requirements and Platform IPRs General OS features Portability The OS supports ARM, PPC, MIPS, SH and x86 processor architecture84. It is specifically designed for ivi-systems. Security As a real-time operating system QNX has strong focus on privileged apps and should easily match webinos requirements regarding security85. Connectivity QNX Car supports Bluetooth, GSM/EGDE, WiFi, UMTS and CDMA. Support for WiMax and LTE is unknown. Reliability As QNX car is usually OEM branded, it is not recognized as a single product. Therefore, no customer feedback is available. Technical Criteria According to QNX is optimized for embedded use and fulfils the webinos requirements regarding footprint and performance86. Usability Criteria The user interface (controls and GUI) is optimized on in-car usage. Different control elements (touch vs. ergocommanders) are used depending on OEM preferences. Product Diversity QNX has announced a program to specifically build applications for QNX car87. API codebase Although QNX Car incorporates Bluetooth, DNS and USB technology. It could not been verified if the source code of these stacks are available and can be modified for a webinos implementation. Other relevant APIs like DLNA (UPNP) are officially not supported by QNX Car, but are under consideration. Part B: Commercial information 84 QNX Hardware Support, http://www.qnx.com/developers/hardware_support/qnx4/qnx4hardware.html?category=PlatProc 85 QNX Security, http://www.qnx.com/download/download/22541/Certicom_QNX_FIPS.pdf 86 QNX Neutrino Benchmarks, http://www.qnx.com/download/group.html?programid=19795 87 [9] http://www.qnx.com/products/qnxcar/index.html#screen page: 182 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 183 of 229 Target Platforms, target Requirements and Platform IPRs Device Coverage QNX car is specifically designed for ivi-systems. QNX RTOS - the basis of QNX Car- is used as well for industrial, network/telecom, defence and medical products as well. Platform maturity QNX RTOS can be considered as stable. Market penetration/availability QNX claims that 20 million vehicles are equipped with QNX technology . QNX is used in more than 200 vehicle models80. Availability QNX is available at http://community.qnx.com/sf/sfmain/do/home Feasibility Support from QNX seems necessary to integrate webinos components into the QNX car platform. Partner perspective QNX Car is optimized on a contract base for OEMs. The customers of QNX in the automotive domain are (selection): Audi, BMW, Daimler, GM, Chrysler, Porsche, Hyundai80. Risks It could not been verified, which parts of the platform are not available as source code, which can jeopardize the implementation of webinos components Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms project mailing lists, forums, bugtracking databases, developer 2: QNX distinguish between three user groups with different licences and privileges: commercial, partner (PSLA) and academic (NCEULA)88. Only NCEULA is free of charge and not all sources for QNX are available 1: All three licence types (CSLA, PSLA, NCEULA) are not OSI-compatible 1: Developer support mechanisms are available, but access to specific supports features are restricted depending on the membership level 88 QNQ Licensing, Commercial, Partner and Academic Licensing Agreements, http://licensing.qnx.com/csla/; http://licensing.qnx.com/psla/; http://licensing.qnx.com/nceula/ page: 183 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 184 of 229 Target Platforms, target Requirements and Platform IPRs documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? and acceptance to certain projects (e.g., QNX Car)89 1: Public roadmap is outdated. It is stated, that PSLA customers have access to the roadmap90. 1: Decision-making is not present to NCEULA customers. Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 0: This information could not been verified. 0: This information could not been verified. 1: Commit access is restricted to specific users/members of the Project only. How to become a accepted as a committer to the project QNX Car is unclear. 1: This information is not provided 0: Only Members of the QNX community (customer, partner, academic) are able to modify and add code and are allowed to share modifications within the community. Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 1: QNX is a trademark of QNX Software Systems GmbH & Co. KG (QNXSSKG), a subdivision of RIM. A written permission from QNXSSKG is required to use the trademark91. 0: Go-to-market channels are controlled by OEMs. There is no specific QNX Car app store. However, QNX provides an app store solution for OEMs. Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership 1: As described in previous sections tiered rights are depending on the membership 89 QNX Developer Support, http://community.qnx.com/sf/sfmain/do/home QNX Public Roadmap, http://community.qnx.com/sf/wiki/do/viewPage/projects.qnx_car/wiki/WhatComing 91 QNS Legal Licensing Terms, http://www.qnx.com/legal/licensing/web_terms/qwt2_04.jul06-09.pdf 90 page: 184 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 185 of 229 Target Platforms, target Requirements and Platform IPRs status level. Summary Total Score 10 Providing a score of "openness" for QNX Car is misleading to some extent, as the platform is not marketed as an open source project. Part D: Summary Verdict QNX has been heavily used inside the automotive domain and is a proven base platform for ivi-systems. In the last decade QNX main focus has been on automotive products. RIM's acquisition of QNX might extend QNX's focus to other domains including tablets (cf. Blackberry Playbook) and Smartphones which are relevant for webinos as well. However, QNX licensing model interferes with webinos goals to establish an open source community and to build on top of open source projects. Coupling webinos to a proprietary operating system for the automotive domain might lower its acceptance rate by OEMs, as they, in cooperation with their first tiers suppliers, are looking more and more into open source alternatives for ivi-systems (cf. Genivi with MeeGo or Continental with Android). QNX licensing model makes it almost impossible to use within webinos. SWOT Swot analysis in relation to webinos: Strengths - highly adopted inside the automotive domain - fulfils automotive requirements regarding real-time execution Opportunities - QNX might gain influence in other domains outside the automotive domain after its acquisition by RIM page: 185 of 229 Weaknesses - source code not available under an open-source licence Risks - OEMs are looking into open source alternatives to cut costs Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 186 of 229 Target Platforms, target Requirements and Platform IPRs WEB rendering engines analysis QT Introduction The Qt framework was originally developed by a Norwegian company Trolltech, which has been acquired by Nokia in the beginning of 2008. Following the acquisition Nokia holds all the rights to the platform, which is distributed under commercial and open-source licenses. Qt development is increasingly shared with public and the project governance is moving to open model, making Qt development as open as other free software projects as Linux. Nokia plans to make Qt the primary application development framework used on its range of Symbian- and MeeGo-based products. Qt is a cross-platform application and UI framework used in many system types, ranging from coffee machines to medical equipment92. Part A1: Technical Information (web rendering engines) Qt SDK combines the Qt framework with tools designed to streamline the creation of applications for Symbian and Maemo, MeeGo (Nokia N9) in addition to desktop platforms, such as Microsoft Windows, Mac OS X, and Linux. • Qt framework - intuitive APIs for C++ and CSS/JavaScript-like programming with Qt Quick for rapid UI creation Web components The Qt WebKit is an integration of WebKit with Qt. An open source HTML rendering component integration with Qt. NPAPI support with Qt 4.5 • Qt WebKit supports open web standards, such as HTML5, CSS3, JavaScript and SVG. • It brings consistent browser environment across desktops and devices • It combines web content & services and enrich the functionality and boost up the performance with Qt C++ or QML. • Supports for full page zooming with appropriate rescaling of fonts and images. Feature improvements to the Qt WebKit Integration, including test suites for CSS3 and HTML5 features such as CSS animations, CSS transforms, HTML5 offline capabilities and HTML5 canvas element; JavaScript DOM API for gestures; tactile feedback in CSS; HTML5 geolocation API; and HTML5 media improvements such as full-screen video playback on devices93. Widget availability 92 Qt at Nokia http://qt.nokia.com/, http://doc.qt.nokia.com/qt-mobilitysnapshot/qnetworkconfiguration.html 93 Qt Library, http://qt.nokia.com/products/library/qtwebkit/ page: 186 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 187 of 229 Target Platforms, target Requirements and Platform IPRs Yes. There is widget availability in Qt. Qt provides tools to develop widgets Qt Designer and Qt Creator. Qt Designer is Qt's tool for designing and building graphical user interfaces (GUIs) from Qt components. You can compose and customize your widgets or dialogs in a what-you-see-iswhat-you-get (WYSIWYG) manner, and test those using different styles and resolutions. Widgets and forms created with Qt Designer integrated seamlessly with programmed code, using Qt's signals and slots mechanism, that lets you easily assign behaviour to graphical elements. All properties set in Qt Designer can be changed dynamically within the code. Furthermore, features like widget promotion and custom plugins allow you to use your own components with Qt Designer. Qt Creator is a complete Cross-platform IDE included in the Qt SDK. The IDE allows programmers to create, build, debug and run Qt applications across all supported platforms94. Part A2: Technical Information (Operating Systems) Qt is a cross-platform application and UI framework. Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile and embedded operating systems without rewriting the source code. Qt is available for the following platforms: Portability Windows Desktop , Windows CE and Windows Mobile, Linux/X11, Embedded Linux, Mac OS X, Symbian, Maemo/MeeGo Security Qt has web security classes that provides access to the security domains defined by web sites Connectivity WLAN, 2G, CDMA2000, W-CDMA/UMTS, HSPA, Bluetooth, WiMAX. Product Diversity Yes, the possibility to innovate and develop new applications is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI). General features Modules for general software development and that Qt supports: The Tore module contains the core non-GUI classes, including the event loop and Qt's signal and slot mechanism. It also includes platform independent abstractions for Unicode, 94 Qt Designer Manual, http://doc.qt.nokia.com/stable/designer-manual.html page: 187 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 188 of 229 Target Platforms, target Requirements and Platform IPRs threads, mapped files, shared memory, regular expressions, and user and application settings. The Tui module contains the majority of the GUI classes. These include a number of table, tree and list classes based on the model-view-controller design pattern. Also provided is a sophisticated 2D canvas widget capable of storing thousands of items including ordinary widgets. The QtMultimedia module implements low-level multimedia functionality. The QtNetwork module contains classes for writing UDP and TCP clients and servers. It includes classes that implement FTP and HTTP clients and support DNS lookups. Network events are integrated with the event loop making it very easy to develop networked applications95. API codebase The new Qt APIs, not only enable Qt developers to include standard mobile functionality in their applications, but also provide useful application functionality across desktop platforms. Qt is separated into modules Qt intuitive API includes Core, GUI, SQL database, XML, Networking, OpenGL, Qt WebKit, and Multimedia Classes Qt Mobility - Various mobility APIs enable you to create dynamic navigation applications or even just support standard mobile applications such as messaging, contacts and multimedia. Reuse code - Use code you wrote for one platform to target another. Build and run applications for multiple target platforms. Qt provides API’s for96: Bearer Management API Camera API Contacts API Document Gallery API Feedback API Landmarks API Location API Maps/Navigation API Application Notification, System’s Connectivity State Provides a framework to use Camera device features when supported by the platform Introspect available contact data allowing applications to work with a variety of contact types from a variety of platforms Enables applications to search, filter and manipulate the meta-data of files in local file system Allows applications to produce tactile feedback As part of the Location API, it allows applications to create, retrieve, update and delete landmarks Determine the current location and stream location updates Provides an API to access maps, landmarks and route information for navigation 95 Qt Reference Documentation, All Modules http://doc.qt.nokia.com/4.7-snapshot/modules.html Qt Mobility Project APIs Overview, http://doc.qt.nokia.com/qtmobility-1.0-beta/ 96 page: 188 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 189 of 229 Messaging API Multimedia API Organizer API Publish and Subscribe API Sensors API Service Framework System Information API Versit API Target Platforms, target Requirements and Platform IPRs Supports working with a variety of message types (SMS, MMS, email) Play and record media Provides an interface to create, update, delete and share various organizer items such as events and to-do items A hierarchical data representation that can be shared between system components Access to hardware sensors Service Framework (Out-of-process) allows applications to invoke a service provider on a different process Access and be notified of changes in underlying system information. Includes things like battery and network status Read and Write Versit documents, such as Vcards, iCal Part B: Commercial information Device coverage Qt can be run on the devices which support Windows Desktop , Windows CE and Windows Mobile, Linux/X11, Embedded Linux, Mac OS X, Symbian, Maemo/MeeGo Platform maturity According to Nokia, every effort has been made to release the Qt SDK 1.1 bug free; however, if users do encounter a bug they are asked to report it through the Qt bug tracker and can find in help with reporting bugs they may encounter with the Qt guide for reporting bugs. Bugs can be reported under the link http://bugreports.qt.nokia.com to improve the Platform. Market penetration/availability After Nokia's commitment to Windows Phone 7. The acceptance by developers and market penetration is being unclear. But Qt is most notably used in Autodesk Maya, Adobe Photoshop Elements, OPIE, Skype, VLC media player, VirtualBox, and Mathematica, and by the European Space Agency, DreamWorks, Google, HP, KDE, Lucasfilm, Panasonic, Philips, Samsung, Siemens, Volvo and Walt Disney Animation Studios. Availability Qt is available as open source software. Feasibility The webinos integration onto MeeGo IVI seems feasible within the project timeframe. Partner perspective Nokia announced that it is going to drop Symbian technologies and base their future Smartphones on Microsoft platform instead in February 2011. One month later Nokia page: 189 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 190 of 229 Target Platforms, target Requirements and Platform IPRs announced the sale of Qt's commercial licensing and professional services to Digia PLC, although Nokia will remain the main development force behind the framework. Risks Nokia announced that it is going to drop Symbian technologies and base their future Smartphones on Microsoft platform. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? 4. Yes, Must provide source code changes to Qt 3. Yes – approved license and strong copyleft (e.g. GNU GPL v2/v3) 3. Yes, Developer support available 4. Yes – full roadmap available, with explicit call for contributions to the roadmap 2. No – but the intent is to provide more information and make the process more open Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 4. Yes – contributions and acceptance process are clear, with progress status of contributions provided 2. No – although you maybe able to find this informationby checking copyright files/notices 1. No commit access limited to specific users 2. Yes – but you must manually find and collate the information from various project sources 3. Yes – project requires a copyright license and patent grant Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? page: 190 of 229 2. No- you can freely distribute the code and use the project trademark without completing formal compliance requirements Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 191 of 229 Target Platforms, target Requirements and Platform IPRs Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 2. No – there is no formal membership or discrimination between the rights of members and non-members from a development/access perspective Summary Total Score 36 Governance Qt source code and the source code changes are accessible via Gitorious, which is a popular community software source code repository. All Qt releases are available on that repository. There is no difference between the commercial version and the Open Source versions, except with regard to the license terms applied to those versions. Qt community is formed around active developer forum, mailing list and suite of developer tools provided at no cost to developers. There is no formal Qt community membership implying agreements or fees, except that commercial users pay fees to use the code under commercial terms. Contribution Contributions to Qt are via a copyright and patent license to Nokia - previously contributions mandated copyright assignment. The process for approval of contributions and reviewing/committing contributions to the codeline is controlled by Qt personnel only. Part D: Summary Verdict Yes. Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI). It has many tools and intuitive APIs for C++ and CSS/JavaScript-like programming that are used for the development. Qt is free and open source software. Nokia opened the Qt source code to the community on Gitorious various ports. Nokia announced that it is going to drop Symbian technologies and base their future Smartphones on Microsoft platform so how this would affect is not clear. SWOT Strengths - Qt's ease of development, established development community. - Considerable number of developers with Qt experience. - Qt supports Hybrid Development Model - Remote compilation service - simple and standardized environment for building Qt apps and creating page: 191 of 229 Weaknesses - Few standardized APIs required like vehicle API - Projects contain hundreds of source files - Developers often don't know name/location of the file Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 192 of 229 Target Platforms, target Requirements and Platform IPRs installation packages for Symbian and Maemo devices. - Qt framework and class library - Reuse code - Build and run applications for multiple target platforms. - Qt library encompasses all functions needed to build robust high end applications. Opportunities - Nokia is increasing the opportunity and lowering barriers to entry by supporting individual developers, reducing investment costs and providing crossplatform app development for Symbian and Maemo devices with the Qt SDK 1.0. page: 192 of 229 Risks - Nokia announced that it is going to drop Symbian technologies and base their future Smartphones on Microsoft platform Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 193 of 229 Target Platforms, target Requirements and Platform IPRs Mozilla Firefox Introduction The term Mozilla refers to the Mozilla Application Suite which is a cross-platform integrated Internet suite initially developed by Netscape Communications Corporation. From 1998 to 2003 it was managed by the Mozilla Organization and then by the Mozilla Foundation. In the late 2004 Mozilla Foundation moved the effort on the development of Firefox (a web browser) and Thunderbird (an e-mail and news client) leaving the Mozilla Application Suite at the last official version 1.7.13, released as free and open source software under three licenses: MPL, GNU GPL or GNU LGPL. A community-driven Internet suite named SeaMonkey started on the base of the same source code. Referring to Webinos, the most important among Mozilla Foundation's products is Firefox: a free and open source web browser which uses the Gecko layout engine to display web pages. Also the source code of Mozilla Firefox as that of all other Mozilla Foundation's products is tri-licensed under the Mozilla Public License, GNU GPL or GNU LGPL. Firefox's current stable release is version 5.0 (June 21, 2011). Part A1: Technical Information (web rendering engines) Web components For what concerns HTML 4 rendering, the results of Acid3 test are good (>90/100) on Firefox from version 3.5. Mozilla doesn't support SVG fonts preferring the Web Open Font Format (WOFF). For this reason Firefox reaches a top score of 97/100 on this test (see here). Fennec, the mobile version of the browser gets results slightly worse than Firefox. From version 4, Firefox was based on the Gecko 2.0 engine, which added or improved support for HTML5, CSS3, WebM, and WebGL. It also included a new JavaScript engine (JägerMonkey) and better XPCOM APIs. Firefox for mobile versions use the same Gecko layout engine as their Firefox counterparts. References for HTML 5 tests: http://html5test.com/index.html http://www.browserscope.org/user/tests/table/agt1YS1wcm9maWxlcnINCxIEVGVzdBiBsqY GDA?v=3&layout=simple Other tests at http://www.browserscope.org/ Widget availability Mozilla makes its own cross-platform widgets for HTML forms, and does not use a 3rd-party cross platform toolkit, nor the native widgets that a platform provides. The widgets are drawn using GFX, Mozilla's abstraction of a drawing toolkit. They are styled with CSS, page: 193 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 194 of 229 Target Platforms, target Requirements and Platform IPRs including minor per-platform tweaks to allow them to look like the native platform's native widgets. This allows full CSS and DOM support of all HTML widgets across all platforms, without requiring each platform to separately support every part of CSS and DOM. There have been a number of requests for native widget support but at this time there are no plans to support a second widget set beyond the cross-platform widgets. In the future, widgets may be defined with XBL. Currently digital signature code is not available and there isn't an implementation of WARP. References: https://developer.mozilla.org/en/Mozilla_Embedding_FAQ/Embedding_Gecko#What_widge t_toolkit_does_Mozilla_use.3f Part A2: Technical Information (features) General features Portability Browsers compiled from Firefox source code may run on various operating systems; however, officially distributed binaries are meant for the following: Microsoft Windows (2000, XP, Server 2003, Vista or 7), Mac OS X 10.5, Mac OS X 10.6 and Linux (with the following libraries installed: GTK+ 2.10 or higher, GLib 2.12 or higher, Pango 1.14 or higher, X.Org 1.0 or higher (1.7 or higher is recommended), libstdc++ 4.3 or higher). The mobile version is compatible with Android 2.1 and above. Security - Firefox uses a sandbox security model, and uses the same origin policy to limit scripts from accessing data from other web sites (this policy could be overridden). It uses TLS 1.0 (aka SSL 3.1) or if the server is TLS intolerant SSL 3.0 to protect communications with web servers using strong cryptography when using the HTTPS protocol. It also provides support for web applications to use smartcards for authentication purposes. - The Mozilla Foundation offers a "bug bounty" to researchers who discover severe security holes in Firefox. Official guidelines for handling security vulnerabilities discourage early disclosure of vulnerabilities so as not to give potential attackers an advantage in creating exploits. Reliability Firefox gets a good ranking in "proper page loads" tests. Crash rates can be used as a measure of reliability. Firefox crashes are mainly due to external software (plugins), C++ implementation (C++ is prone to memory-related bugs), nasty low-level code in which errors are very difficult to reproduce. Technical criteria page: 194 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 195 of 229 Target Platforms, target Requirements and Platform IPRs Official recommended hardware requirements are a Pentium 4 or newer that supports SSE2 and 512 MB RAM for the Windows version or Macintosh computer with an Intel x86 processor and 512 MB RAM for Mac version. The mobile version requires a phone with an ARMv7 processor and approximately 17MB internal or SD storage. It runs best on devices with at least 512MB of RAM. Usability criteria Mozilla software uses Test Pilot, an open source user research program, to collect data on usability. See here for a usability study. Product Diversity Firefox supports add-ons which basically are of four types: extensions, plugins, themes and language packs. Extension and plugins can change effectively the browser behaviour: - Extensions add new functionality to Mozilla applications such as Firefox and Thunderbird. They can add anything from a toolbar button to a completely new feature. - Plugins are shared libraries that users can install to display content that the application itself can't display natively. Mozilla plugins are written using NPAPI, the cross-browser API for plugins. The main source of documentation for NPAPI is the Gecko Plugin API Reference. API codebase The Mozilla Public API consists of a collection of services and components which are accessed via XPCOM interfaces. Mozilla's XPCOM layer consists of a component model (called XPCOM) and the infrastructure necessary to support dynamic registration, instantiation and manipulation of XPCOM components. XPCOM has multiple language bindings, letting its components be used and implemented in JavaScript, Java, and Python in addition to C++. Interfaces in XPCOM are defined in a dialect of IDL called XPIDL. To minimize some of the XPCOM formality and simplify the development of extensions Firefox (from the version 3) includes the FUEL APIs (JavaScript library). For a list of API see Mozilla - API & Language References A complete list of public available API and services can be found here: http://wwwarchive.mozilla.org/projects/embedding/PublicAPIs.html. Part B: Commercial information Device coverage For a list of supported mobile devices see http://support.mozilla.com/en-US/kb/will-firefoxwork-my-mobile-device. Platform maturity page: 195 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 196 of 229 Target Platforms, target Requirements and Platform IPRs The project has a big and well organized developers community that works constantly on bugs discovering/correction. Market penetration/availability As of February 2011, Firefox is the second most widely used browser, with approximately 30% of worldwide usage share of web browsers. Market share overview could be found at StatCounter: http://gs.statcounter.com/#browser_version-ww-monthly-201105-201105-bar (May 2011) Availability Source code is available at: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/source/. At https://developer.mozilla.org/En/Developer_Guide/Source_Code there are the instructions to start working with Mozilla source code Feasibility Firefox source code is mainly written in C and C++. These programming languages have been chosen for Webinos implementation. Partner perspective Mozilla has developed a range of partnerships with individuals and organizations interested in creating and distributing customized versions of Mozilla's branded products. For further information see http://www.mozilla.org/en-US/about/partnerships.html. Risks Problems to keep the pace with the Mozilla’s new rapid release plan .Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSI-approved license? Are developer support mechanisms project mailing lists, forums, bugtracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? page: 196 of 229 4: Yes 3: Yes – approved license and weak copyleft. Firefox's source code is tri-licensed under the GNU GPL, GNU LGPL, or Mozilla Public License: recipients can choose which terms under which they want to use or distribute the software. 3: Yes – developer support mechanisms open to all developers 3: Yes – roadmap information available but no call for contributions or similar Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 197 of 229 Target Platforms, target Requirements and Platform IPRs Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decisionmaking in the project? 4: Yes Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 4: Yes – contributions and acceptance process are clear, with progress status of contributions provided 3: Yes – but you must manually find and collate the information from various project sources 3: Yes – the process is documented and accessible to all developers 2: Yes – but you must manually find and collate the information from various project sources 3. Project requires a copyright assignment and patent grant Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 2 – No you can freely distribute the code 3: Yes – restricted by approval Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 38 Part D: Summary Verdict Due its large diffusion, cross platform nature and effort to improve security and privacy protection support made by Mozilla, it's still worth considering Mozilla products as a primary target for Webinos web-runtime implementation. SWOT Swot analysis in relation to webinos: Strengths Firefox has many security and privacy feature. The last introduced is the Do Not page: 197 of 229 Weaknesses There are two main weakness points: the first is the lack of W3C widget support that Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 198 of 229 Target Platforms, target Requirements and Platform IPRs Track feature, developed by Mozilla as a response to FTC inquiries about consumers' privacy online. This feature that let users set privacy preferences is part of the conceptual components depicted in the 3.5 Deliverable (Privacy Policy Architecture section). Opportunities Due the large diffusion of Mozilla products the introduction of the support for Webinos widgets, which are "W3C enhanced widgets", the lack of a W3C widget support could be a big opportunity to disseminate the "Webinos concept" to developers and end users. References: increases the effort required to develop a Webinos runtime implementation and the second is the new rapid release process announced by Mozilla in April 2011 that makes complicated to keep pace for projects like Webinos. With the new plan Mozilla will release a new version of the browser every three months. Risks There are several ways to extend Firefox and its components, choosing the right one is very important due to the rapid release process started by Mozilla. Mozilla Certificate Manager: http://www.mozilla.org/projects/security/pki/psm/help_21/certs_help.html Privacy & Security Preferences - SSL: http://www.mozilla.org/projects/security/pki/psm/help_21/ssl_help.html Overcome security threats for Ajax applications: http://www.ibm.com/developerworks/library/x-ajaxsecurity/index.html Reliability Benchmarks - Proper Page Loads: http://www.tomshardware.com/reviews/webbrowser-performance-standard-html5,3013-13.html Limits of reliability: http://blog.mozilla.com/nnethercote/2011/02/09/limits-of-reliability/ Firefox usability study: http://mozillalinks.org/2007/02/firefox-usability-study/ Mozilla Test Pilot: https://testpilot.mozillalabs.com/faq.php External resources for plugin creation: https://developer.mozilla.org/en/Plugins/External_resources_for_plugin_creation Getting Started with Firefox Extensions: https://developer.mozilla.org/en/XUL_School/Getting_Started_with_Firefox_Extensions http://blog.mozilla.com/blog/2011/06/21/mozilla-delivers-new-version-of-firefox-first-webbrowser-to-support-do-not-track-on-multiple-platforms/ http://blog.mozilla.com/blog/2011/03/02/mozillas-comments-in-response-to-the-ftcsinquiry-on-privacy/ https://developer.mozilla.org/devnews/index.php/2011/04/07/new-development-channelsand-repositories-for-rapid-releases/ http://news.cnet.com/8301-30685_3-20074590-264/rapid-release-firefox-meets-corporatebacklash/ page: 198 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 199 of 229 Target Platforms, target Requirements and Platform IPRs http://blog.mozilla.com/standards/2010/04/30/mozilla-at-w3c-review-of-web-applicationswg-charter/ page: 199 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 200 of 229 Target Platforms, target Requirements and Platform IPRs Chromium Introduction The Chromium web browser is tightly interleaved with Google’s Chrome browser. The first version of the Chromium source code was released in September 2008; Chromium 1.0 was released later that year in December. Chromium is the open source project that results in releases of Google Chrome hence al Chromium releases are development releases. However other developers have released Chromium version using the source code of the project. The current release of Chromium is release 12, which is stable for all supported platforms. Part A1: Technical Information (web rendering engines) Web components Chromium uses the WebKit open-source rendering engine for the rendering of HTML. HTML 4 rendering code base, test results at http://en.wikipedia.org/wiki/Acid3, live test at http://acid3.acidtests.org/ (with chrome browser) HTML 5 rendering code base, test results at http://www.browserscope.org/, live test at http://html5test.com/results.html (with chrome browser) Since Chromium version 12, Google’s own V8 JavaScript engine is used: http://code.google.com/p/v8/. Widget availability As covered in WP2.3, Chrome family technologies, Google Chrome offers an application store where users can download web applications. For more information on this topic please read the “Security Framework” paragraph on the WP2.3 report. Part B: Commercial information The commercial information has already been outlined in WP2.3 under the “Chrome family of technologies” section. Part C: Licensing and Governance Access Is source code freely available to all developers, at the same time? Is source code available under a permissive OSIapproved license? Are developer support mechanisms - project mailing lists, forums, bug-tracking databases, developer documentation and tools - available to all developers? Is the project roadmap publicly available? page: 200 of 229 4. Yes 4. Yes, BSD 3. Yes – developer support mechanisms open to all developers 2. No – No formal roadmap exists, but there are visible committer or Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 201 of 229 Target Platforms, target Requirements and Platform IPRs contributor requests 3. Yes – there is some information but it is hard to find and doesn't appear comprehensive Transparency of decision mechanisms – Are project meeting minutes publicly available to understand decision-making in the project? Development Transparency of contributions and acceptance process – Is the code contribution and acceptance process clear, with progress updates of the contribution provided (via Bugzilla or similar)? Transparency of contributions to the project – can you identify from whom source code contributions are provided? Accessibility to become a committer – are the requirements/process to become a committer documented and is this an equitable process, i.e., can all developers potentially become committers? Transparency of committers – can you identify who committers to the open source project are? i.e., those developers that have the authority to 'commit' source code to the baseline Does the contribution license require a copyright assignment, or copyright license and/or patent license? 4. Yes – contributions and acceptance process are clear, with progress status of contributions provided 1. No 3. Yes – the process is documented and accessible to all developers 2. Yes – but you must manually find and collate the information from various project sources 3. Yes – project requires a copyright license and patent grant Derivatives Are trademarks used to control how and where the platform is used via enforcing a compliance process prior to distribution? Are go-to-market channels for applications derivatives constrained by the project in terms of approval, distribution or discovery? 2. No – You can freely distribute to the code and use the project trademark without completing formal compliance requirements 4. No Community Is the formal community structure flat or tall, i.e., tiered rights depending on membership status 1. Yes – there are tiered rights depending on membership status Summary Total Score 36 Additional comments Chromium uses 3rd party libraries that are distributed together with Chromium. These 3rd party libraries can have other licenses; the Open Source Initiative recognizes not all of them. A complete list of the 3rd party libraries with their respective licenses can be found on: http://code.google.com/chromium/terms.html. No information is available at the governance of the Chromium project. It is to be expected that employees of Google do the steering of the project. Only little information is available on the Chromium roadmap. Detailed information can be found in the bug-tracking tool at http://code.google.com/p/chromium/issues/list. page: 201 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 202 of 229 Target Platforms, target Requirements and Platform IPRs New features can be requested through this tool or in the discussion groups. It is unclear how is decided what features requests will make it into the next version although developers can choose independently to implement features if they like. For an outsider, it is not clear what the decision-making processes are. Only outdated meeting notes are available on the developer website. Maybe following the developer newsgroups for some time would give a better understanding of these processes. Google trademarks Chromium. There are some formal, generic, guidelines on which 3rd parties need to comply if they want to use Chromium brand features. None of them are technical requirements. Also see: http://www.google.com/permissions/guidelines.html. To publish apps via the Chrome web shop developers have to pay a developer registration fee of $5,00 which is needed to verify the account. A developer may use Chrome Web Store Payments but this is not mandatory. For the use the Chrome Web Store Payments Google charges a fee of 5% and a small fixed fee per transaction. The minimum price a developer can charge for an application is €1,49. If the developer does not use the Chrome Web Store Payments, or offers the app for free, Google does not charge a fee. The full details of the Web Store Development Agreement can be read on the website: https://chrome.google.com/webstore/intl/en/dev_tos_text.html. For Chromium it is possible for non-Google personnel to become committer. Everyone is invited to make contributions to Chromium. The processes for contributing are well documented. Someone can become a source code committer after contributing between 10 or 20 non-trivial patches and when being supported by 3 other committers. It is not clear who the committers are and for what organizations they are working. All committers get an @chromium.org account that they use for their chromium related tasks. It is not clear how many non-Google employees or how many code changes that are shared by non-Google developers will actually make it into the project. See also: http://www.chromium.org/getting-involved/become-a-committer Part D: Summary Verdict Chromium targets PC platforms only, which make the platform suitable only for PC type Webinos clients. Other platforms like mobile, tabs, cars and television are not supported by Chromium. The Chromium project is an active and well documented project that creates a modern, state-of-the-art browser for PC platforms. The development is primarily driven by Google's effort and it is unclear in what way other organizations are involved. page: 202 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 203 of 229 Target Platforms, target Requirements and Platform IPRs The possibility of making extensions that can be called from within HTML pages, via so-called content scripts, make Chromium interesting as a base platform to built Webinos upon but further investigation of the possibilities is needed: http://code.google.com/chrome/extensions/content_scripts.html It remains unclear how the Chromium community structure works and if the project is open to work together with other projects like Webinos. SWOT Chromium's Strengths are that it is an active project, that it performs well in compliance tests, and that is is well documented. Webinos Opportunity is in extending a good browser with innovative webinos features which would make a great combination. page: 203 of 229 Chromium's Weaknesses are that the development process is opaque and that it is owned by a single company (Google). The main Threat is that Google can unilaterally change the rules rendering webinos activity useless. Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 204 of 229 Target Platforms, target Requirements and Platform IPRs Chapter 3 - Shortlisting and Recommendations for platforms¶ Objective Webinos will exist as a web-based application platform. A web based application, like a web browser, to which it is related, must sit on top of a native operating system (the host operating system). This means to achieve the cross platform vision, the core runtime needs to be re-implemented on several distinct host operating systems. Webinos has limited resources, and the number of operating systems in the market, across the four screens in consideration, is quite significant. Therefore, careful prioritization needs to be made on where the webinos community collectively invests its initial development efforts. This prioritization needs to be made on technical, commercial and partner sentiment criteria. We have used the following criteria to evaluate the suitability of the platforms for prioritized webinos development: Device penetration numbers: If the full webinos software stack was available tomorrow, how many devices could run webinos, on this particular platform? Strategic view on platform future: What is the strategic view of the future of the platform? How will the level of market penetration grow (or shrink)? Cross vertical porting: Is this platform strong in on more than one vertical (PC, mobile, tablet, car, TV)? Freedom to implement: Does the platform present any restrictions on implementing the full webinos stack? Probability (and need) of core platform absorption: Is there any possibility of getting webinos features absorbed into the core platform? Consortium member sentiment: What are the perception, interest and skills of the immediate industrial partners working on this? Technical effort, capabilities and dependencies: How much effort will it be to implement on any particular platform?, Does the platform support all the functions required by webinos? And These considerations need reconciling with the architecture, which is addressed in the section below. Platform Prioritization In the preceding sections, a thorough analysis has been made of each of the operating systems on a device by device type basis. In order to establish the priority subset of platforms for further evaluation within webinos, we started by discounting those platforms that do not warrant consideration on commercial grounds, and those that can be discounted because there are barriers to commercial adoption that discourages a large investment in porting at this stage. Discounted Platforms When it comes to considering concrete implementations, the evaluation undertaken clearly allows us to discount certain platforms (at least for initial consideration). page: 204 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 205 of 229 Target Platforms, target Requirements and Platform IPRs Windows Phone 7 Windows Phone 7 is problematic for the following reasons: Device penetration Unproven in market at present Strategic view High dependency on the success of the Nokia-Microsoft relationship, which needs a rapid ramp up of phone models and volumes and the acceptance of these phones in the market. Cross Device Port Windows Phone 7 is significantly different from Windows 7, that said it comes from the same technology base (Silverlight), therefore porting across is possible but will require some effort Freedom to implement Windows Phone 7 is considerably more locked down than previous versions of the operating system Core platform absorption It is almost impossible for 3rd parties, more so Open Source organisations to influence the core code base of the Operating System platform Partner sentiment No webinos consortium partner listed Windows Phone 7 as a high priority consideration Technical effort The technical limitations and constrained APIs will present a considerable barrier to implementing a webinos runtime on top of Windows Phone 7 Windows Phone 7 is not a priority port for webinos. It may be considered further down the line when we complete the Windows 7 desktop port. iOS (iPhone) iOS is problematic for the following reasons: Device penetration Within the Smartphone market iPhone it is very strong coming second only to Android in terms of absolute Smartphone device sales Strategic view Apple's strong position with the phone market and consumer electronics generally, is unlikely to weaken over the next few years. Cross Device Port iOS works across mobile and tablet domains. Apple has products in both the TV and desktop space. The technology (iOS vs. OSX) is not identical and requires porting, but we can expect this to get better over time. Freedom to implement This is the Achilles heel for iOS platforms. Apple explicitly prohibits runtimes and virtual machines from the iOS platform. It also prohibits distribution of apps via non iTunes distribution mechanisms. In practice this means that although it technically possible to create a rich webinos runtime environment on iOS, it will be impossible to distribute it. It is almost impossible for 3rd parties, more so Open Source organisations to influence the core code base of the iOS Operating System. The only Core platform conceivable strategy is to get the webinos components included into the absorption WebKit code base. However, this would take considerable time and is by no means guaranteed page: 205 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 206 of 229 Target Platforms, target Requirements and Platform IPRs Partner sentiment No webinos consortium partner listed iOS as a high priority consideration. This is primarily due to the commercial realisation that distribution will be impossible Technical effort There are no significant technical impediments to creating a webinos runtime on iOS, but due to the commercial constraints, this platform would only run on the Jail broken iPhone. iOS is not a high priority for webinos porting. We recommend a number of combined strategies to be pursued over the lifetime of the webinos project to attempt to embrace the Apple technologies within the webinos platform. These are: We focus on other platforms, and lobby for inclusion of webinos components in the WebKit components on which the iPhone browser is based. We fully collaborate with W3C aiming to get webinos technologies embraced as a recognised standard. We focus on building the developer and consumer base to create pressure for webinos inclusion. We examine how we could reuse webinos technologies within the PhoneGap framework. This allows applications to be created on point basis (no generic runtime) but will provide a webinos developer a route to market, if they have developed a webinos application. To investigate implementing a PZP and API host on iPhone. This would allow it to host webinos services, and therefore allow individual applications on iOS to interoperate within the webinos ecosystem. But would not allow it to run a full webinos application, through a generic webinos runtime. Samsung Bada Samsung Bada is problematic for the following reasons: Device penetration Making good progress in the market Strategic view Bada's strategic weakness is that it "belongs" to only a single player in the market- i.e. Samsung. Its strategic strength is unlike all other platforms considered, this is not a high end smart device, but a mass market device Cross Device Port There is no evidence currently that Bada will run on non phone devices Freedom to implement There is no evidence that Samsung is creating commercial controls on the types of applications that can be accepted on a Bada device Core platform absorption It is unlikely to be able to influence the Samsung proprietary OS Partner sentiment No strong support has been expressed for Bada at this time Technical effort It should be possible to create a rich webinos runtime with many of the APIs present on a Bada device page: 206 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 207 of 229 Target Platforms, target Requirements and Platform IPRs Bada is a promising platform; however, the current decision is not to prioritise it as a "collective use" of EU funded development, for the simple reason that it is partisan to a single consortium member only. External parties and internal parties will be encouraged to do a Bada port. However, this will not come from the EU investment, but will be part of the open source webinos foundation activity. BlackBerry BlackBerry is problematic for the following reasons: Device penetration Blackberry is positioned very strongly in the Smartphone market Blackberry is likely to remain strong in the mobile market. Some strategic concerns however must be raised over its developer ecosystem. RIM historically was a strong advocate of the J2ME development environment. Strategic view This is a strategic risk as J2ME is rapidly declining in both developer and end user sentiment. There are also question marks raised by RIMs support of Dalvik on its new Playbook (based on the QNX operating system), apparently at the expense of J2ME support. Cross Device Port Clearly RIM is embracing a cross device strategy in part, with its release of both phone and tablet devices. However, the lack of a rich development environment that spans these two is a problem for developers. Freedom to implement Currently there is no evidence that RIM is constraining developers for overtly commercial reasons. Core platform It is unlikely to be able to influence RIM's proprietary OS. absorption Partner sentiment No strong support has been expressed from the consortium members for Blackberry support. Technical effort Technically it is NOT possible to implement the required web-runtime hooks through the phone's J2ME interface. Furthermore the virtual machine sandboxing between the Dalvik runtime and the lack of NDK support on the playbook mean that a runtime cannot be implemented on a RIM playbook either Blackberry will not be one of the prioritised webinos platform ports. When Dalvik is released for commercially available Blackberry devices we may evaluate the possibility of porting our Android implementation to these devices. There are rumours of a C++ interface being exposed to developers for the QNX platform. It will be worth re-evaluating the landscape again at this time Home Media Platforms The following platforms have been discounted because either they technically do not possess the necessary flexibility to write a web runtime, PZP or the full API suite or because the current ecosystem is too closed for the webinos development community we wish to attract page: 207 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 208 of 229 Target Platforms, target Requirements and Platform IPRs Mediaroom: limited capability and closed ecosystem NetTV: although open source code base, closed ecosystem CE-HTML: is a standard rather than a platform therefore does not provide market opportunity. Samsung TV: only offers a web based development environment. This is not sufficiently powerful to implement a full WRT. HBBTV: is not sufficiently flexible. AppleTV: is a closed ecosystem. Automotive platforms The following platforms have been discounted because either they technically do not possess the necessary flexibility to write a web runtime, PZP or the full API suite. Or because the current ecosystem is too closed for the webinos development community we wish to attract. Microsoft Windows Embedded Automotive: is a powerful platform, however, there is limited roadmap information available at present. It makes sense to wait until windows 7 mobile proves itself, and to see whether there is any alignment with the embedded strategies before we commit QNX: is a proprietary platform. It will be almost impossible to get access to the required functions capability, from the context of an open source project Proposed Platforms By a process of elimination, the platforms that need to be assessed in greater details, in no particular order are. Windows 7 Desktop Mac (desktop) Android Linux (Debian) distribution MeeGo Each of these platforms will be compared against the evaluation criteria described above. Device Penetration Note these high, medium, low and none figures below are given as relative measures for the current size of the market, and are qualitative indications only. Our conclusion is that Windows 7 is the widest penetrated platform in the PC space, while Android is the widest penetrated platform in the mobile space. Other than that, all other platforms are partially available across the 5 screens that we consider in the table below. page: 208 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 209 of 229 Target Platforms, target Requirements and Platform IPRs PC Tablet Mobile Automotive TV Windows 7 high low low low low Mac medium none none none low Android low medium high low low Linux low low low low low MeeGo none none low none none Quantitative estimates of market figures have been be gleaned from the following source materials - Windows PC: 350M licenses sold in the last 18 months (http://www.microsoftwatch.com/content/windows_7/windows_7_sales_scrub_vista_curse.html) - Windows tablet: Windows has less than 5% of tablet sales in Q2 2011 (http://www.androidtablets.net/forum/android-tablet-news/19352-android-tablets-chew30-out-ipads-marketshare.html) - Windows Mobile: estimated 5M handsets sold up to end Q2 2011 (http://wmpoweruser.com/canalys-only-1-5-million-windows-phones-shipped-in-q2-2011/) - Windows automotive: based on industry discussions - Windows TV: based on industry discussions - Apple PC: 3.76 Million Macs sold in Q2 2011 (http://www.yourdailymac.net/2011/04/apple-q2-sales-18-65-million-iphone-4-69-millionipads-3-76-million-macs/) - Apple tablet: the iPad has consistently over 50% market share and predicted to continue so for 2011 (http://www.ipadforums.net/apple-ipad-news/40786-ipad-marketshare-continuesimpress.html) - Apple mobile: Apple has around 25% share of the Smartphone market (http://www.linuxfordevices.com/c/a/News/ABI-Research-Q2-2011-smartphone-study-plusHTC-Sensation-teardown/) - Apple: automotive: based on industry discussions - Apple: TV: based on industry discussions - Android PC: initial entry into PC space did not meet with success - Android tablet: Android has 30% market share of tablets in Q2 2011 (http://www.androidtablets.net/forum/android-tablet-news/19352-android-tablets-chew30-out-ipads-marketshare.html) - Android mobile: Android has over 45% of Smartphone market share (http://www.linuxfordevices.com/c/a/News/ABI-Research-Q2-2011-smartphone-study-plusHTC-Sensation-teardown) - Android automotive: based on industry discussions - Android TV: based on industry discussions - Linux PC: Linux has very low penetration among connect PC users (2%) (http://en.wikipedia.org/wiki/Usage_share_of_operating_systems) - Linux tablet, mobile, automotive, PC: based on industry discussions - MeeGo: only 1 mobile device announced, scheduled for Q4 2011. MeeGo can be ported on the N900 which is where the "low" figure on mobile comes from Strategic view on platform future page: 209 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 210 of 229 Target Platforms, target Requirements and Platform IPRs Windows 7 Windows has been the dominant operation system for 20+ years. Even on the most pessimistic trajectory, Windows will be a significant player for many years. Investment in a Win7 webinos stack is well justified Mac Mac has been going from strength to strength. Not only in PC and laptop penetration, but its derivative mobile and TV instance needs to be monitored carefully Android Android on phones has been going through phenomenal growth over the past year. Tablets TV, PCs and In-car variants are strongly rumoured Linux Linux has still not broken through into the consumer market, being largely the preserve of server and techno-uber geeks. However, the consumer centric offerings are improving considerably, and the no PC ecosystems are crying out for a strong competitor to Android and iOS MeeGo MeeGo can be characterised as a Mobile pruned Linux distribution. The recent Nokia announcements have been unfortunate and have weakened its position considerably. And it has yet to prove itself as a consumer platform with traction. There are strong (but non-provable) rumours that there will be some significant industry movement on these platforms in the next few months Our conclusion is that, besides MeeGo whose future is uncertain, all other platforms have an expected longevity that makes them suitable for use in the webinos implementation. Cross vertical porting All of these platforms give a strong cross device coverage, which can be summarised in the table below: PC Windows 7 yes Mac yes Android emerging Linux yes MeeGo yes Tablet yes variant yes variant yes Mobile portable variant yes variant yes Automotive portable no yes variant yes TV yes no variant variant yes Reviewing the platform coverage of each in detail: Windows 7: Windows 7 is strongly positioned for PC, Tablet and TV (using is Windows Media Centre product). The current mobile proposition, Windows Mobile 7 has been discounted as a priority in the analysis above. However, despite the significant technical differences between desktop and mobile, we can be encouraged by the fact that it comes from the same family of technologies and therefore porting should be possible either at a later date, or by a new consortium partner. A similar argument can be extended to the Windows Embedded. The Windows automotive embedded platform has been de-prioritised as above, but if we develop core desktop assets, motivated parties will be able to reuse and re purpose these assets for this platform at a later date. Mac: Mac as webinos platform, is deemed very important, primarily because it is the development environment of choice for web developers. As a PC platform, it is therefore page: 210 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 211 of 229 Target Platforms, target Requirements and Platform IPRs essential. As described above the mobile iOS platforms and AppleTV are not priority port considerations, due to commercial limitations on distributions. But the fact that these technologies come from the same technology base (as above) means that if PC Mac is in scope, the effort and cost of porting the Apple flavours or mobile, tablet and TV technologies should be significantly reduced. Android: is deemed mandatory for its mobile and tablet impact. Although not significantly impacting the market yet, we can presume that TV and in car implementations will make rapid inroads into the market. Linux: Linux distributions come in many flavours, tweaked to different device types and indeed vertical applications. Developed binaries are not always portable between different Linux distributions, however, proficient Linux developers should be able to port between them relatively easily. Linux, whilst not particularly impressive in terms of absolute numbers in any one of the categories, has a strong technical presence in each of the device types in which we are interested. MeeGo: MeeGo claims to have a discrete (but highly portable) distribution for each of the device types that we have in scope. Current sentiment is that not all of these platform distributions are product ready Freedom to implement Windows 7: unlike Windows mobile 7, even though it is closed source, it is technically highly extensible, with very few ecosystem controls built into the OS. Mac: similar to Windows, in sharp contrast to the mobile variant (iOS) the Mac is open for the technical extensions, and there are no overt Apple control points. Android: of all the above, Android is the most tightly controlled. The marketplace constraints and the exposed APIs can be limiting. Linux: Totally open platform with no ecosystem controls. Technically fully extensible with open source code accessible. MeeGo: based largely on Linux code base, therefore flexible. The MeeGo security scheme implies that ecosystem controls could be introduced, but this is assessed on a device by device basis and does not reflect on the platform itself. Our conclusion is that most platforms are open with the exception of Android where there are tight marketplace constraints and technical API limitations in place. Probability (and need) of core platform absorption Windows, Mac and Android, being all controlled by singular commercial actors in the market, are very difficult to influence. For a third party to get core code changes accepted into the stack is almost impossible MeeGo and Linux by contrast as genuine open source initiatives, are in principle open to 3rd party contributions. Indeed their long term survival, to some extent, depends on it. page: 211 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 212 of 229 Target Platforms, target Requirements and Platform IPRs The good news is, as shall be discussed in greater depth in the technical section, the current proposed architecture, does not assume that significant core platform changes are required on the host operating system to port webinos Consortium member sentiment In order to provide a more pragmatic view but also in order to capture the real market sentiment webinos has performed an independent survey across the industry (Operators and Manufacturers) partners. Detailed results of this survey can be found in Section 4: Industry partners viewpoint. Here follows an overview of the captured answers to provide a better context within the discussion and justification of the chosen shortlisted platforms. Partner/Domain PC Mobile Samsung Android Telecom Italia (minimum) Windows & Linux - Telefónica - DT BMW SEMC Windows - Android or native Linux Android or native Linux Android Android Home media Linux based - Automotive - - - MeeGo IVI - - Technical effort, capabilities and dependencies: In order to assess the technical effort to port the webinos framework to the host operating system, we need to first consider the technical architecture. Based upon the architectural work from WP-3 a set of proposals for implementation technology has been superimposed onto the implementation architecture This information is to be found in the appendix of this document. page: 212 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 213 of 229 Target Platforms, target Requirements and Platform IPRs Chapter 4 Device-side Implementation Architecture This section outlines a proposed architecture for a concrete implementation of the webinos components that need to be installed on device. Introduction This is a very brief introduction to the architecture for the initial webinos platform. Implementation:- The Personal Zone is implemented as a server on every webinos device (aka personal zone proxy or PZP) together with a cloud based server acting as the Personal Zone Hub or PZH. The servers are implemented with node.js which allows for programming in JavaScript and comes with a rich set of libraries and a supportive community. The PZP establishes a secure connection with the PZH via JSON RPC over TLS using public key certificates to authenticate each party. This assumes a separate mechanism for registering a device with the PZH that creates and exchanges the certificates. A web page (either a hosted application or a locally installed one) loads a webinos.js script that creates and adds a webinos object to the page's window object. The webinos object hosts the webinos interfaces as defined by work package 3 and serializes them via JSON RPC over the websockets protocol to the corresponding handlers on the PZP. The webinos.js script is responsible for sanity checks on method arguments. If the method invocation fails these tests, an error is returned, or an exception is raised as defined by the WP3 API specifications. The script uses the JSON RPC message id to match asynchronous responses from the PZP to the call back mechanism defined in the WP3 API specifications. In future we could make use of a browser extension to inject webinos.js into every web page via a handler for the page's load event. The handler would add a script element into the page's DOM. A browser extension will also allow us to extend the browser chrome, e.g. to add the UI for selecting a persona for use with a website. We could also consider optimizing the communication path between the script and the PZP should that prove to be a bottleneck. In the short term at least, the websocket API provides an efficient mean to pass asynchronous messages over a persistent connection. A JavaScript library is available from Dave Raggett to transparently add the websockets API for browsers without native support. This isn't needed for the chromium browser, but would be useful for demonstrating webinos with other browsers, e.g. Opera. As a starting point we plan to create a proof of concept implementation for a single webinos API as way to learn how to map the WebIDL definitions into working code. The aim is to decouple work on the message transfer for the APIs from the implementation of the APIs as node.js script modules. In some cases, we expect to write native code extensions for node.js e.g. to access existing native libraries such as avahi for mDNS and bluez for bluetooth-based services. The initial proof of concept implementation will require strong JavaScript skills together with the ability to exploit and extend the node.js libraries. page: 213 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 214 of 229 Target Platforms, target Requirements and Platform IPRs WRT Key functions: Executes all UI for webinos application Executes most JavaScript code for webinos application Should be able to handle both packaged widgets, and hosted applications Injects webinos root object into JavaScript execution context, so calls can be made Intercepts critical security events for mediation by the security manager Implement and webinos specific chrome (UI) functions we believe are necessary Design criteria We should make the WRT component as light as possible to give us maximum compatibility with many different browser vendors Proposed Implementation A WebKit codebase is preferred with implementations on several platforms Either QT or Chromium are suggested for PC, as they have Windows, Mac and Linux variants. The Linux variant should be well suited to both STB and in car devices with minimal porting V8 is the preferred JavaScript engine, being pre-integrated to Chromium and an option for QT page: 214 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 215 of 229 Target Platforms, target Requirements and Platform IPRs Android is more difficult. Android will require a different WRT strategy using the inbuilt webview component and NPAPI and JNIRegisterNativeMethod for plugins Binding to the PZP should be done if possible through standard plugin architectures. Worst case is we have to hack into the JavaScript engine directly. PZP The PZP manages the connection to the PZH The PZP acts in place of the PZP when the PZH is not visible The PZP hosts all of the capability listed below. Design criteria We should try to make this component as "portable" as possible across operating systems Proposed Implementation The PZP shall be implemented as one or more node.js applications. The PZH should also be implemented as a node.js application. - Note Android devices will have to be rooted. This is fine for early implementations. When proven - we shall port core functions to dalvik - or C through the NDK Subcomponent: Session Manager The Session manager shall create TLS sessions between PZP and PZH using the pre-shared certificates. We will use the standard node.js libraries to establish TLS sessions and get access to certificate stores. Subcomponent: Messaging Manager The Session manager must be able to receive messages: process incoming messages route messages: which implies that it keeps a register of the active sessions and last know physical address or each person, device, service. process messages: pass messages directly locally registed services for action The messagsing processing and routing code shall be written in Javascript, and hosted by node.js Subcomponent: Widget Manager The Widget manager must be able to page: 215 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 216 of 229 Target Platforms, target Requirements and Platform IPRs securely store a wgt file process a wgt file accordign to W3C + webinos rules and validate certificates process feature elements and warp elements - passing infromation to WRT and the policy manager as required process "service" elemental on the manifest recieve messages bound for this application, passing to the service element as required deal with the nested widget concepts The core manager should be wrapped in node.js functions. However, we may decide to reuse exising C code - and integrate via node.js native extensions Subcomponent: Context Manager The Context manager must be able to receive context events from other parts of the architecture securely store all context events and data full fill context query requests, using either PZP or PZP stores guarantee no unauthorised access is allowed to the context inerface The Context Manager should be implemented in Javascript using node.js and make use of secure or encrypted storage Subcomponent: Sync Manager The Sync manager must be able to resynchronise JSON data between the PZP and PZH The sync manager should be written in JavaScript on node.js Early implementations may make use of 3rd part sync libraries Subcomponent: Local Discovery Manager The Local discovery manager must promiscuously explore local data connections for webinos recognisable devices deal with bearer level connectivity to these devices so that the messaging manager can route over the host device drivers where necessary The local discovery manager will interface directly to low level OS specific APIs and be low on portability. Subcomponent: Policy Manager The Policy manager must provide a mediation interface, so that all components may defer decision to the access logic interpret the set of policy rules active on the PZP implement real-time PEP logic and enforce the constraints page: 216 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 217 of 229 Target Platforms, target Requirements and Platform IPRs The policy manger must present a JavaScript interface that can be used by the node.js logic The implementation of PEP enforcement and logic can be in either C or JavaScript Subcomponent: API Discovery Manager The API manager must host all available APIs that can be accessed either locally (WRT) or remotely (other PZPs) must efficiently process the local API and return results must be able to process JSON RPC commands coming from the messaging manager and route them the correct API must be able to process JavaScript commands issues locally, mapping them to the correct API Most API will be implemented as native C/C++ code on the specific platform (be non portable) (We may add other implementation later – e.g. Perl, Ruby etc) C API headers should use the V8 conventions for JavaScript types and map these to native C data types. The V8 mappings should map directly via the NPAPI bridge The JSON RPC message handler should also have a deterministic mapping to the V8 typed C APIs APIs Module Notes Components Identified Attestation Porting Effort High Security sensitive TCG/TPM components, ARM trust centre, Use existing code like TrouSerS JTSS Authentication Context Low Low Events Low AppLauncher Messaging High Med Use standard libs Abstracted interface pure logic code Abstracted interface pure logic code needs integrating per OS Must hook onto default PIM - App specific Nfc Payment High Low Sensors Discovery Med Low page: 217 of 229 Generally goes straight to web service Abstracted interface pure logic code Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 218 of 229 Target Platforms, target Requirements and Platform IPRs Tv High Userprofile Low Vehicle High Webinos core Widget Low Low W3C calendar Low W3C contacts Low WAC devicestatus High Devicestatus vocabulary WAC Deviceinteraction W3C DeviceOrientation W3C File W3C File API: Writer W3C File API: Directories and System W3C Gallery High W3C Geolocation W3C Media Capture Med High page: 218 of 229 Platform and media dependent Abstracted interface pure logic code Abstracted interface pure logic code Med Abstracted interface pure logic code PIM dependent - simple mapping PIM dependent - simple mapping lots of very device specific functions lots of very device specific functions hooks to UI Low simple api Low Low Low use standard C libs use standard C libs use standard C libs Med "Need 3rd party lib for media metadata, or use native functions" Not complicated Always hard Chrome /QT C file.h C file.h C file.h Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 219 of 229 Target Platforms, target Requirements and Platform IPRs Chapter 5 - Recommendations for licensing and IPR Introduction A governance model is the method by which decisions are made and implemented in the webinos open source project. We advocate an open and transparent governance model for webinos which also compliments the use of an open source license(s) for the open source webinos project. Our research indicates that those projects that have lasted the test of time are, in the main, managed as meritocracies i.e. effort and contributions to the project are rewarded with responsibility and authority in the project. Ideally webinos will have low barriers to entry for small companies and individuals such that they can easily use webinos code to create applications. This openness needs to be balanced with the need to discourage single-company dominance of the platform as this can lead to other parties becoming frustrated and ultimately leaving the project. Additionally we need to find ways to discourage free-riders such that companies not only consume the outputs of webinos but actually contribute to the project either in terms of time or money. And as we have identified in our research, the project itself should be as meritocratic as possible such that the best ideas win, not those nominated from organisations with the deepest pockets. We acknowledge that the best way to achieve this will be to ensure that webinos is the best available solution in the market which meets the needs (scratches the itches) of as many corporations and developers as possible in order to facilitate early, broad and deep adoption of webinos by the all relevant industries e.g. mobile, home media and automotive. Therefore providing an early, complete and featurerich webinos solution must be a priority of the project. In summary the ideal solution to achieve strong participation and support for webinos is a set of incentives and disincentives, largely embodied via:• governance model: who decides what for the project • licensing model: who can do what with the source code • trademarks and marketing: who can do what with the commercialisation of the webinos trade-marked source code and platform However we appreciate that there are a number of real-world constraints that must be taken into consideration, one of the most important of which is the long-term resourcing model for webinos. Presently webinos is part-funded by the EU, and there needs to be a sustainable model identified to support the webinos OSS project after the EU funding has completed. As we see from our research for WP2.3 all successful open source projects derive income and funding from one or more corporate entities either formally via revenue streams (Mozilla), membership fees (Eclipse) or informally via developer resources and corporate sponsorship (Apple/Google for WebKit, Google for Android, Nokia for Qt). Therefore an page: 219 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 220 of 229 Target Platforms, target Requirements and Platform IPRs important question for webinos is – what resourcing will be required for webinos as an open source project, and how will this resourcing need be met. Secondly there are the real-world constraints of using existing OSS projects and their respective license regimes that need to be identified for webinos. In our research to date we have identified the following platforms which may be used to support the webinos platform:Platform/domain Web Runtime QT Mozilla PC Domain Windows 7 Linux/variants Mobile Tablets Android Linux (raw) Home Media MythTV MeeGo Automotive MeeGo IVI (Genivi) Android (AutoLinQ) Notes License Type Primary Primary GPL/LGPL/Commercial MPL/GPL/LGPL (Tri-License) Primary Proprietary Secondary GPL Primary Apache + various other Licenses inc GPL/LGPL Secondary GPL Secondary GPL and some LGPL Primary GPL and LGPL Primary GPL and LGPL Secondary Apache + various other Licenses inc GPL/LGPL Note that not all OSS licenses are compatible with each other and there are formal compliance requirements that must be met for all OSS licenses; which will also be a requirement for webinos. Therefore we need to analyse the implications of using these OSS on the licensing (and governance) regime chosen by webinos, once the architecture of webinos has been determined and we know which other OSS’s will comprise webinos. As importantly we will be targeting various Application platforms, cloud and device frameworks, upon which webinos will be run and the licensing regime used by each of these platforms will also need to consider to achieve as strong a License compatibility regime as possible. The webinos license strategy should support the successful proliferation of webinos across all industries and domains . In summary webinos will ‘inherit’ a number of different open source licenses by virtue of the code that it uses from other projects. Additionally webinos will ‘create’ new source code which it can choose to license under any OSS license that it so chooses. However careful consideration will need to be given to the compatibility of the various licenses chosen. Additionally we need to consider the stakeholder and ecosystem requirements of webinos. Webinos will need a broad and deep engagement with as many Industry players as is possible to achieve its vision of ‘a single service for every device’ across multiple domains. This requires webinos to create and nurture an easily accessible, useful and valuable ecosystem. Currently this comprises of:• Core members i.e. the webinos Consortium page: 220 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 221 of 229 Target Platforms, target Requirements and Platform IPRs • Affiliate members i.e. those organisations that wish to contribute to and/or use webinos the platform to create applications thereon • Invited experts i.e. notable Industry experts who can provide advice and guidance to webinos • Developers i.e. all other parties who wish to be involved with webinos, most obviously Applications developers Finally we need to consider the go-to-market model for webinos. Ultimately the purpose of webinos is to allow developers to create an Application one-time-only that will then run in multiple contexts using webinos as the platform for that Application. To deter fragmentation and accrue value in the webinos platform, it is important that the webinos platform is implemented consistently and properly by and for users. To achieve this, we expect that there will need to be some type of compliance framework for webinos, the passing of which will provide the user with the ability to use the webinos Trademark and associated webinos marketing documentation etc. This strategy is widely deployed for compliance and marketing purposes by many mobile OS platforms. Additionally there are a number of other features which could be deployed by webinos in order to accrue revenues for the purposes of supporting the resourcing requirements, such as Apps registration fees etc. This topic needs further discussion via WP8, Standardization and Exploitation. The next sections of this report detail further resourcing models, governance, licensing, ecosystem and go-to-market needs for webinos. Resourcing scenarios for webinos It is intended that webinos will be a not-for-profit foundation. However webinos still requires funds and/or resources in order to operate. The purpose of this section is to identify the likely resourcing requirements and then identify how these resourcing needs can be met using different funding mechanisms. In order to get a very rough estimate of the magnitude of the resourcing need and to quantify this in actual Euro values, we will presume a low/medium/high resourcing as per the following. Note that this is not based on ANY specific discussions or requirements with other consortium partners, nor does it reflect a proper estimating process, rather it is a very general ballpark figure. The actual requirements will become clearer once the actual platform system, components, architecture, complexity and target platforms are more understood – all of which are various tasks currently being researched by the webinos consortium. For example, we presume that developers will be required in order to continually develop/maintain the code. Developers will be required to commit to the code the baseline and to resolve defects and bugs and other maintenance issues. Additionally we presume that there will need to be some level of integration work carried out, along with liaison with the other OSSs from which webinos is comprised. There will also need to be some compliance resourcing, to ensure that webinos is compliant in its use of other OSS and their license requirements, as well as to manage the compliance framework for webinos itself. We page: 221 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 222 of 229 Target Platforms, target Requirements and Platform IPRs also presume also that there will be some sort of Applications approval framework or compatibility kit that will also need to be managed. Finally we expect there to be some marketing and trademarks costs that will need to be managed. Regarding one-off costs, there will be the actual costs of creating and providing tools for the management of webinos, as well as various repository costs for the management of webinos as a distribution and defects management systems. Hence we arrive at a low/medium/high resourcing requirement as per the below: - (note that this is very approximate number/costs purely for discussion purposes, it has not been agreed or discussed with any consortium members). Cost 15 staff (12 eng, 3 admin/mktg/compliance) 25 staff (20 engs, 5 admin/mktg/compliance) 40 staff(35 engs, 5 admin/mktg/compliance) Cost per head 70k Euro One off costs Total 1,050,000. Euros 1,750,000. Euros 2,800.000 Euros 100k Euro 150k Euro 200k Euro 1,150,000 Euros 1,900,000 Euros 3,000,000 Euros Resourcing can be met either via 1. Direct income via membership fees, to be charged to all members of the webinos consortium (including Affiliates) 2. Formal commitment from members to provide engineering resources to webinos (similar to sponsorship) 3. Commercialisation fees for trademark usage, applications certifications etc 4. Mixture of the above Further discussions are required with the various consortium members to decide how this future resourcing requirement will be met as it is unlikely to be determined at this early point in the process, but it is important that due consideration is provided to this topic over the next 12 months. However we reiterate again that even when the resourcing requirements of webinos are met, and when webinos provides what we describe as ‘minimum requirements’ of any successful OSS i.e. excellent developer tools, a complete solution, use of an open source license, simple contributions process, meritocratic governance process etc ; we cannot guarantee the success of the project without also ‘scratching the itch’ of organisations and developers and so identifying and communicating to the industry ‘what’ itches the project might/can scratch for developers is a very important part of this process. Proposed governance model for webinos open source project page: 222 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 223 of 229 Target Platforms, target Requirements and Platform IPRs The purpose of the webinos Governance Model is to outline how the project will be managed in terms of decisions regarding acceptance and management of source code (access and development) including future source code content (project roadmap). Webinos is an open source project created by the webinos consortium which comprises organisations from mobile, home media and automotive industries and is led by the webinos consortium. The webinos governance model is based on meritocracy and the best practices and values of the Open Source culture. Participating in webinos Webinos is open to all contributors. Source code is provided to all users and contributors under the Contributions License Agreement . Membership will be in accordance with the webinos Foundation agreement which will state that webinos is open to all contributors. Any organization or individual can join and contribute to weinbos development. Webinos leadership and governance principle is based on meritocracy. This means that roles and responsibilities for reviewing and committing code to the project are selected based on the developers’ quality and quantity of their contribution to webinos in relevant areas. Webinos platform development (contributors, committers etc) webinos software is developed and designed in a collaborative effort by the webinos consortium, other consumer electronics industry organisations and open source developers. In order to help drive webinos and shape the platform of the future, webinos has a structure of roles and responsibilities as per the following:• Architecture and Roadmap planning • Design and maintenance of components and subsystem • Contributions management (reviewing and accepting contributions, IPR reviews) • Committing of code to the project • Release management – offering real-time live access to all users • Defects management to manage bugs/patches etc • Testing and Quality Assurance • Compliance Testing and Trademark Agreement Working Groups The day-to-day operations of webinos is steered by a number of working groups. The working groups are devoted to strategic discussions in specific areas and are accountable to provide input and guidance about requirements, direction, policies, and conflict resolution, within their area of responsibility. These working groups are open to contributors and other individuals and organizations that specialize in the domain of the specific group. Learn more about how the working groups operate by reading the Working Group Process documentation. Working groups operate for Mobile, Home Media and Automotive contributing to the webinos open source project There are a number of ways to participate in webinos. We see contribution roles as follows: Users, Contributors, Committers and Working Groups. page: 223 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 224 of 229 Target Platforms, target Requirements and Platform IPRs Users Users are the people who use the software and can be either organisations or independent developers. Users are using the software to create Applications, reporting bugs, making feature requests and suggestions. Without users, there is no reason for the project. Contributors Contributors are individuals who contribute to the webinos project, but do not have write access to the source tree. Contributions can be in the form of source code patches, new code, or bug reports, but could also include web site content like articles, FAQs, or screenshots. Integration of a Contributors' submissions is subject to the ‘webinos code contributions acceptance policy’. The Contributions Policy should provide for the following:1. How open should the contributions acceptance process be - for example should we provide contributors with access to upload their contributions to the defects management system and we review them publicly and provide feedback via message boards etc – this would probably be the best approach given our intent to be open. Alternatively we ask for Contributions to be provided to an email address and these are then provided to the appropriate component maintainer etc for review/approval with feedback provided directly to the contributor only. 2. Should webinos choose a different (simpler) process for bugs/small contributions versus large contributions. For example incremental bug fixes/enhancements supplied as modified source code versus a substantial collection of modified/enhanced classes supplied as source code which implies that testing/integration could be a complex and time-consuming task. Presume yes, but actual details still to be determined 3. The timeframe that webinos commits to developers that will review and provide feedback/acceptance of contributions. Ideally this should be as quickly as possible, for example 7 days. 4. All contributions must be accompanied by the Contributions License Agreement. No anonymous contributions will be accepted 5. The nature and amount of IPR vetting/review that webinos needs to carry out as part of the contributions acceptance process 6. The code will be accepted by the component Committer, who will also be responsible for integrating that code into the main codeline. 7. Contributions can be either code, examples, tests, bugs or patches as well as large component pieces of code. 8. A contributor may become a committer as per the Committer policy 9. Webinos will provide monthly statistics on number of contributions received, no of contributions accepted, contributions status, contributions provenance (from whom contributions are received) etc. Committers Committers have write access to the source tree, either for the individual modules they are working on, or in some cases global write permissions everywhere in the source code page: 224 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 225 of 229 Target Platforms, target Requirements and Platform IPRs management system. A committer cannot commit code without a completed CLA. They are responsible for merging contributors’ patches, bug fixes, and new code from the development branch of the source tree into the stable branch. Committers are responsible for making sure that these contributions do not break the build. Committers are also responsible for maintaining code for that particular module. The Committers Policy (still to be written in detail) 1. All contributors can become committers to the webinos project 2. Committers are appointed on the basis of meritocracy, therefore he who contributes the most and has the most knowledge of a component area will earn commit rights to that component area 3. Committers are nominated by other committers in the first instance and then the rules of meritocracy apply 4. Committers will provide timely feedback to contributors regarding the status of contributions (via either messageboards/forums or emails tba) Working Groups Each component within webinos is part of a Working Group. The Working Groups are responsible for managing the entire project, helping to create policies by consensus Code contributions are encouraged and welcomed to webinos. All code is contributed via our bug-fixing repository. Code contributions will be reviewed to ensure that they are compliant with our chosen Contributions License and webinos does not accept anonymous contributions. Webinos Policies 1. Commit Policy (how to become a committer, responsibilities of a committer etc) 2. Contributions Policy (how to commit code, code acceptance and review process, appeals process) 3. Security Policy Proposed licensing model for webinos open source project As per our findings in WP2.3, webinos should use an Open Source Initiative approved license which also provides strong copyright and patent protection to the users of webinos whilst also permitting as broad and deep proliferation of webinos as is possible. To this extent, and where possible, we choose the Apache License, version 2.0 (see Appendix II). This license is used by a number of open source projects such as Google’s Android and has many benefits in that it is compatible with copyleft licenses such as GPL/LGPL, can be included by reference rather than listed in every source file and provides a patent license to all users of the software. Secondly there are the real-world constraints of using existing OSS projects and their respective license regimes that need to be identified for webinos. For example, we understand that there is a very strong likelihood that webinos will re-use existing OSS such as:- page: 225 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 226 of 229 Platform/domain Web Runtime QT Mozilla PC Domain Windows 7 Linux/variants Mobile Tablets Android Linux (raw) Home Media MythTV MeeGo Automotive MeeGo IVI (Genivi) Android (Autolinq) Target Platforms, target Requirements and Platform IPRs Notes License Type Primary Primary GPL/LGPL/Commercial MPL/GPL/LGPL (Tri-License) Primary Proprietary Secondary GPL Primary Apache + various other Licenses inc GPL/LGPL Secondary GPL Secondary GPL and some LGPL Primary GPL and LGPL Primary GPL and LGPL Secondary Apache + various other Licenses inc GPL/LGPL For example, not all OSS licenses are compatible with each other and there are formal compliance requirements that must be met for all OSS licenses; which will also be a requirement for webinos. Therefore we need to analysis the implications of using these OSS on the licensing (and governance) regime chosen by webinos, once the architecture of webinos has been determined and we know which OSS will comprise webinos. As importantly we will be targeting various Application platforms, cloud and device frameworks, upon which webinos will be run and the licensing regime used by each of these platforms will also need to considered to achieve as strong a License compatibility regime as possible. The webinos license strategy should support the successful proliferation of webinos across all industries and domains . Trademarks and Marketing In terms of trademarks we should consider: - How webinos trademarks will be licensed - What are the requirements /costs/ benefits for compatibility testing - i.e. at a platform vs. applications level Actions to Implement Licensing & Governance Recommendations To recap, our recommendations for webinos as an open source project are:Recommendation No 1 Source code is available with no discrimination by either developer category, timeliness of access or accessibility to all of the source code:webinos must be set-up as an ‘open’ project, with full source code access publicly available and all development branches must also be publicly available. There will be no discrimination against developers in terms of access to source code. In order to accrue page: 226 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 227 of 229 Target Platforms, target Requirements and Platform IPRs economies of scale via openness all consortium members (and others) must be discouraged from creating proprietary branches of the development branch, notwithstanding the need for some groups to create specific extensions/optimisations to meet their own needs. We should also consider where the webinos repository will live and which repository/bug tracking system will be used. Recommendation No 2 webinos should use an Open Source Initiative (OSI) approved open source license and ideally a license that is permissive such that commercial entities can use the license with least concern regarding copyleft or other obligations/restrictions:It is already decided that the webinos open source Project will use the Apache License. This license is commonly used in many open source projects and as such will be readily understood and accepted by the developer community and corporate organisations. Recommendation No 3 All developer support mechanisms e.g. source code repositories, developer tools, forums, mailing lists, bug tracking databases etc should be freely available to all developers:As part of the webinos open source project creation, we must research, identify and set-up appropriate tools (repositories, bug-tracking systems etc) and communications media (forums, mailing lists etc). Recommendation No 4 The project roadmap should be completely open and available with regular ‘call for contributions’ to the roadmap:The consortium members are already starting to identify specifications for webinos (usecase analysis) – this can be used as a basis to form a roadmap and also to issues calls for contributions. It makes good sense to do this whilst also considering how these specifications can also be interpreted to ‘scratch the itch’ of the developer community i.e. what problems are we solving that are problems which the developer community would like solved. Recommendation No 5 Decision-making processes and project meeting minutes etc. should be transparent and freely accessible to all. There are two aspects to this requirement. Firstly there needs to be an agreed decisionmaking process with regard to managing the source code of the project. This decisionmaking process will include decisions regarding how contributions are accepted (what IPR checking etc is required?) and by whom (who are committers to the project). Secondly we also need to make webinos as open and transparent as is possible. Therefore there should be a webinos Wiki, Blog, Events, Forum, IRC, Mailing Lists, Members list and open Meeting Minutes etc. which details how and why decisions are made within the project. Actions to achieve - create a process and policy for contributions acceptance (and rejection). Create a webinos committers policy i.e. who are committers, how do you become a committer, R&Rs of committers etc page: 227 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 228 of 229 Target Platforms, target Requirements and Platform IPRs Recommendation No 6 Code contributions and acceptance process should be clear and as simple as possible It is yet to be decided if there will be a formal IP review as part of the contributions acceptance process. Whilst this would be ideal, it does also require a lot of resource and time and we need to be careful that it does not create a bottleneck with regard to acceptance of contributions. Recommendation No 7 It should be possible to identify from whom code contributions have been provided, both at a developer and organisational level The contributions acceptance process should also mandate that the copyright notice identify the contributor. This is needed to a. Validate ownership of the code and b. Allow us to track the ownership for reporting purposes. Anonymous contributions should not be accepted, we should be able to trust the provenance of the contributions via the contributor. Recommendation No 8 It should be possible to identify who project committers are. There should be a publicly available listing of all developers that are committers and how long they have been committers for and which specific features of webinos they are committers for. Action to achieve - selection and election of project committers (those developers who can actually ‘commit’ code to the project) should be transparent and equitable i.e. it should be possible for all developers to become committers. Webinos requires a written policy which states how developers can be nominated, selected and elected to position of committers. Initially at least it is likely that only Consortium member developers will be in this position but within about 6 months of the project commencing we should aim to have this up and running. Ensure that committers are identified on the Wiki Recommendation No 9 The project contribution license should provide a copyright and patent license to the project It is already mostly agreed that this will be the ICLA used by Nokia, Android and Apache – see below for links http://www.apache.org/licenses/icla.txt http://source.android.com/source/cla-corporate.html http://qt.nokia.com/merge_requests/agreement/ Recommendation No 10 Trademarks can be used to promote the project and support compliance processes (if such compliance frameworks are required). Action to achieve - need to discuss further with consortium members|Register webinos Trademark Recommendation No 11 There should be minimal constraints on go-to-market channels (incl. app stores) for applications created by/for the project. page: 228 of 229 Target Platforms, target Requirements and Platform IPRs FP7-ICT-2009-5 257103 page: 229 of 229 Target Platforms, target Requirements and Platform IPRs Recommendation No 12 The community structure should be as equitable as possible, without tiered rights. Action to achieve - need to discuss further with consortium members Recommendation No 13 webinos will be set-up as a not-for-profit Foundation. page: 229 of 229 Target Platforms, target Requirements and Platform IPRs