LauraCowen.co.uk

Laura's view from her world

Ada Lovelace Day

March24

Ada Lovelace wrote the world’s first computer program in 1843. The computer on which the program would have run, Charles Babbage‘s Analytical Engine, was never built, though Babbage continued with his designs until his death and is remembered as the father of computers. The purpose of Ada Lovelace Day is to sing the achievements of women in technology and science – often their contributions go unnoticed.

On Ada Lovelace Day, today, anyone and everyone is encouraged to blog, podcast, videocast, tweet about the achievements of a woman in technology and science.

Laura Czajkowski

I met Laura Czajkowski last September when part of the Ubuntu UK Podcast team shipped off to Dublin to attend her OssBarCamp conference, have a weekend of geekery, and an evening of BBQ and cocktails. Since then, I’ve seen Laura working passionately to help kickstart the Ubuntu Women Project and I’m aware that she is also on the Ubuntu NGO project which looks at how to make it as easy as possible for charities, not-for-profits, and other NGOs to benefit from Ubuntu and Open Source Software.

After I tweeted a few weeks back that I was working on OggCamp10 planning stuff, she replied, offering her help. I wasn’t sure how serious she was but as we had a load of large tasks that needed doing around that time, I figured it was worth asking. Within a week, she was a fully signed-up member of the OggCamp planning team (ie she gets all the emails and can edit the wiki), despite having her own conference to organise as well. OMG Ubuntu published a great interview with her today.

Ana Nelson

Another ace woman I met in Dublin that weekend was Ana Nelson, who Laura had finally convinced to present about her documentation automation work. I swear (as a former technical writer), the stuff she develops on should be used by corporations everywhere to maintain their vast documentation libraries and to save their skillful writers from spending hours manually updating screenshots and code snippets. Her talk at OssBarCamp was fascinating and understated – she sat on a chair, speaking her way round a printed, illustrated mindmap, punctuating it all with physical props like wooden toys and knitting needles. Her tweets are no less insightful, witty, and slightly off-beat.

 

So they’re just two of the women in the Open Source world (in particular, the Irish Open Source world) who’ve inspired me recently. Go check out their blogs to find out more.

tagged with:
posted on 2010-03-24 at 10:03 pm in Blogging, Twittering, etc, Open Source, Technology | No Comments »

Installing Rational Software Architect 7.5.4 on Ubuntu Karmic

March20

N.B. I updated the bit about dash/bash on 23rd March after feedback from Gavin and Dom (see below). :)


This week, I decided to install Rational Software Architect so that I could try out (again) the User Interface Generator which comes with IBM InfoSphere Master Data Management Server–and other products too, I believe. You can find out more about what user modelling is and how you can use the UIG in RSA (lovin’ the IBM TLAs yet? ;-) ) in this series of articles on developerWorks. The rest of this post is not about the UIG but about how to install and configure Rational Software Architect for WebSphere, which is relevant to anyone wanting to do this, regardless of whether they’re wanting to use the UIG.

So I wanted to install Rational Software Architect (RSA; an Eclipse-based piece of software) on to Ubuntu, which is what I run on my work machine, a Thinkpad T61p. Not only that, but I wanted to install RSA for WebSphere, which includes WebSphere Application Server Test Environment (WAS). This meant that I was installing not one but two pieces of software that are not officially supported for Ubuntu Karmic (or indeed for Ubuntu/Debian as far as I know). But as the Linux binaries are .bin files rather than .rpm, life should be easy.

And indeed installing it is. It’s when you want to create a WAS profile that the fun starts. And that’s where it had all fallen apart for me when I tried much the same exercise this time last year. That time, I gave up.

This time, I tweeted my predicament, knowing there were people who might know the answer. Unfortunately, the person I thought might know the answer had failed in much the same way as me only 6 months ago and was now relegated to using Windows. Still, others came back to me, including Gavin Willingham, who I’d not met before but who works possibly 10 minutes walk from my desk, and Jay Limburn, who I’ve known for a year through Twitter and internal instant messaging but, though he also works max 10 minutes walk from my desk, never met in person until yesterday (he’s shorter and blonder in real life).

