(416) 483-5219 sales@arnicasoftware.com Registration Log In
(416) 483-5219 sales@arnicasoftware.com

Arnica Software Company Blog

RSS Feed

Arnica Software Company Blog

Responsive Portals: Responsive Portlet Design

July 31, 2016 by Igor Lozhkin
This article discusses how responsive content parts (portlets) may be designed with Arnica WebPortal

Web API Performance Metrics

June 25, 2016 by Igor Lozhkin
Arnica Web API platform tool (WebScript) includes built-in analytics of API use statistics and run-time performance.

Mass-mail subscription model: category based

May 23, 2016 by Igor Lozhkin
Arnica EmailServer manages subscription on both global and mailing category levels. This article discusses how a category-based subscription affects the results of a mass email campaign.

Displaying currency symbol in report data output

March 18, 2016 by Igor Lozhkin
This article explains how to include a currency symbol as well as any prefix and/or suffix in report cell data output.

How to secure access to applications using web request filter in Arnica Platform

January 31, 2016 by Igor Lozhkin
Arnica Platform applications (WebReport, WebPortal, WebScript, etc.) have various tools for securing access to its resources, both declarative (authentication and authorization) and programmatic (condition scripts and business rules). Request filter is another method to secure and control access to application using declarative (no coding, or low coding) technique.

Choosing access control type in Arnica Platform applications

January 9, 2016 by Igor Lozhkin
There are three fundamental types of access control supported in Arnica Platform applications: identification, authentication and authorization. Each resource (report, form, link, web folder, portal container page, etc.) may choose any of these types of access control or no access control. This article discusses these access control types.

Arnica Unified Logon - what is new in version 10

December 24, 2015 by Igor Lozhkin
Arnica UnifiedLogon is a powerful identity management system, which provides a foundation for managing user profiles of virtually unlimited complexity for projects of any size - from dozens of users to a multi-million user base.

Arnica WebReport revisited

November 19, 2015 by Igor Lozhkin
Arnica WebReport provides a low-coding environment for achieving fast and effective results. New report wizard provides a guide through report creation process and completes with a fully functional web report ready for production deployment. Report designers may adjust presentation features in the new report, such as columns selection, titles, visibility, or engage in a more intensive report design modifications.

Creating web APIs: explaining script item types in Arnica WebScript

October 14, 2015 by Igor Lozhkin
Arnica WebScript is a part of the Arnica Platform, which has been designed for creating web APIs programmed in a mix of contemporary languages - C#, PHP, SQL, and others. Web APIs serving common projects/tasks are collected under the umbrella of a script set. Script set is a collection of script items, each representing a script, programmed in its own language. Regardless of the language, script items are classified by script type. Script item type is an important property, which determines the role of the item in the script set.

How to create link rotation displays in Arnica LinkServer

September 15, 2015 by Igor Lozhkin
Arnica LinkServer is a part of the Arnica Platform. LinkServer displays lists of links which may be personalized per user, and manages link access based on defined permissions. One of LinkServer use scenarios is to provide link output with pre-defined link rotation algorithm. This article reviews properties used in configuring links with rotation effect.

Expanding company data in Arnica Unified Logon

August 11, 2015 by Igor Lozhkin
In Arnica UnifiedLogon, company information is represented by several types of data structures. Some data items are standard while others may be defined based on a specific project. This article describes available data structures which may expand company data, as required by a particular project.

Managing data auditing: data audit capabilities in Arnica UnifiedLogon

July 21, 2015 by Igor Lozhkin
Arnica UnifiedLogon provides data auditing services for various types of information it maintains. Data auditing is selective: system administrators set which entities are subject to save data audit trail. Once set, UnifiedLogon captures data changes regardless of how they were made: via out-of-the-box Arnica UnifiedLogon Administrator module tools, custom forms, database APIs, direct database data manipulation, web services APIs, custom programming code, etc.

Connecting users, companies and products: relations, relation types and relation type custom fields in Arnica UnifiedLogon

May 16, 2015 by Igor Lozhkin
Arnica UnifiedLogon manages different types of information entities: users, user groups, application roles, companies, products, applications, resources, resource groups, etc. These entities are connected to each other in a variety of ways (for example, user membership in user group, user permission to access resource, etc.). For users, companies and products, UnifiedLogon supports an additional special type of connection: relation.

