Thursday | December 29, 2005

RISC OS Predictions 2006 (Well, kind of)

As has become something of a tradition, at the end of each year, I speculate on what's in store for the next year. The problem is, looking back at my predictions for 2005, they really weren't very inspired, and I didn't go out on much of a limb to make them in the same way I did for the previous year. I won't bother you with the details of what I did say, but suffice to say there wasn't too much worth repeating.

For 2006, I'll change the plan a little. I'll instead suggest some projects that are both plausible and possible in a relatively short space of time. As you might imagine, many of these relate to previous work I've done. Whether they will be carried out is another matter entirely, and nothing should be read into these that I or anyone else intends to carry them out. One prediction I will make right now is that I expect developer support to continue to wane in 2006, with an increasingly frustrating general RISC OS situation, which for the first time in a long time, has only a little to do with technical restrictions.

2006 Possibilities

Java. No again, you ask? Yes, again. Ports of GCJ (i.e, part of the GCC project) and Kaffe remain very much possible. A version of the latter was demonstrated some considerable time ago, but it needs some commitment to be brought up to date, and its AWT can be arranged to use ChoX11 and my other recent work. A relative novice RISC OS programmer could probably do this with a little help.

RealPlayer. Well, maybe. Much of the technology for this exists in an open source form, but will certainly require some additonal work. It's not clear (to me) how complete a solution this would be without additional closed source codecs, since this continues to change.

Shared Libraries. I've covered this topic extensively in the past. Lee Noar's already done most of the imporant ground work, but there's a lot of nuts and bolts integration to be done.

Packaging. Despite extensive politiking of this subject in 2004/2005, and the great work of Graham Shaw, little has happened. Whether this is due to ignorance, lack of interest, or being stuck in the mud isn't entirely clear. Either way, questions like "where can I find program X" or "what's the latest version of this program?" or "how can I ensure my system is up to date?", continued to be one of the most comment themes on RISC OS support forums. All this, and many more problems can be solved by packaging. Moreover, much of the work can be done by non-developers. RISC OS needs this badly, but I fear the will is not there. Still, the door remains open for it to be done.