So, if you’re trying to install RSA for WebSphere 7.5.4 with WAS Test Environment 7.0 (other versions probably work the same way), I’ll end the suspense and start here:

Running the installer

  1. Download the many parts of RSA for WebSPhere 7.5.4 and WAS Test Environment 7.0 with licence/activation bits and pieces. (NB this isn’t free software; you have to buy it from IBM so I’m assuming you’ve got that far by now.)
  2. Extract all the zip files. If you do a right-click > ‘Extract All’ on the zip file in Ubuntu, the extraction tool doesn’t like to overwrite directories of the same name, so you end up with directories called ‘RSA4WS’, ‘RSA4WS (2)’, ‘RSA4WS (3)’, and so on when actually, you want the contents of each of those directories to be in the same place. So move the directories around so that you have just 3 directories:
    • RSA4WS (contains 7 directories called ‘disk1′, ‘disk2′, ‘disk3′, etc)
    • RSA4WS_SETUP (don’t do anything with the contents of this one)
    • WAS70 (contains 4 directories called ‘disk1′, ‘disk2′, etc)
  3. In the RSA4WS_SETUP directory, as sudo, run launchpad.sh to start the installation process.
  4. Follow the installer through but when it asks you for a user name and password to create a WAS profile, select that you will create a profile later and that you don’t want to create one now. The installation should run cleanly (if you let it try to create a profile, it will fail part-way through the installation).

You should now have a nice installation of RSA with WAS on your Ubuntu box. Next, you need to create a WAS profile so that you can use the in-built WAS server for development and testing (or in my case, to run the user interface generator).

Creating a WAS profile in RSA

There are a few things that prevent this just happening (some are generic Linux things and some are specific to Ubuntu):

  • On Ubuntu, /bin/sh uses dash, not bash, but WAS scripts seem to use bash specifically, so the profile creation scripts fail.
  • Something extra that I have no understanding of is required in the eclipse.ini file (which is key in starting the Eclipse-based RSA environment).
  • The default location in WAS’s profile creation wizards is in the /opt part of the main file system which you typically won’t have write-access to as a normal user.

So here’s what you need to do (at least, this is what I did and hopefully will work for you to to get a running WAS server in RSA):

  1. Change Ubuntu’s /bin/sh to use bash instead of dash.
    In a terminal (sorry it’s the command line but you’re changing some system settings here that you would very very rarely have to do normally, or just if WAS didn’t specify bash specifically), run the following command and select the bash option as the default for /bin/sh:
    sudo dpkg-reconfigure dash

    (As pointed out by @oldmanuk (Dom Evans), this is the proper way to reconfigure where /bin/sh points to (though I used Gavin’s method). )

    After you’ve created your WAS profile and everything’s up and running nicely, run the command again to change back to using dash. The benefit of using dash is speedier boot time, which is lost if you leave the setting as bash (see https://wiki.ubuntu.com/DashAsBinSh – thanks Dom).

    Now you’ve sorted out the bash/dash problem. One down; two to go.

  2. Check that you have a version of xulrunner installed (I have no idea what xulrunner is for but, looking in Synaptic Package Manager, my Ubuntu installation included xulrunner-1.9l.1-gnome-support, but not the xulrunner package itself, which seems to be fine for RSA purposes).
  3. In your RSA installation, find the eclipse.ini file. I installed RSA to the default location so mine was in /opt/IBM/SDP. In a terminal change to that directory:
    cd /opt/IBM/SDP
  4. Open the eclipse.ini file in a text editor, such as gedit:
    sudo gedit eclipse.ini
  5. Add to the end of the file the following line:

    -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner

    (From an Ubuntu forum post.)

    Now you’ve sorted out the ‘xulrunner’ problem and you can actually start RSA. Two down; one to go.

  6. Start RSA from the Applications menu: Applications > IBM Software Delivery Platform > IBM Rational Software Architect for WebSphere 7.5.4.

  7. RSA should suggest a directory in your home directory in which to put the RSA workspace. That’s fine; I just accepted the suggested location.

  8. When RSA has opened (NB, my Welcome view doesn’t load – I don’t think that’s a problem), give it a moment to think, then it’ll pop up a wizard to create a WAS profile.

  9. In the profile wizard, clear the option about security unless you know what you’re doing with WAS security and have a need to use it in a development environment.

  10. You’ll also notice that there’s a warning about the currently selected location for creating the profile. This is the third problem I listed above. The default location shown is for creating the profile in the installation directory of RSA. Change the location to a directory in your home directory. For instance, I told it to use /home/laura/IBM/profiles.

  11. When the wizard has created the profile (which will take a few moments – you can see the activity in the bottom-right of the RSA window), the default server for the profile is listed in the Servers view on the right-hand-side of the RSA window.
    The server is listed as ‘stopped’.

  12. Right-click the server then click Profile. This opens a dialog box about the profile; I just accepted the defaults then it failed to start the server (the error said it had failed to start within 300 seconds). But when I repeated this step, the server started.

And that’s as far as I’ve got but it’s further than ever before. If I come across any more gotchas, or take some screenshots, I’ll update this post.

Yes, it is a pain to have to do all this but remember that WAS isn’t supported (as far as I know) on Ubuntu Karmic. If you want it easier, install it on something that is supported. If you want it on Ubuntu, I hope this post (and the others I cribbed information from) helps. :-)

