Tobi User Manual
User interface walkthrough
Tobi has been designed with keyboard users in mind. This not only includes screen reader users (i.e. persons with visual impairments) but also advanced users who work faster with shortcuts and TAB/ARROW keys navigation rather than with a mouse/trackpad pointing device. Keyboard shortcuts are customizable using a special editor in the application preferences dialog. Every application command is available in the main menu bar, where keyboard shortcuts are clearly labeled. Some commands also have a dedicated icon/button in one of the application's toolbars.
Note: the description of Tobi's user interface (in the sections below) follows the order in which elements are encountered when exploring the interface using TAB navigation.
General keyboard shortcuts
- CTRL O open a Tobi project (XUK XML file), or import a DTBOOK XML file, or a full-text full-audio DAISY Digital Talking Book
- SHIFT CTRL O display the "recent files" dialog
- CTRL S save the current project
- SHIFT CTRL S save the current project to a different file path
- CTRL E export the current project to a DAISY Digital Talking Book
- CTRL Q close the current project
- ALT F4 exit the application
Magnification keyboard shortcuts
- CTRL [minus] decrease magnification level
- CTRL [plus] increase magnification level
- SHIFT CTRL [minus] reset magnification level to 1x
Focus keyboard shortcuts
- F4 focus on status bar
- F6 focus on document structure trail
- F7 focus on audio waveform editor
- F8 focus on navigation pane (which contains several tabs, for headings, place markers and page numbers)
- F9 focus on main icon command toolbar
- F10 focus on text document view
Search keyboard shortcuts
- CTRL F invoke the contextual search box
- F3 search next
- SHIFT F3 search previous
- ESC close the contextual search box
Preferences keyboard shortcuts
- CTRL ALT F1 open the user settings dialog
Audio edit keyboard shortcuts
- CTRL C copy selected audio to clipboard
- CTRL X cut selected audio to clipboard
- CTRL V paste clipboard into current audio waveform
- DELETE delete selected audio
- CTRL I import external audio file
- CTRL G generate TTS audio for selected document fragment
- CTRL RETURN split audio at cursor and shift the remainder audio into the following text fragment in the document
Audio recording keyboard shortcuts
- CTRL M start/stop monitoring
- CTRL R start/stop recording (CTRL SHIFT R to stop-and-continue recording the next phrase)
- ESC cancel recording
Audio playback keyboard shortcuts
- SPACE start/stop playback
- SHIFT CTRL ALT SPACE toggle autoplay
- SHIFT CTRL SPACE play preview before
- CTRL SPACE play preview after
- CTRL UP increase playback rate
- CTRL DOWN decrease playback rate
- CTRL 0 reset playback rate
- ESC stops playback
Audio navigation keyboard shortcuts
- HOME goto begin of audio waveform
- END goto end of audio waveform
- CTRL ALT LEFT move to previous phrase in the audio waveform
- CTRL ALT RIGHT move to next phrase in the audio waveform
- CTRL LEFT step left by a predefined time increment
- CTRL RIGHT step right by a predefined time increment
Audio selection keyboard shortcuts
- CTRL A select all audio in waveform (double and triple CLICKs also work)
- CTRL D clear selection
- SHIFT ALT LEFT select all content on left of playback cursor
- SHIFT ALT RIGHT select all content on right of playback cursor
- SHIFT CTRL ALT LEFT select next audio phrase in waveform
- SHIFT CTRL ALT RIGHT select previous audio phrase in waveform
- CTRL [ begin selection at playback cursor
- CTRL ] end selection at playback cursor (SHIFT CLICK also works)
Audio waveform keyboard shortcuts
- CTRL W fit audio waveform content into available width
- SHIFT CTRL W zoom on selected audio
- ESC interrupts audio loading
Text keyboard shortcuts
- CTRL T switch the text view between full and simple (text-only) modes
- SHIFT CTRL T edit text of selected document phrase (ALT+CLICK on text view also works)
- CTRL K toggle place mark
- CTRL , select previous document phrase
- CTRL . select next document phrase
- SHIFT CTRL , expand selection to parent markup element in document
- SHIFT CTRL . narrow selection to child markup element in document
- ENTER when activated on noteref or annoref links in the document, go to corresponding note or annotation target, respectively (CTRL+CLICK also works)
- ESC when activated on note or annotation elements in the document, go back to corresponding noteref or annoref links
Validation keyboard shortcuts
- F12 open the validation dialog
Metadata keyboard shortcuts
- F11 open the metadata editor
Cleanup keyboard shortcuts
- SHIFT CTRL ALT D invoke the cleanup command
Undo redo keyboard shortcuts
- CTRL Z undo
- CTRL Y redo
Tobi's user interface is based on WPF (UI-Automation) and has been designed to function well with screen readers. Tobi has been successfully tested with JAWS (version 9 minimum required), NVDA (which is free and open-source) and Windows' built-in Narrator. Window-Eyes currently doesn't support WPF.
The user interface includes its own magnification feature, which, unlike external zooming functionality (e.g. from the operating system), makes use of vector graphics to preserve the crispness of icons, of UI controls, and even of the audio waveform display. Partially-sighted users may find that Tobi's built-in zoom offers better visual comfort than third-party magnification software. The (CTRL +) (CTRL -) and (SHIFT CTRL -) shortcuts can be used to quickly change the magnification level, and as always, the commands can be invoked in the menu bar.
The window size, position and full-screen state are restored each time Tobi starts. The visibility of icon toolbars can be toggled on or off, and the state of the user interface layout is saved in application settings so that it can be restored too. Defaults values can easily be reset using the editor dialog for application preferences.
The user interface is divided into 3 large main areas separated by dividers that can be moved horizontally or vertically to resize the panes accordingly. The dividers become highlighted when the cursor of the pointing device moves over them, so they are easy to locate and drag across. They do not receive keyboard focus and therefore cannot be moved using the ARROW keys. Please note that the position of the dividers is not saved in application preferences.
Button toolbars consume screen real estate, and as a result some users prefer not to display them. Just like dividers, togglers get highlighted when the cursor moves over them, and clicking on them results in expanding or collapsing the entire toolbar. Unlike dividers, this feature is also available to keyboard users, and as such the enter or space keys can be used to toggle the visual state. When collapsed, a toolbar becomes hidden (i.e. out of sight) and its contents cannot be reached anymore when navigating with the keyboard TAB or ARROW keys (i.e. this results in less user interface clutter for screen reader users). The collapsed/expanded state of the toolbars gets saved in application preferences.
Most of the user interface is based on the color scheme set by the Windows operating system, so the application will automatically pick-up special themes like the accessible high-contrast mode. For some advanced user interface elements (such as the audio waveform or the document view), colors are defined locally within Tobi and can be customized using the application preferences dialog. Please note that the "search as you type" text input at the top of the dialog can be used to quickly find specific user settings based on their names (for example here you can use the search term "color").
Once the keyboard focus is in a specific area of the application (i.e. headings tree, page list, document markers, text view, application preferences), a popup search box can be invoked using the find shortcut (CTRL-F) or the corresponding command in the menu bar. When text is typed into the search box, matching elements get instantly highlighted in the corresponding view. Find next (F3) and previous (SHIFT F3) commands can be used to navigate the search results. Pressing the ESC key closes the popup box and clears the search results.
Note: with large documents, the "search as you type" feature in the text view may sometimes become too slow, in which case you may disable "live highlighting" using the corresponding switch in application preferences.
Drag and drop
Sometimes, an easier way to open XUK projects or to import DTBOOK XML / DAISY OPF documents is by dragging a file from the file browser using the pointing device (mouse or trackpad), and by dropping it into the Tobi application window. Unfortunately, one known caveat is that double-clicking on a XUK project file inside the file browser launches Tobi (due to the *.xuk file association), but doesn't actually open the file. In this case, drag-and-drop offers an alternative method.
Tobi provides keyboard shortcuts to quickly reach a particular area of the user interface. The focus can be moved to the main panels in the application by invoking the commands in the View -> Focus submenu, using the (F4), (F6), (F7), (F8), (F9) or (F10) keys.
Tobi's menu bar follows the standard Windows conventions. When pressing the ALT key, top menu items get highlighted and are ready for keyboard navigation using the TAB or ARROW keys. Accelerator combinations like ALT+F can be used to quickly access a particular menu. When using the ARROW keys, the keyboard focus cycles into the menus, whereas when reaching a boundary using the TAB key, the focus moves to whatever user interface element comes next. This keyboard navigation model also applies to toolbars and the status bar.
Most commands in Tobi are associated with a keyboard shortcut, and all of them are located in the menu bar. As a result, a good way to explore Tobi's functionality or to get reminded of a keyboard shortcut is to browse the menu items. All keyboard shortcuts are customizable via the application preferences dialog, using a special user interface control that captures the keys that are being typed. Duplicated and invalid keyboard shortcuts are automatically detected, to avoid conflicts in the user settings.
Screen reader users can hear the full description of commands in menu items, whilst visual users can see the popup tooltip for each command that has the pointing device cursor over it.
Main toolbar (F9)
The command buttons/icons available in the toolbars are a predefined subset of those available in the menu bar. This subset is currently not configurable.
Navigation pane (F8)
There are 3 tab items in this control. The headings tree (table of content of the document) is shown by default. CTRL-TAB can be used to quickly switch to page numbers or to the list of place marks.
Audio waveform editor (F7)
Although the waveform display itself does not get keyboard focus (i.e. it only supports pointing device manipulations, using the mouse or the trackpad), all the editing commands are accessible via keyboard shortcuts (including those to make select a range of audio data).
Status bar (F4)
The text labels in the status bar can be individually navigated using the TAB or ARROW KEYS. The leftmost label provides general information, whereas the data on the right is specific to the audio editor.
Document structure and text, (F6) and (F10)
The horizontal strip of links at the top of the text view is a trail of XML elements that represents the path to the currently selected item in the document. Screen reader users can obtain a lot of context-dependent information about the document (including the state of synchronized audio) when focusing on this control. This is therefore an important landing point for users who are visually-impaired.
The actual text rendering accepts input from the pointing device but only receives keyboard focus when there are links in the document (e.g. note and annotation references), which can be activated using the SPACE key or CTRL-click. Using the pointing device (mouse or trackpad), users can make text selections (useful for copy/paste), as well as structure selections (for synchronizing the audio data with document markup).
NOTE: use (CTRL T) to quickly switch to the text-only view, which displays the currently-selected document fragment in isolation.
Tobi projects, importing and exporting content
Tobi internally uses its own project format called "XUK", named after the Urakawa SDK which provides the underlying authoring data model to both the Tobi and Obi applications. The main advantage of a dedicated authoring format is that there is no dependency on any particular format used for distributing multimedia publications. Instead, Tobi can easily adapt to new formats, or to the evolution/revision of existing standards.
As of v1.0, Tobi is designed to support DAISY 3 (Z39.86-2005) "natively" (i.e. it is a built-in feature). Thanks to its plugin architecture, Tobi is extensible and we envision providing support for other publication formats in the near future. In fact, Tobi will be one of the first reference implementations of DAISY-next, the ongoing major revision of the specification. Support for DAISY 2.02 is not built directly into Tobi, but the DAISY Pipeline can be used to "downgrade" publications to this older (but still widely used) version of the DAISY Standard.
Importing Content (CTRL O)
Tobi only provides a basic text editing feature, which doesn't allow structural modifications in the document. As a result, it is necessary to import an existing document in order to start working with the application. Tobi currently accepts text-only DTBOOK, and full-text full-audio digital talking books in DAISY 3 format (Z39.86-2005). Tobi can also import Obi projects ("*.obi" files). Note that because this Obi-import feature is based on XSLT2, the Saxon.NET "home edition" libraries must be installed separately ( http://saxon.sourceforge.net ).
Audio clips in compressed MP3 format get decoded into plain WAV files, and raw uncompressed WAV clips get resampled to the correct PCM format, if necessary.
Important note: the default Tobi project sample rate is 44100Hz, and is permanent once the project is created. The default value can be changed in application preferences to 22050Hz or 11025Hz, and is applied when a DTBOOK document or DAISY book is imported into a XUK project.
Tobi creates its own project folder named "_XUK" in the same directory where the original XML or OPF file resides - Note that this doesn't apply to imported Obi projects, as the same "data" folder is shared. Instead, Tobi creates a new file based on the original "*.obi" filename, by appending the ".xuk" to it - The "_XUK" Tobi-specific folder can safely be moved to a different location after import is completed, just make sure to close the document first (no need to close the application). The files inside the XUK folder should not be altered manually, as this is likely to corrupt the project. It is recommended to run the "cleanup" command regularly, so that Tobi removes unused data from the XUK project folder.
Expert users may activate a special feature in order to use a non-compressed version of the XUK XML file format, which can then be viewed in a regular text editor. This option is located in the application preferences dialog, but we don't recommend activating it at production stage as this greatly increases the size of the generated XUK XML files.
Exporting Content (CTRL E)
At this stage, Tobi exports to DAISY 3 format (Z39.86-2005) using the DTBOOK 2005-3 DTD. This means that in cases where older DTBOOK versions are imported, there may be validation errors in the output. Should such a situation occur, Tobi's built-in validation checker will notify the user just before exporting. The recommended workflow is to check that the imported DTBOOK is valid in the first place, before starting the audio authoring. External tools can be used to modify the structure of the input document (e.g. the Pipeline "upgrading" converters).
When exporting, the user must choose an output directory where to store the resulting DAISY fileset. Tobi creates a new subfolder ending with "_EXPORT" and starting with the name of the authored XUK file, so it is easily identifiable.
By default, Tobi exports to WAV files. Users can choose to produce MP3 files by checking the corresponding option in the application preferences dialog (the "Lame" encoding tool is built into Tobi, no need for extra software). Should the project sample rate not be suitable for the distributed publication, the destination sample rate can be configured in application preferences (44100Hz, 22050Hz or 11025Hz).
The default keyboard shortcut for play/pause is (SPACE), which most users find convenient but in some cases this conflicts with the Windows "native" function for the SPACE key, which is similar to the RETURN key (it activates user interface elements such as buttons, checkboxes, etc). Fortunately, shortcuts are configurable in application preferences and alternatives such as (CTRL P) may be a better choice for some users.
The playback rate can be changed dynamically using the (CTRL UP) (CTRL DOWN) (CTRL 0) shortcuts. When the "auto play" feature is activated (SHIFT CTRL ALT SPACE), playback starts automatically as soon as the playback cursor position is set or when an audio selection is made.
During playback, the audio peakmeter located on the right hand side of the waveform display updates in real time to indicate the volume levels, and the counter at the top monitors the number of overload events (audio "clipping").
Please note that the ESC key can be used to interrupt playback.
Audio recording and editing
Tobi's waveform editor combined with the synchronized text/structure view offers a powerful environment to tackle the challenges of full-text full-audio authoring. Tobi addresses 3 particular use-cases:
- Narrate a text-only document (i.e. simultaneous voice recording + synchronization)
- Map a text document with a pre-recorded audio track (e.g. break-down a podcast into smaller chunks that get synchronized with the text script)
- Re-engineer / re-purpose an existing full-text, full-audio digital talking book.
These are high-level use-cases for which Tobi doesn't enforce a particular workflow / production wizard. The synchronization between the text markup and the audio content is relatively intuitive, thanks to the audio waveform which can display audio for any level of the document, and thanks to a limited, but comprehensive set of navigation commands. The user is able to start authoring at a coarse granularity (e.g. recording at the paragraph level), then later to perform a second pass to manually split the audio and synchronize at a finer grain (e.g. sentence level).
Insert versus replace
At each step, the user is able to manually adjust audio content (e.g. remove silences) using the waveform editor which comes with robust undo/redo and copy/cut/paste. Audio manipulations are fast thanks to a non-destructive approach, which means that once raw WAV files are incorporated into a project (via recording or through the "open file" feature), edits are performed "virtually" without requiring any disc Input/Output operations. Actual files only get modified when running the "cleanup" procedure, which reclaims disc space by throwing away unused data.
Audio can be added into an existing waveform in 2 simple different ways:
- Insert at the current play head position.
- Replace the currently-selected range of audio.
Note: the latter takes precedence over the former, so it is important to deselect audio (CTRL D) if the desired result is to insert audio at the current playback position.
Recording modes (CTRL R)
Tobi provides 2 different types of "punch-in" recording modes:
- Simple (audio tape) punch-in recording: start playback, and as soon as the desired location is reached, invoke the record command (hit the button or use the menu shortcut). Once the recording is stopped, the entire audio situated after the position where playback was stopped gets replaced (overwritten) with the newly recorded audio.
- Automatic punch-in punch-out recording with warm-up playback: make a selection in the audio waveform that you wish to replace with a new recording. Then place the playhead cursor at a desired location anywhere before the selection (at least 150ms before). When the recording command is invoked, actual recording is differed: playback starts to preview the audio from the cursor until just before reaching the selection (a countdown timer is displayed to provide extra feedback). Playback then automatically stops and recording starts. Simply stop the recording as usual and the selection will be replaced with the new narration.
"Record and continue" (SHIFT CTRL R)
For a smooth recording workflow, there is a special "stop and continue" command (white round button in the audio toolbar) which automatically moves onto the next recordable text fragment in the document. Should audio already exist in the phrase that is next reached, Tobi stops recording so that the user can decide whether to delete the audio or to insert at a specific cursor location (in other words, Tobi doesn't attempt to guess the user's wish at this point, which results in interrupting the recording flow).
Regardless of the recording mode used, an overlay in the waveform display indicates the elapsed time since the recording started. During recording, the audio peakmeter located on the right hand side of the waveform display updates in real time to indicate the volume levels, and the counter at the top monitors the number of overload events (audio "clipping"). The "monitor" (CTRL M) function can be used to check the volume levels before actually starting a recording.
Please note that the ESC key can be used to cancel a recording.
Audio selection (CTRL A), (CTRL D), (CTRL [) and (CTRL ])
Double and triple click using the pointing device offers a quick way to select all content, but keyboard users can achieve the same with command shortcuts. When using a pointing device (e.g. mouse drag or SHIFT-click) the time values for the selection are indicated in the status bar, allowing accurate placement. The audio preview before and after the play head make it possible to accurately adjust a selection based on audible output rather than time values. Note: the offset in milliseconds of the previous/next steps is configurable via application preferences.
Text To Speech (CTRL G)
Tobi provides a basic TTS feature, which automatically narrates a level of the document whilst preserving the finer synchronization granularity inside that level. Tobi includes support for SAPI 5 voices installed on the computer where the application is running, but SAPI 4 has been deprecated (the speech synthesizer in Microsoft's .NET framework only recognizes version 5+ of TTS engines). SAPI voices are listed directly in Tobi's audio preferences, where the user can choose a particular voice to use before running the TTS generation. Future versions of Tobi will include support for lexicons and other advanced TTS features, but for true automated TTS production we recommend using SSML and the DAISY Pipeline.
Data cleanup (SHIFT CTRL ALT D)
In Tobi, audio editing is performed in a non-destructive manner (i.e. disc I/O is minimized thanks to virtually editing audio content rather than modifying raw audio files directly). As a result, significant portions of WAV files may become unused in the authored publication, which obviously wastes space. When invoking the cleanup command, the raw audio files get processed in order to eliminate unnecessary content. In fact, any unused data file (such as images, CSS, etc.) gets moved to a new folder named "_DELETE", which is automatically opened by Tobi once the cleanup procedure is over. The user is then responsible for permanently deleting this folder to free-up some space on the storage support.
Document markers, "placemarks" (CTRL K)
This feature can be used to "bookmark" chosen document locations, for example to enable quick-switching between important places in the text view. Note: this is an aid to authoring, the marks do not actually get exported into the DAISY digital talking book. Future versions of Tobi will support proper publication bookmarks.
Tobi special directories
Tobi essentially makes use of 3 "system" folders on the user's computer, regardless of whether the application is installed using the regular ClickOnce procedure (which offers incremental online updates), or whether it is simply run from an arbitrary directory (created when the ZIP archive of the application binaries is installed).
In most cases, users don't need to be aware of the location of these folders, but it may come-in handy to troubleshoot installation issues. This is why these directories can be directly opened using the Windows file explorer, by going to the Tools menu -> Browse Folders. The full path for these folders also get written at the top of the application log file, for which a shortcut is created on the user's desktop when Tobi starts.
The User settings folder contains the per-user application preferences that override Tobi's defaults. The "user.config" files are located inside a hierarchy of subfolders that indicates the application version numbers. The top-level container is named "DAISY-Consortium", and it can be deleted entirely to troubleshoot severe application startup problems (although in most cases, deleting a "user.config" file should suffice). User settings can be edited and reset using the application preferences dialog, and it is generally not recommended to manually alter the "user.config" file as it may corrupt it.
The Private storage space folder contains the list of recently-opened files, and subfolders that fulfill various roles. Again, users should only access these directories when troubleshooting installation problems. Tobi downloads DTD files when they are not already included in the application (this is a requirement when parsing XML content). They get stored permanently inside a special cache folder so that they only need to be downloaded once. Tobi optimizes the DTBook DTD in order to implement its own built-in content validation, and the result of this optimization is also stored in a special folder. Finally, a temporary folder is used for recordings done outside of the context of an authored project (which happens rarely, usually just for testing recording and playback levels). The total size of this private storage space generally does not exceed 1MB. Note: the list of recently-opened files can be cleared from the application's menu bar.
The Application binaries and Tobi.log folder points to where the actual application resides. Because of how ClickOnce works, this is not in the usual "Program Files" directory, and files should not be moved as this would corrupt the online updates functionality (and the shortcuts in the Start Menu and Desktop would be broken). However, this location contains the all-important application log file that can be sent via email to the Tobi developers to help them troubleshoot problems.
Content validation (F12)
DAISY Pipeline-style validation is a process that normally applies to the exported distribution fileset (in our case: DAISY 3), and it is indeed recommended to check a publication before making it available to the public. Tobi provides a built-in validation feature which checks metadata and document markup based on the DAISY 3 specification (Z39.86-2005). The same validation tool also reports missing audio, which can be useful to track progress when narrating a document, and to verify that all important parts have been recorded (for example, punctuation often doesn't need to narrated, but more critical small fragments of text are easy to miss).
The validation dialog contains lists of items that can be selected individually. Selecting an item from a list via single-click displays additional details. To bring the relevant parts of the document into view in the main panes of the application (text, audio, navigation, metadata, etc.), double-click on a list item or activate the "click to view" link. As you make the necessary adjustments to the document, the validation window can remain open, and changes are automatically reflected.
Note: if an issue is detected and an attempt is made to export the publication, Tobi will automatically prompt the user to check the validation dialog before going ahead with the actual export process.
Metadata editor (F11)
Tobi has a built-in metadata editor which supports the metadata types found in DAISY 3 (Z39.86-2005). During project editing, users may add and remove metadata. Tobi will enforce rules about the metadata set: some items can be present several times, others may only be present once; some are optional or recommended while others are required. Required items are inserted automatically but are left empty, and the user is expected to supply their values. Upon project export, Tobi will add to the metadata set any additional required metadata that can be automatically calculated (e.g. total duration, format, media types used).
Pressing F11 opens the metadata editor dialog. From here, users are presented with a table containing one metadata item per row. Each row contains the following information about that item: its name, its contents, a formatting error message (if any), a checkbox to make the item the primary publication identifier (if applicable), and a delete button. The delete button will be grayed-out if the item is required, because it is therefore not allowed to remove it. After the table, there is some descriptive text giving the definition of the metadata item and whether it is required, optional, or recommended.
To add a new metadata item, press TAB until you get to the "Add new item" button. This adds a new metadata item and inserts it as the top row of the table. Press TAB until you are in the "Name" column of the first row in the table. Select a name from the drop-down box using the arrow keys. Note that while projects with custom metadata may be imported into Tobi, only metadata defined in the DAISY 3 standard is available to be added during project editing. After selecting a name, press TAB again to focus on the "Content" column. Type in the metadata contents. If there are errors with the data entered, a notification will appear in the "Errors" column. If it is allowed to delete the item, pressing TAB again will focus on the Delete button.
If it is possible that a metadata item could be the primary identifier for the publication, there will be a checkbox option in the "ID" column. Although a publication may have many different identifiers, perhaps to suit different organizations' schemes, one of those identifiers is considered the primary identifier. If no identifier is chosen by the user as the primary one, Tobi will select one upon export.
To exit the metadata dialog, press "Ok" to save changes, or "Cancel" to discard them. It is possible to press Undo after closing the metadata editor to undo all the changes at once.
Tobi supports Windows XP (SP2 minium, SP3 recommended), Vista and Seven. It is a 32 bits application that runs on 32 bits (aka x86) or 64 bits (aka x64) machines. The application requires the .NET "managed" runtime libraries of DirectX 9, and runs on versions 3.5-SP1 and 4.0 of the .NET framework. Tobi runs best on a computer with at least 1GB of RAM, a fast processor and a decent video card. Experience can vary enormously from one machine to another, but the application is known to work well on mid-range laptops.