Programming, Technology, Web Programming

Netscape for web developers

<![CDATA[There is an article on MSDN about how to get round the ActiveX activation issues that will be introduced into IE shortly. On that page it mentioned something I didn’t know – the latest version of Netscape Browser (version 8) can use Internet Explorer’s rendering engine (Trident) instead of the Mozilla rendering engine, Gecko.

If you develop web sites these days you need to make sure you can support at least IE and Firefox and preferably Safari. Testing Safari is often not possible if you primarily use Windows but testing in IE and Firefox can now be done from the same browser – you can actually change rendering engine at any time with CTRL-SHIFT-E. It also supports all the cool developer features of Firefox (like the DOM Inspector (although if you are using the IE rendering engine you can’t just click an element to select it).

web browsers, browsers]]>

Technology

Eolas, plug-ins and stupidity

<![CDATA[Internet Explorer (and possibly every other browser including Firefox and Opera is about to become a lot more annoying. Apparently a company called Eolas has a patent on browsers with plug-ins. Or to be more precise they have a patent on:

“Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document”

The result is Microsoft having to come up with a way round it to avoid paying licence fees. Any plug-in content on a web page (Flash, Shockwave, the dodgy XForms support or any ActiveX control) will have to be explicitly activated before you can interact with it. In most circumstances this isn’t so bad – except for those annoying floating ads: you’ll have to click them twice to get them to go away.

If you have automatic Windows update, you’ll get it on April 11th as a critical update.

Wikipedia article.
Baekdal article

patents, software patents]]>

Programming, Technology, Web Programming

XForms

<![CDATA[Although I haven't been writing much about programming and computers lately, I have still been reading.

XForms is another thing, like Mono, that I found out about quite a while ago that has recently resurfaced as possibly useful. XForms is a whole rethink about how information should be collected and sent of the web. The keyword here is information. HTML forms don’t really send information, they send data. There is no real structure to what is sent – all you have is name/value pairs (although depending on the capabilities of the server you can at least send variable length arrays with the foo[] naming convention).

XForms improves on this by separating forms into different parts, primarily models and user interface (well technically what I’m referring to as models is split into abstract models and instances but that’s like talking about classes and objects). The models are just chunks of XML that are sent to the page. The user interface (essentially just input tags like the HTML equivalents) modifies this XML and then sends it back.

The structuring of the data may well be enough to warrant the adoption of XForms, but it’s a little better than that. When I say the XML (or more correctly the model) is modified by the user interface, the modifications are held in memory by the client (probably a browser) and any references to the model should change accordingly. This allows some stuff that would usually require clever AJAX, complete calls to the server or at least just plain JavaScript can be done fairly trivially.

There are a lot more possibilities, this really is just the tip of the iceberg. To find out more, search for XForms 😛

There is a problem though, support in browsers. You can get a plugin for IE6 that handles XForms but requires the page include the plugin. You can get an extension for Firefox that handles it “natively”. Neither work that well and when I tried it neither worked properly with a page intended for the other (IE obviously couldn’t use a page without the plugin and the plugin stopped the XForms working for Firefox). But the same was true (if not worse) for JavaScript when it first came out.

XHTML, ECMAScript]]>

Programming, Technology

Got Mono?

<![CDATA[A few years ago Microsoft released the .NET platform. It was supposed to be an open standard that anyone could implement although in reality only Microsoft did. That’s all changed now as Mono is gaining momentum.

Mono is a cross-platform implementation of .NET complete with a execution environment (JIT compiler, garbage collector and so on) as well compilers for C# and VB.net. There are sections of it that a largely complete but all the important stuff is there.

The best thing about Mono is that it has stimulated development of .NET tools by people who normally wouldn’t touch Microsoft if they could avoid – specifically lots of open source developers. This includes the creation of some brand new programming languages such as Boo and Nemerle.

Normally a programming language with very few users is useless – libraries won’t exist and you’ll have to do lots from scratch and things are generally bad. However since every CIL language can use and extend features written (and compiled) in any other, this problem goes away. You can take a C# class and extend it in Boo and then put it in an ASP.NET page written in VB.NET.

An important part of Mono for cross platform use is the development of GTK#, a managed version of GTK that allows you to write cross platform windows applications with essentially a native look and feel.
Mono Project]]>

Games, Programming, Technology, Web Programming

Distinctive Developments

<![CDATA[I just thought I'd say a little about the company I now work for, mainly because they're bigger than I thought. Well not bigger as such but more successful, a bigger player perhaps.

Distinctive Developments is a leading developer of games for mobile phones. I really should emphasise the leading part since one of their games, 3D Pool was actually nominated for a BAFTA (I didn’t even know they had a game section).

They’ve also done titles with top licences including the FIFA series on mobile phones as well as Shrek 2: Puss In Boots and Madagascar.

There are two problems with this personally though – firstly I myself don’t care for mobile phones games and secondly most of their games are sports based, which I’m also not especially bothered about…

mobile phones, cell phones, Java games]]>

Entertainment, Games, Video Games

A couple of PS2 gems?

<![CDATA[I did something I haven't done for years recently: I bought Official PlayStation Magazine UK for the demo disk. No particular reason except now having a job I'm not so worried about the price of a magazine…

I was glad I did.

It has two demos of games that look really cool (and they're already out).

The first is Fahrenheit (although it was renamed before the launch – search GameSpot for Fahrenheit and it comes up). You control a guy who has just done a murder and you have to (basically) escape from the police. But it is so much more than that. Firstly, the genre is closest to point-and-click adventure ala Broken Sword, except it's in 3D – you just move near objects and push the right analog stick in different directions to do different context-sensitive actions. Another point is the emphasis on story – you get to see things that are happening elsewhere that you wouldn't normally know about (like the cop approaching the door of the men's room where you committed the murder) if it is good for drama. Finally you get to control most of the important characters throughout the game (although not in the demo).

The second one is Shadow of the Colossus, a third person action adventure. All you have to do is go through the game killing these huge Colossi (they look like something out of Lord of the Rings – large walking bear type things. I mean large – they start out about the size of a house and get bigger). And that is literally all you have to do. No piddly bad guys in between, just the Colossi. The game gets away with this apparent simplicity with two (related) features: Firstly how you kill them is not that obvious. It generally involves climbing up them somehow and stabbing them but there's usually more to it. Secondly the platform aspect of the game is amazing. The most important part is the "grip" feature. Basically you can hang on things (think Prince of Persia) and while hanging you can jump around and hang on other things. This is how you climb the Colossi. The physics engine for this is close to perfect. As the things move around trying to swipe at you your character swings around, ends up hanging with just one arm (so you have to wait for him to get his bearings and grab with both – all the while you're grip strength lessens) and all sorts of cinematic type sequences occur. On the demo I managed to get all the way up to its head, got throw off and ended up hanging off its nose…

So go out and by them… I think I will 🙂

PlayStation, video games, PS2, Colussus, Indigo Prophecy, Fahrenheit]]>

Personal, PHP, Programming, Technology, Web Programming

Another interview

<![CDATA[Just as an update, the interview I had before had an odd outcome. It was a success but they didn't have a position for me. In the meantime I got another interview with somewhere else.

Within three hours of the end of the interview I got an email offering me the job 😀

It gets better: the following morning (less than 24 hours later) the original place call me and offer me that job too 😀

I took the second one.

jobs, interviews]]>