Freda is a free program for reading electronic books (ebooks) on Windows Mobile devices.
Features:
To install via ActiveSync
ActiveSync is the preferred method for software installation on Windows Mobile devices. To install the package in this way:
Please note that the program will not work correctly if it is installed on a storage card; it must be in main memory.
The program may give an error message stating that it requires an updated version of the '.Net Compact Framework'. In this case, please to refer to the supplier of your Windows Mobile device, and ask them to assist with upgrading it. You can inform them that the software requires '.Net Framework version 2.0' (or any later version). Alternatively, you can install the upgrade yourself; refer to .NET Compact Framework 3.5 Redistributable. You will need to use the 'download' button to download the Framework's installer file onto your PC, then connect your device to the PC and (on the PC) run the NETCFSetupv35.msi file that you downloaded.
Advanced users: installation directly onto the device
It is also possible to install directly onto the device. Download the CAB file from Rapidshare orMegaUpload, and place it in any folder on the Windows Mobile device. Execute the CAB file (normally achieved by tapping on the file in an Explorer window), and it will install the program and all components in their default locations. You can now delete the CAB file from your device if you wish.
The program will be placed in \Program Files\Freda\Freda.exe. A 'Freda' shortcut will be added to the device's start menu.
All program options and configuration settings are contained in the settings file in \Program Files\Freda\settings.dat; CAB installation will place a default settings file in this location - so if you have an existing settings file that you want to preserve, please make a copy of it before performing a CAB installation.
The CAB installation will also create (if it does not already exist) a folder \My Documents\Freda ebooks\, and place a copy of this document (Freda Manual.epub) in it. This folder is the default location for your library of ebooks (you can change it using the Settings screen).
If you have previously installed the application, and only wish to update to a new version of the executable, you can download a replacement executable here or here and use it to overwrite the existing \Program Files\Freda\Freda.exe file. Backward-compatibility is not guaranteed, but most problems can be resolved by deleting the settings.dat file (which will trigger the creation of a new one, compatible with the latest version of the program). It may also be necessary to delete Freda's temporary files (by default, these are kept in folders under \Program Files\Freda\Temp).
Freda does not keep any information in the Registry.
Un-installation Instructions:
If you installed it using ActiveSync, you should use the ActiveSync application manager to uninstall the Freda application. Alternatively, you may remove the program from your device manually, by deleting the folder \Program Files\Freda and all its contents and subfolders.
Windows Mobile Version 6
The regular version of Freda is built to run on Windows Mobile Version 5, but should work fine on later versions. If you want a smaller installation and better performance, and you have a Windows Mobile 6 phone, you can try using this/this version which is specifically built for Windows Mobile 6.
Opening a book
When started, Freda will display an initial 'splash' screen. To open a book, tap anywhere on the screen to open the Freda main menu.
From this menu, select the 'Library' option, which will display the list of ebooks currently in your library folder (by default, \My Documents\Freda ebooks\). The library screen allows you to view your books either as a detail list (one row per book, with title, author, filename etc. shown in various columns) or as icons. You can switch between these two views by using the 'View books as' control at the top of the screen. Tap to select the book you wish to open, and then tap on the OK soft-key button at the bottom left of the screen. Freda will now load and paginate the book; during this process the program will show a grey screen with an animation. When the book is ready, Freda will display the first page (or in the case of a book that you have previously been reading, the last page you read).
Reading a book
To move to the next page of the book, you can do any of:
To move to the previous page of the book:
When moving to another page, Freda displays a 'scrolling' animation. If this is not desired, you can switch it off using the 'Settings – Appearance' screen.
While reading, you may encounter a page that Freda has not yet loaded or paginated. In this case, you will see the grey screen with the loading/paginating animation, while Freda prepares the page for you.
Adding books to your library
Freda's library of books consists simply of all books in the folder '\My Documents\Freda ebooks' on the device (note: you can change this location using Settings). If you have a book file on your PC, you can add it to Freda's library by using ActiveSync to copy the file into that folder. Alternatively, if you have found a book on the internet, you can download it directly into that folder by using your device's web-browser.
Chapters and the loading of books
ePub books are broken into chapters, and Freda takes advantage of this when loading books, by quickly loading whichever chapter you need to see, and putting it on-screen just as soon as it is ready. The program will carry on with loading all the other chapters as a 'background' task. If you have enabled the on-screen display of page numbers (see Settings - Appearance), you can see this because, until the book is fully loaded, the page number will be unavailable and a 'Paginating' message will be displayed instead.
In the case of very large books, Freda may be unable to hold all chapters in memory at the same time. In this case, Freda will stop loading chapters, and will load/unload chapters on demand, so that you can always read the current chapter, but some earlier or later chapters will not be held in memory. In this case, you will see the 'Paginating' message permanently, and some features (such as 'Find' and 'Go To Page' will be unavailable.
Although TXT book files are not broken into separate chapters, Freda internally treats them as if they were, to give better flexibility around loading and paginating them. Broadly speaking, Freda splits the TXT file into chunks of 1,000 lines, and treats each chunk as a separate chapter.
Go…
The Freda main menu (accessed by tapping on the screen) includes an item 'Go …', which can be used to navigate to other parts of the currently open book. The items on the menu are as follows:
Go Back: returns to the place you were before your last 'Go ...' operation.
Go To Page: brings up a screen with a slider control that you can use to select the page number to move to, and a list of all available chapter names/numbers.
Go to (chapter): allows you to jump directly to the start of any chapter in the book.
Some of these options may be inaccessible ('greyed out') at any given time. For instance: 'Go Back' is unavailable if no 'Go...' operations have yet been performed, and the 'Go To Page' slider for page selection will not be available until all chapters of the book have been paginated (because until this has been done, we do not know what the pages' numbers are).
Find
The Freda main menu includes a 'find' option, to allow you to search for occurrences of a word in the book. If the option is 'greyed out' it means that the book is not yet fully loaded.
If you accessed the main menu by tapping on a word, the 'find' option will search for the next occurrence of that word.
If you tapped on a blank area of screen to bring up the menu, the 'find' option will present a screen for you to enter the text you wish to search for, and an option to set the search direction (forward or backward). If Freda finds the search text, it will switch to the page containing it, highlighting the first word containing the search text (to search again, tap on that word and pick the 'find' option). If Freda reaches the end of the book without finding the search text, it will display a message box to this effect; tap on the message box's 'OK' button to clear the message off the screen.
Links/Hrefs
Words within ePub and HTML books may be links ('hrefs') to another point within the book. Such words are, by default, displayed in blue. Tapping on a link word will 'go to' the link target. This will only work if that target points to a page that is already loaded, so you may get inconsistent results when following links in a book that is still loading.
To return from following a link, use the 'Go... > Go Back' menu option.
Full Screen Mode
The main Freda menu contains an item to switch between 'Windowed' mode and 'Full Screen' mode. In 'Windowed' mode, the application title bar appears across the top of the screen and the soft-key buttons along the bottom. In 'Full Screen' mode, these elements are removed, and the whole of the screen is available for displaying book text.
When you switch modes, you will see the 'Paginating' animation for a few seconds, while Freda repaginates the text to account for the change in the amount of screen space available for displaying text.
Settings:
The 'Settings' option on the main menu will display a multi-tabbed screen, with tabs containing various screens on which you can adjust font face, size and colour, folders, appearance and various advanced settings. Tap on the ‘tab’ labels along the bottom of the window to move between these screens. When done, you can save your settings and return to the main reader screen by tapping on the OK soft-key button at the bottom left of the screen. Or to abandon your changes, tap on the Cancel button on the bottom right.
Upon returning to the main reader screen, you may see the 'Paginating' screen for a few seconds, if you have made a change that affects the size of displayed words (font size, for example).
Settings - Fonts and Colours
The first two 'Settings' tabs allow you to adjust font face, size and colour.
The font tab is self-explanatory. It will display all the fonts faces availble on your device, and a range of plausible font sizes.
The colour tab provides three buttons, respectively allowing you to adjust the foreground text colour, the background (paper) colour and the link (href) colour. Clicking on these buttons will bring up the standard Windows Mobile 'Color Dialog', which allows you to select a new colour for the chosen element. Note the behaviour of this dialog:
First: tap on the coloured square to select a colour
Then: tap on the 'ok' label in the title bar of the 'Color Dialog'.
Settings - Folders
This tab allows you to customise the folders used by Freda (useful if, for example, you wish to keep your files on a storage card). Two folder locations are customisable:
Library Folder: controls where Freda will look for ebooks (by default, it looks just in the selected folder, but if you prefer it can scan that directory and all subdirectories. See Settings - Advanced. Note that Freda does not create these folders for you, and it does not move any files.
Temp Working Folder: specifies where Freda will keep its temporary working files – for example, the html files that are produced by unzipping an ePub archive. Freda never purges these files (though you can do so manually, see Settings - Advanced) so you should pick a location where you know there is plenty of free storage space.
To change one of these folders, tap on the corresponding 'Change' button. A tree view will be displayed, which you can use to specify the chosen directory location. When you have selected the folder you want to use, return to the main Settings screen by tapping the OK soft-key button at the bottom left.
Settings - Appearance
On this tab you can enable or disable the scrolling animation and the display of page number at the bottom of the page.
Settings - Advanced
Options on this tab allow you to:
Search Subfolders in Library: change the behaviour of the 'library' screen so that, in addition to searching the library folder, it also searches all its subfolders. Take care – if there are many files and folders under the library folder, it will mean that opening the library takes several minutes.
Clear Temporary Files: delete everything in Freda’s temporary folder (where it keeps its working files). Take care – Freda just deletes everything in the directory; it does not make any effort to work out whether any particular file belongs to it. As long as you stick with the default setting (\Program Files\Freda\Temp) this will not be a problem
Clear Bookshelf: forget all information about what books have previously been loaded (i.e. thumbnail images, last-opened page, etc.). This function does not delete any ebook files.
Freda is released under the open source GPL 2 licence.
The program uses two third-party libraries, SharpZipLib and the Majestic-12 HTMLParser library; both are licensed on terms permitting their redistribution for commercial and non-commercial purposes.
Freda: the free ebook reader for Windows Mobile devices
http://www.jim-chapman.net/freda
Copyright © 2009 Jim Chapman home@jim-chapman.net
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
This program uses the SharpZipLib library http://www.icsharpcode.net/OpenSource/SharpZipLib/ SharpZipLib is released under the GPL with the following exceptions:
Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
Bottom line: In plain English this means you can use this library in commercial closed-source applications.
This program uses the Majestic-12 HTMLParser library http://www.majestic12.co.uk/projects/html_parser.php, which is available under the BSD licence, as follows:
Copyright © Alex Chudnovsky, Majestic-12 Ltd (UK). 2005+ All rights reserved
Web: http://www.majestic12.co.uk
E-mail: alexc@majestic12.co.uk
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the Majestic-12 nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
HTML books are considered to consist of only a single file. If you have a set of HTML files that constitute separate volumes of a single work, Freda will be able to open them individually, but it will not understand references/links between them. If linkages between HTML files are important for you, you should build an ePub file out of your collection of HTML files.
The 'Find' function only searches for a single word at a time. Searching for a sequence of consecutive words is not yet supported.
Functionality to create and manage ‘bookmarks’ will be developed in a future version. At this stage, Freda will preserve the current (i.e. most recently read) position in every book ever opened, but there is no functionality to let you keep track of more than one location within any given book.
Freda does not attempt to represent all the formatting within an ePub or HTML file. This behaviour is by design: I have chosen to let the reader (not the book author) control page colour, font and text size, and I have limited the range of formatting options (text is plain, bold, italic or large, and aligned left, right, centred or justified). Because of the limited screen size of the typical Windows Mobile device, it is unrealistic (indeed, counterproductive) to try to respect layout and style directives that are intended for use on PCs and ebook readers that generally have much more screen real-estate. This approach does make it difficult to handle 'style sheet'-based formatting effectively; at this stage this is not a great problem as most ePub books make little/no use of style sheets.
In the ideal world, Freda's installer would figure out whether your device needed an updated version of the .Net Compact Framework, and if so it would install that updated version for you. Actually in the ideal world, the WindowsCE App Installer would take care of it all, and we poor application developers wouldn't have to worry about. Anyhow, we are not in the ideal world, and a busy day of Googling has led me to conclude that there is no sure and easy way to accomplish it. I could build an installer that mostly did the right thing, but it could sometimes create really horrible snarl-ups, particularly on the more elderly WM5 devices and those with the less fashionable processor architectures. When I learned that, on some OEM builds, the .NetCF install may require a device reboot, I realised that this whole subject is not one that I wanted to wrestle with.
Dictionary look-up is not supported yet. But I think it is a useful feature and I will be working on it.
Link (Href) handling is limited – they will work within ePub books for any reference within a single book, and likewise within HTML files (provided that they do not contain absolute path names or URLs).
Themes and textured backgrounds are not supported. I personally am not convinced that there’s much demand for them, but if I hear otherwise, I will work on it.
Freda uses the standard .Net Compact Framework classes for managing bitmaps. These are not very memory-efficient (particularly, they can use up large amounts of video RAM, when loading images from file. This means that large images in books do not always render properly; I’m still looking for a solution to that one.
Freda cannot read DRM-protected ePub books. The ADEPT DRM-protection mechanism that Adobe Digital Editions uses for securing DRM-protected content is incompatible with Open Source practice, because if you have access to the source code of an ADEPT-compatible book-reader, you can easily see how the ADEPT user key is stored on the user device, and write a modified version of the program that unlocks the book and saves the decrypted book data to file (rather than unlocking it and displaying it on screen). At some stage I may use my source code in a closed-source project to develop a reader program that will read DRM-protected books – but that is another story.
Freda is a work in progress, and if you should happen to encounter any problems, I will be pleased to fix them.
Bug Reports are best emailed to me at jim@turnip.demon.co.uk. Please include the words 'Freda bug' in the subject line and attach:
Please give as much detail as you can about any message that Freda displayed when the problem happened.
Support Questions that the manual does not satisfactorily address can be emailed to me; I will answer them, and add to the manual as necessary.
Is here. It's still beta code, so I wouldn't especially recommend downloading it yet; before I release version 1.0, I will upload source code that is rather tidier, and perhaps better-commented too.