What is responsible for AllJoyn®?
AllJoyn is framework created by the AllSeen Alliance, a nonprofit consortium dedicated to driving the widespread adoption of products, systems and services that support the Internet of Everything with an open, universal development framework that is supported by a vibrant ecosystem and thriving technical community. The Alliance hosts and advances an industry-supported open software connectivity and services framework based on the AllJoyn open source project with contributions from Premier and Community Members as well as from the open source community.
What is AllJoyn?
Initially developed by Qualcomm Innovation Center (QuIC), Inc, AllJoyn is an open, universal, secure and programmable software connectivity and services framework that enables companies and enterprises to create interoperable products that can discover, connect and interact directly with other AllJoyn-enabled products. AllJoyn is transport-, OS-, platform- and brand-agnostic, enabling the emergence of a broad ecosystem of hardware manufacturers, application developers and enterprises that can create products and services that easily communicate and interact.
How did AllJoyn get started?
AllJoyn was created as an open source project by Qualcomm Innovation Center and was previously distributed under the Apache 2.0 open source license (but with certain portions distributed under a BSD license) until the formation of the AllSeen Alliance in December, 2013.
Who is involved?
The Alliance’s members are the world’s leading consumer electronics makers, industrial solutions providers, service providers, software companies and chipset manufacturers including Premier and Community Members. The AllJoyn-based framework will include contributions from Alliance members and the open source community. The Alliance is a Linux Foundation Collaborative Project dedicated to enabling the widespread adoption of products, systems and services that support the Internet of Things through an open environment, vibrant ecosystem and thriving technology community.
Why is it needed?
The Internet has created a level of connectivity and intelligence that no one could have anticipated. This includes connecting devices and systems we know about today and things we can’t even imagine for tomorrow—creating, in effect, the beginnings of the Internet of Things. A major barrier to realizing the full promise of the Internet of Things is the absence of a unified community and universal framework that prioritizes intelligent interoperability across electronic devices and systems regardless of transport layer, platform, operating system, or brand.
“Solutions” for connecting devices today are characterized by proprietary approaches that have created one silo after another, resulting in a lot of highly capable devices and systems that don’t work together. Open source software and pan-industry collaboration have continually proved their ability to advance technologies quickly, spur innovation and to move markets. The technology industry today—from the consumer electronics market to the enterprise—needs a shared framework that allows devices and systems to connect with each other regardless of manufacturer or operating system. Consumers and businesses alike need a simple, seamless experience in connecting and interacting with devices, systems and services.
What is the framework composed of?
Based on the AllJoyn open source project with contributions from Premier and Community Members as well as from the open source community, the framework delivers an open platform and common set of service frameworks for allowing things near you (proximal) to share information seamlessly with each other regardless of operating system, platform, device type, transport layer or brand. It consists of an open source SDK and code base of service frameworks that enable such fundamental requirements as discovery, connection management, message routing and security, ensuring interoperability among even the most basic devices and systems. The initial planned set of service frameworks include: device discovery to exchange information and configurations (learning about other nearby devices); onboarding to join the user’s network of connected devices; user notifications; a common control panel for creating rich user experiences; and audio streaming for simultaneous playback on multiple speakers. In addition, the Alliance is producing developer tools and verifying correct implementation through a compliance program. Workgroups at launch include: Multimedia, Compliance, Basic Services, Core and Developer Tools.
How will AllJoyn impact the industry? Customers? Enterprises?
According to Gartner, technology is becoming embedded into everything and becoming invisible. By 2020, 30 billion things will be connected as every product more than $100 will be smart, Gartner says. The Internet of Things means that products from different companies will need to communicate with each other. Consumers and businesses have devices, systems and services from a variety of brands and vendors running in their homes and businesses. The Internet of Things doesn’t work unless the “everything” works together. Interoperability is key. Through interoperability based on an open framework, consumers and enterprises will be exposed to a new, simple, seamless and universal work of connectivity. This connectivity will enable new experiences and ways of using smart data and products and services. For example, with AllJoyn Certified products, by the time you get home from work, the house has returned to a comfortable temperature, and the oven you pre-heated on the way is already warm. Later that night, when you turn the TV on, it automatically dims the lights to an optimal level. When you go to bed, a single button shuts off all lights you may have forgotten.
Why does open source and collaborative development make sense for this work?
Collaborative development and open source software are proven strategies and assets for accelerating new technologies, technology adoption, evolution and deployments in emerging, complex markets. The rapid iteration and broad visibility of open, community-driven activities are proven to result in major advances in technology and better software. A neutral, open source project based on meritocracy has proven over and over to deliver superior results.
According to Gartner, technology is becoming embedded into everything and becoming invisible. By 2020, 30 billion things will be connected as every product more than $100 will be smart, Gartner says. The Internet of Everything means that products from different companies will need to communicate with each other. Consumers and businesses have devices, systems and services from a variety of brands and vendors running in their homes and businesses. The Internet of Everything doesn’t work unless the “everything” works together. Interoperability is key. Through interoperability based on an open framework, consumers and enterprises will be exposed to a new, simple, seamless and universal work of connectivity. This connectivity will enable new experiences and ways of using smart data and products and services. By the time you are home, the house has returned to a comfortable temperature, and the oven you pre-heated from work is already warm. Later that night, when you turn the TV on, it automatically dims the lights to an optimal level. When you go to bed, a single button shuts off all lights you may have forgotten.
Who are the users of the AllJoyn-based framework?
Users of the AllJoyn framework include developers, hardware manufacturers, consumers and enterprises. Developers will use the framework for building applications and services that will be able to discover and interact with devices, apps and services from any brand. Manufacturers will use the framework in products to ensure interoperability across devices, systems and services. Consumers and industrial or enterprise users will enjoy the benefits of AllJoyn framework being used in the products they buy—a simple, seamless experience that enables them to discover, connect to and interact with the things around them.
Who leads the AllJoyn project? How will it be governed?
AllJoyn is a Linux Foundation Collaborative Project overseen by the AllSeen Alliance. The Alliance is governed by its members through participation on a Board and a Technical Steering Committee in keeping with open source best practices. Membership in the project is open to all with multiple levels of participation. As an open source project, anyone can contribute.
How are decisions made in this project?
Technical decisions are made by the Technical Steering Committee. Organization strategy, marketing and direction are set by the Board of Directors.
What license does AllJoyn use?
The ISC license was chosen by the members for the AllJoyn framework. It enables easy engagement with developer communities and is expected to drive widespread adoption and reuse of the code.
How does one get elected to the TSC?
TSC positions are appointed by a Premier Member or by being the Chair of a Working Group.
How does one become a committer?
Any member can become a committer. The requirement to be a member is common among collaborative projects as it binds the individual committer(s) to abide by the bylaws and policies of the organization. Individuals, nonprofits, academics and government agencies will likely want to apply as a Sponsored Member (no charge membership).
How do companies or organizations join? What does it cost?
Companies can join by filling out a membership application and agreement. The cost for Premier Members is $300,000 in the first year and $250,000 thereafter. The cost for Community Members varies based on the size of the organization but ranges between $5,000 and $50,000.
How do individuals contribute?
Anyone can start contributing today. The projects at the Alliance use the Gerrit code review system. This makes it relatively simple to contribute. Simply register an account and begin.
Do AllSeen Alliance members have to join The Linux Foundation?
No. The AllSeen Alliance is an incorporated entity on its own with its own membership separate from The Linux Foundation.
Do you have to be an AllSeen Alliance member to use the AllJoyn code?
No. The code is open source; anyone can use it. Implementation in commercial products requires an ISC license.
Will the group develop standards?
Not in the traditional standards sense. The Alliance seeks to advance and promote a de facto standard through reuse of a common codebase developed in an open source project.
Why develop using AllJoyn?
AllJoyn is designed to address complex problems that exist in enabling peer-to-peer and Internet of Things applications such as discovery, message routing, security, interoperability, etc. and simplifies how devices interact with one another creating a much better user experience. The intention is to provide a tool to enable developers to build ad-hoc, interoperable applications and services without having to solve these problems themselves. This allows developers and OEMs to focus on the core functionality that is their applications. AllJoyn is an enabler for applications like control applications, multiplayer games, photos sharing, real time multi-player orchestra, etc.
What is a service and how do I define one?
AllJoyn exposes user-defined objects called services on a distributed software bus. Each service exposes a callable API (or Interface) that can be invoked remotely by user-defined clients.
Are there any existing services I can use?
Yes, the AllJoyn open source project includes several service frameworks such as Configuration, Control Panel, Notification, Lighting and Onboarding. A complete list of service frameworks can be found here.
What transport layers does AllJoyn work on – Wifi, Bluetooth, NFC, Zigbee, etc.?
The AllJoyn protocol is transport-layer-agnostic. Today, the open source implementation supports physical layers that provide an IP stack—WiFi, WiFi-Direct, Ethernet and Powerline. Support for other transports such as Bluetooth LE, 6LowPan, ZigBee or Z–Wave can be added easily and we encourage contributions in this area from the community to extend AllSeen’s capabilities. Currently, the proposed AllJoyn Gateway Agent will enable the bridging of connections between devices that are on different transports, for example, Bluetooth devices interacting with WiFi devices. All that is required is at least one proximal device that supports both Bluetooth and WiFi, for example, a mobile phone, broadband gateway or other device enabled for both. Bridges can also be used to enable devices that only support legacy protocols to interact with AllJoyn ecosystem of devices. If you are interested in participating in this effort we encourage you to start a dialogue through the technical mailing lists.
What is the security model and how do I program for it?
The AllJoyn security model is designed to support application level encryption and authentication. AllJoyn is not involved other than routing. Authentication uses SASL, is application-to-application, and can be enabled per the AllJoyn interface. Objects can implement both secure and non-secure interfaces depending on the requirements of the application.
Is there a limitation on the number of devices that can participate in a network?
While there is no inherent limitation imposed by AllJoyn, there will be practical limitations on how many devices can join and participate in a network. For proximity-based networks such as Wi-Fi, the range of the technology may impose a limitation. There are also limitations due to available bandwidth as well as any limitations on the radio itself. There may be other limits associated with HW capabilities.
What is the maximum bandwidth available to my application?
AllJoyn does not impose any particular bandwidth limitations, so the maximum bandwidth available is equivalent to the maximum bandwidth of the available radio technology. It could be as high as > 250Mbps when utilizing an 802.11n radio. These values are obviously subject to the environment in which they are being used.
Does the Alliance offer a support forum for questions?
Yes, developers can participate in the AllJoyn forums and contact us via email.
I only have one Android device. Will I still be able to use the SDK?
Yes, you can start testing using just a single device. Many of the sample applications (bbclient, bbservice, SimpleService and SimpleClient), are designed to communicate with a peer program that can be located either on the same device or on a remote device. In the case of bbclient and bbservice, just run both applications on the same device and they will communicate with each other just as they would if they were running on separate devices. The only feature that can not be tested when using a single device is discovery.