Simplification of Hook’s Software Update Functions
Build 2222 Hook of Version 1.0-beta (2019-04-10) simplifies Hook’s software update user interface.
Not only does Hook contain scripts for communicating with other apps, it exposes those scripts to Pro users in a Script Editor. Moreover, Hook can automatically update its scripts by communicating with the Hook Integration Script Server. Whenever we add support for a new app, or improve support for an existing app, we update the Hook Integration Script Server. This allows us to rapidly deploy updates to Hook that users can easily enjoy; i.e, users need not download, update and relaunch the entire Hook application. Because of this mechanism, we don’t always immediately release a new update to Hook itself when we add support for a new script.
The previous implementation of this feature (before build 2222), however, displayed a bit too much complexity to the user regarding updates. Users could update Hook on two different Preferences tabs (the Script Editor tab and the Software Update tab), each for its own purpose. This meant users needed to ask themselves, “which type of update should I trigger?” We’ve simplified the user interface for updates users, while providing the same sophistication “under the hood”.
Simplifications introduced in build 2222 ( 2019-04-10)
We have simplified Hook’s update functionality, by consolidating all update commands on one tab in the Preference window—the Update tab. We have also removed the option to only update scripts. In particular:
- We have removed the “Update now” button from the Script Editor tab in the Preferences window.
- The “Software Update” tab in the Preferences window has been renamed to “Update”.
- Checking for updates (whether automatically or manually) now also automatically installs script updates, if there are any.
- The explanatory label on the Update tab spells the above out.
- That label also contains a convenient link back to the Script Editor tab.
- We have also added a label to the Update tab that indicates when Hook last checked for updates.
- The Update tab now also includes: The Hook app version and build. It also includes version number of the Scripts.
If you so choose, you can still exercise complete control over the timing of communication with the Hook Integration Script Server by disabling automatic updates. (We recommend enabling automatic updates, however.)
The rest of this web page is just additional background about scripts. It does not indicate changes.
Who needs to know about scripts?
The vast majority of users do not even need to know about Hook’s scripts. However, if you want to develop new scripts for Hook, or adjust how Hook interacts with a particular app, you can manipulate these scripts if you have a Pro license (or the beta version of Hook). Your changes will only affect your instance of Hook (not other users’).
Only CogSci Apps can manipulate the scripts on the Hook Integration Script Server. (Hook only reads to the server, it never writes to it.) However, if you would like to contribute scripts to Hook for others to use, please post them in the “Share your scripts” section of the Hook forum; or email them to firstname.lastname@example.org. If you are a third-party app developer who is developing scripts for integration with Hook, please also feel free to send them to us. We’ll need a trial license of your app to test the scripts.
Hook updates will not override your scripts
If you are editing a script, don’t worry: neither automatic updates to scripts nor pressing the “Update Now” button will override your changes. However, if you have edited a script and decide you want to revert to the version provided by CogSci Apps, just delete the custom script from the Script Editor tab (using the “-” button). Hook will automatically restore the most recent built-in script. If a new script was added by CogSci Apps in the interim, it will automatically be downloaded and installed.
You can still easily tell which script(s) if any you have updated. That’s because when you update a script, Hook adds an asterisk (
*) to the right of its name.
For more information, please see Hook Integration.