- Use Cases
When we’re talking about app development and indoor mapping projects, a lot of technical terms get thrown around. Depending on your area of expertise, it’s easy to get confused about the often subtle differences between all these technical elements, and understand how they work together. Software Development Kits (SDKs), widgets, and plugins tend to fall into this group. The idea of using either an SDK or a widget to build your mapping app is a false dichotomy, and it’s really important to understand how they are actually used together to build rich, scalable solutions.
The tip is in the name here - keeping the ‘kit’ part in mind is very helpful when we’re talking about SDKs. When you’re building a model airplane, you need the full kit of tools, instructions, glue, and parts that come in the box in order to assemble the model properly. An SDK (also sometimes aptly called a ‘devkit’) works in a very similar manner, providing a set of tools, libraries, relevant documentation, code samples, processes, and guides that allow developers to create software applications on a specific platform.
A widget is an element of a graphical user interface (GUI) that displays information or provides a specific way for a user to interact with the operating system or an application.
A plugin is a software extension that adds a specific feature to an existing computer program requiring minimal coding, or sometimes none at all. Think of it as another mini SDK to enhance the primary SDK. When a program supports plugins, it enables customizations and permits the developer to enhance the capabilities of an app.
SDKs are the starting points for almost every program you might interact with. From your web browser to video games and mobile apps, many of these will have started with an SDK. When it comes to Inpixon in particular, our SDKs abstract the data loading, initialization, rendering, module communication, and API interface with the application server, allowing your developers to focus on integration, styling and user experience. Essentially, our SDKs have already done the heavy lifting for you.
Widgets and plugins seem especially prone to getting mixed up, so it’s important to distinguish the differences between them, and when each one is used. A widget can be thought of as a self contained user interface that is used to display a program (or part of a program). On the other hand, a plugin is something that is working behind the scenes, under the hood. It is a piece of software that extends or enhances the functionality of a program. Where these lines can get a little blurry is that some plugins are actually widgets! For example, Inpixon's Map UI Kit, a plugin for the Inpixon SDK, allows developers to add interactive control elements that can be considered widgets to the map. Harnessing the power of plugins, widgets, and robust SDKs allowed us to reduce the amount of code a developer would have to write by 87%. If you were to implement the Jibestream SDK, and you wanted to incorporate elements like a search bar, pop-up boxes, level selectors, zoom buttons, or a compass etc, this plugin would allow you to add these elements with just 3 lines of code or less.
Plugins can also be used in combination to create different solutions and use cases. For example it is possible to use the information that is provided by the AnalyticsKit, AssetKit and GeofenceKit to determine clinic wait times in hospitals depending on foot traffic.
SDKs, widgets, and plugins are all important pieces of the puzzle that enhance the developer experience and speed up the development process when adding maps to your apps.
Aaron is a Solutions Architect at Inpixon and an innovative software developer with professional experience in the full development cycle of next-generation applications and customizable solutions. When he's not helping get maps in your apps, he can be found rock climbing and spending time in the mountains.