Posts

Showing posts with the label iPhora AppBuilder

New release of iPhora Automate Now Available

We are pleased to announce that the latest release of iPhora Automate, our no-code user-driven automation platform. This release (2025091002) brings a new iPhora user experience with significant improvements in capabilities and features, along with faster performance. It also provides business users and other citizen developers with more capabilities for designing and automating their processes. Unlike other solutions, iPhora Automate is built from the ground up as a scalable business automation platform.  iPhora Automate applies a layered approach to process automation. For solutions that need the support of application developers, iPhora Automate provides new enhancements to the PhoraScript language and improvements in creating custom web service connectors. There are now more extension points in the architecture, which allow application developers to utilize PhoraScript in forms, ActionStreams and processes to bet...

Situational Apps, What are They and Why They are Important

As the name implies, situational apps are on-demand apps that are created in response to a specific business situation (or need) that may arise infrequently. In general, the productivity gains attributed to a situational app are limited to only a few occasions a year and to few individuals. Therefore, most corporations are unlikely to devote significant resources to the development of such apps, and typical develop cycles may be so long that the situation itself will have expired before a professionally-developed app is ready. To continue reading more about how important situational apps are go to our iPhora blog at: https://iphora.io/iphora.nsf/blogentry?open=0F71X90S

The iPhora Journey - Part 13 - Automating the Automate

This post was to be the final post of our "The iPhora Journey" series and summarize our entire journey and what we created.  However, as I was preparing the final post I realize there was one item that I hadn't discussed. That is the experience of purchasing a product and installing it onto a Domino server. So, Part 14 will be the final post of this series. Whether you are purchasing a product that you really want or paying bills online, purchasing services or products online has become the norm.  For a new product launch we wanted this easy-to-buy and deploy experience. Depending on the version of our product, different features are enabled. If a customer wants to upgrade the product to a more advanced version, the experience should be as easy as signing up for the upgrade, paying and the new features should available in the customer's installation. This is expected for most public cloud-based solutions. However, not so easy for private cloud/on-premises solutions. N...

The iPhora Journey - Part 12 - Bring the Public Cloud Experience to your Private Environment

Image
Public vs Private In the digital automation market, which includes workflow and business process automation, there are literally dozens of no-code or low-code platforms available as public cloud solutions. They range from products like Zapier to Tray.io. In general, they all provide easy-to-use interfaces for assembling cloud services together in order to automate processes. Some are geared towards individual users and some towards enterprise businesses. However, aside from the ones intended for individuals or very small businesses, they may require some significant setup, configuration, and administration. Public cloud-based solutions have a number of advantages for process automation. You can sign up and get access to these services within minutes and have a new process up and running in a relatively short time. However, the majority of these solutions operate by routing your data (and the subsequent responses) through a series of different cloud services. Not only is your process de...

The iPhora Journey - Part 11 - Integration to Cloud-based Services for Business Users Made Simple

Image
The world of data processing is far different than it was 10 years ago.  More and more of it is being done externally by highly specialized service providers. This enables companies to utilize the best available services -- without having to reinvent the wheel -- and incorporate those services into their core business processes. The resulting approach is also more agile, enabling companies to respond quickly to ever-changing business needs. You can think of your business users as your subject matter experts. They are the ones who have first hand, daily experience with your data and processes. In a perfect world, they are the people who would be designing your processes, and in today's environment, that means taking full advantage of external services. Your IT administrators are the gatekeepers. They are charged with protecting your business from threats and maintaining the security of your data. The last thing they want to see are your business users exposing the company's data...

The iPhora Journey - Part 9 - Flow-based Programming for Your User Interface

Image
In general, for non-software developers aka business users, an Application is one single object that they download and install onto their device whether a phone or laptop. It may also be a solution that they can access from their web browser. It may contain a series of screens that they navigate between as they use it.  The Application most likely includes many components working in unisons some in the background and some generating the visual interface that they see. The Application may have many screens and visual design elements. For example, you might have a dashboard that shows aggregated data, a grid that list documents, or a form that users will use to fill out data.  Many solutions layout out the different screens using a tree structure that shows the relationships between screens.  Usually, you build the connections between the pages by selecting actions within a screen. For example, in Microsoft Power App. the tree structure looks like: However, we wanted a more...

Introducing iPhora Automate - User-driven Automation for Your Mission Critical Processes

By trade, I am an Electrical Engineer with a specialty in Microwave Engineering. And as part of my education, I had to take courses in process and industrial engineering which involved process optimization and automation. I hated these two courses and naively thought I would never ever use the information that I learned in these two courses. I only had interest in the technical aspect of engineering and with my first job out of college that is what I did. Never did I ever thought that I would spend the past 20 years focused on stuff that I hated in college. The concepts of iPhora came out of issues that we encountered as we rapidly grew another business many years ago from which spawn our business process automation business which we have been doing for the past 20 years. For the past few years, we have been transforming our consulting service platform into a commercial off-the-shelf product that focuses on the business user as the target audience. We would like to introduce iPhora Aut...

The iPhora Journey - Part 8 - Flow-based Programming

