
Firefox for RISC OS
===================

23rd July 2005
RISC OS Beta version 3
unix@chocky.org


About RISC OS Firefox
----------------------

Firefox was ported to RISC OS to fill the requirement for a comprehensive
browing solution.  Based upon the original Mozilla and Netscape work,
Firefox is potentially able to access almost any website, and is one of
the most widley used browsers in use.  Its open source nature means that
anyone inside or outside RISC OS development can update it.  These features
made it an ideal choice for porting to RISC OS.

Firefox was ported to RISC OS by Peter Naulls under the Unix Porting
Project (http://www.riscos.info/unix/) as part of a programme of bringing
Unix programs to RISC OS in order to fill gaps in the application space.
Firefox was only possible at all because it built upon work by the GCCSDK
team with GCC and UnixLib and current work by the project such as the ChoX11
library.   And of course, the many subscribers to the project who made it
financially viable.  Thanks for supporting the future of RISC OS.


About the Port
--------------

In order to indicate why Firefox is presently the way it is, it is important
to understand that, as it stands, it is essentially a direct port of the
vanilla Unix version.  Very little has been customised to make it RISC OS
friendly, with the focus on making it work at all.  Without going through this
phase, the port would have been all but impossible.  Future versions will of
course become more RISC OS friendly, with the integration you expect from
RISC OS applications.


Current Bugs/Oddities
---------------------

This is a list of things which are known to be either wrong or non-RISC OS
in nature in this version.

  Why is this browser called "Deer Park"?  This is the name given to the
  current development version of Firefox.  The RISC OS version is based upon
  the latest sources, and therefore is somewhat newer than the 1.04 version
  you would normally see on Windows and Linux.

  Icon bar icon - There is no icon bar icon at the present time.  If you close
  the last window, the browser will exit.  This refects behaviour on many
  other OSes.

  Drop down menus - This version has drop down menus as seen on most other
  GUIs.  The mouse buttons retain their meaning as seen on those platforms
  with right button opening a context senstive menu, and middle over a link
  opening a new tab.

  Scollbars - Firefox has its own scrollbars as well as the RISC OS one.
  This will be properly integrated in future.

  Images - some types of images, notably table backgrounds are not
  displayed.  This is to mitigate an unresolved memory handling issue.

  RISC OS Firefox will not respond to the HTML filetype, or any attempt
  to drag things to it.  It employs file save diaglogues to access any
  local files.

  RISC OS Fonts - whilst Firefox does indeed employ anti-aliased RISC OS
  fonts, characters are placed at pixel aligned positions to comply
  with assumptions made by the rendering engine.  This means they may
  look slightly odd in some instances.   Top-bit and UTF8 characters are
  displayed as question marks.  It is intended in future to use the same
  font engine as NetSurf.

  Speed - Firefox is relatively slow compared to other browsers,
  although every released version has shown speed improvements.  There
  are still more speed improvements planned to get as much speed as
  possible, with the ultimate aim for it to work smoothly on faster
  RISC OS machines.  It will of course never be as fast as native RISC OS
  browsers like NetSurf.

  Memory Usage - Firefox uses lots.  In order to avoid WimpSlot limitations,
  Firefox uses one or more dynamic areas for memory allocations on RiscPCs.
  On 32-bit systems, it uses the WimpSlot in normal fashion.  You will
  need around 30 MB free memory to start Firefox, and this can rise to
  64 MB or more during extended usage.  It will probably crash if it
  runs out of memory.

  Printing - there is no tested printing support.  It's possible you may be
  able to print to a postscript file.

  Plugin support - there is no RISC OS plugin support in this version.


Installing/Usage
----------------

Firefox requires SharedUnixLibrary and UnixHome.
See http://www.riscos.info/unix/usage.html on how to obtain these.

Firefox also requires Tinct: http://www.tinct.net/

Drag the !Firefox application to a location of your choice. Firefox
requires long filenames and more than 77 files per directory.

On a StrongARM RiscPC, Firefox can take up to 40 seconds to start up.  It
will take longer on the first run, as profile files are copied.  There is
no hourglass presently to indicate when it is done, so be patient. 

Unfortunately on some systems and setups Firefox will refuse to load.
This is due to a memory handling problem, and its appearance is somewhat
random in nature.  This is being worked upon as a priority.

However, also ensure:

Firefox does *not* require !RiscXLib, however if you do have an
old version for another program such as !RiscX, it can set the HOME
variable which conflicts with !UnixHome.  The latest RiscXLib is available
from http://www.riscos.info/xlib/

Firefox may have problems starting if you move it.  In this case, delete
all the files under !UnixHome.home./mozilla.

There's also been a great deal of speculation about what Firefox might
and might not be doing.  Much of it has been inaccurate.  Unless you've
looked at relevant code, please refrain: it is better to ask questions
on the UPP mailing list.


Getting Help
------------

I can only offer help to Unix Porting Project subscribers.  For the moment,
do not contact me if you have problems starting Firefox. I already have more
than enough information about the issue.

If you'd like to subscribe to the project, please visit:

http://www.riscos.info/unix/

I must insist on no feature requests at this time.  This will avoid me
becoming inundated with mail.


Bug Reporting
-------------

For the same reason, I must insist upon very stringent requirements for
reporting bugs.  Remember, for the most part, I'm very much aware of all
the present issues, and am working hard to try and improve them.  Responding
to reports of misfeatures or thing you'd like changed is not a good use
of my time.  Please refer to the earlier list for present issues.

At the present, I am only interested in repeatable crashes once Firefox
has started.  That is, a crash you can make happen at least twice, with a
specific set of instructions for causing it to occur.  If !Firefox.stderr
is not blank, then it is important you include that too, and finally, the
version of RISC OS you are using.  If I require further information, I will
ask, and please no "life stories".  I am not interested in stdout; don't
send it to me.

Only if your bug falls into this category and you have all this
information, then send your bug to unix@chocky.org.  Don't send it to the
mailing list.

This may sound harsh, but it is the only way I can properly manage what
is one of the largest RISC OS programs ever.


Conclusion
----------

Thanks again to all who contributed to this project.  I hope some
people may be encouraged to help fix smoe of the issues still present.
Happy browsing.


Release History
---------------

Beta 1

 - Initial RISC OS Release.


Beta 2

 - Noticeable speed improvements.
 - Update to latest CVS.


Beta 3

 - More speed ups
 - Fix of various minor problems that may prevent Firefox starting.
 - Update to Deer Park Alpha 2 from CVS.


