When available for general release, Hephaestus can be downloaded for use on iOS, Android and Windows 10 devices.
There is an old programmer's adage that states: There is no program that can't be one line shorter, and doesn't have at least one bug. Therefore, the ideal program is one line long and doesn't work.
In the ever ragingg battle between the Marketing and Development groups, the decision was made to focus on Hephaestus' Core and User Components. In other words, focus on the Components that Hephaestus deals with directly. The System Components are the communication layer with the "big 3's" tool kits. We know that we can improve that layer. The timeframe for that will be determined by the call for releasing new Components for overall operability and device support, and enhancing those already released.
Hephaestus is inserting a relatively thin layer between the app developer and Apple, Google and Microsoft App toolkits. Aside from the inter/intra Component Communications Protocol, it is also small price to pay for usability and cross platform capability. For most business apps and single player games that are not "highly responsive" ("relatively thin" is, well, relative) you won't notice a delay.
Don't expect to play a multi-player, bang bang shoot-em-up game, or to kill zombis out of Hephaestus just yet. We are working on what are effectively "weapons" and "ammunition" components, but they are not expected to make the initial release.
That, depends upon the Component. Some Components are interacted with directly by you. Others receive their instructions from other Components based upon some other event.
Let's take the Slideshow Component in our Relax app. It takes a list of images (and an image can also be a video file) and a list of audio files that is built and populated through our Online Designer. Amongst others, the Slideshow Component interacts with the Screen Manager, the Video Player and the Media Player Components. Regardless of whether you are running on a TV, Phone, Tablet or Watch, the part that you deal with, directly, doesn't change. That is, of course, unless a device doesn't have support for something that your app needs. Normally, device incompatibility is found during the build process by the Online Designer. There may be times, however, that an app built with a certain device profile is installed on a device other than what it was built for. In this case, Hephaestus will catch it, prior to running the app, during a device compatibility check on start up or resume.
In simple terms, think of a Component as an "engine" that performs a specific task. When that task is needed, it is requested. It performs its task, and then is released. Whether it communicates with other components or passes a result back to its calling component depends on each component and the result of inter-component communication.
Hephaestus, itself, is based upon this structure using components of three types: Core, System and User. This dynamic, real-time combination of targeted functionality lets us add support for new, specialized devices with minimal delay and opportunity for "breaking" code (yours or ours) already in production.
Hephaestus is a component based, cross-platform development environment, designed under the premise that Applications should be content driven, and therefore be Assembled rather than Written.