Author Archive for Paul

AUP Informant 2 - Client Development

I admit that when it comes to design I’m a rabid perfectionist. The moment I’ve finished working on something I’m already working on something better and something for after that.

For the past couple of months I’ve turned my attention to the AUP Informant client interface. Let’s have a look at the current version before I show you what’s new.

Give it a click to expand the image. What’s wrong with it? At first glance, not too much. There are only 3 major elements after all - a graphic, a web browser control and a button group. Something doesn’t seem right though and here’s my list of gripes:

  • Small size means a cramped interface
  • Duplication of text in the titlebar and graphic
  • Horizontal scrollbar not needed
  • Unrequested dialogue box can be confusing

Let’s focus on that last one, since it’s the most important. I thought through the experience of a user logging on for the first time and realised that a strange dialogue appearing just as I’m getting started would throw me. While having the dialogue appear is unavoidable I’ve worked hard to make it friendlier, easier to understand and quicker to get rid of.

I drew up a few goals for the new client design

  • Must integrate well into Vista as well as XP
  • Must look similar to an OS dialogue
  • Should use reassuring, simple language
  • Keep the number of options to a minimum
  • Since the dialogue is unmovable, emphasise it’s neccessity with a background

Here’s what I’ve come up with. I hope you like it!

Latest Updates

It’s been far too long since my last post, the holidays are always busy and writing sometimes takes a back seat. Over the past month I’ve made a few changes to existing downloads and I’ve added a few new packages.

First up, the FFDShow codec (Beta 5) is available to download as a CC3 package, allowing playback of almost any media file from within Windows Media Player. I’ll be keeping this updated as new versions are released. Secondly, EduSweep is now available with a standard GUI installer and a CC3 package is ready for AUP Informant. MSIs for both of these will be coming soon.

I’ve several other CC3 packages ready to upload including Notepad2, a feature-packed notepad replacement, Paint .NET 3.35 (RM’s package blueprint version is lagging behind), PICAXE electronics software and an installation script for ArcGIS 9.2.

Work on EduSweep 2 and AUP Informant 2 is going well. I’ve had several people ask when they’ll be released and I hope to be finished by November, though that date may slip depending on how quickly I settle in at uni. In my next post I’ll demo a couple of features in action.

Take screenshots on your iPhone

If you’ve ever wanted to get a perfect screenshot of a program on your iPhone, there’s a simple command that Apple has built into the iPhone and iPod Touch 2.0 firmware that lets you save a screenshot of the current app.

Hold the home button down and tap the power/sleep button. That’s it!

Can the iPhone really deliver the full web experience?

Visiteurs de MacPlus: Salut, merci d’avoir visité!

The iPhone browser appears to be king of the hill right now when it comes to browsing on mobile devices but just how close is it to being the full web experience? I decided to test its rendering capabilities when compared to some of the major desktop browsers. Read on, the results might surprise you!

Acid 2 Test

For some time now, the Acid 2 test has been used as the benchmark for CSS standards support. Several major browsers achieved support with Safari being the first in October 2005, followed closely by Konqueror and then Opera in the following year. Let’s see how the current versions of the browsers stack up:

As you can see, the iPhone, while not perfect, produces a decent rendering with just a few small defects. When you take into account that IE7 is the most widely used browser on the web, Mobile Safari suddenly seems very capable in comparison. After all, if IE7 is “good enough” to render most sites correctly, the iPhone ought to handle most pages just as well, if not better. The only browser here to score a perfect rendering was Firefox 3, though Apple’s desktop version of Safari (not pictured) also passes.

Strangely, Opera 9.51 has actually regressed on the Acid 2 result since 9.50 renders it correctly. Initially I thought it was a problem with my machine but clearing the cache and reinstalling gives the same result. Quite why this would be, I’m not sure. It’s unlikely that Opera would remove support for part of a web standard so perhaps this is a bug resulting from a recent change.

Acid 3 Test

Next up is Acid 3, the most demanding test of a browser’s capabilities. Whereas Acid 2 focused on CSS support, this new test is centered around ECMAScript and DOM handling and it tests several components vital to “Web 2.0″ functionality.

