Martin's Musings...

Page created: 26th September, 2000

Last Update: 28th August, 2003


I've set this page up as a form of self-indulgence!  Basically, it's where I plan to let my mind wander (although some people have commented in the past that it really shouldn't be allowed out on it's own! ;-) ), discuss idle gossip and speculation, rant (occasionally) if the mood takes me, ponder the meaning of life (, the universe, and everything), and generally - well - muse...  Updates to the page will be as and when appropriate, as and when I feel like it, and as and when I get interesting feedback from people.  To that end, there's a link to a feedback form at the bottom of the page if you'd like to comment...

 

Topic #1: "‘Back to the future’ with a netBook"

Topic #2: "Creating replacement Colour Icons for your Extras bar"

Topic #3: "Jason Kneen's ExtraBars in Colour"

Topic #1:

"'Back to the Future' with a netBook"

(This is an article I wrote for FoxPop and which was published there in March 2003 describing why I effectively left the Psion scene - and then why I decided to return...)

‘Back to the future’ with a netBook

I have a secret to reveal… I have been a closet non-Psion user for the past 18 months! As someone who has owned and used Psions since 1994 (initially with a 3a), who has written software for them since 1998, and who has maintained or help maintain EPOC websites since 1998 also; this is a fairly major admission on my part!

The rot set in back in 2001 when Psion announced their decision to quit the PDA market. I had long been holding out for a colour (and/or updated) version of the 5mx – then my main machine – and this was the final nail in the coffin. That combined with the fact that my wife (then a Series 5 ‘Special Edition’ user) was totally fed up with PsiWin’s then poor synchronisation and wanted to get a Compaq iPAQ with it’s apparently seamless Outlook synchronisation. So we did the ‘dirty deed’ and bought both an iPAQ 3660 and an iPAQ 3630 in August 2001. It was hard moving away from EPOC and the EPOC 'scene' (or should that be 'Pscene'?!). I felt like I was deserting my roots in a sort of self-guilt kind've way...

However on the whole, the iPAQs served us well. Both machines were upgraded to PocketPC (PPC) 2002 when the upgrades became available and (as a confirmed gadget freak) I’ve bought various add-ons (e.g. a Stowaway portable keyboard, a Vaja leather case with integral CF card slot, etc.) and a lot of 3rd party software (e.g. Pocket Informant, Pocket Backup, Pocket Controller Pro, TinyStocks – to name but a few). At first, the joy of having a machine in the palm of your hand – seemingly as powerful as the best that Psion had to offer – and with a gloriously bright colour screen was wonderful. There were downsides too of course… Both my wife and I were used to our Psion’s being fairly self-sufficient machines and not requiring much maintenance by us. The number of times that one of us lost days of entries because we’d forgotten to put the unit on charge at night and hadn’t done a very recent backup were many and varied. Ah, the joys of backup batteries – so simple, yet so essential – so why didn’t they design them into the iPAQ?!?

Over time I realised however that I missed a keyboard. True, I’d bought the (technically extremely clever) Stowaway keyboard that I could plug my iPAQ into – but that doubled the bulk of what I had to carry and was only really usable on flat surfaces (no use perched on your lap for example). Plus of course you tended to look a complete geek if you whipped it out in a meeting to take notes! ;-) Still, you could still peck away at the on-screen Qwerty keyboard (or, in my case, Fitality – a faster 3rd party replacement on screen keyboard) so that was okay, right…?

And then fate took its course. I changed jobs in December last year and my new employer – as part of its corporate strategy – gives all its employees a BlackBerry. I have to admit, the BlackBerry is a delight to use - superb push email technology over a secure GPRS network, basic PIM PDA, and GSM phone in a package smaller and lighter than a Psion revo. Anyway, this now takes care of all my handheld PIM needs – not to mention my business email. Overnight my iPAQ was redundant as a PIM – and looks pretty silly sitting right alongside another handheld device. It seems that now is the time to be looking for a replacement – a keyboard-based replacement.

