-
Notifications
You must be signed in to change notification settings - Fork 1
Large Set of Unknown Clients
'Clients' can refer to developers, software or things. The Large Set of Unknwon Clients can be divided in a Large Set of Unknown Developers and a Large Set of Unknown Devices Therefore you should support as much formats as possible. In most of the cases the scope of the project limits as much as possible to 1. If that's so, you should temper your expectations of adoption and make sure you leave room for future formats right from the beginning. This can be achieved by defining a good Content negotiation strategy.
Back in the days, APIs and other interfaces were built on top of existing software systems to provide demand-driven access to these systems. For example, when a website wanted to establish a new channel (e.g. an iPhone app), the app builder told the website builder how to supply the interface/data to suit the app's needs. In this case, we speak about a Small Set of Known Developers, because the publisher and consumer of the data know each other and can negotiate about the way of communication between both systems. Besides of technical differences there are also non-technical differences within contracts between known, trusted consumers and publishers. A known developer is probably not malicious in terms of breaching security or rate limits.
Nowadays, opening up software systems tend to increase multi-channel communication and fuel business. Using this supply-driven approach, it is the intention that any developer in the world could implement and embed your data or business model. This means a publisher should manage the community, and take certain security and performance risks into account.
Last but not least the main purpose of this approach is to expand to as many channels as possible. This opens up opportunities to involve the market, where more competition leads to lower costs and a faster time-to-market. If your interface only works for Java developers, there is less competition than when it works for PHP developers as well.
In addition to the situation described above, we can also talk about devices or machines, such as a search engine like Google or a mobile personal assistant like Apple's Siri. Where we first knew the Small Set of Known Devices to be not more than 'Google, an iPhone and an iPad', the Internet of Things let's users connect basically every device to the internet. This means that large set of unknown developers probably want to connect a large set of unknown devices to open up new business opportunities.
When it comes to spatial data, we can imagine that people working on self-driving cars already want to connect environmental data to them. If these cars happen to 'speak' KLM, the chance that your data is being used by these cars is higher when also publishing KML. Because we don't know and the number of unknown developers and devices is growing every day, we should take into account that basically everything is possible and we need to be prepared for that.