The current state of DP and its development environment shows its usefulness and viability for developers (See
Development Environment). However, I am interested in using DP for commercial use to bring value to programmers and users that need it the most. I am actively seeking the best application(s) and are considering different industries such as:
This idea of DP was initially developed when I was building VR/AR applications for my thesis work. The need for a platform that someone could walk into the room at anytime and be instantly connected to all devices including everyone else in the room is instrumental to building practical applications for Augmented Reality. DP provides this platform for developers to start building these kinds of applications without dealing with complex network libraries, APIs, or complex software infrastructure. I am considering the integration of my development environment into some existing tools, such as Unity, to assist developers in building these kinds of applications.
Most of the software solutions for IoT focus on cloud-based solutions for making it easier to accumulate and manage a large number of devices. However, none of these solutions help program devices themselves, and how devices should communicate with other devices (including mobile devices) on the network. DP is the framework for building distributed software across all devices, so that as hardware gets more flexible/programmable, these devices should automatically detect other devices and work without necessarily being controlled from the cloud. This in-memory programmable database could implement hardware drivers and could help vendors make decisions when building resources like the CPU, memory, and power consumption, based on the complexity of the device and typical usage. The most important issue for IoT is to find a really good use-case that can showcase DP and bring value to the market.
A significant benefit to DP is that it is useful for building multi-player local games without necessarily communicating with a cloud. I think the most interesting opportunity could be in peer-to-peer games, where multiple players interact with multiple devices, such as board games with separate devices for players and shared board(s). These kinds of games are currently scarce and are very difficult to develop and maintain. DP makes it easier to build these types of applications. I am currently evaluating whether it makes sense to integrate it into the game development workflow (e.g., I am considering the integration into Unity, but am open to other platforms).
Building Apps on many platforms is difficult, and many businesses have separate development teams for each platform. There are some tools out there, such as Xamarin and Appcelerator, that allow developers to use one language that can be compiled into different platforms. However, this still requires a separate code-base for the server, which is typically written by another development team. DP allows developers to build both the client and server at the same time using the same code base.
DP could also assist developers in building a WYSIWYG (What-you-see-is-what-you-get) development tool directly in the DP development environment. These tools are typically great for building simple GUI interfaces, but when it comes to connecting the data in these interfaces with the rest of the program (including network communications), the models in other development environments break down. DP provides an environment in which all data and code (i.e., both the GUI elements and related data) exists, so that developers could build fully functional GUI's interactively for remote devices.
Digital screens are becoming more common in public, at events, and in commercial spaces. These displays are typically used for displaying simple pre-fabricated presentations or providing simple touch interfaces, such as to order at a venue or an informational kiosk. But what if screens were connected to each other and to everyones' mobile devices? What if a mobile application could provide an interface that could also show information on public displays in the same room? DP provides a development platform that makes it easier to build these types of applications, where all of the displays could be working together to provide a seamless experience for users. Some potential applications include
wayfinding, presentations, improving social experiences and interactions by sharing digital information, or just simply improving existing digital signage by making it more interactive with everyone in the room.
DP is a general new way of programming and can be used to build any type of application. Complex standalone applications with large code bases are particularly good for DP, since the tabular structures provide an easier way of thinking about code and modularization. Distributed applications such as drones and autonomous vehicles could also benefit from DP: communication with other devices throughout the different tasks will be manditory for regulation and safety. For example, drones that want to deliver something into a private residence or neighborhood will probably want to notify the residence of its destination, location, and consignment. Regardless of whether this system is cloud-based or local, it is difficult to build and maintain a communication protocol using APIs. DP and its distributed tabular structures provide an easy way for many devices to communicate and stream important information while also implementing the programming logic required to accomplish the tasks at hand.