I did seriously consider looking at HP’s Journada range of clamshell devices. However, having spent some time (and a not inconsiderable sum of money) on PocketPC 3rd party software; I have to admit that I found it somewhat lacking compared with the EPOC software I’d used in the past. True, some of the handheld WinCE software might be different/better than that for PPC – but that wasn’t really the crux of the matter for me. 1) The PIM apps. built into Psion’s range of devices were the best I’ve ever used, and 2) I already had all the 3rd party apps. that I needed for EPOC – and I didn’t really want to have to pay again for yet another set of 3rd party apps. for the clamshell WinCE format.

Also since I now had a handheld unit for portable use (i.e. the BlackBerry), the size of my keyboard unit was no longer so critical. I didn’t feel constrained to use the 5mx/Journada size format. No, what I probably wanted now was something like a sub-notebook. I briefly thought about some of the nice Sony Viao’s that are full-blown PCs – but at anything from £1500 - £2000, these were way over what I wanted to spend.

The conclusion became inescapable. It was going to have to be either a Series 7 or a netBook. I didn’t really want to pay full price for a new netBook (easily my preferred choice between the two since it has more memory as standard, a faster processor speed, better PC Card support, etc.) and so – after a few weeks scouring eBay.co.uk / loot.co.uk – I secured the machine I wanted. There are in fact some real bargains to be had at these places. Believe it or not I paid just £225 for a 6 month old netBook including the 32Mb expansion DIMM! That's less than a quarter what you'd pay for the equivalent new machine. Whilst I count that as unusual (read 'very lucky'!) , you can certainly pick up a netBook or a Series 7 for around the £300 level if you shop around...

And I have to admit, it’s been a joy returning to EPOC on the netBook. Compared with my 5mx, the screen is superb. Yes, it’s supposed to be difficult to use outdoors in strong sunlight - but who am I kidding?!? I live in the UK – strong sunlight; what’s that?? And on the rare occasion when the weather is kind enough to make me want to sit around outdoors, I’m unlikely to be wanting to type letters or surf the web! And as for the keyboard… Well, the 5mx’s is the best I’ve seen in its form-factor – and the netBook/Series 7 is the same – still unequalled in its class. Psion always did know how to design ergonomic devices.

But the killer fun-factor that I’ve been rediscovering is the EPOC Operating System (OS). It’s simple yet sophisticated, intuitive, and fast – but over and above everything else it’s quite simply the most elegant I’ve ever used! I don’t think I can say that I’ve ever enjoyed just navigating around an OS – but I do with EPOC.

Whilst I’m salivating over things EPOC, there are a few other things that I feel the need to gush over...

1) Agenda. Quite simply, it’s always been the PIM (Personal Information Manager) that I’ve compared others to on any platform. The closest programs on PPC were Pocket Informant and Agenda Fusion (both shareware) – but neither was quite as intuitive and easy to use. In my opinion it's the best there is.

2) PsiWin 2.3.3. Ironically, this was released just prior to when I jumped from the EPOC ship originally. This is what PsiWin 2.0 (or at the very least 2.1) should have been - and is perhaps arguably one of the two main reasons that Psion hasn't done well in the mainstream PDA market (the other being extraorindinarily poor marketing in N. America). Finally they got the seamless Email, Agenda, and Contacts synchronisation right. Not that I'm saying this is an easy task - or that Psion was particularly bad at it. The grass always seemed greener on the other side when my only experience was of PsiWin. Having spent some considerable time with ActiveSync (MicroSoft's equivalent to PsiWin), I can confirm that it's not necessarily as perfect as everyone in the Psion world always assumed that it was. It can be equally idiosyncratic - refusing to sync sometimes, refusing to connect quite often, etc. Going back to PsiWin has - believe it or not - actually been quite a pleasant experience!

3) CopyAnywhere. This is - IMHO - one of the unsung diamonds (oops - mixing my metaphors!) of the PsiWin connectivity story. Quite simply it lets the user highlight some text (say) on one device, copy it on that device (Ctrl+C) and seamlessly paste (Ctrl+V) it on the other device. The two machines effectively become one as far as copying and pasting is concerned. A simple concept but extrordinarily powerful in use - and something I sorely missed on the PPC platform. The 3rd party shareware PPC program - Pocket Controller Pro - came the closest to reproducing this feature (I spent some time nagging them to do it!) - but it never became quite as easy as with the Psion.

