Merry Christmas from The Icon Bar! 1198540800 Andrew C. Poole
[TIB Christmas Logo]Well it's that time of year again. It hardly seems like a full year since we last wished all our readers a very Merry Christmas. Yet again, most of you are probably too busy downing the bottle of whatever-it-is that you found in the back of the cupboard, and stuffing yourself with mince pies to notice this post, but I'm still going to say it anyway.

Merry Christmas to all our readers, and we hope you have a wonderful new year - whatever you're doing and however you're celebrating.

Links:
Christmas (Wikipedia)

1 comment in forum

1166
Review: Nokia N770 Internet Tablet 1192554000 Richard Goodwin
A guilty secret: limited though they were, I used to love working with early Palm and Psion PDAs. Neal Stephonson wrote in his novel Cryptonomicon:
Eb is doodling on one of those little computers that uses a stylus so that you can write on the screen. In general, hackers don't use them, but Eb [...] wrote the software for this model and so he has a lot of them lying around.
...which stuck in my head as it described my situation at the time. Apart from the bit where Eb is an über-hacker and I was a junior Perl mangler, obviously. Screen-wise the Palm V was just low-res black on a sort of olive green, and getting data on to them usually required a precariously-balanced IR-capable mobile phone and a lot of patience (or the foresight to sync everything before leaving home), but a small, omni-present device that responded to the touch always seemed so much more satisfying than the mouse or the glidepoint.

Fast forward a few years, and along comes the Nokia 770 Internet Tablet: a small device with a touchscreen, but updated for the 21st century with wifi Internet access, a widescreen, full colour display, a proper Web browser and bluetooth connectivity. I'd looked at the proliferation of Windows-based PDAs over the years and they'd never appealed. Where the Palm and Psion devices felt like they'd been designed from the start with mobile computing in mind, WinCE always seemed like a big OS shoehorned into a little device, and wifi an afterthought if available at all. And don't get me started on small keyboards after the disaster that was the Psion Revo. Maybe this Linux-based device could put the fun back in to computing?

Then, notice the price tag and fast forward some more until we get to the part where I buy one off eBay.

What's in the box?

Opening the box, the device looks tiny. The word "tablet" and the 800x480 resolution (and my inability to read metric specs properly) meant I was expecting something more, well, tablet-y. Maybe the size of those 7" picture frames, which have a similar resolution. Turned 90 degrees it's about as tall as your average PDA, but maybe a bit slimmer across. The Nokia site still lists the N770 RRP as £245, which seems a bit much for what it is, but on eBay they usually go for around £90, and I got mine for eighty quid plus postage. Amazon have just brought their price down to £129.99 "with Navigation Kit" if the thought of eBay-ing puts you off. Around £100 seems like a sweet spot, as it compares favourably with other boys toys of a similar size and complexity such as a mobile phone or MP3 player. Anyway, the size was a slight shock, but given that it'll be spending most of its time in my hands or pockets, not a particularly unpleasant one.

Only glancing at the manual long enough to get the battery compartment open and occupied, I switched the device on, and... well, there were three things going in that I decided the device would live or die on: connectivity, browser, and the quality of the screen. The latter seemed a tough one now that the device was smaller than I'd expected, but... wow. Some of the lettering can be tiny, but it's never less than readable thanks to a combination of a very sharp screen and good anti aliasing. Obviously if you squint to read the newspaper then this device won't do you any favours, and like all LCD displays direct sunlight can be a problem, but sitting on the sofa it's actually... pleasant. That's not usually a word I associate with computers.

