Thursday, November 18, 2010

Metadataattribute???

The person who came up with this idea obviously hadn't had his or her coffee that morning.

The death of the post-script

One has to laugh these days at people who still insist on using the post script form in electronic communication.
When you read over letters of old, usually penned in ink with a pen dipped in an inkwell, it is easy to understand the value of being able to add a thought to the end of a laboriously constructed letter without redoing the whole thing again. Today however, the P.S form should be dead and gone because it's nothing more than an admission that the author was too lazy to use the arrow keys and put the completed tought into the context of the unfinished ones above.
Often in a movie, you will see the "deleted scenes" but no one would be idiot enough to run all the credits, sign off with the producers logo and then come back with "oh bye the way, here are two scenes that we thought would clarify scene 27 and 31a"

Tuesday, November 16, 2010

Breaking out of an iframe.

On CiteYa I wanted to provide a link from the rating wiget to the main site so that people could go see what it was all about.

I tried the usual javascript parent.document.location.href setting but that caused an error because the contents of the iframe doesn't have the rights to access the stuff int he parent page.

In the end I found that top.location.href worked a treat.

Monday, November 15, 2010

CiteYa

I am an avid science junkie and I read loads of scientific posts, papers and books that use citations as a way to validate the paper. If a work cites another then it is an acknowledgement of the original work by the author of the new work.

We live in a world where trust cannot be taken for granted. Trust must be earned and the best way to earn it is to have other people say how good your work is. When we use a hyperlink however, that trust is implied. I will go to your site and see what you have to say.

This is the moment when the popup box tells you that your computer is infected with a Trojan virus and, oh, we can scan your computer for you. It's free.....

Wouldn't it be nice to have a measure of trust for a hyperlink? One measure of course would simply be to know how many people link to that page. If loads of people have created a link, then we can assume that the content is good and follow the link.

Google of course do this. They use billions of watts of power to crawl the web, searching for links and noting where each and every one goes. This is proprietary information though and using it comes at a price. We either pay for advertising or we pay by giving away information about ourselves when we use Google.

I awoke at 2:30 in the morning, a couple of weeks ago, and thought that it would be great to have a system that gave you a measure of trust in a page before you click the link. My solution is CiteYa.com

CiteYa enables you to create a link that tells you how many others link to that same page. It can also tell you how users rate the site before you go there. It works with some simple ASP.Net and javascript and is in need of users.

The site is simple, free, easy to use and does nothing but enable you to build trust for your pages. Try it out...

http://www.citeya.com/

Cross domain scripting is a pain

I'm working on a project that has both inspired me to learn new stuff and frustrated me immensely.

The system is akin to a page rating database which enables users to give an opinion on the quality of a page. The wiget is delivered as an iframe and uses a little bit of javascript to perform the mouseover and click detection. The wiget is then supposed to send the data back to the server where the database can be updated. All this runs a treat on the local server when debugging but as soon as the code gets a sniff of the live server, the iframe has no access to the parent page so the rating of the iframe source gets updated, not the page that contains it.

Another problem which I had was to deliver a popup containing the rating information, this was messed up again by the fact that my script was unable to access the web service from which the data was to be delivered. Access denied to the XmlHttp object.

I have solved part of the problem by delivering the popup information as an image, The way to deliver user ratings back from the inside of an iframe however still escapes me.

Any suggestions?

Tuesday, November 09, 2010

If a job's worth doing...

Years ago, there used to be a saying; "If a job's worth doing it's worth doing well"
A tradesman was judged and employed according to his skill and quality of work. Today however, in the disposable "made in China" world in which we live, quantity at low cost has become the norm and quality that you enjoy because you pay well for a job well done, is a thing of the past.
As I go through my working day I hear the phrase "quick win" more and more. Unfortunately, the idea of a quick win is more about "how can we make it look like we didn't screw up" than it is about improving the code.
Computer programming is not a craft, like blacksmithing is a craft. Programming is an art, like painting or like musical composition. A program must be carefully designed to be pleasing to the user and to use the resources, the C.P.U, memory and network bandwidth in a sympathetic manner.
If you attack the artist's canvas with a paint roller and a hammer you are unlikely to end up with a work of art. If you start the project with an eye to composition and attention to detail and aesthetics you are more likely to have a work of art that has no need of a "quick win"

Monday, November 08, 2010

Fixed the supportsearch page

Conversion to ASPX wasn't a good idea for some pages. My support search page which some of my users kindly use for their google searches was busted.

Its now fixted.

Sunday, November 07, 2010

Mac crashes more.

Well, after all these years of listening to Mac users tell me I was an idiot for even thinking of buying or learning to prograam a PC I can say with my hand on my heart that the Mac crashes more than the PC.

I bought a Mac Mini about 18 months ago and, I admit, I like it. It is however not easier to use than the PC, In fact I find it downright pig headed but that may be just because I am so used to Windows. I can say however that the software is uneccesarily expensive, the range of stuff available for it is poor and it certainly crashes more than all of my Windows PC's put together.

