Arnica WebScript - data struct conventions for nano services
April 15, 2019 by Igor Lozhkin
Programming using multiple languages in the same API container brings great convenience and flexibility. Following simple data exchange conventions mentioned in this article makes it future proof and avoids possible inter-operability issues.
Arnica Web SQL Filter
January 7, 2019 by Igor Lozhkin
Web APIs often have to pass complex filter expressions, which are then applied by the server against SQL-compliant databases. Arnica platform uses Web SQL Filter standard to create such expressions in abstract form, which may then be used to reconstruct SQL WHERE clauses for specific databases
Programming languages support in Arnica WebScript
April 13, 2018 by Igor Lozhkin
One the major strengths of Arnica WebScript is that it enables you to create programming scripts written in different languages. Scripts in the same API container may invoke each other, exchange data, and co-exist in the same execution workflow.
API Graph in WebScript
February 2, 2018 by Igor Lozhkin
Typical APIs created with Arnica WebScript include multiple scripts within a script (API) container. Individual scripts are usually specialized code blocks, written in different languages, which implement specific functionalities needed by the API. This article demonstrates how a script graph may be used to analyze dependencies.
Optimizing timeouts in Arnica Web Platform applications
October 30, 2017 by Igor Lozhkin
This article describes configuration options which may be used to control timeout settings in web applications. Although the default timeout setting may often work well, sometimes configuration properties may need to be adjusted to achieve more stable application performance.
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.
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.
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.
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.