4) 3rd party programs. Another thing irritated me slightly about the Microsoft platform. Whilst there was a reasonable volume of 3rd party applications for PPC and WinCE, they rarely came close to the EPOC scene in terms of a) sheer functionality, and b) affordabilty. Many (although not all) of the programs written in the Microsoft world seemed to me to be primarily interested in one thing - extracting the maximum amount of money from your wallet for the minimum amount of effort on their part. At a guess I'd say that less than 10% of the programs on the PPC/WinCE marketplace were freeware. I'd compare that with (perhaps) 40% in the EPOC world. And a number of the free (or cheap shareware) programs written for EPOC were quite simply better/more functional than the best full-price commercial offerings in the Microsoft world. Don't get me wrong; I don't object in principal to paying for good quality software. Indeed I must have spent a couple of hundred pounds on shareware or commercial programs for the PPC - and some were worth every penny. It's just the nagging feeling I always had that in the EPOC world it would have cost me half as much - or been freeware - or been built into the OS in the first place! By way of example; Microsoft's Pocket Money on the PPC is free - but effectively forces you to buy Microsoft Money for your PC so that you can import .ofx files, etc. from your bank/building society and then synchronise with the PPC. And compared with an EPOC freeware offering such as Malcolm Brant's superb 'abp5' (which by the way offers this import facility built in), it's got a tiny fraction of the functionality. Another example; 'Bournes' (a card/racing game available on many platforms) is commercial software for the PPC. Frederic Botton's 'MBournes5' (and Francis Goguelat's colour upgraded version for the Series 7 / netBook - 'MBournes7') offers exactly the same functionality/game for free. The list goes on...

5) The EPOC community. I believe that the EPOC community is in many ways going back to its roots. When I first got involved with Psions (a 3a was then 'it'), the online community - such as it was in 1994 - was largely based around the bulletin boards on CIX and CompuServe. There was a real sense of community and a self-help / can-do mentality. With the advent of the Series 5 and then 5mx, Psion moved more into the mainstream mass-market world and the 'community' expanded to such an extent that this level of intimacy (if I can call it that) was - at least partially - lost. Well the Psion community has contracted again with Psion's official withdrawl from the consumer PDA market - and it's once more become a very 'cosy' place to be...

So there you have it. I've gone back to my future with a netBook. And I find myself once more actively enjoying a PDA. I suspect in fact that I'm rather like someone who's recently given up smoking after a long period - I can't help but go on about it (much more than I ever did pre-smoking - erm, PPC)! I've become a 'born-again' Psioneer. An EPOC Evangelist! Haleluia! May the lord have mercy on my soul... ;-)

 

Topic #2:

Creating replacement Colour Icons for your Extras bar

(This is an article I wrote for FoxPop and which was published there in April 2003.  NB: See the addendum below before you start creating your own .aif files)

Creating replacement Colour Icons for your Extras bar

I was pondering the Extras bar of my netBook a few weeks ago (as one does...) and thinking "isn't it a shame that more authors/software houses haven't/didn't release their applications with colour icons for the Extras bar for us netBook/S7 users..." when it dawned on me that this is something that can be fixed retrospectively. It's a fairly simple matter for someone with a little understanding of how EPOC works to do this and replace the greyscale icons with colour ones. I carried out a quick poll of readers of the EPOC Digest (recommended: a free, daily email digest for anyone interested in all things EPOC - http://www.psioneering.co.uk). The response was quick and very positive so I set about creating a set of replacement Extras bar icons for many of the popular 3rd party applications. At the time of writing (mid-March 2003), I have more than 50 free replacement icons available for download on my website (http://www.pscience5.net) and the collection continues to grow.

Okay, so how do you 'replace' your Extras bar icons then?