Worst of all the thing keeps locking up in Apple software, not even third party apps. It is sat here now next to my PC with its lovely little rainbow cursor running and a totally unresponsive iTunes running.

I don't even know if there is a process killer or if I have to reboot...

Friday, November 05, 2010

Conversations with a doctor

Imagine this situation: A woman goes to her doctor and tells him that her leg hurts. She explains that she's a professional athlete and running and jumping became difficult just after she fell down some stairs.
The doctor gives her a thorough examination and is horrified to find that her leg is badly broken, has been for a few days and is likely to cause her really serious problems if it doesn't get fixed straight away.
The doctor explains that the bone needs to be set, the leg immobilised and a plaster put on the leg for anywhere between six to eight weeks.
In response, the woman gets up, hops around the room, grimacing a bit with pain, but saying all the time that she is fine and that there is no way she could possibly have a plaster as she was so busy with her job and a plaster would really get in the way on the hurdles track. She refuses treatment and in a week, dies of septicaemia brought about by a bone infection.

Of course, this is something that would be very unlikely to happen. A woman in this situation would be physically unable to walk with a broken femur and she would be grateful to the doctor for any help that he might be able to provide. Unfortunately, the relationship between the software architect and the client is often very similar to that of the lady and the doctor in the story you’ve just read.

As an architect, I have seen more than one example of this scenario. After being called in to consult on a job and after having advised the client of serious problems with the state of health of the software, the client decides that hopping around is easier than fixing the problem. One company in Surrey (in the UK) for which I explained that the problems in their architecture would end up costing them more in maintenance than they could afford in development, went bust because they were unable to continue due to maintenance costs and the haemorrhage of unhappy developers who quickly went to look for other jobs when the boss of the company put more and more pressure on them to deliver what was effectively impossible.

Sometimes the patient is simply not qualified to make a good diagnosis of their own illness. A company that has pressure to deliver product may believe that the status quo is more desirable than the risk of change. If you fall down stairs and you can’t walk anymore, go see a doctor and take his advice. If your software isn’t working, is costing you more to maintain than it does to upgrade, go see a good software architect and take his advice.


Thursday, November 04, 2010

Silverlight and Mr. Muglia

I have spoken to several friends who work for MS and they all said that it was all news to them too,
I have been reassured by one friend, who is in a good position to know, that all is cool and there is nothing to worry about.
I guess the moral of the story is that some people should never give an interview without someone first approving the script.



Tuesday, November 02, 2010

Muglia back-pedals on Silverlight. Too late?

There are sometimes when I loathe ZDNet's approach as they seem to be very anti Microsoft but there are others when I think that they are the only people who can really find out what's going on.

In an inteview with Mary Jo Foley, Bob Muglia reduced Silverlight to the development system for Windows Phone 7, angering developers, myself amongst them, who have listened to the hype over the Silverlight, browser, desktop, cross-platform for several years now and have comitted to following the line laid out by Microsoft by investing in that technology.

Many years ago, after speaking to top level program managers within Microsoft, I believed that the only reason virtual machine technologies existed, particularly those that enabled delivery of Windows CE applications to hand-held machines that ran a variety of processors, was specifically for enabling standardised Windows programming across all devices. I waited in vain for this to come to fruition because I truly believe that to have a virtual machine system capable of running the same p-code on all devices would be a fantastic solidifier for an industry that has too many diverse standards.

Recently, with Silverlight I had begun to believe again in the possibility of a unified developer platform that could adapt seamlessley to many, or any, form factors and devices. Now, with this latest development I can see another period of wandering in the wilderness looking for some sign of sanity from what seems to be an insane guide.

Microsoft pulled a similar stunt on the Windows CE developer community back then, virtually dropping Windows CE, reducing it to a minor player and now they're back to the same old tricks.

People at high level, Like Muglia and Ballmer don't say this stuff off the tops of their heads and retract it because it was an unfortunate mistake. You can bet that this has been on the table for a long time inside Redmond and that talking about it in this way has become so second nature that Bob Muglia never even thought it would be a problem when he spoke about it.

I know of front line silverlight applications that companies have, and still are investing millions of Euros in which will be in some doubt after this statement. It's one thing for a company to change strategy on an immature product and, despite Silverlight's relative youth in the marketplace, it is after all a version 4 product with a large amount of promises and "trust us, this is the future, believe in it" messages having come from Microsoft.

This is a problem that destroys trust and causes immense turmoil that Microsoft doesn't seem to care about. As an architect I feel a responsibility to guide my clients down a road that is beneficial to them. I need to be able to trust Microsoft to deliver on promises. In the case of Silverlight I had been reticent to push clients towards it until version 3. Recently however I have been looking at the possibilities of using it for some seriously important applications but now, I predict another struggle trying to persuade conservative IT departments in two or three companies to even allow a sniff of Silverlight code into their applications.

Way to go Bob!