Image
After my last post in this series -- way back in September 2022, several things happened that prevented any further installments. First came CollabSphere 2022 and then CollabSphere 2023, and organizing international conferences can easily consume all of one's spare time. Throughout this same time period, our product development efforts continued at full speed and are just now coming to fruition, which means it is finally time to continue our blog series. So let's get started... As developers, most of us create applications through the conscious act of programming, either procedural, as many of us old-timers grew up with, or object-oriented, which we grudgingly had to admit was better. This is true whether we are using Java, LotusScript, C++ or Rust on Domino. (By the way, does anyone remember Pascal? When I was in school, I remember being told it was the language of the future, but for some reason it didn't seem to survive past the MTV era).  But in the last decade, there a...

The iPhora Journey - Part 7 - Transforming Domino with Microservices

Image
Most of the concepts that we have been talking about in our iPhora Journey are neither new nor revolutionary. Collectively, they merely represent the current state of the art in designing web applications. In other (i.e., non-Domino) platforms, you would need an array of services each running on a separate server, and you would have to build the integration between the different components and maintain security between all of those components. With virtualization and containers all of the necessary services can now bundled into a single installation, which is helpful, but the integration of those components can still be fraught with issues, especially compatibility between different versions of those services. With Domino all of this is taken care for you: authentication, directory services, security, web services, and database services are all tightly integrated in a single server,  which is an advantage that no other technology offers. While Domino has its quirks and does not sup...

The iPhora Journey - Part 6 - An Application, Rethinking and Redefining

Image
In our previous articles, we discussed the advantages of using JSON in applications and the importance of being able to effectively process JSON. This leads to the interesting question: what exactly is an application, and the answer to that question may differ depending on who you ask. Most people today would assume you are referring to a phone app, and even then there are wide range of options. A college student might think of apps like Tiktok or WhatsApp, and a person looking for a significant other might automatically think of Hinge or Tinder. All of these people would be able to provide you with multiple examples of apps, and they might be able to list some of the common features of an app, even if they do not understand any of the technical details. In general, a web app today consists of the following four modules, even if the technical details may differ tremendously from app to app: User interface (UI) Database Business Logic Security Now, let's consider what an app is in t...

The iPhora Journey - Part 5 - Dammit Jim, I'm a LotusScripter not a JavaScripter

Image
As often said by Dr. McCoy in the original Star Trek series, he is a doctor, not a ____________ .  However, just like Dr. McCoy, you may sometimes need to work on things that seem very alien to your experience.  One of those things, might be JSON. LotusScript, which was derived from Visual Basic, was written long before JSON existed, and therefore, LotusScript had no built-in capabilities for handling JSON objects. As we mentioned in Part 4, JSON plays a critical role in iPhora.  All data are stored as JSON, and JSON serves as the primary data and communication format between modules, functions and services.  All core components operate using JSON-based configurations.  Therefore, it was extremely important that we are able to fluidity create, read and process JSON.   Creating a JSON string is relatively easy in any programming language. You can create it even using Commodore 64 Basic, and if built sequentially, one line at a time, it is possible to...

The iPhora Journey - Part 4 - JSON is King - The How

Image
  The iPhora Journey - Part 1 - Reimagining Domino The iPhora Journey - Part 2 - Domino, the Little Engine that Could The iPhora Journey - Part 3 - Creating an Integrated UI Framework The iPhora Journey - Part 4 - JSON is King - The Why The iPhora Journey - Part 4 - JSON is King - The How As we mentioned yesterday, in reimagining Domino, we wanted Domino to be a modern web application server, one that utilized a JSON-based NoSQL database and be more secure compared to other JSON-based NoSQL platforms. A Domino document existing within a Domino database is the foundational data record used in iPhora, just as it is with traditional Domino applications. But instead of just storing data into individual fields, we wanted to store and process the JSON in a Domino document.  However, text fields (AKA summary fields) in Domino documents are limited to only 64 KBytes, and that is a serious limitation. 64 KBytes of JSON data does not even touch what the real world typically transfe...

The iPhora Journey - Part 4 - JSON is King - The Why

Image
The iPhora Journey - Part 1 - Reimagining Domino The iPhora Journey - Part 2 - Domino, the Little Engine that Could The iPhora Journey - Part 3 - Creating an Integrated UI Framework The iPhora Journey - Part 4 - JSON is King - The Why JavaScript Object Notation (JSON) was defined by Douglas Crockford in early 2000s as a data exchange format that grew out of JavaScript. JavaScript code can in fact be structured as JSON data, and even the HTML DOM can be represented as JSON data (more about that in a future blog). JSON has now become the dominant data exchange format, superseding XML. It provides data exchange between the server and JavaScript-based clients, including web browsers, and it is also used in web services and web hooks. It is not only readable by humans but it is also lightweight. Databases such as MongoDB and RavenDB use JSON as the data storage format, and there are a number of derivatives, such as BJSON, a binary version of JSON used in MongoDB. More and more companies are...

The iPhora Journey - Part 3 - Creating an Integrated UI Framework

Image
The iPhora Journey - Part 1 - Reimagining Domino The iPhora Journey - Part 2 - Domino, the Little Engine that Could The iPhora Journey - Part 3 - Creating an Integrated UI Framework There are many ways to create the user interface (UI) for a web application. The HTML page could be created on the server and then pushed out. It could be static with the data generated on the page by the server with JavaScript, providing a more dynamic experience, or the server could generate new HTML content to update portions of the web page. XPages or PHP are good examples of this. Another method is to have the web page partially generated by the server and have JavaScript build the rest of the HTML by pulling data from the server via an API. This is the approach used in the Single Page Application (SPA) model. In all cases, it is still dependent on the web server technology being using.  As mentioned previously in this blog, XPages is dependent on complete integration between form and document, whi...