Arnica UnifiedLogon - base data types in data stores

March 8, 2015 by Igor Lozhkin
Arnica UnifiedLogon data stores allows creating data items (columns) using several base data types, which satisfy most custom implementations and use scenarios. This article specifies data store base data types available in the Arnica UnifiedLogon data stores.

Local and remote deployment of data stores in Arnica UnifiedLogon

February 17, 2015 by Igor Lozhkin
Data stores in Arnica UnifiedLogon are tables managed with cloud-friendly techniques using a web browser. UnifiedLogon Administrator application module provides a full set of management tools for creating and updating data store items (columns), indexes, default constraints, update data types, etc. As a design choice, data store tables may be created in the local UnifiedLogon database, or in a remote database, which may be located on the same or on a different server.

Customizing reports with report and report source parameters in Arnica WebReport

January 19, 2015 by Igor Lozhkin
There are two types of parameters in Arnica WebReport: report source parameters and report parameters. Report source parameters are evaluated at the early stage of report life-cycle and are always available for use in queries against remote data. Report source parameters are also available to all reports based on the report source. Report parameters may be evaluated before or after a query against remote data, depending on what is specified at report design time. Report parameters are only available for the report they were defined in.

How to connect to different sources of data by selecting request type in Arnica WebReport

December 11, 2014 by Igor Lozhkin
Arnica WebReport is a two tier system: report source and report. When working on report source level, designer must choose a request type, which specifies how report source may receive data from the remote source. This article describes request types supported by Arnica WebReport.

How to create "highly effective" user profiles in information systems

October 21, 2014 by Igor Lozhkin
Effectiveness of user profile lays in data access speed, ability to expand with new data properties and structures when business requirements change, and scalability - i.e. accommodating growing number of user records. This article summarizes several data structures in Arnica UnifiedLogon for effective implementation and management of user profiles.

Explaining content merge and validation in mass-mailing: content processor in Arnica EmailServer

August 25, 2014 by Igor Lozhkin
During the mass-mailing process, Arnica EmailServer engages a content processor when evaluating each email template in the context of each user from the recipient pool. Content processor is associated with an email template. This article discusses major properties of the content processor.

Creating customized HTML reports with Arnica WebReport - design environment screenshots

May 15, 2014 by Igor Lozhkin
This article shows sections of Arnica WebReport Administrator application offering a closer look at many WebReport features available out-of-the-box.

Managing user opt-in in mass mailing: mailing types in email distribution to recipient pool

March 7, 2014 by Igor Lozhkin
Arnica EmailServer was designed to automate mass-email distribution to thousands and millions of recipients. Arnica EmailServer organizes distribution campaigns by mailings. Mailing connects users (recipients) with template, and defines rules for email distribution, which includes content processing, conditional sends, subscription management, and other features. In this article we discuss mailing types, which determine how mailing selects users and engages subscription rules.

How to create HTML reports in minutes without coding with Arnica WebReport

January 17, 2014 by Igor Lozhkin
Arnica WebReport is an enterprise-strength web-based reporting tool for designing and running reports - all done through a web browser, with no installation required on designer, administrator, or client computers. You may create a report in under a minute from any computing device using browser only, generate a link on the fly and deliver it to users for execution or integrate it with corporate Intranet or public Internet sites. Report runs in a web browser with no deployment required. This article walks you through the process of creating production-quality HTML reports in minutes.

Explaining HTML report deployment: from development to production

October 24, 2013 by Igor Lozhkin
Reports, report sources, report templates and other components developed with Arnica WebReport store their metadata in its own database. This article describes two methods of moving developed components between environments (development, QA, production).

Mass-mailing opt-in and opt-out: global and category-specific subscriptions

September 14, 2013 by Igor Lozhkin
Arnica EmailServer is a mass-mailing system which provides two levels of user subscription (opt-in): system-wide (globally) or by specific mailing category (such as support, marketing, sales, membership, etc.). In order for a user to receive an email, user must have both global and the category-specific subscriptions enabled for the category of the current mailing.

Managing users in IT projects with Arnica UnifiedLogon - identity management system with virtually unlimited scalability

