In a few years most of our mobile devices will only need to be charged every six months and this innovation will be due to MEMS (Micro Electro-Mechanical Systems) which are microengines a few millimetres wide that use hydrocarbon fuel. Have you ever looked at an aircraft engine and said "How can that generate 500 tons of thrust and lift this that this hunk of metal into the air?" Well MEMs are micro equivalenent. Hydrocarbon fuels have a huge storage density between 40 and 50 MJ/kg where nickel metal hydride batteries commonly used in laptop computers provide only 0.4 MJ/kg. Hence microengines can produce 30 times as much energy for weight as standard batteries because of this high energy density in the fuel. What is interesting about this technology is that the latest innovations are using conventional UV lithography but, in the reverse. The lithography must create huge structures on the micrometer size so that the combustion can take place in the microengine rather than the nanometer size small for transistors. 

Software was not my first choice of a career. I spent a number of years design digital hardware for the first GSM base stations in the UK among crazed microwave engineers. As a result I still spend much of my time building hardware devices usually with PIC micocontrollers. In the XML industry there is a continual emergence of XML hardware acceleration devices from the likes of Tarari and DataPower. The interesting aspect is that there is a trade off between the capabilities of a software engineer writing for a general purpose processor vs software on a  specialized board, with the developement model following very much along the lines of the video card acceleration industry. The interest in XML acceleration is due to the apparent three ineffeciencies of XML - bandwidth, storage and parse time. This can result in XML parser and writer implementations attempting to cheat the W3C XML 1.0 standard in order to reduce at least one of these, typically the parse time, by say ignore the valid range of character values in the names. Bandwidth is a non-issue. Simply use a compression technique like gzip on the wire and your done. Storage is also a non-issue with tera-byte disk just a few years away. Joshua claims to me to be capturing his life digitally as an example! Parse time is an issue and this is where XML accelerators have some hold. However since general purpose processors are improving in clock cycles and the cost of them reducing by the day, there is only a certain window of opportunity for XML acceleration devices before they are the same price as adding another general purpose box to your server farm. When you combine other services such as encryption onto these specialist hardward boards then they do start to look very attractive again.

My final note on hardware is when will applications be developed onto silicon? Imagine having the Office 2003 suite burnt into specialized silicon. Not only would the cost be cheaper, the device could be tiny with all the power of a current desktop machine and just like the old Atari consoles, software piracy would be completely eliminated.