N770 in my hand
Nokia N770 (hand: model's own)


Set-up was similarly un-troublesome, consisting of a couple of general questions and brushing aside a request to pair with a mobile phone, then I'm straight into the desktop. Status icons at the top, program shortcuts down the left, and a big space in the middle for some built-in widgets - I kept the RSS feed reader, clock, and Internet radio player, but swapped the Web search for weather reports.

Continuing a trend, getting the device connected to the Internet is done just right. If you're not connected and try to make a request for, say, a web page, the device will just connect to one of your saved network connections in the background, then get on with downloading your content. Contrast this with my Windows laptop, when the connection drops: a browser error page and a minute or two to reflect on how bad Windows is at figuring out whether it's on the network or not, usually followed by my having to do a manual connection repair and uttering a few choice words. On the N770 if you bring up the list of available access points, it'll keep refreshing the list so you can see any changes (or can use it to sniff for open networks as you wander around) - on Windows, it generally just tells me there aren't any for the first couple of times I press the refresh button.

Wireless Networks
The wireless networks in my area (click for bigger)

The browser itself is Opera-based, which from its early days was designed to be small and quick but without compromising on features. The device is so small that it's easy to underestimate it, but you get proper CSS, Javascript and even Flash 6 support. Some pages look dead on - BBC news, for instance, works right down to the ticker near the top. If you want to access the RealMedia content, then it won't work in-browser, but requests for audio or low-resolution video will spark up the device's media player just in case you can't do without News 24. Other sites need a little horizontal scrolling, and some can look a bit scrunched - ours, for instance, at least until I hacked in a little Javascript to hide one of the side bars.

It's not perfect: it has a tendency to crash when it runs out of memory, and some badly-designed sites - the naff-textured, advert-heavy Ain't It Cool News for instance - can push it over the edge. Empire's website (to continue the movie theme) has some minor alignment issues with some images, but at least it doesn't cause the browser to barf. Some Flash sites require a later version without backward compatibility, so no Weebl and Bob. On the whole though it handled pretty much everything else with some style, including AJAX-based sites.

BBC News
BBC News website (click for bigger)

So far, so good

The important bits out of the way, time to look at some of the secondary considerations, like battery life and other software. The battery is supposed to last 3 hours, okay compared to a laptop, maybe less so compared to a mobile phone or MP3 player. However, I find I only have to recharge it once a day, partly because I usually turn it on and off as I need it, and partly because when I leave it lying around switched on it has a fairly aggressive power saving mode. Put the protective metal half-shell back in place and the power saving is even better - I've regularly left it switched on in my pocket for 24 hours, and up to 36 or 48. It was weeks until I heard this strange noise coming from my pocket, which puzzled me for a while because I honestly didn't know what the low battery sound was.

Considering it's using wifi constantly when in use, and bluetooth too at times, battery life is more than adequate. My laptop needs charging after two hours no matter what. Being an eBay purchase obviously the charger isn't a UK one, but the ickle tiny dual voltage power adapter came with an equally diddy converter. It does point sideways when plugged in, but at the end of a four-way block it's not going to trouble any other power bricks. Your mileage may, of course, vary.

If the device had to live or die on just the Nokia software, however, I don't think I'd have been quite so happy. It has some useful, if not exactly spectacular apps - email and messaging, the rather dull-looking media player and RSS feed reader, a PDF viewer, three worthy but uninspiring games (I like the well-featured Mahjong, but Chess on a mobile device?) and so on. There's no real business software (e.g. a Word compatible word processor), so it's unlikely to please the Road Warrior crowd. Going into the application manager to check for new or updated software is similarly unlikely to light your fire either - a few themes, a simple media streamer, and not a great deal else.

However, this is a Linux-based machine, so there's a happy end to this story. The browser home page (again, slightly dull and grey) has a link to the "Tableteer" site, and a little hunting around gives a link to Maemo.org... or, like me, you can just Google for "N770 software" before you buy the thing and go in well informed. Maemo.org's downloads section is similar to the Firefox extension website, in that you'll probably spend hours scrolling through thinking "ooh - want that. And that. And that...". I've installed tons of useful stuff, only to find that I've still only used up two thirds of the main "drive" - app sizes here are measured in kilobytes, not megs or gigs.

Killer apps include Maemo Mapper, which is a GPS mapping program. eBay had also furnished me with a solar-powered bluetooth GPS unit for under thirty quid, so I was eager to give this a try. At first I just got a blue dot in the middle of a blank page, but on reading the forums that's because for copyright reasons it's not provided with any maps. What you do is give it a cunningly-modified URL to your favourite mapping service - e.g. Google Maps - and it downloads the images you need. Similarly you can "download" driving routes, and even a speech system. Obviously it's unlikely that you'll have decent Internet access in your car (unless your 'phone is better than mine), so you can pre-cache the bits you need, or just download a whole square between two coordinates. When you're done, Topografix-format XML files of your tracks can be downloaded for use in other software, handy for outdoors types.

Maemo Mapper
Maemo Mapper in action (click for bigger)

If that's not your thing, then the more advanced media players might take your fancy - UKMP (Urho Konttori Media Player) is a swish iPhone-style music player; album covers on a black background can be navigated using "kinetic scrolling", where a flick of the finger will set the screen scrolling until it hits the top (or bottom) of the list, or it runs out of steam. Kagu does a similar kind of thing, but with a different layout. Canola goes even further, presenting a media centre-style interface to music, video and pictures, although you'll need some software installed on a "proper" computer to stream the content.

For most people picking from the myriad Shoutcast streams available will probably be enough (who knew there was an entire radio station devoted to just Beatles songs and cover versions?), but I wanted my own music. TVersity is a free media steamer for Windows, and *nix types can probably work something out with gstreamer, but in the end I plumped for installing GNUMP3d on my Linux file server to handle audio streaming. If you just want to play MP3s from the device itself, the N770 only comes with a 64MB MMC Mobile card which won't hold a great deal, but you can buy one up to 1GB for about a tenner these days - or 2GB if you install a third-party kernel.

Ports of AbiWord and the GPE suite of programs will take care of most office software requirements, but that was of little interest to me personally - getting VNC and SSH working mattered much more. I will say that the PDF viewer acquitted itself well, handling a large, graphically intensive magazine file from the Nottingham City Council website pretty flawlessly, if slowly at times.

Installation will be fairly familiar to anyone used to a Debian-style Linux distro such as Ubuntu - .deb packages can be downloaded and installed (or not, if you hit a dependency issue) or you can manually edit the repository list and grab them from the application manager. Properly packaged software usually comes with an install link that will take care of all of the above for you however.

Signs and portents

There are many clues that this device is not packaged in the usual corporate way: it's a hacker's toy, not a business tool. You don't need to purge the browser bookmarks to get rid of all the upsell "services" that usually get shovelled there - it's useful stuff like BBC world news, Lonely Planet travel guides, a Google directory with just search, mail and news, and links to the two main N770 sites. The example images are Discovery Channel shots of monkeys and sharks, instead of bland copyright-free landscapes. Even the example music features someone who can hold a tune, even if it's a bit Country for my tastes. OK, so it starts up with that jingle and a faintly vomit-inducing picture of a baby's hand reaching out to an adult, but all in all, not too bad.

Then there's Red Pill mode.

To make certain changes on the N770, you sometimes need root access. To do this you simply go into the application manager, bring up the screen to enter a new repository, and for the web address just type matrix then click the Cancel button. You'll then get a choice - "Which pill?". Red grants access to the inner workings of the MatrixN770; I used it to install SSH. Blue pill puts everything back to normal. SSH installed not only the client but also the server - so the addition of an xterm client means I can log into localhost as root (don't forget to change the password!), or even log in over the wireless network from my desktop machine. As the N770 is a Linux computer under the hood I could easily go into /etc, add a CIFS module and put in a couple of Samba shares in the fstab file. I have to run a small file once the device is on the network to activate these shares, but then I have access to several gigs of storage on the fileserver as if it's on the device itself.

Laptop replacement?

If you're one of those people with a huge desktop replacement laptop, playing all the latest games or sitting in a coffee shop all day writing haiku, then obviously the N770 isn't a direct replacement for that - and you've probably got a tiny penis, as we've established on the forums.

But I've got a perfectly good desktop machine, thanks, and found I only used the laptop for occasional stuff: checking news from the sofa while an advert break is on; or sitting on something more rounded and with a base made of porcelain every morning. Even a small laptop is a bulky thing to carry around with you everywhere just in case, so having something pocket-sized means when you gotta go, you can just go.

Without a stopwatch on it, it's debatable whether it starts up any faster than bringing the Windows laptop out of hibernation, but there's a difference between Windows coming out of hibernation, and Windows deigning to allow me to access a web page. As the N770 has no moving parts and can safely be started up while I'm in transit to the smallest room in the house, it wins in the end anyway. Then if you leave it on in powersave mode, it comes back instantly.

To use a real world example of where a mobile device comes in handy, I recently noticed that the server was running under heavy load via one of my diagnostic webpage. As I was in bed at the time, I used the N770 to SSH into the server, used top to see that the spam filters were running a little hot, tailed the mail server logs, and found that someone was sending spam with one of our subdomains in the "from" address so we were getting all the bounces. I just changed the mail alias file for that subdomain to remove an errant wildcard address using vi, and all the bounces got rejected without troubling the spam filters.

I could have got up and used the desktop machine; I could drag the laptop to bed every night, but the N770 was just there, and handled all of the above just fine. I can also VNC into machines - to start (e.g.) the Bioshock demo downloading first thing in the morning, or shut down the desktop machine when it's finished doing a backup last thing at night - or just pull up the wiring diagram of the internal USB connector when fitting one of those Matrix Orbital LCD displays. While I doubt that these abilities are unique to this device, having properly integrated wifi and that widescreen display certainly make it an ideal tool for the job.

VNC
VNCing into my desktop machine (click for bigger)

I carry a Leatherman multitool on my belt, which isn't going to replace a proper well-equipped toolbox - there's no power tools, and it's not heavy enough to hit things with - but it's good enough for most day-to-day jobs and it's always there when I need it, so it makes my life that bit easier. The N770 can be described in the same way.

Problems

It's not perfect, of course - but writing about the downsides of the device have taken me longer than the rest of the article put together. This could in part be due to the honeymoon period of first getting something new and shiny, but even after a few weeks it's hard to complain too much. There a few annoyances, but no real show-stopper I can really rip in to.

When you switch on the device, it needs to finish its boot sequence properly: if you jump in early and start trying to connect to your wireless network, there's a chance the device will think it's gone pear-shaped when it notices the extra load and just reboot itself. Similarly, if it runs out of memory - most notably websites heavy with graphics - it'll quit the program you're using, pointing to there being not quite enough memory under the hood. The N800 appears to have double the N770's (128MB over 64MB), which might add credence to this. These are problems that can't be completely cured as such, but with a bit of common sense can be avoided most of the time - especially as there are a number of programs available to add memory and load indicators to the top bar. In normal use however, having three or four programs running at once hasn't caused me problems.

I found the USB connectivity pretty useless - it only allows you to browse the mini SD card, if fitted. And if you're connected, you can't see the card from the device, so you have to keep disconnecting and reconnecting the cable to transfer (to take a random example) review screenshots. Uploading the images directly via the web browser is probably more sensible. It would have been better to remove the USB port, use the extra space to fit a proper-sized SD card port (so it can be taken out without having to clip the adapter in place, and coincidentally read my camera's card directly), and leave the USB cable out of the box. If you're really worried about it, perhaps use the savings in component costs to bundle a dirt cheap card reader: it'd be more convenient - at least this would show up as a removable drive, allowing the user to do the safe removal thing under Windows. Or hey, fit a USB input instead and allow me to access USB devices instead of just a few bluetooth ones, and I could really get rid of my old laptop (although I shudder to think what that would do to the battery life).

One of my personal disappointments was with text area input in a web browser, but I've been in two minds whether to mention it. As well as the usual hunt-and-peck small on-screen keyboard for use with the pen, the application of a meaty thumb in the right place brings up a keyboard that covers most of the screen, allowing me to jab away with my fingers - or holding the device in both hands, type using both thumbs. This works a treat for entering commands over SSH or even typing up notes on a bus, but failed dismally in the text area box in the web browser when replying to comments on our forums. It would either result in small comments vanishing, or large comments repeating lines at random, plus formatting quoted text to a fixed number of columns. The latter could be solved by some pre-posting edits, but it was annoying, as this is my preferred method of text entry. I eventually got around it by installing the latest Gecko engine. However, installing an alpha copy of the latest Mozilla code means a slower, more memory hungry and crash prone browser, so it's not ideal for normal browsing and I find myself switching back and forth between this and the original Opera code. OK, this can be done fairly easily from the browser itself, but it's extra hassle. The reason I'm not sure whether to mention a potential show-stopper? It worked fine on my own "contact me" web page, so although the browser shouldn't have this problem, we might be doing something to contribute to it - possibly some CSS in the text area definition that caused it to go screwy. It's certainly something I'll be looking in to.

The only other problems I had are trivial. For instance, the onscreen keyboard suggests words from the dictionary, and learns as it goes along; this leads to the nice, massive space bar getting much shorter, and I have occasionally ended up with sentences like "I america not happy" until I learned to use the far right of the space bar at all times. Oh, and as it doesn't know SSH passwords from any other text, it's memorized my root password and happily suggests it to me all the time (lucky I have heavy firewall rules to lock SSH down, so I should be OK even if the device is stolen).

Moving the desktop plug-ins around can be painful, as they can't overlap - but you can't, for instance, change the number of columns on the weather app to make it fit better until it's been placed on the desktop, which is a chicken and egg situation. However, once in place I never have to touch them again, and you don't really, truly need anything on the desktop. It does point to some apps being so simple that, for instance, between sessions the screenshot hack didn't notice that there were already screenshots in the images folder and overwrote some of my killer illustrations for this review. I had to remind myself that it was free, third party, and takes up about 1K of space, so just maybe it's a bit much to expect more.

Desktop Apps
The Desktop Applications in All Their Glory (click for bigger)

And as many third party apps aren't specifically designed for the device, it can be slightly hit-and-miss figuring out what hard button does what - for instance, the volume rocker is used as the zoom controls in certain apps. Having casually thrown the manual aside from the beginning, I had a bit of an ID-10-T moment when I couldn't find any on-screen cursor keys, which means I couldn't use the shell history function when SSH'd into the server. I'd become so used to doing everything on-screen that I had completely ignored the large D-pad on the left side of the device, which is the bloody obvious cursor key combination. I'm still not sure what the button in the middle is used for though; the button that does "back" in the browser looks like a reload button; and I've never felt the need to use the home or menu buttons, if indeed that's what they are. The full-screen key, however, gets a lot of use, and is just in the right place for tapping with your left index finger when you're holding the device with both hands, so no complaints there.

What else? Clicking on the desktop RSS headlines and summaries opens up the same data in the RSS feed reader, where I'd prefer it to go straight to the web page. Oh, and when the metal half-shell protective case is in the storage position (on the back, rather than covering the screen), it covers the little hole that holds the pen, so you have to keep hiccuping the device out of the shell to store and remove the pen. Such a discreet, wifi and GPS enable device is crying out for a NetStumbler implementation, but I can't find one. Yes, I'm really struggling for negatives now. Does being able to reskin the entire device, including sound effects, as a Star Trek LCARS device count?

Conclusion

We debated in the staff forum why I bought this device in particular - some of the points made in this review might seem to be extolling virtues that might be present in many, if not all, mobile devices. Yes, I love the fact that, on visiting my parents' house, I don't have to get out of my chair to tell them the prices and availability of books on Amazon, and that I can pull this device out of a pocket and start taking notes even on a cramped bus, but we're probably not talking about unique selling points of the N770 only there. This is in part because I was looking for something more convenient than my laptop rather than looking for something to review, so I'm sharing some of these experiences to maybe whet a few appetites (and on seeing the web browser in action, I have at least one convert). I just found the makers of this particular device have made many sensible decisions, most notably with the screen quality, connectivity and battery life. Text entry too, apart from the hiccup with our forums. One option I haven't mentioned is the handwriting input, which uses proper letters rather than some obscure shorthand, and with enough examples that it probably doesn't need training - but if it does, you can do this on the fly without quitting and reloading your current program or document. Or that, when you connect to a wifi network, the RSS feed list on the desktop notices and automatically downloads the latest headlines in the background. It's touches like that which make this device so nice to use.

This is a device that takes a little effort to get just how you want it, but it amply rewards that effort. On one hand, it's a capable multimedia machine that has a solid, user-led software base if you just want to play. On the other hand it's a pretty straight Linux computer that's infinitely hackable, without the constant frustrations and work-arounds that you'd face with an iPhone or a PSP. Being a bit cheap I don't think I'd pay top whack for this, or the updated N800 (with built-in webcam - woo!). However, the price I paid is a bargain for the amount of use it now gets, and I wholeheartedly recommend picking one up.

10 comments in forum

1165
Freeware instant messaging client released 1189805400 Michael Drake
Parmesan is a new client for the popular MSN Messenger network, developed by Christian Ludlam. Released as freeware, the software brings new features to instant messaging on RISC OS. Chief among these are display pictures and nudges. The software also doubles as a versatile viewer for arbitrary XML files.

RISC OS has seen the release of several MSN Messenger clients over the years; two free clients (Natter and Messenger) and R-Comp's commercial product, Grapevine. A few years ago all of these clients fell foul of an upgrade to the MSN protocol which stopped RISC OS users from being able to connect to the chat network. To many users' dismay, RISC OS was left without a free MSN Messenger client, as only Grapevine was upgraded to support the new protocol.

Happily, this distressing situation has, at last, been rectified with the release of Parmesan. In this article I'll take a look at Parmesan describe my experience of it. Finally, as a Grapevine owner, I will compare Parmesan with the commercial Grapevine application.

Signing in

Parmesan was first announced less than a fortnight ago on the Zap technical mailing list, in a call for beta testers. I responded and have been running it ever since. When first run Parmesan presents the user with a simple dialogue box enabling the MSN account details to be entered and lets the user sign in for the first time (figure 1).

Figure 1
"Sign in" dialogue box (RiscPC, running Select 3)

It looks as though Parmesan can cope with multiple users' MSN accounts although I have not tested this myself. Signing in is extremely straightforward and I was quickly presented with a list of my friends; online and offline (figure 2).

Features I like

It is immediately apparent when you start using Parmesan that a lot of thought has gone into the user interface. Looking very much in sympathy with the RISC OS desktop's general design paradigms, it is extremely clean and intuitive. It is uncluttered and has no unnecessary or confusing buttons and toolbars.

Figure 2
Friends window on RISC OS 5

The other thing that struck me when I first signed in was that the software supported "display images", which are little icons, individual to each user. Parmesan is, to my knowledge, the first RISC OS MSN Messenger client to support the feature. Initially, users are given the Parmesan cheese icon as their display image. It very simple to change the image and I soon had a little drawing of a car, created in ArtWorks, as my display picture.

Nudges allow people to attract the attention of the person they are conversing with, by bringing your chat session back to their attention. It is of particular use if your communication is urgent. The chat window (figure 3) has a pane to the side of it which shows your correspondent's display picture and offers two buttons. One of the buttons is for selecting a graphical emoticon and other lets you give your friend a nudge.

Figure 3
The chat window

When I first discovered that Parmesan supported nudges I was a little dubious because I generally dislike things that interfere with my desktop. After experimenting with the feature, I can report that it has been implemented pretty nicely. When you are nudged by a friend, the chat window is brought to the front of the window stack and given a little shake. In my experience, this succeeds in drawing attention to the window without interfering too much with the desktop. The nudged window does not steal input focus, so you can continue typing into another window on the desktop as you receive a nudge. It might be nice to have the option to disable the feature, especially if you suffer any particularly enthusiastic friends.

The text input box at the bottom of chat windows is a multi-line text area. This means that there is plenty of room to read over what you've typed in a long message. It also lets you send multi-line messages. Pressing the return key sends the message, while shift+return starts a new line within the same message.

I very much like Parmesan's whole interface. It takes a few liberties here and there, such as not using the standard RISC OS window resize furniture, however Parmesan manages to pull it off without jarring with my delicate sensibilities. The content of the windows, such as the friends list, is well layed out and has quite a polished look.

Parmesan has very advanced configuration functionality. All of the things Parmesan displays, such as the friends list and chat conversations are represented internally in XML format and they way they are displayed is governed by CSS files. This makes it very easy to restyle the the way conversations are shown. For example, if you want to adjust the gap between successive messages in chat windows you can change the value of the margin-top property for the message class in the Chat CSS file.

Things Parmesan doesn't do (yet?)

File transfer is high on Christian's TODO list. I'm told that it works at the moment but there is no front end for the feature so it is disabled by default.

Once you've set up a personal display picture, if you try Parmesan on another computer you need to set the display picture again, because it is not stored on the server. I am told that it is possible to store your picture on the server with later versions of the MSN protocol.

Parmesan in action on a VirtualRPC powered laptop

The MSN Messenger protocol allows for hand drawn messages to be sent, as well as text messages. Parmesan supports the display of hand drawn messages but does not yet cater for sending them. A screenshot showing Parmesan displaying a hand drawn message is available on the Parmesan site's screenshot page.

There are several other rival instant messaging networks, for example ICQ. Only the MSN Messenger protocol is supported supported by Parmesan. This is no issue for me as all my friends use MSN Messenger.

Beyond instant messaging

Aside from being a perfectly good MSN Messenger client Parmesan is also a useful application to have at hand, even if you have no interest in instant messaging. It can be used to display any XML files you might have. Dragging an XML file to the Parmesan iconbar icon causes it to display the XML file's contents raw. If you then drag a suitable CSS file to the XML window it is styled neatly.

By default, Parmesan logs conversations in Choices:Parmesan.Accounts.n.History. The old conversations are stored in XML format so they can be used to demonstrate Parmesan's XML display functionality. If you drag an XML file to Parmesan, it is opined in a new window. If you then drag the Chat CSS file stored at !Parmesan.Styles.Chat to the new window, you will see the conversation styled as it was originally, when the conversation first happened.

Parmesan vs Grapevine

I've owned Grapevine since it was first released. Unlike Parmesan it supports multiple chat networks; MSN Messenger, ICQ and IRC. I originally bought it for its MSN Messenger functionality and it introduced me to IRC, which I now use daily via another client. ICQ support was added later but I have never used it. It is clear that Grapevine offers support for more chat networks than Parmesan, but how do they compare on the common ground – as a MSN Messenger client?

Figure 4
Grapevine's interface

I'll start with the user interfaces. Grapevine's interface (see figure 4) is very bright and colourful with lots of buttons to click on. Sadly it has never been quite to my taste. I feel it tries too hard to look snazzy and ends up looking confused, sticks out like a sore thumb and generally seems a little vulgar. Some of its buttons just seem unnecessary, e.g. opening menus that are already available though the normal RISC OS style menu. I very much prefer the simple interface style of Parmesan which looks far more at home on RISC OS.

In terms of actually using the programs, they both behave pretty similarly although it is obvious that Parmesan has had a little more thought put into its interface. For example, Parmesan sorts the friends who are online and offline into alphabetical order; allowing you to find them easily. Normally I wouldn't even notice this but having been a Grapevine user I had been used to Grapevine's baffling ordering. Also, when chatting to friends, the multi-line text area of Parmesan is a far more comfortable message editing environment than Grapevine's single line text entry box. It is easier to read over a long message before sending and isn't such a rigmarole to edit multi-line messages.

Grapevine does have a few strengths to its interface that aren't matched in the first release of Parmesan. If you want to send a similar message to a previous one, for example to change part of a long URL, Grapevine allows you to press the up cursor key to fill the text area with a previously typed message. Parmesan lacks this convenient feature. Also, Grapevine chat windows take input focus when the mouse is clicked over the main content area, showing the conversation. In Parmesan, users must click in the text area to give the conversation window input focus.

Grapevine also has a useful feature that allows users to set their own display names for each of their contacts. This is a helpful feature if all your friends are in the habit of repeatedly changing their names to a variety of catch phrases and quotes, leaving you unable to keep track of who anyone actually is.

As far as supporting features of the MSN Messenger protocol go, Parmesan is, in my view, a whisker ahead. Its support for display pictures, nudges and even display of hand drawn messages is not yet matched by Grapevine. On the other hand, Grapevine supports file transfers (although my own successes with this has been limited), while Parmesan's current partial support is disabled.

In the stability, reliability and dependability stakes, it is difficult to draw any conclusions. I have had Parmesan for over a week and a half and I've been running it almost constantly, on a variety of RISC OS computers. It has never crashed or acted up on me – by failing to connect or disconnecting without telling me, etc – however I'd need a few months to be sure it's rock solid.

Grapevine has had a few ups and downs over the years with reliability. This is due, in part, to enforced updates to the MSN protocol, which locked Grapevine users out until an upgrade appeared. However, there have been other connection problems as well. Currently, I find Grapevine's reliability is at a bit of a low ebb – occasionally it fails to connect, stops telling me people are talking to me, stops sending my messages or stops updating the list of who's online or offline. These problems can be overcome by disconnecting and reconnecting once you begin to suspect something is amiss. However, the issues left me a bit nonplussed and resulted in me using Grapevine much less over the last year or so. Judging from the Grapevine mailing list and my chats with other users, these problems plague some people but other Grapevine users get along without any problems.

Conclusion

Well, I have to say I think Parmesan is awesome. It surprised me when the beta version was announced and I was very keen to test it. I am really happy with its general appearance and think the interface was designed with great skill. I like the display pictures feature and have found it stable and reliable so far. Parmesan has not been off my iconbar since I downloaded the beta and it was soon added to the "run on startup" lists on my computers. It is clear that there there are more features that can be added to Parmesan and that the interface could be improved a smidgen here and there but Parmesan is already an extremely useful and pleasant to use application. I can't wait for the next release.

Links

12 comments in forum

1164
Building the Dream 1 - Container data structures 1184497200 Jeffrey Lee
Hello and welcome to the Building the Dream, a new series of (regular!) articles at The Icon Bar in which I will be educating you in how to turn your programming dreams into reality. First off, let's get one thing clear - this isn't a beginner's course to programming, or a tutorial in a specific language. Instead it's the place to go once you've finished your programming tutorial and are wondering what to do next. If you have an idea for a program, but are confused about how to implement it, then this is the series for you, as I'll be covering everything from data structures and program design through to project management, optimisation, how to make sure your programs maintain the RISC OS look and feel, and even provide case studies of how certain well-known programs do their stuff.

Container data structures

Deciding which container data structures to use is often one of the most important decisions to make when designing a program. And yet they are a subject that is rarely covered properly in programming tutorials - for the simple fact that tutorials teach you how to read and write a specific programming language, rather than how to actually design a program. For example, English lessons given to a foreigner will teach them how to read and write English, but it will not teach them how to write good jokes, or compelling dramas.

Selection of the correct container data structures for use in a program can do anything from make the code a hundred times faster, to reduce memory requirements, or to make the source code cleaner (in turn making it easier to write, debug, and expand).

Typically, the most commonly used data structures are ones which are implementations of abstract data types. Whereas an abstract data type (or ADT for short) specifies what operations can be performed on a data structure (and in turn some of the ways in which the data can be processed), a data structure is the concrete implementation of that type, specifying how much memory is required and, crucially, how fast the execution of each operation will be. However for most purposes the terms ADT and data structure are interchangeable, so don't worry too much about understanding the differences between them.

Broadly speaking, container data structures are implemented using two core data types/structures - arrays and linked lists.

Arrays

I'm hoping that you already know what an array is, so I won't bother explaining it. However you may not know that a computer's RAM is essentially one big array. The memory management code in the OS then splits this array into sections, providing each program with its own area of workspace. This is an important fact to remember when writing programs, and its importance will become clearer as we go deeper into the workings of the computer in the following articles.

Since arrays are so fundamental to the construction of modern computers, it's no surprise that most programming languages have builtin support for arrays. However not all languages provide the same level of support - BBC BASIC, for example, does not allow you to resize an array once it has been created. C does allow you to resize arrays, but this can only be done to dynamically allocated arrays, and will often require you to manually update pointers (since the location in memory of the array has changed). Additionally, BBC BASIC provides range checks on array indicies, but C typically does not.

Linked lists

Linked lists can be seen as a 'dispersed array'. A typical linked list contains an ordered sequence of data elements, much like an array; but these elements are not necessarily stored in adjacent memory locations. Instead, each element in the list has a pointer to the location of the next element. A pointer to the first element of the list is also maintained - without this pointer, a program would usually have no idea where any of the elements in the list are. Some lists (called doubly-linked lists) also have pointers to the previous element, which makes some operations simpler to implement or quicker to execute. Similarly, some list implementations may keep pointers to both the first and the last element of the list, to allow the elements at either end of the list to be quickly indexed.

Because of their more complex nature, few programming languages provide direct support for linked lists. However linked lists can be implemented in almost all programming languages (either by the use of pointers or arrays).

Differences

There are several key differences between linked lists and arrays - these are surmised below:

Very quick and very slow

A formal notation has been developed to indicate how fast algorithms and data structures are - it is known as Big O notation, and it's important that you understand it before we go any further. Big O notation is generally used to indicate how fast an operation on a data structure is, in relation to how many items are currently being stored by that structure. For example, accessing the Nth element of an array always takes O(1) time - because the number of elements in the array has no bearing upon how fast the array lookup is. But accessing the Nth element of a linked list takes (up to) O(n) time, where n is the number of elements within the list at that point in time. (Typically, lowercase n is used to indicate the number of elements within the data structure). Big O notation is usually used to indicate the maximum time the operation will take (as opposed to the average time). Common Big O denotations for data structures are O(1), O(log n), O(n), and O(n2). Depending on how large your data set is, and how frequently you wish to perform specific operations on it, the way the Big O timings affect your choice of data structure will differ. For example, you would usually want to stay away from any data structure that has O(n2) timing for an operation that you want to perform regularly, because the time taken to perform the operation can easily grow from seconds, to hours, to days, to weeks as the number of data items increases.

Abstract data types

Although I could continue this article by listing some of the more exotic data structures, I think it's more worthwhile to you if I instead list the ADTs that those data structures are implementations of. This is because you will usually first choose the ADT that meets your requirements (in terms of how the data can be manipulated), before then going on to choose the implementation that meets your timing requirements (which is where the Big O notation comes in). Or at least, it's a lot simpler to explain it this way.

Although there are many ADTs in total, I'll only be aiming to cover the core group:

List-based ADTs

These are lists, queues, and stacks. These three types are usually very similar in their implementations, which is why I've grouped them together like this. A list data type, in its most general form, allows you to insert and remove items at any point, as well as to navigate back and forth through the list, either looking for a specific item, or performing a specific operation on each item. Queues and stacks are often implemented using a list (or an array if the maximum size is known); but they restrict usage so that elements can only be inserted and removed from specific ends of the list. These restrictions allow for a faster and cleaner implementation of the data type, but at the cost of flexibility should the program's needs change in the future.

Queues are, as their name suggest, like a queue of people at a bank or a theme park - new people (elements) join at the back of the queue, but only the people (elements) at the front are removed. They are known as FIFO (First-in-first-out) data types. Similarly, stacks are often explained as being like a stack of plates - plates can only be added and removed from the top of the stack, else it falls over and someone gets shouted at by their wife. These are known as FILO (or LIFO) data types - First-in-last-out/Last-in-first-out.

The two main ways of implementing lists, queues and stacks are using either a linked list or an array. These two choices provide different tradeoffs between memory usage, insertion/removal speed, and indexing (searching for the Nth element).

Although the core specifications for most ADTs provide limited functionality (typically the minimum level required for use of the type), most implementations provide further functionality, such as checking how many items are in the data structure, checking whether a specific item is contained, or the ability to examine the next item in a stack or queue without actually removing it. It's important to bear this in mind when choosing an implementation of an ADT, as if the implementation doesn't provide the interfaces your code will require, then it's probably quite useless to you.

Maps

Maps (also known as associative arrays) are essentially a list, where each element within the list contains both a key and a value. The key part is used to access the value part, in a similar way to how an integer array index is used to access a specific item in an array. However unlike an array, the key can be of almost any data type, often one specified by the user. Most map implementations even allow keys of different data types to be used within the same map. Similarly the value can be of almost any data type, and does not usually need to the the same type for every entry in the map. Most implementations, however, place a restriction on the content of the map such that each key maps to a maximum of one value (the exception to this rule being multimaps).

There are many different implementations of maps available, each offering different execution speeds, which probably goes to explain why maps have only recently started appearing as built-in types in programming languages. For example Perl and PHP have built-in support for maps. This makes them very easy to use for certain operations, serving to increase their popularity as scripting languages. Unlike list-based ADTs, maps exist only to help you store and organise data, rather than to place restrictions on how that data is processed.

A good-quality map implementation will provide a Big O time of O(log n) or better for insertion, removal, and indexing of elements.

Sets

Sets are probably the simplest collection of objects (i.e. items of data) you can get. Typical set implementations provide three interfaces - to add an item, to remove an specific item, and to list all the items that are present within the set. Usually multiplie copies of the same item can be inserted, and usually no guarantees are made about what order the items will be listed in. Because of this there are many different ways of implementing sets, each resulting in different timing values for operations.

Sets are typically implemented in the same way as maps (using a hash table or (self-balancing) binary search tree), so you can expect performance of O(log n) or better for the common operations.

Trees

Trees are typically used within programs to increase the execution speed of operations such as searching for data or performing operations on data, while at the same time allowing for rapid insertions and removals of data items from the tree structure. The name 'tree' was chosen because, diagramatically, the organisation of data within a tree represents the organisation of branches and leaves on a tree. A tree is a series of nodes; each node has zero or more children; each child is either another node, or a leaf. Depending on implementation, either the nodes or the leaves contain the data elements of the tree. Sometimes both contain data, in which case there is usually little or no distinction between a leaf and a node.


Because trees are such a generic data type, there are many different implementations, each with different restrictions on usage. Binary search trees are a common example - in which each node has a data element and a maximum of two children. Rather than manipulatiing the tree directly, the most common usage of a binary search tree is as the core data structure in the implementation of another data type, such as sorted lists, maps, or sets. This is because binary search trees provide rapid access to items in a sorted data set, as well as rapid insertion and deletion (O(log n) time for a "well-balanced" tree).

Some tree implementations allow the tree to be split into subtrees, and for those subtrees to be glued back together again. As with splitting a list into sublists, this can be a very efficient way of changing the structure of your data, should your application require it.

Priority queues

Priority queues are queues in which each element has a priority associated with it. This priority is used to order the entries in the queue, so that the entry with the highest priority is always the one to be removed next. Because the contents of the queue needs to be kept in a sorted order, linked lists are not usually used for the implementation (because sorting a linked list can take a long time). Instead, trees or heaps are often used instead, providing much better performance.

Support in programming languages

As previously mentioned, different programming languages have different support for different data structures/types. This means that in some cases you may want to base your decision about which programming language to use around what ADTs are directly supported by that language, in terms of what ADTs you think you will be needing to use in your program.

In general, older programming languages, such as assembler, BASIC, and C, have the weakest built-in support for ADTs, so you will have to either write your own code or rely upon 3rd-party libraries (such as GLib for C - a RISC OS port of which can be found here). Newer languages, such as Perl, PHP, C++, Java and C# have better support - whether through the use of ADTs as language primitives (such as maps in Perl and PHP), or through well-defined standard implementations and interfaces that come with the compiler (such as the C++ standard template library, or the Java class library).

Conclusion

Although I haven't gone into as much detail as I'd hoped - in particular about how fast specific operations are on specific implementations of data types, or even how the implementation of each data type works - I hope I've opened your eyes a bit to the different ways that you can store and manipulating data within your programs.

Next time...

Next time I'll be talking about the RISC OS sound system - everything from understanding the terminology used to writing your own sample player.

8 comments in forum

1162
SDL port of Asylum released 1184013000 Jeffrey Lee
Hugh Robinson has contacted us to let us know that he's converted classic Acorn platformer Asylum to C, using the SDL library. With full support of original author Andy Southgate, Hugh's source code has now been released under the GPL, and is available to download from the SVN repository on the SourceForge project page.

Although a quick look at the source suggests to me that it's fully converted, there are still some bugs and compatability issues to sort out, so feel free to send any fixes Hugh's way if you manage to get the game running. Although the source to Asylum has been available on asylum.acornarcade.com for a few years now, this is the first known port of it to any other platform (and could potentially form the basis of a back-port to RISC OS, to produce a fully 32bit compatible version).

3 comments in forum

1163
Wakefield 2007 1179604800 Phil Mellor
What a day - the Wakefield RISC OS show AND Doctor Who. It doesn't get more exciting than that. Here's my report.HPIM4156.JPG


Wakefield: 2007

HPIM4102.JPG First steps through the door, and the first item on show is this: the A9wai1 - a widescreen, all in one RISC OS computer. Like the iMac, the hardware is built into the monitor. A wireless keyboard and mouse can be used (providing a suitable antenna is fitted inside the metal case), meaning there's only one cable required - the power lead.
HPIM4103.JPG Advantage 6 also have drivers for a touchscreen version, although this wasn't on display, and the touchscreen isn't widescreen. The A9wai1 isn't a commercial product (yet), but the sort of development that Advantage Six demonstrate to potential clients and partners. The A9home is also often shown to clients as proof that their hardware designs can be successfully taken into production.
HPIM4104.JPG Chris McDrobe Williams counts the number of articles he's read on the Icon Bar this year on one hand.
HPIM4105.JPG Vince M Hudd of Soft Rock Software was selling WebChange for £0.00 including VAT.
HPIM4106.JPG Vince stuck in Quicksand.
HPIM4107.JPG Virtual Acorn running on a G5 iMac. Shiny! Although the beta is only for PowerPC processors, Aaron Timbrell promised that users who bought the beta could exchange their CD for the full Universal Binary edition, which would support both PPC and Intel processors.
HPIM4108.JPG A fine demonstration of lens distortion. And Virtual Acorn.
HPIM4109.JPG Virtual Risc PC again, there. The software is locked to the hardware, although software configuration and USB devices shouldn't cause any issues.
HPIM4110.JPG Virtual Acorn is still in beta. I tried breaking it, but couldn't. The only issues I could see were that resizing the main window didn't cause the RISC OS desktop to resize or scroll bars to appear, so parts of the desktop became inaccessible. The preferences window was a little basic looking too. Apart from that, fine, especially in full screen mode.
HPIM4111.JPG USB missile launcher on the CJE stand.
HPIM4112.JPG Chris Evans demonstrating the A9 (hidden behind the blue speakers).
HPIM4113.JPG Somebody had donated a Microdigital Omega to the charity stand.
HPIM4114.JPG The Omega had been sold by 2pm.
HPIM4115.JPG An Acorn Atom.
HPIM4116.JPG A batch of new Qercus magazines arrived shortly after the show started, and John Cartmell eagerly ripped open the box. The latest issue, available to subscribers on the day, includes a review of the A9home.
HPIM4117.JPG John Cartmell hides from the paparazzi.
HPIM4118.JPG The Vigay.
HPIM4119.JPG Obligatory Paul Vigay headshot. One day I will remember to press the red-eye button on my camera. One day.
HPIM4120.JPG RISC OS Open Ltd. Sources for several RISC OS applications and components are now online. Draw and the Pinboard are items of particular interest to me. Now that the licence has been agreed, there's a lot of work to do checking the source for NDAs, project names, etc - not just in comments, but also in the source, compilation directives, and build scripts. They can release binaries for some of the components whose source isn't ready for release, but which are required to build the publically available bits. Most importantly, in addition to the mouse mats there are also coasters. Woo!
HPIM4121.JPG Several people thought this said 'wait', but it doesn't. It says 'wai1', and is pronounced 'wail'.
HPIM4122.JPG Giant hand, tiny box.
HPIM4123.JPG Obligatory Icon Bar screenshot. Advantage Six have internet access!
HPIM4124.JPG Me laughing at Drobe's live show report. Drobe reported that the A9mini was real, you see. Matt from Advantage 6 took this photo for me because he didn't want to be in it. Because the A9mini is a joke.
HPIM4125.JPG The A9mini. It's a joke!
HPIM4126.JPG Chris McDrobe Williams taking a photo of the A9mini. Yes, I know that he knows that it isn't real. Did I mention it's a joke?
HPIM4127.JPG The RISC OS Packaging Project.
HPIM4128.JPG Joel's 8 Bit Emporium. Overheard: "I bet nobody will buy this for 10p!"
HPIM4129.JPG The charity stall.
HPIM4130.JPG David Holden at the APDL stand.
HPIM4131.JPG RISC OS SIX. Just look at all that lovely documentation!
HPIM4132.JPG The huge NetSurf banner. The printer that prints this also prints doors.
HPIM4133.JPG The canal, there. We didn't meet Stanley Ferry, but he seems quite a famous chap around these parts.
HPIM4134.JPG Aaron Timbrell was representing both Virtual Acorn and RISCOS Ltd.
HPIM4135.JPG RISC OS 6 was on sale for £49, or £99 including a Select subscription. Cheap as chips!
HPIM4136.JPG Louie Smith attracts another subscriber to RISC OS Now.
HPIM4137.JPG The lovely Louie Smith.
HPIM4140.JPG The show floor. Although the venue is smaller than before, attendence remains high.
HPIM4141.JPG No flash. Lots of blur. I like to call this an "action shot".
HPIM4142.JPG Jon Ripley and Jonathan Harston like Beebs.
HPIM4143.JPG Archive Magazine. Archive's editor, Paul Beverley, was one of two exhibitors wearing bow ties today...
HPIM4144.JPG ...the other being Martin Wuerthner. Released alongside the new version of ArtWorks is an updated rendering module which allows other applications to use the new features of ArtWorks such as transparency.
HPIM4145.JPG Martin Wuerthner is also the developer for Easi/TechWriter. Forthcoming developments (possibly in time for the South-East show?) include a new style editor.
HPIM4146.JPG Michael Drake, of NetSurf and Acorn Arcade fame.
HPIM4147.JPG The first stable release version of NetSurf is out. The NetSurf guys were distributing mini-CDs containing the application and all the required sources and libraries to build it.
HPIM4148.JPG Rob Kendrick at the NetSurf stand. Javascript was the most requested new feature - but it's a stonker, requiring significant internal changes to the way NetSurf structures and renders web pages. Rob suggested it might be possible to integrate support for some simple functions, such as submitting forms, but it's the sort of work that would have to be discarded when implementing Javascript properly. ("Properly" meaning primarily the document object model, allowing scripts to manipulate the contents of the page.)
HPIM4149.JPG R-Comp had a long stand that was very difficult to photograph because customers kept getting in the way. Stupid customers. On show were a range of RiscCube machines, along with new applications like Messenger Pro 5. I'd not tried the built-in message editor until today, and it's surprisingly nice to use (I'm wary of anything which isn't StrongED or Zap). An update to Hermes is likely to include better RSS handling.
HPIM4150.JPG Jack Lillingston explained how his companies and projects operate. Castle collect the revenue from RISC OS licences, and licence Iyonix Ltd to sell the Iyonix with RISC OS. They might or might not do development work on RISC OS themselves. He would be happy to see RISCOS Ltd join the party, but acknowledges that they are a separate company who do things their own way, adding value to the operating system. ROOL said that ROL's re-organisation of the RISC OS framework was an understandable approach, and it means that different implementations have been done to achieve the same end - merging these changes, if done, will require quite a lot of work, but because Castle's branch of RISC OS is publically available it should make the job much easier. Jack said that releasing the source freely for individual use, with a small licence fee for commercial use, was the most reasonable way for everyone involved.
HPIM4152.JPG Matt Edgar from Advantage Six. He thinks there's still a market for RISC OS. Although some people may come to them with an idea specifically to use RISC OS (which they'd consider with a viable business case), there are also clients who simply need their requirements fulfilling without a particular OS in mind - and if RISC OS is the right solution they'll use it. Although not all the work Advantage Six do is RISC OS related, the RISC OS stuff is fun... and that's what life is about!
HPIM4155.JPG Simply messing about in boats.
HPIM4156.JPG It's almost a cliche to say so, but this year's Wakefield had a real positive vibe. There's such a contrast between the whinging, arguing and trolling on the internet and friendly, charming conversations you have at shows like this. There was no doom and gloom; quite the reverse, and with a recognition of what RISC OS now means to people. The change in venue is an example - there's no longer the need or opportunity to pretend it's an event to rival Earl's Court or - more importantly - to feel disappointed that it isn't. As a chance to put names to faces, meet distant friends, and see the technology you've believed in for decades still being applied in interesting and successful ways, the show couldn't be anything other than a success.


Doctor Who: 42

DoctorWho42.JPG I liked it when the sun took over the Doctor and he started shouting with his eyes on fire.

16 comments in forum

1161
VirtualRiscPC released for Mac OS 1179400920 Andrew Duffell
Virtual RPC Mac"VirtualAcorn are delighted to announce that as part of our beta product testing scheme a limited number of VirtualRPC-AdjustSA products suitable for use on G4 and G5 PowerPC Apple Macintosh computers are now available."

http://www.virtualacorn.co.uk/products/vrpcadsamac.htm

19 comments in forum

1160
A Few Reasons to be Cheerful 1178542800 Chris
Ian DuryIt's seemingly mostly doom and gloom these days in the increasingly small world of RISC OS, with the glaring deficiencies in the platform still unresolved and the latest releases from the OS developers having received an underwhelming response. However, it's always easier to concentrate on the dark side, and possible to overlook the fact that there's nice stuff happening too. So I thought I'd highlight a few of those developments here in this article.

Now, before anything else, I should make clear that this is *not* an attempt at advocacy: I'm not trying to argue that RISC OS is in a good state, and certainly not that users of other OSes should switch over (or back). All I'm aiming to do is talk about some areas where RISC OS seems to me to be getting a bit better. And there are more of these than might be obvious, at least if reading Usenet is your guide to the health of the platform.

File formats

Easiwriter PDF bookmarksFirst off, reading and editing of industry-standard document files is much better now than it was in Acorn's heyday. Take PDFs, one of the most important standards in both printing and on the internet. A few years ago the options for manipulating complex PDF files were limited. Now, most of the PDFs I download are readable in RISC OS. I use either !PDF, a free viewer which is quick on my A9 and generally gives good results. This won't read everything out there, but if it fails, I fire up the excellent GView from Martin Wuerthner, which is also free (but if you find it useful, please donate to support this important app). This has coped with all sorts of things I've thrown at it. It is slow, to be sure, but certainly not ridiculously so on modern hardware.

In addition to this, there's RiScript, a commercial application for reading and editing PDFs, and increasingly comprehensive PDF export from EasiWriter and ArtWorks (the latter is due for further improvement with the imminent release of 2.7). Now, I daresay there are lots of things one can't do with PDFs on RISC OS, and I wouldn't want to suggest matters are perfect. But the point is that this situation is much advanced from where used to be, and promises to develop further.

PDFs are one example of better document reading, but there are others. Word file import and export is now very nicely done in EasiWriter, which benefits from constant development. The freeware application ViewXLS can read Excel files, and the commercial spreadsheet Schema is being augmented to cope with these better too. Though large holes remain, the RISC OS community seems to have grasped the idea that support for industry-standard file formats is a good idea: we can cautiously hope that this trend will continue, and some gaps (such as PowerPoint) will be filled in due course.

Printing

GutenprintRight back in Acorn's heyday, printing was a bit of a pain. Supporting third-party hardware was tough even when RISC OS computers were relatively common in the UK, and once the brand disappeared and resources dwindled, the range of supported printers got smaller. But now, thanks to the magic of the open-source community (and, more importantly for us, the skills of Martin Wuerthner), things look a lot brighter. Using Gutenprint, a port of the printing system used by many Linux set-ups, dozens of modern printers are now supported, with the expectation that many more will be added as the legions of spotty-faced bedroom developers around the world add drivers and documentation. It's not exactly a perfect system (again, it's slow on current hardware), but just think where we'd be without it. It's an excellent initiative, deserving of the support of every RISC OS user.

And for those who network their machine to a Windows PC, there's also the ingenious UniPrint from R-Comp, which (among other things) allows printing using the PC's drivers instead of the increasingly out-of-date Acorn set. Of course, this does depend on having access to a PC in the first place, but it adds a way of printing where no other may exist. Not everyone's cup of tea, I'm sure, but there's no doubt many users find it invaluable.

Application development

HeadphonesAgain, it often seems to pass unnoticed how much quiet development there is going on in the RISC OS scene. Most attention is focussed on what we lack: a stable Javascript browser, a full-featured media player, etc. But although it's quite understandable (and right) to mourn the absence of these important things, there is other stuff going on. For example, musicians in the past couple of weeks have seen updated MIDI modules, a new 32bit Rhapsody commercial application, the 32bitting of the audio editor StudioSound, and the continued availability of superb software such as SamplEd and MelIDI. This is a pretty good haul for a platform at death's door!

Let's also celebrate other gradual improvements which seem to get drowned out from time to time: a major update to APDL's Ancestor family tree program, continued Messenger Pro development, ongoing StrongED work (with an update to version 4.68 hopefully around the corner), DigitalCD improvements, and work on CDVDBurn. These are important applications, meeting users' needs, gradually adding features and filling in gaps. And besides these there are a host of smaller, usually free utilities which get released all the time: a trawl of csa.announce over the past few days brings up half a dozen small apps, none earth-shaking in themselves, but all in response to a genuine niche requirement.

GCCMost of the above are commercial projects, or RISC OS-exclusive open-source applications. But perhaps the most exciting and hopeful work being done at the moment is in the field of cross-platform open-source. Although not obvious to everyone, over the past few years an enormous amount of effort has been devoted to getting the GNU compiler collection (GCC) to work on RISC OS. Recently, it's even been possible to compile RISC OS applications on other platforms using GCCSDK. This is a truly momentous accomplishment, which many other minority platforms must envy. If it doesn't seem so significant to you, consider that without GCC and its related projects we would have no NetSurf, no Firefox, no Gutenprint, no Unix ports, and no real prospect of getting the media player we need. The developers of much of this get little thanks (and occasionally criticism) – I often wish there was more appreciation and understanding of how important this work is.

OK, I'll stop now

By this point, even the most ardent advocate of RISC OS is likely to be getting a little sceptical: surely things aren't as rosy as the above picture suggests? And of course they aren't: our OS has a lot of major challenges, and I truly have no idea whether we'll even be around this time next year. But I make no apology for celebrating some of the hard work that is producing fruit – it's good for the soul to recognise what is functioning well, even if it contributes in only a small way. I wouldn't blame anyone for moving on to other OSes with more features and software, but I do think there is some fun to be had with RISC OS, and we're not quite dead yet.

5 comments in forum

1159
RISC OS Select 4 Issue 2 now available 1177970220 Andrew C. Poole
Paul Middleton just emailed to let us know that RISC OS Select 4 Issue 2 is now available to download to any RISC OS Select subscriber who renewed their subscription on or after January 1st 2006.

In the PR, Paul Middleton says: "Select 4 and its underlying RISC OS Six technology represents over 10 man years of development which has taken RISC OS 4 from its 26 bit version to its new fully 32 bit neutral source version."

CDs are being sent to subscribers within the next week or so, and those of you impatient enough to not want to wait can download it from the RISCOS Ltd RISC OS SIX website now.

Links:
- Press Release - RISCOS Ltd.
- RISC OS SIX and Downloads - RISCOS Ltd.

27 comments in forum

1158
Hyperland 1177644900 John Hoare
Yeah, that whole "updating a website" thing. We're quite shit at it, aren't we?

We do have some good stuff coming up, though. In the meantime, if you've not seen it, I recommend watching Hyperland - a 1990 Douglas Adams documentary. To say much more would spoil it, but it's fascinating stuff, especially considering when it was made.

Pity about the snipe at Filthy, Rich & Catflap at the start, mind you. (Indeed, the snipes at telly are pretty misjudged as a whole.) It's utterly wonderful, and I recommend you buy the DVD if you haven't seen it. At £6.99, what is there to lose? Well, apart from £6.99, of course.

14 comments in forum

1157