July 16, 2013 by Igor Lozhkin
Arnica UnifiedLogon is an identity management system, which provides access control, personalization and configuration services, and allows to implement single-point user log-on for access to multiple applications. It is a powerful tool for managing granular user access to applications, application resources and functionalities. Arnica UnifiedLogon was designed with extreme scalability in mind and is therefore perfectly suited for management of any number of users - from a dozen of local users at a small organization to thousands of users in a large enterprise, to millions of users at a public web site. This article shows sections of Arnica UnifiedLogon main menu with self-explanatory UnifiedLogon features available out-of-the-box.

Expanding state management in web applications with context session group and context session

May 10, 2013 by Igor Lozhkin
Context session provides access to the cross-application cross-platform centrally managed state. Context session services are implemented by Arnica UnifiedLogon and are exposed to various applications and program code via web service APIs, database APIs and program script APIs.

How to implement randomized sort order in a report

February 8, 2013 by Igor Lozhkin
To implement randomized data sorting in a report each time data is fetched from database, Arnica WebReport provides an easy solution through creating a custom column with an expression generating random value.

Drill down in HTML report: configuring column as a hyperlink in Arnica WebReport

December 13, 2012 by Igor Lozhkin
In Arnica WebReport any column may be defined as a hyperlinked column. The simplest scenario for enabling a column hyperlink involves setting the column property Hyperlink to enabled, and entering destination URL into the Request Target property. Additional column hyperlink properties allow to achieve more custom behaviour with no or minimal design-time coding.

How to create composite sort orders in HTML reports with Arnica WebReport

October 15, 2012 by Igor Lozhkin
Arnica WebReport provides both adhoc sorting and pre-defined sorting options. The pre-defined sorting allows creating both single-column sorting and composite sorting, which may reference more than one column. This article shows how to most effectively manage pre-defined sort orders.

Managing failed login: How to configure logon page to redirect to a URL

August 10, 2012 by Igor Lozhkin
Logon page is defined in Arnica UnifiedLogon. Design-time logon properties page provides system administrators and designers with various tools for configuring both logon page presentation features and its behaviour, when certain events happen. Logon failure is one of the events processed by the logon page, and the resulting logon page action depends on the properties set at design time.

Managing data access from web applications: data source properties explained

June 25, 2012 by Igor Lozhkin
Data source is one of key data access components in the Arnica Platform. Data sources, once created, may be re-used by various entities (reports, forms, dynamic links, etc.). Modifications in a data source immediately affect all related entities, making changes easier to implement. Data sources in Arnica Platform are stored in the Arnica UnifiedLogon database. Data source properties may be accessed using a reference to data source from another Arnica application, a web service request, or using Arnica script.

How to effectively manage large number of users in web applications: user groups vs. application roles in Arnica UnifiedLogon

April 12, 2012 by Igor Lozhkin
In some systems user groups and application roles often mean the same thing and these terms may be used interchangeably, while in others they will have different purposes, especially in access control management. This article explains how user groups and application roles are used in Arnica UnifiedLogon.

Analyzing user activity in web applications: user session report in Arnica UnifiedLogon

March 7, 2012 by Igor Lozhkin
User activity analysis starts with analyzing user session properties. This article describes how to use user session report in the Arnica UnifiedLogon Administrator module to find a user session and analyze its properties.

New Light Structure style for Arnica Platform applications: administration template explained

January 8, 2012 by Igor Lozhkin
We call this new design template Light Structure as we try to shift the focus on the page from the various information delivery elements to the actual information and data. We made all supporting page composition elements - tables, buttons, borders, cells, group captions, banners, etc., "lighter", while data labels and action buttons stand out more and are more visible.

Inline charts (sparklines) in HTML reports

October 21, 2011 by Igor Lozhkin
The clean look and informativeness of inline report charts (also known as sparklines) are the main reasons for their popularity in HTML reporting. Implementation of an inline chart solution, however, is often a very code-intensive exercise. In this article I will demonstrate how inline charts may be implemented with only a few lines of code added to report cell definition.

Reports in HTML: using CSS to control presentation

October 14, 2011 by Igor Lozhkin
Arnica WebReport generates output using clean HTML code with CSS classes controlling presentation of virtually any of its atomic presentation elements: data table, prompt page, toolbar items, headers and footers, data groups, grand totals, dimension data output, etc. This article provides an overview of how CSS classes are used to control data table elements.

Report layout options: horizontal and vertical reports