If you look at any applications installation folder - let's call it, say (for the sake of argument), c:\System\Apps\MyApp\ - you'll see a number of files such as MyApp.app, MyApp.aif, and possibly MyApp.ini, MyApp.mbm, etc. Well, it's the MyApp.aif file that contains the icon information that's used on the Extras bar (and elsewhere sometimes depending upon the application). This .aif file contains some other information too such as the name that's used on the Extras bar and the application's UID (Unique ID) number that identifies the application as being different from all the others to the Operating System. Hence, all you need to do to be able to change a greyscale Extras bar icon into a colour one is somehow change the applications .aif file such that it preserves the UID and other info. that the application needs but changes the icon info. to that of a colour one. Then just use this new .aif file to replace the original one and 'bingo' the icon on your Extras bar automagically changes to colour! And in fact, that's exactly what my collection of replacement icons is - a collection of replacement .aif files...

That's all fine and well, but how exactly do you do that?

Since I started doing this a few weeks ago, I've had a number of suggestions from various people as to how it's done ranging from the complex (but plausibly workable) to the absurd (which definitely wouldn't!). In fact, the method used is simple, quick (given whatever time necessary to do the actual colouring in of the icon/s), and is done totally on my netPad (but could equally as easily be done on a Series 7 - or I guess a netPad or the EPOC emulator). And it's a technique used by anyone who's done any OPL application programming themselves on any machine. This because the thing that does the ultimate .aif file creation if the 'Program' app. that's buiilt into every machine's ROM...

Program

It really is as simple as that (well almost - the principal is anyway). Since you use can Program to create applications plus their Extras bar icons in the first place (i.e. the .app and .aif files), I realised that you can also use it to 're-create' replacement .aif files for existing applications.
The actual program code that you use to do this is very elementary - you really don't need any programming experience to use it. Here's an example of how it'd look for the imaginary 'MyApp' application:-

CONST KUidDummy&=&100004EF
APP MyApp, KUidDummy&
ICON "MyApp.mbm"
ENDA

PROC Anything:
ENDP

The first line defines a constant number (in hexadecimal - but don't worry about that; it's just a way of describing numbers using both letters and numbers) which is the application's UID number. The 2nd line tells the program that you want it to create an application called 'MyApp' using this UID. The 3rd line tells it that it needs to create an Extras bar .aif file using a standard EPOC .mbm file containing the necessary icons and masks (I'll explain about those later). The 4th line just tells it that your done with the application creating bit and that the real 'program' follows - and the 5th and 6th lines define the 'program' bit which in reality does... nothing whatsoever - since you don't need your MyApp application itself to do anything!
And here's how the code itself looks in Program:-

Umm, okay - but don't you need the UID for the original application and be able to get the original 'icons' if you're going to colourise them?