tagged with:
posted on 2010-03-20 at 02:03 pm in Open Source, Technology | No Comments »

How do you help the user decide?

September8

One thing that I often debate with developers is why the error message  “An unexpected error has occurred.” isn’t a good message. Afterall, to the developer, the error *is* unexpected; otherwise, they’d have created a better error message for it.

From the user’s perspective (who the software is written for, after all), they don’t want to know that the error was not expected by the people who wrote the code. The user wants to know that the software (especially when it’s important to their job/finances/life) is in control and knows *exactly* what’s going to happen when you press a certain button. The user has to be able to trust the software and trust that the developer(s) of that software knew what they were doing when they wrote it.

So it gets difficult for the developer/designer when they have to make a call that potentially risks breaking that trust. For instance, supposing you (as a developer) were to provide a new feature that is really beneficial to the target user but there is a small risk that something will go wrong in a big way for that user if they try to use that feature. As developer, what do you do?

Typically, I’d predict, you would make the feature optional so that you aren’t forcing the user to use a feature that could potentially (however unlikely) cause them serious problems. If the user does try to use the feature, you provide scary warnings of what could occur in certain circumstances. Hopefully, that will put them off unless they really know what they’re doing.

Okay, that’s the developer’s perspective. And it’s entirely understandable and even laudable that the developer is doing what they can to keep the user safe.

So, switch now to the user’s perspective. The target user is computer literate but had no knowledge of the development of this feature or who developed it. This user could benefit greatly from this new feature but when they attempt to use it, they get a scary warning message which, as intended, makes them think twice about whether to use the feature or not.

Now what does the user decide? Granted, risk is all about weighing up the costs and benefits, and to one person the relative benefit will outweigh the possible cost. To make a decision, however, a person needs as much information as they can possibly get. In this case, the only (and therefore critical) information is provided by the developer; that is, how informative and/or scary the warning message is.

If the developer provides a lot of information that makes the feature look useful, the user might just choose to use it. But if the developer makes the warning message as scary as possible, the user will probably opt not to use it.

The developer wants users to use the new feature because they’ve made the effort to develop it and it really could benefit many users. The developer, however, doesn’t (understandably) want the responsibility of trashing someone else’s laptop in some way. So the result is that the developer pushes that responsibility off on to the user, when in fact the developer has far more information available to help them make that decision than the user has.

If you’re the user, though, how are you supposed to make that call?

For example…

Computer Janitor is a utility that was introduced in Ubuntu Intrepid (I think) so that you could run it to clean up old kernels that are no longer needed, and other bits and pieces of packages that are no longer used. When I first tried to use it, I raised this bug, which, it turned out, had this duplicate.