October 12, 2011 by Igor Lozhkin
Traditional report layout assumes tabular presentation of data with horizontally positioned records (as rows) and vertically positioned columns. While this layout works well in most cases, more specialized data presentation scenario could require 90-degree-rotated presentation, when data records are positioned vertically, while data columns are presented horizontally (as table rows).

Reporting against data from multiple data sources

October 6, 2011 by Igor Lozhkin
Distributed nature of data is the reality of modern information systems. Customer information may be stored in one database, sales orders may be stored in another database, and product information may be accessed only via a REST web service. In this article, we review how a reporting tool can access data stored in different databases, files, or returned via web service calls, integrate results and present output as if all data were coming from a single table.

Interactive report charts with Arnica WebReport

September 28, 2011 by Igor Lozhkin
Powerful data processing and presentation features in Arnica WebReport are complemented by its charting capabilities, which allow using both WebReport's own embedded chart engine and various third-party charting components and services, e.g.: cloud-based Google Charts service, FusionCharts, etc. WebReport provides flexible chart design and integration environment, it also has an easy-to-use chart generation wizard, which helps implement fully integrated charts in minutes.

Reports and report sources - two tiers for better business intelligence solutions

September 19, 2011 by Igor Lozhkin
Arnica WebReport is based on layered architecture, which includes reports and report sources. Separating the two main parts of the report creation process, i.e. connection to database or any other data source and output presentation, helps create a foundation for easier report building and promotes design re-use.

External directory synchronization in identity management

September 12, 2011 by Igor Lozhkin
One of the main roles of an identity management system is to maintain and deliver user profile data. User profile data in contemporary web applications is responsible for not only storing basic user information but also for managing user preferences, application-specific user configuration, user operational data, and data acquired from various directories, which are considered a primary source of user data for a specific user set. As a realtime identity management system, Arnica UnifiedLogon allows scheduled synchronizing of multiple sets of users derived from various directories such as Microsoft Active Directory, standalone databases, flat files, etc. This blog article reviews how Arnica UnifiedLogon provisions connections to multiple external directories and manages both intrinsic user profile properties as well as user properties obtained from the external directories.

Drill-down to another report (column link)

September 8, 2011 by Igor Lozhkin
Ability to create hyperlinked values in report columns is an important feature of any reporting tool allowing to implement drill-down/drill-up solutions to either data details or aggregate data summaries as well as to other resources such as forms, charts, documents, etc. Arnica WebReport allows creating column hyperlinks with highly flexible integration logic, which may be specified at design time and executed on the server at runtime when user clicks on the hyperlinked value in a particular column.

Add dynamic content to web page using javascript (AJAX)

September 3, 2011 by Igor Lozhkin
Web page content is usually generated and assembled on the server side and then sent to user browser. Server side content processing allows enforcing various rules such as validation, authorization, personalization, etc. It is, however, possible to add dynamics to the content on the client side by acquiring additional or modifying existing content and re-integrating results with the page without server round trip. Below we show how this can be achieved.

Integrate reports in your web applications (ASP.NET, PHP, etc.)

August 22, 2011 by Igor Lozhkin
Arnica WebReport was designed for platform and language-neutral integration with virtually any web applications and components. Access to WebReport functionality is implemented via generic web request API (REST API). Reporting engine may be deployed on the same web server as the rest of web application components, or on a separate server - in any case, integration techniques remain the same. This blog article reviews several integration options, which may be used to make WebReport-generated output part of your web application.

Internet portals, Intranet portals - how do they work?

August 11, 2011 by Igor Lozhkin
Web portals are hot. They allow quickly building usable sites, composite applications, integrated views of data and content, etc. It is more fun putting together building blocks, rather than engaging in tedious development of individual content presentation components. Portals make it possible. But how do they actually work? Understanding how a web portal works helps to choose the right portal for the job and ensure that design inspiration is not going to be restricted by technology limitations.

Arnica EmailServer (enterprise mass-mailing) screenshots - main menu

August 8, 2011 by Igor Lozhkin
Arnica EmailServer is an enterprise-strength tool for automating both mass-emailing and single email processing tasks. Arnica EmailServer also provides functionality for performing either scheduled or on-demand download of incoming emails for multiple accounts and storing them in easy-to-access database tables through database APIs. All email queue, mass-mail and incoming email management is done through a web browser interface. Without getting into detailed description of any of EmailServer functionalities, this blog article shows screenshots of EmailServer administration main menu web pages.

