Month: August 2007

  • iTunes tv shows in the UK

    Well the iTunes store is finally offering tv shows in the uk. It’s totally disappointing. The prices are ridiculously expensive and the list of shows is small.
    All of the MalcolmHardie software sales are denominated in dollars so I watch the exchange rate with great interest.

    The current exchange rate at xe.com as of today is 2.01599 USD to 1 British Pound. (In the reverse direction that is 0.49603 British Pounds to 1 USD).

    iTunes in the US charge 1.99USD for most tv shows. Therefore the UK price correctly should be 99 pence. (0.99 British Pounds). Given the usual kind of price gouging that goes on, possibly 1.29 or even 1.39 would have been acceptable.
    Instead they have decided to charge 1.89 British Pounds. This is almost twice as expensive!
    Add 9 pence and it would be exactly twice as expensive.

    I almost thought of writing to them and asking if they have mistaken the exchange rate somehow.

    The most annoying thing is that while the catalogue will increase in size, the prices will probably be fixed.

  • XML, UTF-8 and Java

    Apparently, valid UTF-8 strings aren’t necessarily valid XML. You can get a situation where you have valid UTF-8 strings which fail xml parsing.

    Fortunately Mark McLaren offers a solution.

  • Retro Mac OS WordPress theme

    This made me laugh when I saw it:

    http://www.modernlifeisrubbish.co.uk/article/retro-mac-os-wordpress-theme

    Definitely memories of simpler times 😉

  • Native Mobile apps almost impossible to develop?

    I’ve been reading stuff recently about creating native (non-java) mobile phone apps.

    The key thing is application signing.

    In an attempt to prevent viruses and malicious code from being run on mobile devices, the major platforms require that applications are signed using a cryptographic key before being distributed. The two platforms have different requirements, but this signing process is expensive and difficult in both cases.

    Things range from really hard (if you have time and money) to almost impossible (if you lack either time or money).
    Windows Mobile:

    “I can’t emphasise enough, just how bad the current code-signing mechanisms are in WM5 / Smartphone”

    [At WindowsMobile Team Blog]

    Symbian

    “Having your application, which you’ve slaved over and spent countless hours perfecting, stuck in the signing process for over a month is unacceptable.”
    [At SymbianGuru]

    Apple iPhone

    Apple of course don’t publicly allow any 3rd apps to run on the iPhone. However by comparison it seems simplicity itself to run whatever you like using unofficial methods.

    Java

    Java application aren’t native. But to fully access all of the features without warnings requires a code signing certificate too.

    Code Signing Certificates

    Code signing certificates are very expensive. Often costing several hundred dollars. Which is ok if you charge several hundred dollars per copy, or you sell thousands of units. But it’s really bad if you charge nothing and give away the source code. It’s also bad if you are a very small company trying to sell relatively cheap software.

    I think that if I own a device I should be able to do what I want with it (within the limit of the law).
    Buying something and then being told that I can’t run my choice of applications on it seems really bad.
    Charging people who want to give away stuff is bad too.

    It looks like I won’t be buying Symbian for my next mobile phone. 🙁

  • SQLEditor 1.4b2

    Another day, another beta. (Kind of)

    SQLEditor 1.4b2 is now available, which is pretty much bug fixing against 1.4b1.

    There were several issues with 1.4b1 including an annoying bug that would sometimes delete foreign key connectors when you deleted an unrelated table.

    There are some fixes for other bugs which turned up and some improvements to undo/redo, to make it more stable when you undo or redo lots of things, one after the other.

    I’ve also moved SQLEditor to Sparkle. Sparkle replaces an update system that I wrote myself and it should offer better update support as well as a nice html based ‘what’s changed’ window.

    SQLEditor also now tells people that it is a beta and exactly when it will expire. It probably should always have done this, but it does it now, which is probably good.

    There are also some minor fixes to the live source view, so that it changes with the document sql dialect and appears correctly when reopening existing documents.

    [Download] (3.4MB DMG File, changelog)

  • Site redesign

    So, if you’ve visited the MalcolmHardie.com site today you’ll have seen the new site design.

    It’s Blue.

    But that’s not all. The layout structure of each page has been substantially changed (for the first time since 2004, I think)
    . The new 2 column design is also wider (960px) and offers more flexibility than the old 3 column design. There are new graphics and section headings and a new about page (with a message from me!).
    The MalcolmHardie logo has been used in a reversed white on blue form, which I think worked out quite well and the main body is black/dark gray 13px Lucida Grande on a white background. (With Verdana as the second choice)

    The content management has also been improved. The whole site is now a sort of wiki. Although it is somewhat static as wikis go. Each web page is now a wiki page that is rendered when necessary to deliver the page. Page expiry dates match the wiki source document expiry and all of the meta-data is cached into a database so that things like recently changed lists can be generated. The next iteration of the system may also cache the text as well.

    Apache is configured to serve the wiki pages only after any existing index pages, so the whole thing can be switched to static html without recoding (if necessary).

    There were several things that I really wanted to do with the re-design.

    The first, obviously, was to get the web2.0 thing going. The first step in the design process was therefore to identify the gradient that I wanted to use. The blue/blue gradient seemed to be a good choice here. Although I didn’t in the end go for reflection or glass effects, several prototypes had glass effects. 😉

    The second was to serve html pages as html pages with a .html extension. Which was achieved (mostly)

    The third thing was to clean up the arrangement of the site, previously there had been a mix of systems used to generate content from an interesting (but probably obsolete) attempt at a php visual class library, through ordinary php to finally plain html. The new wiki style system is consistent across the site. (I’m hoping that this will last)

    Software

    The site is written in php and uses a mysql database (standard, boring even!)

    I used the PEAR Text_Wiki classes to handle the wiki side of things.

    The wiki dialect is Text_Wiki default with extra classes to do php includes and page meta data in the same document.

    Things I hope to improve

    At the moment there are some limitations to the wiki syntax. This means there are more blocks of raw php and html than I want. Eventually I hope to write some more wiki plugins to reduce this

    Another area that could be improved is the concept of relative pages within the site. Currently the wiki links are hierarchical with the full link required each time.

    I’m very interested to know if you like the new design. Feel free to send me email or add a comment below.

  • HTMLValidator 1.0

    HTMLValidator 1.0 is finally released.

    As I write this, it’s been out since Friday, so I guess I’m a bit late in writing this. HTMLValidator 1.0 is identical to HTMLValidator 1.0b8, except of course that it 1) doesn’t expire and 2) asks for registration.

    The first non-beta release seems to have gone reasonably well. People are downloading it, trying it and some are starting to buy it. (If you’re reading this, then thank you!).

    Oddly enough the most difficult thing about the whole thing was making sure that the order processing system could correctly deal with more than one product. We have a system that interfaces with our payment provider and it handles logging orders and generating serial codes. When it was originally written, HTMLValidator didn’t exist, we sold only one product and there wasn’t really a plan to develop others; So there were several areas that assumed that was only one product. The lesson here is to assume that you’re going to expand and plan accordingly.

    Work has already started on the next release of HTMLValidator. The main areas for improvement are speed and memory usage. Plus there are some improvements to validation that the W3C released in their version 0.80 code release that would be nice to have in HTMLValidator. (Which is of course based on the W3C validator).

    If you want to try HTMLValidator then we have a page that tells you all about it.

    [HTMLValidator]