Essentially, CJ could potentially remove packages that you might need. So when you try to use it tries to scare you into deciding whether you really really want to risk it. I raised the bug because the scary words don’t actually help you decide – in that, if you aren’t easily scared by such things, the scary message only determines how scared you are – not how well-informed you are to make a decision…and isn’t going to help when you break your computer.

What would maybe be more helpful is if CJ used a stricter set of criteria when selecting which files to remove. In this case, CJ might leave on your system  some files or packages that could be removed, instead of the reverse where it might incorrectly remove files or packages you need. The former is surely the preferably outcome for the majority of users (who would rather have a few unneeded files on their machine than a broken machine).

It would also be possible then, for the minority of users who really really know what they’re doing, to selectively delete the files that probably can be removed but CJ isn’t certain about. In this case, users are only presented with a decision to make if they actually seek it out but the majority of users are still able to benefit from the safer (if slightly less effective) behaviour. In fact, it would be better overall if CJ ran automatically during an Ubuntu upgrade so that the user really doesn’t have to care about it (unless they really really want to).

This is not intended as a dig at Computer Janitor as I think it’s a useful feature in general and I’m kindof surprised that this kind of clean-up wasn’t being done already whenever you do an upgrade of Ubuntu. Also, I think the bugs I’ve linked to above have caused a bit of a headache for the developers.

This issue of forcing users to make ill-informed decisions is a very common occurrence throughout software development and is certainly not specific to Ubuntu; it’s just that Ubuntu is a public development effort and provides examples that are relatively easy to explain. :) So please don’t be offended if you are part of the development teams for either Computer Janitor or Ubuntu!

So, if you, as developer/designer, find that you’re having to give scary messages to make a user *really* decide if they want to continue, consider stepping back from it, thinking about the possible decisions the user could make and what the consequences of those decisions are. Even talk to some of your target users and find out what decisions they’d make. Just because you can successfully scare them off doesn’t make it a successful feature – if the feature is potentially useful to the user, they should be able to safely use it (no matter what level of fear you instill in them). Then look at the bigger picture, think about it in a different way, and see if the decision can be made for the user, or the decision can even be removed altogether.

I’m sure that it’s not as easy as it might sound. And it’s not always easy to recognise situations like this. I’m hoping, though, that, having thought this through while writing this post, I’ll actually remember it in future the next time a similar issue occurs for me.

tagged with:
posted on 2009-09-08 at 09:09 pm in HCI & Usability, Open Source | 1 Comment »

Come to LugRadio Live 2009, then OggCamp!

September7

The LugRadio Live 2009 website is now available – register now for a ticket if you’re coming!

That’s on Saturday 24th October.

On Sunday 25th October (that’s the very next day!), you can roll out of bed and into OggCamp (if you’re staying at the LRL official hotel, the Connaught),.

oggcamp-badge-alternate

OggCamp is brought to you by a joint collaboration of the Ubuntu UK Podcast and Linux Outlaws teams.

So come and join us for the last ever LugRadio Live followed by lots of barcamp fun!

tagged with:
posted on 2009-09-07 at 08:09 pm in Open Source | No Comments »

Come to OggCamp! An unconference from UUPC and Linux Outlaws podcasts

August25

oggcamp-badge

OggCamp will happen in Wolverhampton on Sunday 25th October.

Why Wolverhampton? Well that’s where LugRadio Live 2009 (@lugradio) will happen too. On Saturday 24th October. See what we did? :)

So, the Ubuntu-UK Podcast (@uupc) and Linux Outlaws (@linuxoutlaws) podcast teams will be at LRL on the Saturday (and probably the Friday night as well) so we figured we may as well stick around on the Sunday too and organise an unconference where you can drop in to nurse your hangovers, see everyone again, and see some more talks, demos, or whatever.

As it’s an unconference, we won’t publish a full schedule beforehand (if you have an interesting presentation, just turn up on the day and if enough people are interested, you can give it) but both podcasts are likely to record some material during the day (one with swearing and one without ;) ).

I will post more information as we know it. For instance, we should be able to announce the venue any day now…

tagged with:
posted on 2009-08-25 at 08:08 pm in Open Source | No Comments »
« Older Entries