Arnica UnifiedLogon (identity and user profile management) screenshots - main menu

August 6, 2011 by Igor Lozhkin
Arnica UnifiedLogon is an identity management system, which may be used as a foundation for implementing realtime user profile management solutions of virtually unlimited complexity. It provides a number of services such as access control, personalization and configuration, etc., and allows to implement single-point user log-on for access to multiple applications, all managed through a web browser. Arnica UnifiedLogon was designed as an extremely scalable system, and is perfectly suited for management of any number of users - from a dozen of local users at a small organization to thousands of users in a large enterprise, to millions of users at a public web site. Without getting into detailed description of any of UnifiedLogon's functionalities, this blog article shows screenshots of UnifiedLogon administration main menu web pages.

Create data-bound REST API with SQL query in one minute

August 4, 2011 by Igor Lozhkin
Generic web request API (REST API) is a standard de facto method used by contemporary components and applications to communicate with each other. Generic web request may be implemented using virtually any programming tool (.NET, PHP, Java, etc.); its language and platform neutrality ensures efficient interoperability between components created by different programmers and allows to integrate applications running in different server environments. This blog article shows how it is possible to create a fully functional data-bound REST API web service or component staying at the data-tier level programming in SQL.

Web-based business intelligence and reporting screenshots - part 2 (design)

July 29, 2011 by Igor Lozhkin
This blog article includes various screenshots generated by Arnica WebReport, a premier tools for web-based business intelligence and reporting. Arnica WebReport could be deployed within corporate intranet, public web site or as a software-as-a-service (SaaS), and provides web-based access to both report design and interactive output environments. This article focuses on the report design environment.

Web-based business intelligence and reporting screenshots - part 1 (output)

July 26, 2011 by Igor Lozhkin
This blog article includes various screenshots generated by Arnica WebReport, a premier tool for web-based business intelligence and reporting. Arnica WebReport may be deployed within a corporate intranet, public web site or as software-as-a-service (SaaS), and provides web-based access to both report design and interactive output environments. This article focuses on the interactive output, which displays data in HTML format with optional HTML5-based or Adobe Flash-based or image-based charts.

Data dimension items presentation in report output

July 20, 2011 by Igor Lozhkin
Data dimension item defines data category within the data set. For example when a sales statistics report is grouped by the City, report displays each city in a data group header with records for each city following below the header. Thus, each city (New York, Toronto, Boston, Montreal, etc.) represents a dimension item.

Conditional formatting in HTML reports

July 15, 2011 by Igor Lozhkin
Conditional formatting feature allows displaying parts of report data differently, depending on values in certain data columns and other criteria. In Arnica WebReport, conditional formatting can be performed by individual rows and by individual cells within the row. Arnica WebReport generates report output using strict tabular HTML formatting (using table-row-cell elements) and does not use any proprietary semantics to express style requirements, except standard inline CSS and HTML elements attribute string, which are well known to web designers. By applying simple expressions with evaluatable conditions, WebReport provides a convenient way to express dynamic style requirements of virtually unlimited complexity.

Google Chart and Visualization of Data

July 4, 2011 by Igor Lozhkin
It is a fact that charting is not really the primary purpose of a reporting engine. Report's main responsibility is to execute a query, get data, apply data filters, perform sorting, grouping, calculations and other data processing logic, and then display data in a chosen format such as table, form, string, etc. Charting is a nice add-on, and because it can be so impressive, we tend to associate it with the core reporting functionality. But it is not the same. When we humans talk about "data visualization", computers (if they could talk) would call it "data pixelization", which is definitely not the same as data processing provided by the reporting engine. So, what could reporting engine do to help implement effective and impressing data visualization? The answer is: generate data feeds. And let chart engine do the rest (i.e. consume the data feeds and generate great looking charts).

What Is User Profile? Why Is It Important? How To Implement It?

June 24, 2011 by Igor Lozhkin
Why is user profile so important? We can start with the simple scenario - to maintain generic user data such as first name, last name, contact information, demographics, location, etc. Ten years ago we could have stopped here. User profile was often nothing more than a side note in many IT projects.

How to Create Web-Based Business Intelligence or Analytical Dashboard