Bug fixes in RISC OS 5. Honestly, Castle. You had a great first year after the Iyonix with updates to RISC OS, but there are still a handful of stupid bugs and misfeatures that could be easily (and I really do mean easily) fixed in RISC OS 5 and haven't been after 3 years. Things like filename behaviour in CDFS, the bad state of LanManFS, the dire, and completely non-style guide compliant IyonixWatcher interface. Don't forget the sample rate handling default (22kHz - doh!), lack of memory protection on memory below application space, which would see a considerable improvement in OS stability. Let's not forget the ShareFS debacle (ok, that's not entirely fair, but Castle are in a position to do something about it). Also the insane design of ADFS and friends as well as the ridiculous state of RISC OS formatters (both these are Acorn's fault, but it would benefit Castle greatly to address them).

Opening up RISC OS. Yes, I know there are legal restrictions on what Castle and ROL can do with RISC OS sources.  I talked previously about Open Sourcing RISC OS. However, anything that can be done to open up RISC OS internals, create new APIs or do something complete novel (and of course, legal) will give RISC OS some street cred, and might do a little to revitalise development.

RISCOS Limited Helping out Developers. Hmm. Tricky one. ROL recently found itself completely at odds with developers over assertions about Select, not to mention to that Paul Middleton thought that name-calling was a good way to promote his company's Adjust developments to programmers in a position to take advantage of them.  Yes, I know ROL's resources are very limited. Still, if Adjust is to be taken seriously on machines other than RiscPCs, then ROL must take developers seriously. 

VirtualRiscPC for Linux. Back on solid ground with this one.  It even exists, and for me, it would remove the singular reason I still need to use Windows, along with its endless maintenance.  I've had one virus this year (for the first time ever), and if I continue to use Windows, I expect to get more. I know that Linux isn't for everyone and won't be for a long time, but for my uses it offers so much more flexibility and openess than Windows and is a far better basis for doing my RISC OS development than sticking with Cygwin as I've been doing for some months.  I know that VirtualAcorn isn't a Linux support house, and they have genuine concerns in this area, but I have no doubt that there are more than enough RISC OS enthusiasts who are also Linux experts to fill this gap, as well as a ready market for people who feel similarly to me.

JavaScript support in NetSurf. It could happen - it's a lot of effort, but who knows. It depends on the developers deciding that this is a prority for them, above other thing that may deserve more attention to bring to completion.  I would say not to expect any miracles here - it would likely take all of 2006 and beyond.

Open Sourcing ViewFinder Software. Ok, the practical benefits here are a bit limited since it's hardware for a distincly old machine, but John Kortink might gain some karma points, and there might be some interest in improving it. 

Lack of Windows Bashing. No, what I've said above about Windows is just my frustration with it. I'm talking about the out and out bashing of Windows and its perceived deficiencies from RISC OS users for no purpose other than to rant.  Please, this does not put RISC OS users in a good light - put your energies to better use to solve the problems RISC OS has.  Yes, Paul Vigay, I'm talking about you, although you aren't the only culprit.

OpenOffice.org. Ok, I'm kidding.  OpenOffice.org is a monolithic program (800MBs of source), it doesn't cross compile (which precludes most of my traditional porting methods) and relies on things RISC OS doesn't yet have like shared libraries mentioned above.  I should know - remember, I did the ARM Linux port.  And even on an Iyonix its speed wasn't anything to write home about.  True, OO.org would be a fantastic headliner for RISC OS to boast having in the same way Firefox was, but from a practical standpoint - its ability to read MS Office formats - there are more practical alternatives.  Take a look at ABIWord, Gnumeric or even KOffice, and some of the other office programs floating about.  At least some of these could be made to work on RISC OS.

"Ready to Go" RISC OS demo.  I'm not going to say too much about this, since I plan to expand on this in a future article, but the idea is simple - at least it appears to be simple, which is the important point.  In short, something Windows, Linux or Mac OS X users could download and fire up with little effort and see what RISC OS is like. It wouldn't have to be super-fast and RISC OS 3.1 would certainly do. To give you an idea of what I'm on about, take a look at Damn Small Linux.

That's your lot

For this year, anyway.  I'd just ask if you care to add your predictions, try to base them in some kind of reality.  Blue sky predictions are one thing, practical suggestions another.

Posted by riscos at 05:57:59 | Permanent Link | Comments (16) |

Wednesday | December 28, 2005

RISC OS Contributor of the Year

Have I been nominated for this on drobe.co.uk this year? Sadly not. I hesitate to guess why Chris has chosen to exclude me, since his public reasons have at best, been rather confused and contradictory.

Am I being petulant for making a noise about this? I do not think so. No doubt most people will remember me in 2005 for making Firefox for RISC OS available, but the truth is that the total of what I did in 2005 for RISC OS was very large indeed. No doubt there will be some people, as always, who disagree with what I say, or say that I'm banging my own drum. But I'm also regularly told by others that I'm modest about my work, so there is unlikely to be any general agreement there.

As for the "Best General Contribution" award on drobe, I avidly believe that this is a title which belongs to me for my work in 2005. In 2004 I was runner up to Martin Wuerthner - something that I gratefully accepted and was certainly justified for Martin's work on ArtWorks and other areas of RISC
OS. Had there been a 2003 award, it perhaps would have gone to Justin Fletcher.

For 2005, I'd like to recap the year - a year in which I spent around 50% of my time contributing to RISC OS. And since the award nominations were published on Xmas Eve, that's also where I'll start in 2004.

Specific Events

Chrismas Day, 2004

During December, I had asked for suggestions for games to port for a Christmas release. The winner was Battle for Westnoth, but I also released ScummVM, and building on my work, GLHack, LinCity and SuperTux ported by others. Many of these can easily have their latest version built by relatively untechnical users because they were contributed to the RISC OS autobuilder.

Also on the same day, was a release of GCCSDK, which is the framework for development of the GCC port to RISC OS. This was version 3.4.4, which once again showed substantial improvements over previous versions in terms of the compiler itself, the C library UnixLib and supporting tools. This was to be the first of 3 releases during the 12 month period.

January

During January, I reorganised the content of riscos.info, moving all my RISC OS specific content to it. Not very exciting perhaps, but it made information a little easier to find, not having it spread over chocky.org.

January 3

I discussed the behaviour of libraries under RISC OS and interaction with the C programming language and GCC and why RISC OS lags behind other platforms in this area. Sadly, much of what is discussed in this article - especially the shared library aspect - has yet to be released in a public form, although it is crucial to the future of RISC OS.

February 26

I attended the South West show, driving around 5 hours in each direction in the ice and snow. Apart from hinting at browser developments for later in the year, I had secured a large number of RiscPCs and other Acorn parts from an ex-Acorn employee who was cleaning out his garage. This enabled me to furnish some users with cheap machines, network cards and a variety of other hardware.

March 3

I wrote about Automatic building for RISC OS - the RISC OS autobuilder, which I had developed during 2004 for the GCCSDK project. This project is important to RISC OS because of the enormous time-saving to developers and removal of error-prone manual packaging and building of ported programs. At this time, over 100 programs and libraries have been contributed, so that anyone with a working GCCSDK setup can easily build them with a single command.

March 12

I announced my intention to bring a port of the popular browser, Firefox, to RISC OS. I asked for pledges to financially support the project, which I knew would involve many releases, and many months and course be relatively expensive for a small platform. The response was not vast, but it was enough to enable me to press on. In fact, I had been looking seriously at bringing Mozilla Firefox to RISC OS since around October 2004, and for around 3 years previously, I had focussed work on improving the technologies - in particular, GCCSDK - that would eventually make Firefox and many other programs like it possible on RISC OS.

March 27

I took over as chariman and secretary of local user group, BAUG, from 13 year incumbent David McDowell. BAUG, which changed its name to CAMRUG at the same meeting, is the longest running Acorn/RISC OS user group, and is also the closest to former Acorn HQ as well as the new Castle location in Cambridge. My position at CAMRUG allowed the flagging group to survive another 6 months, and I was able to arrange a number of interesting speakers to come talk to us including Oregano UK (Richard Brown), James Bursa (NetSurf), Neil Spellings, DJing with RISC OS (Jon Wright) and Dan Ellis on USB (Pace/Castle).

March 31

I took over work done by Nick Burrett on QEMU, a system and processor emulator for Linux.  Nick had done work on QEMU to allow a limited set of RISC OS binaries to run directly under Linux - which proved very useful for testing.  I took his work further, enabling a larger range of programs to be run.  In an article, I talked about improving this work further, including practical steps towards being able to run a limited number of graphical RISC OS applications under Linux.

April 12

Also at CAMRUG, I was able to demonstrate a very slow, but nevertheless, functioning, initial alpha version of Firefox for RISC OS. This "event" brought users from other groups to come check it and us out.

May 6

This was the second release of GCC for RISC OS for this period, bringing more fixes and improvements.

May 21 and 22

This was the biggest show of the year in Wakefield. For many people, this was their first glimpse at the forthcoming, and much-improved although as yet, unreleased, Firefox port. I also demonstrated a number of other programs that made use of the same technology. On the Saturaday I gave a talk about my work and answered questions.

June 1

I again demonstrated Firefox and my other work at the ICENI user group in Ipswitch.

June 17 and 18

I travelled to The Netherlands to the RISC OS show in Nieuwegein. Unhelpfully, on the day of a rail strike, which resulted in an expensive taxi ride. At this show I demonstrated the first beta of Firefox - the very version which was just about to be released. I had asked for pledges to reach 100%, and the show saw it come very close indeed, although it did not reach the precise total until the following Monday.

This show was also important as I was able to travel to Belgium afterwards and spend time with John Tytgat. We discussed ideas for a number of important plans for riscos.info, GCCSDK and other joint projects, which were firmed up later in the year. Some of these ideas are in the process of being implemented now, some are long term, but are vital for the surival of RISC OS development.

June 20

I travelled to London to visit the user group, ROUGOL and demonstrated the beta Firefox which had been released that morning.

July 8

Yet another release of GCCSDK - this is the present release, which is due for an update very shortly, but has done excellent service to RISC OS developers - new and seasoned developers alike.

This release of GCC was in many cases a watershed. It was the first release of GCC for RISC OS to have C module support - a feature which the commerical Norcroft had always had, and users had long asked for in GCC. Additionally, benchmarks showed that GCC could generate substantially faster code (albeit with a slower compile time) than Norcroft. These features along with it being freely available, made it the first choice for any RISC OS development, since GCC could match and in many caes, excel, features found in Norcroft.

August 6

I outlined in an article some of my frustrations with constant repetition and waste of time evident in RISC OS developement and RISC OS itself. RISC OS continues to suffer from "not invented here", where people rewrite their own versions of applications, libraries and other things instead of collaborating and solving some of the serious application problems that RISC OS continues to face.

August 27

I announced an address change for Unix Porting Project subscriptions because of an imminent move of country - this continues to be handled by Mark Stephens who has done a great job. At this time I naturally also handed back the adminstration of CAMRUG.

September 13

After numerous people had suggested various bits of ARM hardware for RISC OS to be ported to, I wrote an article which discussed why in most cases, it simply wasn't sensible - often for financial reasons. This article reached a wider non-RISC OS audidence.

September 27

After some sadly blunt and insistent (but wrong) speculation on usenet, I updated an article from 2004 which talks about the RISC OS filetype system and its representation on other filesystems, especially network oriented ones. This article demonstrates a number of (easily fixable) shortcomings in a variety of RISC OS filesystems, as well as the follies in using "notypes" and anything but a default filetype of text.

October 5

I wrote a review of VirtualRiscPC, which I use for RISC OS on an x86 laptop. I identified a number of shortcomings which sadly are still to be fixed, but which I hope that VirtualAcorn will soon address. VRPC continues to be the only way I can use RISC OS since I still do not have my real machines.

October 10

I wrote an article about the practicalities of open sourcing parts of RISC OS. This article discussed the pros and cons of various approaches as well as the legal and technical problems involved and some blue sky speculation about how ROL/Castle might "open up" RISC OS. This was one of a number of my articles in 2005 which received wide readership outside of the RISC OS community, creating a greater recognition for the platform, especially on OSNews.com.

November 3

Negotiations during the previous months with Aleph1 enabled me to secure the release of the sources to the PC Card software - the software that controls second process x86 cards and podules in RiscPCs and older Acorn machines.

November 7

I outlined problems and the endless repetition with the RISC OS systems for formatting devices. The current setup is wheel reinvention with a formatter per filesystem.

November 12

I made easily available sources to GCCSDK for Cygwin (i.e, RISC OS development under Windows) and the latest versions of the Firefox port in order to encourage development by people other than myself. Sadly, this release seems to have been entirely without any result.

Also During 2005

DeskLib

In order to maintain a useful, comprehensive Wimp library for RISC OS, DeskLib was updated a number of times, although it only received one formal release. DeskLib underpins Firefox and many of my other ports as well as a multitude of other RISC OS programs.

ChoX11/libSDL

Both Alan Buckley and myself were busy at work on these two libraries which provide the translation layers to allow graphical ports to interface to RISC OS. ChoX11 replaces the X system for X-based Unix programs, using DeskLib to talk to the Wimp. libSDL is used for many games ported by Alan, Neil White and myself.

Mailing List/Usenet Help

I don't have an exact count, but on possibly several hundred instances during 2005 I provided help on the comp.sys.acorn.* heirachy and various RISC OS mailing lists to numerous problems. In some cases, only a small number of people were able to accurately answer questions including druck, Martin W. and myself. Unfortunately, a group of people made 2005 the year in which they would endlessly spread misinformation and troll, only to confound and frustrate people trying to provide clear information. Ultimately, RISC OS users lost out.

Firefox

I provided 5 beta releases of my port of Firefox to RISC OS. And although none of these could be described as a full and reasonably bug-free release, each version has been faster, more stable and provided access to numerous websites which were previously impossible on RISC OS. Stability problems remain in the current beta 5 release, although those specific issues have been fixed locally. Work continues towards the next version.

Sadly, not nearly as much work as I would have liked to have carried out on Firefox has been done - bluntly, for purely financial reasons. The project was only supported by a limited proportion of RISC OS users, and only contributions by Alan Buckley and the GCCSDK developers have done work which has even indirectly helped its development, so it is likely it will continue to suffer slow development in 2006. As it is, even though the project gained me an enourmous amount of valuable experience in a variety of areas, it cost me dearly financially, and I would have done myself a great injustice to spend more time than I did on it.

As it is, I believe that the fact that I was able to do the work at all nothing short of a miracle.  For comparison, look at the AmigaOS effort - that has a whole team of developers, as well as a sizable bounty but has yet to release anything substantial.  That platform too, has suffered greatly from infighting and finger pointing.

Indirect Work

The drobe.co.uk awards mention a number of projects which have benefitted RISC OS.  Certainly those projects deserve recognition in their own right and from the considerable efforts of their developers, but I must point out that many of these rely on work I had previously done.

CocoGnut

Marc's Gnutella Client.  This relies on DeskLib and I was able to advise Marc on aspects of use of GCC, DeskLib and other C issues.

NetSurf

NetSurf continues to prove my point that a program as complex as a browser is simply not practical to be produced commerically for such a small market - further demostrated by the lack of appearance of the commercial browser, Oregano 3.  And given wider developments outside RISC OS, you might even argue that it's not practical at all.  NetSurf, as an open source product is updated almost daily, providing lightweight and fast web access to many websites not possible under previous browsers.  Much of its underlying technology is shared with the Firefox port., and although I have not contributed directly to the NetSurf codebase, I regularly converse with its developers, and I can say in all truthfulness that it would not have been practical for the developers to do without the previous work of mine on GCCSDK and porting tools.

OpenTDD

This game was directly portable to RISC OS because of the work done by Alan and myself.  There are many similar games which could also be converted because of our work.

Sourcery

This of course relies upon GCC and its bundled tools to provide a powerful GUI development environment

SunFish

Alex Waugh's great NFS client.  I did not contribute to SunFish in any practical way, but I mention it because it was the driving force and testing ground for adding module support to GCC.  In fairness, most of the very hard changes to GCC for modules were made by Nick Burrent, but all GCCSDK developers contributed to it coming about.

Conclusion

That's all I can think of right now.  Perhaps there are other things I've forgotten, but I believe any reader will get the idea.  2005 was an exceptionally busy year for me, and I believe the above demonstrates my commitment  and contribution to RISC OS in 2005.  As it is, I am deeply disappointed that I was not named in the contributer of the year category on drobe.co.uk.   You are of course welcome to contact Chris at chris@drobe.co.uk to redress this situation, although I suspect it will take some persuasion.  Perhaps it is also true that a re-run of the poll now, would not have a favourable outcome after my protest.  But I cannot let this go uncontested, and do not let there be any confusion about what I have done in 2005.

As usual, little is ever fair, and how much I can be bothered to contribute in 2006 remains to be seen after such a slap in the face.  Certainly I will have much less time next year, and I'll shortly be announcing neccessary changes to the Unix Porting Project so it can continue at all.

Peter Naulls, RISC OS Contributor.
Posted by riscos at 02:56:37 | Permanent Link | Comments (18) |