Incredible! Mobile Safari actually scores better on Acid 3 than the latest Firefox release by the narrowest of margins. Opera 9.51 is the most capable browser here with IE7 trailing behind with 12. IE8, due out late this year promises great improvements in standards support.

The Web. Mobile.

Apple and the Webkit team have worked very hard to really bring the full web onto the iPhone and for the most part, they’ve succeeded. Mobile Safari on iPhone 2.0 is a very capable platform for developers and it reduces the hassle developers face when targeting mobile devices. There’s still work to be done, however, particularly with rich media such as Flash and Quicktime support, and I look forward to seeing progress there in future.

Has Mobile Safari worked well for you? Are there websites that fail to behave? Post a comment and let us know!

Tying it all together

All applications fit neatly into one of two categories - those that repackage easily and those that are close to impossible. For the past 2 months I’ve been dealing with one of the latter, ArcGIS by Esri, a geographical information system. Basically, it’s a suite of apps for working with mapping data that’s split into many components.

The problems with packaging aren’t the fault of Esri at all. In fact, unlike a lot of companies, an MSI is provided on the disk which would normally make life easier. On an RM network however, the procedure is a little different from a vanilla deployment. Instead of using active directory to deploy the MSI directly, you have two options:

  1. Set up a “package build” workstation  - essentially a computer with a minimal number of packages. You then use the RM Application Wizard to perform a “before scan” of the station, install your software and then run an “after scan”, capturing the changes and creating an MSI file. On the plus side, this lets you change program settings before deployment which is a nice touch. One of the problems I often run into is that occasionally changes are missed, which makes some software think the install is corrupt. The other common problem is that user settings are often pulled into the MSI and during deployment these are sometimes unable to be set and the install will fail.
  2. The Application Wizard is also able to accept MSIs directly, repackaging them on the fly and generating shortcuts and other required files in the RM package format.

Unfortunately, both of these methods failed for ArcGIS. I suspect the software is just too big and complex for a simple repackage job - a basic install is over 1.4GB, with files and registry keys all over. That’s 1.4GB of software - no maps, no data! The MSI deployment would always fail with an MSIInstaller error 11606, complaining that it was unable to find “WindowsVolume%\”.

I decided the best way forward would be to somehow install the original MSI unedited. The RM system does support this by way of its package.ini files. Using these, you can set EXEs to run and MSIs to install. What I couldn’t do was pass the /qb switch to the MSI in order to do a typical, silent install. It was time for some scripting…

The workaround was to tell the package manager to execute my custom batch file, which itself called MSIInstaller /I setup.msi /qb after verifying the sizes of certain installer files. Frustratingly, when the batch file finishes, it seems to return a code that the RM package manager interprets as a failed install! Luckily, though there’s a switch in the package.ini file to ignore return codes and this seemed to do the trick. Big thanks to whoever at RM implemented that feature!

I also had to write an uninstaller batch file, again calling MSIInstaller with the correct product code, since the RM system now has no record of the particular MSI that has been installed.

In an ideal world, that would be it but I also had to install a service pack that was supplied as an MSP file. I couldn’t use method 1 above to package it because I couldn’t do the original install that way and method 2 doesn’t support MSP files. Neither, it seems, do the RM package.ini files, as you can only specify an MSI to run, not an MSP. Batch file time again, this time executing the MSP in the same method as above. Finally, a working installer that brings together the two worlds of vanilla MSIs and the RM system.

It took a little longer than our usual 2 day turnaround on software packaging but I’m pleased with the result, from now on it’s quite simple to install generic MSI files with just a little batch editing. Don’t get me wrong, the RM system has its advantages but this method is sometimes much easier than trying to work around strange repackaging errors.

A Day Out

Took a lovely trip to London the other day with Rach. After Oxford Street we went to Leicester Square and found this little café that does Italian food along with the most enormous ice cream creations! Take a look at the yummy photos.