June 20, 2011 by Igor Lozhkin
Business intelligence dashboards, analytical dashboards, operational dashboards, product dashboards are increasingly gaining in popularity. They look great. They are useful. They are fun to develop. Which brings us to the question: what is the proper way to create a dashboard? Is "dashboard" a separate product, which we can buy off-the-shelf? Is it a feature of reporting software? Do we have to use other specialized tools to create it? In this blog article I share my opinion on what a dashboard is, what it does, and how to create it.

Large HTML-Based Reports - Performance Benchmarks

June 18, 2011 by Igor Lozhkin
Arnica WebReport is an excellent tool to create great looking HTML-based reports for any web applications: corporate Intranets, client and vendor access Extranets, or public web sites. It may be used in a standalone mode or integrated with Sharepoint, WebSphere, .NET or PHP apps, etc. It is easy to use and allows to quickly create simple reports, but at the same time it is flexible and feature-rich to allow creating more complex data presentation solutions and dashboards. However, one feature which has not been discussed as much is its speed. Arnica WebReport is capable of processing large numbers of records, breaking them into hundreds and thousands of pages within a few seconds providing users with the ability to quickly navigate through pages with sub-second responsiveness. This article documents the performance test results, which we recently conducted in our lab.

Charting and Data Visualization in HTML-Based Reports

June 7, 2011 by Igor Lozhkin
Reporting software is most frequently used to display data in a tabular format. Integrating charts with report output allows us to quickly get an idea of trends and relations before reading and analyzing data encapsulated in numerous rows and cells of the report table. "Data visualization" is the best way to describe the role of charts in report output. This article is about how we integrated charting in the Arnica WebReport product.

Intranet 3.0, Intranet 2.0, Intranet 1.0

May 29, 2011 by Igor Lozhkin
The magic number 3.0 is now assigned to something that is newer than new. While labeling something 2.0 still means the next new/big/better/exciting release/version/implementation, we all got so used to it that new is not really new anymore. Or rather, 2.0 may be new, but it lacks excitement, which adds that somewhat irrational feel of something special, deserving of extra attention and extra effort, and extra budget. Is it because innovation accelerates and ordinary new becomes just ordinary, so we have to devise an "extra-ordinary new" and upgrade it from 2.0 to 3.0?

What Makes an Application Web Portal System Friendly

May 15, 2011 by Igor Lozhkin
Contemporary web portal systems are designed to integrate output from multiple applications into solid web pages and present resulting cumulative output to the end user. Examples of applications which may feed their content to a web portal include static news releases, dynamic reports, web forms, collections of links, charts, soclal networking discussion threads, etc. Applications are likely developed without prior knowledge of whether or not they will be used in a standalone mode or integrated with other applications by one or another web portal system.

How to Start an Intranet Project

April 24, 2011 by Igor Lozhkin
Like most software projects, an intranet project starts with gathering and analyzing business requirements. However, because an intranet is not a standalone software but rather an integrated information delivery ecosystem for a particular company, it is quite important during this stage to formulate what is an anticipated primary purpose of the intranet to be built?

User Profile in Identity Management System

April 9, 2011 by Igor Lozhkin
One of the key feature if an identity management system is to maintain user profile and allow frequent changes to user profile structure. As business requirements are changing faster than ever and concurrent use of identity management system by multiple applications is growing, the way user profile is architected, maintained and exposed as a service to various applications becomes an important factor in contemporary web-based integration projects.

Link Management for Intranets

March 18, 2011 by Igor Lozhkin
At first glance, a link is one of the most basic implementation items on the intranet, extranet, or public site. Developers usually implement links with HTML anchor (<a>) element, specify its URL, visible label and style... and that is about it.

Virtual (Composite) Applications

March 8, 2011 by Igor Lozhkin
The concept of a software application has been in existence since the first software project. In simple terms, an application is a collection of certain functionalities put together for a particular use.

80-20 Rule in Intranet Projects

February 21, 2011 by Igor Lozhkin
This is a very short article. It describes a simple rule which we use for projects for our clients as well as for our internal projects. We use it to determine the scope of work which will be included in any given "project".

Private Clouds and the Intranet

January 18, 2011 by Igor Lozhkin
Private cloud computing model has recently become one of the most used buzzwords in the IT industry. Many new products and technologies are positioned to power private clouds, however its definition remains broad, which is probably a fair attribute for a new computing model.