EagleViewApp Version: 2.7released 2021-02-08 |
This text describes EagleView 2.0 - 2.7. The manual for version 1.8 is still available here.
Version 2.4 adds support for macOS 10.15, with version 2.5 switching to the Universal Purchase mechanism and version 2.6 bringing native Apple M1 support. See below to learn about the macOS version.
In versions 2.1 and 2.2, the handling of files has undergone considerable changes:
- EagleView 2.1 shares its local documents directory, EagleView 2.2 shares the iCloud documents directories as well. On iOS 9, iOS 10, and iOS 11, you can use the iCloud Drive App to access the iCloud documents directory. On iOS 12+, the Files app allows to access the local and the iCloud documents folders. On macOS 10.10+, the iCloud documents folder of EagleView can be seen by the Finder.
- EagleView now supports "Opening in place". This means there is no need to copy a database to EagleView to open it. You can, for example, place an EagleData database in your iCloud Drive, use EagleData on macOS to edit it, and use EagleView on your iPhone to view its content simply by tapping the file in the Files app. EagleView will ask whether you would like to open the original file or create a copy in EagleView's documents folder. Note that EagleView does currently not watch the state of the file. If you make changes to the database on macOS, then to see these changes on iOS you have to manually reload the database (i.e. return to the Files app and tap the database file again).
- Before you can open an iCloud database with EagleView by Document Interaction, for example by tapping the file in the Files app, the file needs to be downloaded. For not-yet-downloaded files, EagleView 2.2 gives an appropriate message and initiates the downloading. You can watch the status in the Files app and tap the file again when the download has completed. Previous versions of EagleView just showed a message like "File does not exist" and left it to the user to care for downloading.
What is EagleView?
EagleView is an iOS viewer for EagleData databases (see next section). You can copy your databases to an iOS device and thus look at the list of your collected treasures while being on the road (e.g. when searching for more treasures at a flea market). EagleView is free. It includes an example database with US population data.
What is EagleData?
EagleData is a simple, flexible and easy to use file-based database program for macOS X, developed and maintained by Bernd Fröhlich / EagleSoft. Its history goes back to the age of Atari homecomputers. EagleData is very well suited to manage collections of books, CDs and the like. And it is free, too.
System requirements
EagleView up to version 1.3 runs on all iOS devices with iOS versions ≥ 3.1.3.
For EagleView 1.4, support for iOS 3 and iOS 4 had to be dropped because it was no more possible to upload software for these outdated iOS versions to the App Store.
For EagleView 2.1, support for iOS 5 and iOS 6 had to be dropped for the same cause. As there are no devices that depend on iOS 7, and only the iPhone 4s depends on iOS 8, we decided to choose iOS 9.3.5 as the new minimum target version.
EagleView 2.4 adds support for macOS 10.15, see below.
EagleView 2.6 adds native support for Apple M1 processors on macOS 11.
The Example Database
The source of the example database is Wikipedia and the American Factfinder website of the United States Census Bureau. For EagleView 2.0, the table for 2017 was used. For EagleView 2.1, we updated the example database with the numbers of the table for 2018, which does not only contain data for 2018 but differs from the previous table in other years' values. Please tell us if you find errors in the example database.
Users of earlier versions of EagleView can still download the current example database https://polaron.de/EagleView/US_States.ed by using the Load from Web Server menu point in EagleView's database list. Simply copy the URL by long-tapping in Safari, then paste it in the URL form that you get after selecting Load from Web Server.
In EagleView 2.1 we removed this option as its implementation was using deprecated functions, and as there are now many other ways to transfer databases.
If you are reading this support page on your device and are using an iOS version ≥ 4, then you can also tap the link in Safari to download and install the database.
Note: To make this possible, the web server has to be configured appropriately. Contact us for details if you would like to publish EagleData files on your web server.
Localizations
EagleView 1.0 supported the following languages:
- English
- German
EagleView 1.1 added the following languages:
- French
- Thai
Privacy Policy
This is the privacy policy declaration required by Apple: Privacy Policy of EagleView
Copying databases to the iOS device
There are following options for copying a database to EagleView:
- Up to EagleView 2.0: By directly loading the database file from a web server.
- iOS 4+: By iTunes file sharing.
- iOS 4+: By iOS Document Interaction, e.g. sending the database as an e-mail attachment and opening the attachment on the device, by using a sharing app like Dropbox, or by tapping a suitable link in a browser. The file must have the extension ".ed".
- iOS 7+: Via iCloud or iCloud Drive (sharing between instances of the app running on different devices).
- iOS 11+ and EagleView 2.1+: Via the Files app.
When you hand over an EagleData database to EagleView 2.1+ by Document Interaction, you have the option to open the database in place or to copy the file to EagleView's documents folder.
Problems with CR LF
Normally, EagleData files use LF (line feed, hex code 0A) as line separators. This is the standard on MacOS and Unix. If, for some reason, you open and save an EagleData file with a Windows text editor, then the LF characters might be replaced by CR+LF (carriage return + line feed, hex codes 0D 0A). There are also reports that some mail programs do this when an EagleData file is sent as an attachment. EagleView up to version 1.7 failed to read these malformed files.
To repair a file, you can open it with EagleData and save or export it again, which will remove the CR characters (tested with EagleData 0.59).
EagleView 1.8 and later is able to deal with files containing CR+LF.
Using the app
The database list
The start screen of EagleView shows a list of the databases which have been loaded to the device:
Show Info is for displaying the number of records, number of bytes and the modification dates of the database files.
By tapping the icon at the bottom right you get an action selector:
- Load from Web Server (up to EagleView 2.0) is for loading an EagleData database via HTTP. You have to enter the HTTP address of an EagleData file residing on a web server, and of course you need internet access for this functionality. You do not need to type the prefix "http://". However, if the server uses the HTTPS protocol, then you need to type the prefix "https://".
- Install Example Database installs the example database of US states. No network connection is needed for this, as this database is included in the app.
- About the App displays a page with app version information and some links.
- View in App Store opens the App Store app and shows EagleView's store page, so you can read the description and in particular the release notes of the latest version.
- Visit Support Page opens EagleView's support page (the page that are reading right now) in Safari.
You can delete a database by left-swiping its name. By long-tapping a database name you get a selection of file actions, which on iOS 13+ are presented as a context menu:
The purpose of these actions is obvious.
The record list
The record list is displayed after tapping a database name:
The buttons ◀️ and ▶️ are for skimming through the columns. Alternatively, you can drag the record list horizontally. The button ⏫ jumps to the first and ⏬ to the last record.
The button ↔️ is new in version 2.6. It opens a slider that lets you change the maximum column width. The actual column widths are calculated such that the largest content of the column fits right in, but not larger than the maximum column width. Starting with version 2.7, the maximum column width is persistent, and there is a second slider by which you can set the font size of the table entries.
If you enter a filter string, then only those records are displayed which have a field whose value matches this string (i.e. contains the string as a substring). In the title text "x/y records" the x is for the number of records that have passed the filter, while y is the total number of records.
By tapping a column header, the table is sorted by this column. Tap repeteadly to toggle between ascending and descending sorting. Numerical fields are sorted numerically, and date fields are sorted chronologically. The following date formats are supported: dd.MM.yyyy, MM/dd/yyyy, MM-dd-yyyy, yyyy/MM/dd, yyyy-MM-dd. Starting with EagleView 2.0, sorting by text fields is done case-insensitive. Previously it was case-sensitive.
By long-tapping a record you get an action selector (iOS 13+: context menu) for copying the textual representation of the record to the pasteboard, for printing, or for e-mailing it as text or HTML. Starting with EagleView 2.0, the menu title shows the value of the first field of the selected record:
In version 2.7 and later, there is an additional menu entry Open
URL if you long-tap a field value that begins
with http:
or https:
.
The field list
The field list is displayed after tapping a record:
You can copy a field to the pasteboard after long-tapping the field's row and selecting the corresponding menu entry. Again, starting with version 2.7, there is a menu entry Open URL when the field has an appropriate content.
Use the stepper for stepping or the slider for high-speed browsing through the (filtered) records. Alternatively, you can drag the field list horizontally.
iCloud support
Starting with EagleView version 1.6 on iOS version 7+, EagleView lets you store your databases in iCloud, which is an easy way to make them accessible for instances of the app on all your iOS devices. To use this feature, you have to enable iCloud for EagleView in the settings of your device: In Settings - iCloud - Documents and Data enable Documents and Data and enable EagleView. When iCloud is active, EagleView's database list shows an icon to the left of each database, which indicates whether this database is stored locally on the device (icon: an iPhone symbol) or in iCloud (icon: a cloud symbol; up to EagleView 1.8, this was a wireless network symbol):
The action menu that you get by long-tapping a database name includes an additional entry which lets you move a database from the device to iCloud or vice versa. As usual, iOS holds a local copy of iCloud files, so, after initial synchronisation, you can use databases stored in iCloud even when there is currently no network connection.
iCloud Drive support
Starting with iOS 8, Apple offers the option to store app documents in iCloud Drive: In Settings - iCloud - iCloud Drive, enable iCloud Drive and enable EagleView. The handling within EagleView is like above.
Beware: When you begin using iCloud Drive on one of your iOS 8 devices or Mac computers, then your iOS 7 devices loose their ability to synchronise documents via iCloud. This cannot be reverted.
Starting with EagleView 2.1, the app makes the documents folder of its iCloud Drive container available for the Files app and other apps that have Document Browsing functionality.
Handling non-EagleData data
EagleView is a dedicated viewer for EagleData. If you would like to use the app to view files of other formats, created by some program P, you first have to migrate that data to EagleData, using EagleData's Convert function. Convert can import a CSV file which you have created with P or another program that is capable to read P's files and export CSV.
As an example, these are the steps to get an Excel file to your iOS device without even using Excel, but with using OpenOffice.org (tested with Version 3.3.0) or LibreOffice to do the conversion:
- Open your xls file, lets say example.xsl, with OpenOffice.org.
- In OpenOffice.org do Save As…. Select the file type .csv. Click Save.
- When asked Keep Current File Format or Save in ODF Format, select Keep Current File Format.
- Then a Textexport window appears. Select coding = UTF-8, field Delimiter = {Tab}, text delimiter = empty (remove any characters). Click OK.
- A warning might appear. Ignore it. The file example.csv was saved.
- Start EagleData and click File - Convert….
- Select the csv file.
- When asked for the encoding, select UTF8.
- Another window appears. Keep field delimiter = 9 and record delimiter = 10. Click OK.
- EagleData shows the table. The columns are named field 1, field 2, …
- Go to the Settings view. Rename the columns with sensible labels.
- Do File - Save as…. Don't forget to add the suffix .ed if you would like to e-mail the file to your iOS device.
EagleView for macOS
With macOS 10.15 Catalina, Apple introduced Mac Catalyst to help developers creating macOS versions of their iOS apps, and we thought that EagleView would be perfectly suited to familiarise ourselves with this process. However, we do not plan to replicate the sophisticated database editing features of EagleData, so, for the time being, EagleView on macOS is, like the iOS version, just a simple viewer, and for editing you have to use EagleData. Still, you might like EagleView for macOS for its speed – it can easily sort or filter databases that have thousands of records – and the options to e-mail or print the data of particular records.
EagleView for macOS is nearly identical to EagleView for iOS, so everything that was explained in the previous sections can be applied. We would like to mention only the following points:
- On macOS, you can change the size of the EagleView window.
- To scroll vertically, drag vertically on iOS, use the mouse wheel on macOS.
- To browse columns in the record list, and to browse records in the field list, drag horizontally on iOS and on macOS.
- To get the context menu for a database, a record, or a field, long-tap on iOS, use ctrl + left mouse button or the right mouse button on macOS. (You can also long-tap on macOS, but this gives an action selector instead of a context menu.)
- To delete a database, left-swipe horizontally on iOS, use the context menu of the database on macOS.
- On macOS, there is no "Open In..." in the context menu of a database. Instead there is "Show in Finder".
- At the top right of the record list of the macOS version you see a folder symbol. This is another way to show the database file in Finder.
- As we wanted to give EagleView on macOS the same GUI as EagleView on iOS, you do not need to use the macOS menu bar. All functionality is available within the app window. A later version might bring more macOS-specific behaviour, like key shortcuts and multiple windows.
Mac Catalyst, or apps ported with Mac Catalyst, have some flaws:
- Printing a record does not work. It produces two empty pages. Workaround: Use Copy of the record's context menu and paste the text to a TextEdit document. This seems to be fixed by Xcode 11.4 or macOS 10.15.4
- E-Mail as Text a record does not work (line breaks are missing). Workaround: Use E-Mail as HTML.
- The toolbar's position was wrong after a change of views when the app was used with a modified window size. Sometimes the toolbar vanished completely. We were able to fix this, but still the toolbar floats vertically when you switch views.
Known deficiencies
EagleView 1.0 (2011-08-25):
- Sorting the record list is done alphanumerically, which is not what you want when sorting by numeric or date fields. Fixed in version 1.1 (except for iOS 3.1.3).
- You might get
Cocoa error 261
when trying to open some older EagleData database. Here is a workaround: Open the database with TextEdit. Then Save As... using UTF-8 encoding. Please use a new name, do not overwrite your database. EagleView should be able to open this UTF-8-encoded file. Fixed in version 1.1. - When databases are loaded to the device by iTunes file sharing, they show up in EagleView only after EagleView has been terminated and restarted. Fixed in version 1.1.
- Searching with non-latin characters does not work (non-latin keyboards cannot be selected). Fixed in version 1.1.
EagleView 1.1 (2012-01-17):
- Sorting by date fields does not work on iOS 3.1.3.
- With English language settings (and thus in all non-supported languages), the back button of the field list view has a wrong label. Fixed in version 1.2.
- Illinois has a wrong spelling in the example database. Fixed in version 1.2.
- Alabama has a wrong area in the example database. Fixed in version 1.2.
- A case has been reported where a database could not be loaded by EagleView which was exported as a CSV file from MS Access and then imported to EagleData. The cause is that there are additional CR (carriage return) characters at the end of each record. Fixed in version 1.2.
- Searching with non-latin characters does not work (non-latin keyboards cannot be selected). Fixed in version 1.2.
EagleView 1.2 (2012-08-15):
- Letterboxing on iPhone 5. Fixed in version 1.3.
- The slider in the Field view gets scrambled after the print dialog was opened. Rotate the device to repair it. Fixed in version 1.4.
EagleView 1.3 (2013-04-22),
EagleView 1.4 (2014-01-09):
- No known bugs.
EagleView 1.5 (2014-10-10):
- French and Thai translations for new texts are missing. Fixed in version 1.6.
EagleView 1.6 (2015-04-05),
EagleView 1.7 (2015-10-02),
EagleView 1.8 (2017-06-27),
EagleView 2.0 (2018-10-31):
- No known bugs.
EagleView 2.1 (2019-09-05):
- French and Thai translations for new texts are missing. Fixed in version 2.2.
- Sharing of the iCloud documents folder does not work. Fixed in version 2.2.
EagleView 2.2 (2019-09-10):
- Some more missing translations. Fixed in version 2.3.
- The Done button for dismissing the keyboard of the records filter is missing on iPhone and iPod touch. Fixed in version 2.3.
EagleView 2.3 (2019-09-25):
- No known bugs.
EagleView 2.4 (2019-11-03),
EagleView 2.5 (2020-06-09),
EagleView 2.6 (2021-01-22),
EagleView 2.7 (2021-02-08):
- iOS: No known bugs.
- macOS: Some issues that are due to teething troubles of Mac Catalyst, see above.