Yes you do. ;-) Fortunately, there are some well-know applications available to help you do this. Specifically, I used a hex editor/viewer called FileDump by J.D. Medhurst (freeware at http://home.clara.net/tixy/psion) and MBMView (was shareware but sadly the author died last year - still available for download if you hunt around the web) to get the UID information and extract the .mbm files respectively. I suspect that there are other 3rd party applications around which will also do the job - these just happen to be my prefered ones on my netBook <grin>.
Probably the best way to show it all in action is by way of demonstration. I'll use one app. that I should've created a colour icon for a long time ago - my own freeware 'psAddle' strategy puzzle game. [NB: Actually psAddle was originally developed by John Peat but I took it over a few years ago to upgrade it for the revo, S7, netBook, etc. Hence the game is already in colour and scales to the larger screens - I just never got around to doing the colour icon... Details and download from my website.]

Colourising psAddle


The icon I used for psAddle is an 'impossible space frame' image. If you look at it, you realise that it can't exist. At the time I think I thought it would make an appropriate icon. In hindsight I'm not quite so sure - but anyway...
The first thing you need is to extract the icon image(s) from the .aif file. Assuming that the application is already installed on your machine, you need to go to c:\System\Apps\psAddle\ (or the same on d: if that's where you installed it) and take a copy of the psAddle.aif file. I use the c: root directory as my 'workspace' and so that's where I put the copy of the file. Whilst you've about it, it's a good idea to rename the c:\System\Apps\psAddle\ folder so that you won't mess up it's contents when you're compiling your 'dummy' application. You can rename it back again when you're done.
Now use FileDump to view your copy of psAddle.aif:-

The 3rd group of hex numbers on the top line is the applications UID shown back to front. In other words, the hex UID for psAddle is 100004EF.
We can now use MBMView to view (and extract) the existing icons from psAddle.aif. First, run MBMView and the open psAddle.aif within it. In the case of psAddle, it contains 6 separate images:-

As can be seen, there are 3 different size icons and their 3 'masks' - each of 24x24, 32x32, and 48x48 pixels in size. The reason there are 3 different sizes is so that EPOC can display a different size icon for each level of zoom if you're viewing the application (or an associated document) in the System screen. In fact, you don't completely need all 3 size versions. At a minimum, you can get away with a 48x48 icon plus its mask and EPOC will try to intelligently scale the icon to fit whatever zoom level you're at. However, there are 2 reasons why it's advantageous to have more than this. 1. EPOC doesn't scale them very well - you're better having 'humanly' drawn ones, and 2. EPOC won't scale in colour - so if you've got a very pretty colour 48x48 icon (but no 32x32 or 24x24), then when you view them on a smaller scale in the System screen you just get EPOC's best guess at scaled versions in greyscale. Ocassionally you'll come across .aif files with 8 icons inside them (i.e. 4 icons and 4 masks). With the introduction of the revo, a lower scale resolution still was needed and so an option was made for 16x16 icons - hence 16x16, 24x24, 32x32, and 48x48 pixel icons. The reason that the 'masks' exist is because EPOC uses them to decide how much of the background is visible. On Extras bars on greyscale machines this was never an issue since the background was always white anyway - it only really mattered if you had a wallpaper displayed on your Sysem screen. On the colour machies however, it's more important as the background of the Extras bars is a light shade of cyan. A poorly masked icon will show background through the middle of it perhaps (on supposedly 'white' paper for example) or white gaps around the icon on its cyan background.
So once you've got all your images in seperate .mbm files, you can edit the 3 icon images in Sketch (normally you won't need to touch the masks if they've been done properly - sometimes you will though).

 

Editing one of the icons in Sketch

It's probably worth mentioning a few hints here for colouring the icons in sketch:-
o It's usually worth trying to pick colours that match their greyscale originals in terms of brightness. This because you might need a lighter foreground colour to be offset by a darker version of the same colour to show the same 'fading' effect in an icon.
o Less is invariably more. Don't try to colour everything in the icon - otherwise it's liable to end up looking gaudy. Sometimes it's better to leave some grey in the icon (especially where this is used to show shadow - shadows are never in colour!)
o On the smallest icons, it can be very hard to figure out what should be coloured where. There's no real magic trick to doing this - it's invariably just trial and error as to what works best. With time and/or experience, you learn what works and what doesn't.

Once edited, you can re-export them to their 6 .mbm files again. The psAddle icons are actually quite tricky to colour as they use their masks to define themselves. I experimented on colouring them yellow - and then green - but settled on purple here!

Note that the masks are still all black of course since they only define what 'shows through' from the background.
You now need to re-combine the 6 different .mbm files into one multi-bitmap file (where the mbm file extension comes from). Start with the smallest colour image and then use the 'Append' function in MBMView to add it's mask. Then repeat with the other icons as they get larger.
Having got your 6-image .mbm file, you can now use it and the UID and your dummy OPL program to re-create a .aif file. First rename the OPL file to 'psAddle' (as this is used to create the folder location that the compiled files will be stored in) and then amend your OPL program as below:-

CONST KUidDummy&=&100004EF
APP psAddle, KUidDummy&
ICON "psAddle.mbm"
ENDA

PROC Anything:
ENDP

When you hit the 'Translate' button in Program, it'll compile the 2 files (psAddle.aif and psAddle.app) and ask you if you want to run the program. You don't particularly but it makes no difference since the program doesn't actually 'do' anything when run - you just used it to compile a replacement psAddle.aif file for you. Now go to the new c:\Systems\Apps\psAddle (assuming you compiled it on the c: drive) folder - remembering that you temporarily renamed the old one - and copy the new psAddle.aif file. Paste this file into the old renamed psAddle folder replacing the original file. You can now delete your new psAddle folder and rename the old one back again. Having done all that; when you look at your Extras bar, you'll find that the psAddle icon is now in colour - and with all the cyan background bits showing through correctly!

Cool - that seems to colour the Extras bar - but what about the program itself? I'd like a colour toolbar, graphics, etc.

Well, that really depends on how the program was written. Some programs - especially many of those written in OPL - use a multi bitmap file (mbm) separate from the program itself to store some or all of the graphics used in the program. For example, in my psAddle program there's a psAddle.mbm file which is used to keep all the graphics used by the program. In the case of psAddle, all these graphics are already coloured in - hence the icons on the toolbar are already in colour on a colour machine. However, in many programs these icons/graphics are still in greyscale and there's nothing to stop anyone colouring them in themselves. Of course, if the program in question is still actively supported by its author, it makes sense to (politely) approach them and see if they'll create colour versions of the files themselves. If not however, why not do it yourself as well as the Extras bar icon? I've published a few of these 3rd party 'patch' files on my website - as well as some of my own - and undoubtedly there'll be more to come. :-) If you do create your own however, please send me a copy so that they can be shared with the EPOC community at large.


Some programs however have all their graphics/colour information embedded into the program code itself. If this is the case - and assuming that the author is no longer supporting his program - then there's not a great deal you can do I'm afraid...

 

Addendum: I've now got my own program - IconPatcher - to help considerably with the above process (in fact it makes much of the above redundant!)...

 

Topic #3:

Jason Kneen's ExtraBars in colour

(This is an article I wrote for FoxPop and which was published there in May 2003)

Jason Kneen's ExtraBars in colour

Since I wrote the article explaining how to colourise application icons (aif files) so that they appeared in colour on your Extras bar, I've had a number of emails from people bemoaning the fact that Jason's Kneen's excellent 'ExtraBars' program only worked in greyscale and couldn't make use of their nice new colour icons on their Series 7 / netBook. They used to use ExtraBars on their Series 5 / 5mx / 5mxpro and loved it - but it just doesn't look the same running on an otherwise colour machine...

 

Jason Kneen's 'ExtraBars' running on a colour machine



In every case, I've been able to write back to them and explain that in fact it can be made to run in colour...

The first and most important thing to do is get yourself a copy of Neil Thompson's excellent 'ebc' program. It's freeware and available from his website: http://www.neilthompson.co.uk/psion/home.htm 

NB - Update: I have now taken over development and maintenance of this program from Neil - the latest version is available on my ebc page.  :¬)

 

 

This nifty little program converts the 'bars' in ExtraBars into colour ones and then scans through all the installed programs on your machine and creates 'bar'ed versions of them in ExtraBars' cached icons area.

 

    

The upshot of it doing all this is that - when you re-start ExtraBars (and after you do an ExtraBars 'refresh' - Ctrl+B) - it's in colour and any programs which had colour icons in your real Extras bar also show up in colour on it! Of course, if you've already used the colour icons on my website (http://www.pscience5.net) to colour all the icons on your real Extras bar then all the icons show up in colour on your ExtraBars bars. :-)

 

ExtraBars in all its colourful glory!


So are there any gotchas that you need to be aware of? Well, one or two. First off, ExtraBars no longer captures the Extras silkscreen button correctly on an S7/nB - it captures the Calc button instead. It dawned on me however that the program must use a very distinctive pointer (distinctive to an EPOC programmer at least!) to find the correct button. The fact that this pointer had changed on the S7/nB when compared to a Series 5/mx/pro was easily compensatable for. Hence - a quick hexeditor scan & replace later - and we have a patched copy of ExtraBars which now captures the right button! For ease of use, I've put a copy off this patch here...  [Update 28th August, '03: I have removed this patch as my ebc program now does this and much, much more!]

 

Other points:-

 


The bottom of the page!

So that's it for now.  Food for thought? I'll add more topics and/or additions to what's already here in due course.  In the meantime; if you've any thoughts, comments, or ideas on any of the above then please email me at Anti-SPAM email image: just type it in as you read it.  :¬).

Martin

Click here to go to the Pscience5 homepage