After lunch we headed to the IMAX cinema down by Waterloo, something I’d heard a lot about but never seen for myself. The screen is just staggeringly huge (puts Stevenage’s cinema to shame!) although when the adverts were running they only took up a fraction of the whole screen and I thought we were in for a let-down. Not at all, I’m definitely going back there again!

That evening we took an ‘Eye flight’, as it’s called now. I’ve lost count of how many times I’ve been on the Eye but it’s still great fun. Luck was definitely on our side since the eye closes at 9 and we just bought our tickets and made it there in time, the last two people allowed on! I’d like to think we were let on because of my sweet smile but it was more likely the fact that we were running towards the queue looking desperate.

Here’s a few pics…

Engadget are missing the point of WWDC

Did Engadget get up on the wrong side of the bed this morning? Have they gone to the wrong conference? I love their live coverage of the event but some of the comments this year are a little snide. Take a look:

And our LAST app [emphasis ours] comes from Digital Legends Entertainment…

ANOTHER medical app. This one by MIMvista. Someone, wake us when Steve’s back.

Forstall back, and another developer demo. Ugh.

Man, please let this string of demos end!

Man, these demos are crazy boring. Throw us a bone here Apple!

Okay, so everyone’s really waiting to see the new iPhone of course but please, Engadget, it’s almost as if it’s a conference for…developers. Sort of like the WorldWide Developers Conference, no? Of course there are going to be loads of app demos, that’s the idea. And as a developer, I like to see them!

Steve Jobs at WWDC 2008

This sort of commentary frustrates me, not because I’m an Apple fan but because it’s damaging to the credability of bloggers as a whole. I was hoping that people would have raised their game after the Gizmodo incident at CES yet these little jabs detract from the professionalism of a great news source.

ThinkGeek and the lure of the 8-bit tie

Sometimes you come across things that are just so quirky, you can’t help but buy them. I finally caved and got myself one of these funky 8-bit ties from ThinkGeek. No, that’s not me modelling. As luck would have it, they’re running a buy one, get one free promotion at the moment so I have two of these retro wonders heading my way - Mario would be proud!

The 8-bit design is a nice throwback to the days of the NES and makes for something a little different around the office. Not wanting to get stung too badly on shipping ($36 to ship a tie is a bit pricey!), I got some other assorted geekery including some highly caffienated candy, a multi-tool, Timmy the ThinkGeek monkey to sit on my monitor and a couple of other bits.

I really wanted to see what all the fuss over Jolt Cola is about as well because I’m a sucker when it comes to shiny packaging - you can see why they’re called Battery Bottles! But sadly it can’t be shipped internationally. Why? I assume it has something to do with pressurised liquids but I’m not sure. Either way, it means no Jolt for me which, considering the 220mg caffeine content per can, is probably no bad thing.

Finally, a proper photo gallery

It’s been a long time since I updated the gallery. I must have literally thousands of photos lying around on my laptop and at least some of them are worth putting online! :P

Now that summer’s rolled around I’m gonna get back on track with my photography as well. My poor old camera has been sitting, gathering dust for most of the winter and it’s about time I dusted it off and went on a trip somewhere. With half term coming up, I’ve no excuse!

For the moment, though, I’ve gone and added about 400 photos from my collection which go back a good couple of years. Who knows, you might even be in one, say cheese! 8)

EduSweep Beta 6 Released

After around 3 weeks of refining code, I’m happy to announce the final beta release of EduSweep. This is the first build that is of proper release quality and from now, only major bugs will be fixed before 1.0.0.

The following bugs have been fixed in this release:

  1. Large sets of results (> 5000 results) cause the results viewer to take a few seconds to appear
  2. Scan engine may fail to recover after multiple inaccessible folders are encountered
  3. Results viewer controls behave properly when selecting multiple items and only some have been deleted or quarantined
  4. A proxy authentication error is encountered while updating the definitions
  5. Two minor bugs that were not fatal but could slow down the scan process

    There are also some notable improvements, some of which I described in detail in the previous post:

    1. The responsiveness of the results viewer has been improved while loading information for files
    2. Online update has been overhauled with a scan log and better handling of proxies
    3. Log files are now written in HTML format and give more detail about scan errors

      Go ahead and grab the download! :)