Showing posts with label Reporting4Act!. Show all posts
Showing posts with label Reporting4Act!. Show all posts

Thursday, July 30, 2026

Reporting4ACT! Version 8.6

We are pleased to announce the release of version 8.6 of Reporting4Act!. There are several new features in this version.
  • The new Display as Tooltip setting allows point labels for charts to be displayed when you hover the mouse over a data point rather than all the time. This is handy for charts with a lot of data points or where point labels would otherwise overlap if always displayed.

  • You can now output each group to separate tabs rather than separate files when outputting to Excel data format.

  • The application now supports large data files and queries that result in more than 2 GB of data.

  • You can now roll in one report at a time rather than a set of reports in a dashboard.

  • Gauges now have a header so they can show the report name and filter conditions.

  • You can now specify that a custom SQL statement is sent directly to the database engine as is rather than being processed by the reporting engine first by prefixing the SQL statement with *=. This is necessary for some complex custom SQL statement that the reporting engine may parse incorrectly.

  • The new Maintenance Utility provides functions to clean up the reports table, reset the ADMIN password, contact the activation server to refresh licenses, and fix security issues that could cause some users to not have access to some reports.

  • You can now specify ACTION=REFRESH on the command line to contact the activation server to refresh licenses.

  • Act 26 is now supported.


Monday, December 1, 2025

Reporting4ACT! Version 8.5

Stonefield Software is pleased to announce the release of version 8.5 of Reporting4ACT! There are several new features in this version.

  • A new report type, Tiled Dashboard, is now available.

  • The new Edit button in step 2 of the Dashboard Wizard allows you to edit the selected report included in the dashboard.

  • Dashboards now have a toolbar with buttons to pause/restart refreshing or move to the previous or next set of reports.

  • Dashboards no longer display a blank cell while a report is being refreshed.

  • You can now add a watermark to a report when you print or output to PDF.

  • The new Include Totals output setting determines whether totals are included in Microsoft Excel data format documents.

  • The Use Saved Email Settings option in the Schedule Report Wizard allows you to specify whether or not to use saved email settings.

  • The Advanced Diagnostics setting in the Options dialog creates additional diagnostic files helpful for tracking down certain types of issues.

  • The Other Data Sources dialog now has a Refresh button.

  • Charts no longer show point labels for 0 values.

  • The Commonly Used functions list in the Expression Builder and the list of function when you choose Is as the operator for a filter now both have fiscal year functions.

  • You can now ignore certain filter conditions when scheduling a report.

  • Act 26 is now supported.

Friday, December 8, 2023

Reporting4ACT! Version 8.3


Stonefield Software is pleased to announce the release of version 8.3 of Reporting4ACT! There are several new features in this version.

  • You can now specify additional files to attach to an email in addition to the file for the report.

  • Cross-tab reports now support Highest and Lowest total types for date and datetime fields in the Data area.

  • You can now specify the horizontal orientation—left, right, or center, with center being the default—for a chart included in a quick or cross-tab report.

  • If you add another data source using the Other Data Sources dialog and that data source isn't available (for example, the other data source is a Microsoft Excel document located on someone's local drive), you no longer get an error message and Reporting4Act! will still start up.

  • You can now specify that a table added in the Other Data Sources dialog is non-reportable.

  • There are several DataGrid enhancements:

    • The new Options dialog allows you to turn on "zebra stripes" (alternate row coloring) and specify what the alternate color is, display zero as blank, display a "splitter" between the grid and any text box for memo fields, auto-fit the grid to the column widths when the form opens, and select the font and size for the grid.
    • The mouse pointer displays as an up arrow (sort ascending), down arrow (sort descending), or "no" symbol (column cannot be sorted) when it's over a column header.
    • Logical (yes/no) fields now display as check boxes.
  • You can now choose to not display a row field in a cross-tab report by setting its width to 0.

  • The recipient of an emailed report is now logged to the diagnostic file.

  • The tool tip for a field in step 2 or 3 of the report wizards now displays if a dynamic color or style is used for the field.

  • Act 25 (2023) is now supported.

  • The new CopyText function puts the specified value on the Windows Clipboard.

  • If Reporting4ACT cannot locate the ACT! installation folder for some reason, you can specify it using the ActFolder setting in the [Options] section of Data.ini.

Friday, September 30, 2022

Reporting4ACT! Version 8.2

We are pleased to announce the release of version 8.2 of Reporting4ACT!. This is mainly a maintenance release but there are a few new features.

  • Stonefield Query now supports Modern Authentication for email.
  • You can now indicate that a stored filter is available for all reports or just the current report.
  • More Avery label types are now supported.
  • Diagnostic files more than 30 days old are now automatically deleted.
  • Spreadsheet output was removed since it was almost never used and is superceded by new Microsoft Excel output formats.
  • Choosing the new Yes to All option when importing multiple reports means you won't be prompted for each one whether it should overwrite the existing report.

Thursday, January 20, 2022

Reporting4ACT! Version 8.1

We are pleased to announce the release of version 8.1 of Reporting4ACT! There are several new features in this version.

  • The new Data Grid button in the ribbon and toolbar output a report to a data grid window.

  • Everywhere a password can be entered, such as the login dialog or the Email page of the Options dialog, now has a "show password" button that toggles whether the password is shown as plain text or "*****" (it's always stored encrypted regardless of the setting of that button).

  • You can now control what folder scheduled tasks are placed in rather than always being in the "root" folder in the Task Scheduler.

  • The Test Syntax button in the Customize SQL Statement step of the Customize Report Wizard now tests whether the SQL statement works with the database engine you're connected to; previously, it only tested whether it was valid in Reporting4Act!.

  • If Shutdown.txt exists at startup (created either by checking for updates or clicking the Shutdown button in the Displayed Logged in Users dialog), you are now prompted whether maintenance has been completed and if you respond yes, that file is deleted and startup continues.

Friday, October 22, 2021

Reporting4Act! Version 8.0.7947

We are pleased to announce the release of version 8.0.7947 of Reporting4Act!. The main purpose of this release is to add compatibility with the new Act! v24. The new features in this version are:

  • Reporting4Act! is now compatible with Act! v24.

  • An issue causing some report output layouts to be distorted was resolved.

All new features and improvements from the initial version 8.0 release are also included in 8.0.7947.

Wednesday, March 17, 2021

Reporting4Act! Version 7.6.7743

We are pleased to announce the release of version 7.6.7743 of Reporting4Act!. This is a small maintenance release. Its main purpose is to add compatibility with Act! v23. Here are the new changes:

  • Reporting4Act! is now compatible with Act! v23.

  • An issue causing formatting codes to be displayed incorrectly in the Contact Related Contacts Details field was corrected.

This release also includes all the new features from the previous version 7.6 release.

Wednesday, February 17, 2021

Reporting4Act! Version 7.6

We are pleased to announce the release of version 7.6 of Reporting4Act!. Here are the new features.

  • You can add a new data source to report on, such as another database or a Microsoft Excel document. Note: you have to be an Administrative user with an Ultimate license to use this feature.

  • Related to the previous item, if there is no relationship between the tables used in a report when you add a field in step 2 of the report wizard, you are now prompted to create one rather than just being given a warning.

  • You can now visually see the relationships for the tables in a SQL statement by clicking the View button in the Customize SQL Statement step of the Customize Wizard.

  • If the new Overwrite Reports Catalog with Server Version setting in the Locations page of the Options dialog is turned on, workstations and the server contain the exact same set of reports; at startup, the workstation's reports are overwritten with those on the server. With this setting turned off (and the way it worked before this version), it's possible for the workstation to have more reports than the server since syncing is from the server to the workstation and not vice versa.

  • You can now prevent a user running a report from ignoring an ask-at-runtime filter condition.

  • The new functions AddDocumentToActContact, AddDocumentToActCompany, and AddDocumentToActGroup allow you to attach a file to the Documents tab in Act!. The new Add Document To Act Example sample report demonstrates the use of these functions.

  • The Reports Explorer now shows how long the last run of a report took. This is also available in Usage Reporting.

  • You can now force all users to log out by choosing Display Logged in Users from the Tools menu and clicking the Shutdown button. Users have three minutes to finish what they're doing and exit the program or it is terminated. This is handy if you need to install a new version or perform some maintenance that requires all users to be out of the program.

  • You can now use Microsoft SQL Server or some other database to host Stonefield Query's data tables, such as Users and Reports, rather than them being DBF files on disk.

  • You no longer get a warning message if the Everyone group doesn't have any data sources selected in the Maintain Users and Groups dialog. That allows you to turn off all data sources for all users and then turn it on group by group.

  • By default, the Login dialog displays the name of the last user who logged in. You can prevent that by adding AutoLoginName=N to Data.ini.

  • Previously, the Login dialog showed a list of data sources available to the system, whether the user who logs in can access them or not. Now, it doesn't display any data sources until the user name is entered and then only shows the data sources that user can access.

  • The Logged In Users menu item is now only available for Administrator users.

  • You can now specify whether you want to support newer email protocols or not (some mail servers require it) in the Options dialog. You can also now turn on email logging, which is helpful if emails cannot be sent for some reason. You can also determine which of several SSL/TLS settings should be used rather than just on or off.

  • You can now customize the subtotals line in the group footer of a report using a template.

  • The new SpelledOut function spells out a numeric value. For example, SpelledOut(5.25) returns "Five dollars and 25 cents".

  • You can now specify whether a cross-tab report with a page field has column totals or not.

  • A message is now displayed if login fails.

  • The Windows account a scheduled report runs under no longer has to have run the application to specify email settings. Instead, the email settings for the user who scheduled the report are used.

  • The image in the Sample page of the Reports Explorer is now scrollable.

  • You can now access our Customer Portal from an item in the Help menu.

Tuesday, June 23, 2020

Reporting4Act! Version 7.5.7455 Released

We are pleased to announce the release of version 7.5.7455 of Reporting4Act!. This is a small maintenance release. Its main purpose is to add compatibility with Act! v22.1. This release includes all the new features from the earlier version 7.5 release.

Tuesday, May 26, 2020

Reporting4Act! Version 7.5 Released

We are pleased to announce the release of version 7.5 of Reporting4Act!. Here are the new features.
  • Clicking a data point in a chart in a dashboard may now refresh other charts in the dashboard. This allows you, for example, to have a chart showing sales by year and another chart showing sales by month in a specific year. Clicking a year in the first chart changes the year used in the second one.
  • Related to the previous feature, you can have a chart in a dashboard automatically cycle through its X-axis values as filter values for other reports in the dashboard.
  • You can now specify that a chart included in a quick or cross-tab report should appear on its own page.
  • Charts now show "(None)" instead of a blank series.
  • The Output each group as a separate file option for outputting to file or email is now supported for chart reports.
  • The paging control in a chart now only appears if there's more than one page of data points.
  • Column heading objects no longer appear on the last page of a report containing a chart at the bottom.
  • Negative numbers formatted to display with parentheses are now right-justified on the last numeric position rather than on the closing parenthesis.
  • You can now specify vertical alignment for objects—top, middle, or bottom—in the Advanced Report Designer.
  • Reporting4Act! is now better able to handle certain issues with the Act! data provider.
  • The list of available Act! databases is now always shown in alphabetical order.
  • Reporting4Act! now detects when certain sets of incompatible tables are added to a report, and displays a warning in that case.
  • Handling for HTML and RTF formatted text in details fields was improved.
  • Microsoft Excel documents created by outputting a report using Excel Data-Only (Fast) output now support the desired font and size for each column and display fields formatted as % properly.
  • Tooltips are now supported. You can specify the tooltip for a field in the Properties dialog and that tooltip appears when you hover the mouse over a value for that field in the Preview window, in a PDF file, and in a HTML file.
  • You can now enter comments for a folder when you create or edit it and the comments are shown on the Information page of the Reports Explorer.
  • The default value for the Weeks starts on setting in the Options dialog is now the same as your Windows Regional Settings.
  • You can now report on several fields in the reports table, including Comments, Created By, and Created At, in the usage reporting module.
  • Preview functionality in the Advanced Report Designer that was removed in version 7.2 was restored.
  • The default for the Display grid lines setting is now turned on.
  • Cross-tab reports output to Excel Data-Only (Fast) now handle numeric row fields as numeric and don't include subtotals.
  • You can now optionally sum a numeric field in the row of a cross-tab report.
  • You can now specify a list of values for the user to choose from in the GetValuesForParameter function.
  • You can now create and populate a ValuesCollection object using the new ValuesCollection function.
  • Emailing using SMTP now handles email servers that use a newer protocol for SSL.

Wednesday, November 20, 2019

Reporting4Act! Version 7.4

Note that as of version 7.0, Stonefield Query for Act! is now known as Reporting4Act! - Powered by Stonefield Query.

We are pleased to announce the release of version 7.4 of Reporting4Act!. Here are the new features.

  • Reporting4Act! is now compatible with the new Act! v22.

  • Reporting4Act! now offers to check for an updated version if no compatible Act! installation is found. This helps to handle the situation where Act! has been updated to a new version and Reporting4Act! has not.

  • The conversion process for updating reports created with the older Act! data provider now updates the report's advanced layout, if one exists.

  • There's a new option when emailing a report: Embed report in email. Turn this on to include the report as HTML in the body of the email.

  • There's a new output type: Microsoft Word Merge to a PDF file.

  • Output to Microsoft Excel Full Format (XLSX file) and Microsoft Word (DOCX file) is now supported from a scheduled task since those formats no longer need the application (Excel or Word) to be installed on the system and run during output.

  • Output to HTML is now supported when emailing.

  • Users who have the Advanced setting turned off can no longer view snapshots for report runs nor turn that setting on in the Options dialog.

  • Grouping formulas that contain ask-at-runtime filter conditions now put the values of those conditions into the Parameters collection of the report object so they can be used if necessary, such as in a report header.

  • You can now change the Data Provider or table for an existing formula when you edit it from the Formulas dialog. You still can't change those when you edit the formula from step 2 of the report wizards.

  • If you want to manually create the result set for a report in the AfterData script of the report, enter "*:" for the SQL statement in the Customize Report Wizard to indicate that Stonefield Query should not retrieve any data itself.

  • You can now pass a single default value rather than a collection of values as the default parameter for the GetValueForParameter and GetValueForField functions if you aren't using the between or is one of operators.

  • The Check for Updates function now works with our recently changed web server.

  • A better message is displayed if testing the email settings in the Options dialog fails.

  • <img> tags are now supported in HTML content when the Display as setting in the Field Properties dialog is set to "Formatted HTML".

  • There have been several minor improvements to the documentation.

Wednesday, July 10, 2019

Reporting4Act! Version 7.3

Note that as of version 7.0, Stonefield Query for Act! is now known as Reporting4Act! - Powered by Stonefield Query.

We are pleased to announce the release of version 7.3 of Reporting4Act!. Here are the new features.

  • New "Associated With (Full List)" fields were added to the Act! 2010+ opportunity tables.

  • A new Quoting4Act! sample report was added. This report can only be run against a database which has been set up for use with the Quoting4Act! add-on.

  • Several new items are now displayed in the About Reporting4Act! screen.

  • Cross-tab reports have a new engine that is significantly faster and more flexible than the older engine. New cross-tab reports default to using the new engine while existing reports use the older engine. You can change which engine a specific report uses with the Use older engine setting in step 5 of the Cross-Tabulation Wizard.

  • You can now specify that the chart included in a quick or cross-tab report appears at the end of each group (page field in the case of a cross-tab report), showing just the data for that group, rather than at the end of the report. The Display chart after each group setting in the Other page in step 2 of the Chart Wizard controls that.

  • Cross-tab reports now have an Auto-fit to page setting that if turned on causes columns to be spaced across the page if necessary.

  • The new Display totals page setting in step 5 of the Cross-Tabulation Wizard allows you to specify whether a totals page appears at the end of the report or not when the report has a page field.

  • Turning on the new No summary at the first grouping level setting in the Format page of the Field Properties dialog for a quick report allows you to have a summed parent field in the detail band that only shows the parent value in the group footer but the sum in higher level groups and the report summary band. For example, suppose you have a report that's grouped by Customer Name (from the Customer table) first then by Invoice Number (from the Invoice Header table) and includes Quantity Ordered, Extended Price (both of those from the Invoice Details table), and Freight (from the Invoice Header table). If you sum on Freight, the total in the group break for each invoice will be too high because it sums Freight (which is a field in Invoice Header, which is the parent table for Invoice Details) for each detail record. Turning this setting on for Freight tells the report to not include the sum for Freight in the group footer for Invoice Number but do include it in the group footer for Customer Name and to only sum up at that level.

  • If you turn on the new Use "Other" for non-top records setting in the Customize Report Wizard, records outside the top values are combined into a single "Other" value. For example, if you turn on Select only top, choose 10 for the number of records, and turn on Use "Other" for non-top records, rather than displaying only the top 10 records, the report shows the top 10 plus an Other record with all other records combined.

  • Formulas are no longer automatically tested for correctness; you are prompted whether you want the expression tested or not. It might be useful to choose No if the expression takes a long time to evaluate.

  • Formulas using complex SQL expressions are now better supported.

  • You can now schedule a report on the last day of the month.

  • You can now specify which database to use when scheduling a report.

  • The Reports Explorer now shows on the Information page the number of reports and folders contained in a folder when you select that folder.

  • Turning off the new Check for new or modified report files at startup setting in the Options dialog speeds up startup performance.

  • You can now specify the increment and minimum/maximum values for the right-axis when two data fields are used in a chart.

  • The Continue running reports if cannot connect or one report fails setting now applies to all users.

  • Fields with Show percentage of total turned on now show "100%" in the summary band.

  • The On Order PO field in the Inventory Master File table now uses the Qty on Order in Purchase Orders in the Item at Location table to do its calculation rather than getting it from the PO Transaction table.

  • The relationships between the Customer Master File and the Ship To Address, Customer Ship To Address File, Ship To Address History File, and Ship To Address File (Current + History) tables, both in Accounts Receivable and Order Entry, were removed or else it doesn't join to the Current Invoice Master File or Order Entry Master File tables properly if both are in the report.

Tuesday, May 21, 2019

Reporting4Act! version 7.2.7003

Note that as of version 7.0, Stonefield Query for Act! is now known as Reporting4Act! - Powered by Stonefield Query.

We are pleased to announce the release of version 7.2.7003 of Reporting4Act!. This release adds compatibility with the new Act! v21.1, and also includes all the previous version 7.2 features.

Thursday, May 3, 2018

Reporting4Act! Version 7.0.6696

Note that as of version 7.0, Stonefield Query for Act! is now known as Reporting4Act! - Powered by Stonefield Query.

We are pleased to announce the release of version 7.0.6696 of Reporting4Act!. This release includes all the previous version 7.0 features, including compatibility with Act! version 20.1. There are lots of new features on the list.

Version 7.0.6696

  • A new Displaying Rich Text sample report was added, demonstrating how formatted text can be included in report output.

  • Several "Details" and "Note" field captions have been updated to "Details (Text Only)" and "Note (Text Only)", to clarify their behavior as compared to the existing "Details (With Formatting)" and "Note (With Formatting)" fields.

  • Several documentation topics have been updated.

Version 7.0.6687

  • Several new sample reports have been added, and all sample reports using the Act! 2010+ data provider have been refreshed.

  • A new "My Record Header" template has been added, demonstrating how to include your My Record information in a report layout.

  • A utility for rebuilding the Act! database views (KQCRebuildOLEDB.exe) is now distributed in the Utilities folder.

  • "Multi" fields for reporting on Act! multi-select picklist fields are now supported for Act! custom tables.

  • Several items involving direct communication with Act! through a plugin now run more quickly than they did previously.

  • You can now create a stacked chart when there is no series field but there is more than one value field.

  • You can use the new built-in variable ChartTotal to display the total of a chart, such as in the title of the chart.

  • A new type of formatting is available for date fields: Day, which displays Sunday, Monday, Tuesday, etc.

  • When you compare a field to another field in the Filter Condition dialog, the drop-down list of fields to compare to now includes fields from other tables in the report, not just the ones from the selected table.

  • You can now drill down from a report using an aggregate date (such as Month/Year) to one using a filter on a date range.

  • You can no longer sort a chart by values if there's more than one values field or if there's a series field because the chart doesn't support sorting on more than one set of values so the sets don't match with the x-axis.

  • The Format function can now use < and > as delimiters for placeholders in addition to { and }. This allows it to be used in expressions, which use { and } as the expression delimiters; for example, {Format('<0:c2>', MyValue)} works but {Format('{0:c2}', MyValue)} doesn't because of the confusion of the two uses of { and }.

  • The default Add Missing Values setting for date fields in a chart is now turned off.

  • You can now include commas in values passed to filter conditions in a parameters file by escaping them (prefixing them with a backslash); for example, <value value="My Company\, LLC"</value>.

  • Cross-tab reports now use weighed averages rather than average of averages when Average is used for a data field.

Version 7.0

  • Multiple license types are now available. This allows you to decide what set of features you would like to have.

  • You can now evenly spread the columns across the page in a quick report by turning on the Auto-fit to Page setting. This setting adds extra space between the columns so the fields take up the entire width of the page.

  • You can now sort a cross-tab report by a data field. This can be used to, for example, show customer sales by country and product with the largest customers (by sales) at the top and smallest at the bottom.

  • You can now specify the number of columns to display in a dashboard. If the total number of cells (rows multiplied by columns) is less than the number of reports, the reports are cycled through in sets at the specified interval. For example, if you specify two rows and two columns, only four reports can be displayed at a time, so if the dashboard contains six reports, the first four are displayed, then the next two, then the first four again. The interval is now in seconds rather than minutes. Also, you can now add more than 9 reports to a dashboard.

  • You can now specify the minimum and maximum values for a gauge. The goal value is now optionally shown as a goal marker on the gauge.

  • Fields containing HTML and rich text (RTF) content can now be displayed as formatted text.

  • The performance of outputting a report with a large number of records (tens of thousands) to Microsoft Excel Data-Only (Fast) was greatly improved (90% faster) and produces smaller XLSX files.

  • You can now format a field to display negative numbers in parentheses rather than with a minus sign (for example, (123.45) instead of -123.45).

  • You can now specify the title settings for the right axis in a chart that has a field plotted on the right axis.

  • The Select Values dialog, which appears when you click the Values button in the Filter Condition dialog or the Expression Builder, now has a Search option so you can search for values.

  • The value for a filter condition can now be used in the custom description of the condition.

  • The Preview window has new zoom levels: 1000%, 800%, and 500%.

  • Expression builder buttons are now available for the header and footer of a report and for the subject and message of an email, making it easier to enter expressions for these things.

  • The GetValueForField and GetValueForParameter functions now accept a parameter indicating which value for "is between" and "is one of" conditions is returned.

  • You can no longer schedule a report to output to any Microsoft Excel format other than Microsoft Excel Data Only (Fast) or any Microsoft Word format because the other formats require running Excel or Word behind the scenes and they cannot be reliably run from a scheduled task as Microsoft themselves admit.

Thursday, March 15, 2018

Stonefield Query for Act! Becomes Reporting4Act!

Stonefield Software is pleased to announce a deal with Keystroke Quality Computing: effective March 15, 2018, Keystroke is the exclusive worldwide distributor of our Act! reporting solution. “Stonefield Query for Act!” has been rebranded to “Reporting4Act! - Powered by Stonefield Query” and is available in three new tiers: Pro, Premium, and Ultimate, designed to fit all budgets. All tiers of Reporting4Act! include hundreds of built-in Act! reporting templates and support the custom tables in the new Act! Premium Plus 20.1 right out of the box.

This partnership combines the distribution reach of the world’s #1 Act! Reseller with the technology of the best Act! reporting software on the market, and completes Keystroke’s suite of CRM add-on products including reporting, database design, and workflow automation. For more details, see Keystroke's blog post.

Here are answers to some common questions about this deal.

What happens to my Stonefield Query for Act!?

Nothing: you can continue to use it as you did before. When you upgrade to a new version, you’ll be upgrading to Reporting4Act!, as it replaces Stonefield Query for Act!. Speaking of which, you’ll want to upgrade to version 7.0, because it adds a lot of new features, including support for custom tables added in Act Premium Plus version 20.1 and later.

How does support work?

The same as it did before: Stonefield Software continues to provide support for both Stonefield Query for Act! and Reporting4Act!. You continue to request support by creating a support ticket on our web site.

How does software maintenance work?

If you purchased Stonefield Query for Act! from Stonefield Software, we will contact you when your software maintenance is due for renewal as we did before. If you purchased Reporting4Act! from Keystroke, they will contact you. Software maintenance works the same regardless who you purchase it from: you continue to receive updates, technical support, and use of subscription licenses as long as your software maintenance is current.

Why did Stonefield do this?

Keystroke is a world-renowned Act! reseller with a much bigger global reach than Stonefield. They also have a larger marketing and sales team. As a result, they can reach more resellers and end-users than Stonefield could ever hope to. We feel that this partnership makes both companies better and allows us to put our reporting solution into the hands of more people than ever.