Read on and leave a comment
or return to our portfolio.

24 Apr 2006

by Noel

Programming in Film Making?

In the software engineering literature people like to make analogies between programming and other disciplines, typically civil engineering (e.g. programming is like building bridges). But these analogies don’t fit very well. Programming seems to be ill-suited to the extensive modelling that can be done in, civil engineering, nor does it have the same high cost of change (you can’t move a bridge easily). Here’s an analogy that seems to fit: film making. And I’m not just saying that so I can grow a goatee and hang out with the cool kids (you reading, Geoff? ;-) )

Posted in General | Comments Off on Programming in Film Making?

18 Apr 2006

by Noel

Rexa!

Just like Citeseer and Google Scholar, but better! Rexa is at core a search engine for the computer science literature, but with additional functionality beyond what the others offer. The key improvement is that Rexa knows about more types of data than just papers — it can also track people, for instance. It also has w00ty Web 2.0 tagging, and a dodgy .info domain. If they only had rounded corners and a day-glo colour scheme they’d be a dead cert for an acquisition.

Posted in General | Comments Off on Rexa!

10 Mar 2006

by Noel

Got Game?

Those of us who build software — we all want to build greatsoftware, right? Software that people love, not just software they tolerate? I sure do.

This is why Putting the Fun in Functional, a presentation from Etech’06 by Amy Jo Kim, is important. The central point is that the techniques that game designers use to make their games enjoyable and engaging can be applied to other software with the same result. Check it out.

Posted in Design | Comments Off on Got Game?

7 Mar 2006

by Noel

Cost Breakdown for an Internet Startup

The Cost of Bootstrapping Your App: The Figures Behind DropSendis a breakdown of the cost to start Dropsend, an online storage system. Total cost is about £25K, though when you see how much they outsourced you are left to wonder what Carson Systems actually contributed beyond an idea and the cash. By keeping more things in-house, we hope to do it for much less.

Posted in Business | Comments Off on Cost Breakdown for an Internet Startup

24 Feb 2006

by Noel

Nancy Typing

Dave’s on a roll. A few days ago we heard he’s on the ECMAScript committee. Now he follows up with a great post on Nancy typing(read the post to get the joke), and a PLT Scheme language that implements Javascript (available from PLaneT, of course).

Posted in Web development | Comments Off on Nancy Typing

20 Feb 2006

by Noel

More on the next Javascript

Brendan Eich writes on Python and JavaScript. The first part discusses his plans to add generators and array comprehensions to Javascript. But that’s not the real news! It comes later:

I’m happy to announce that we are now working with Dave Herman, a fourth year graduate student at Northeastern, of PLT and lambda-the-ultimate renown, whom I invited as an expert to help ECMA TG1 develop sound specifications for critical parts of ECMAScript Edition 4 (ES4), also known as JavaScript 2 (JS2).

Go Dave!

Posted in Javascript | Comments Off on More on the next Javascript

15 Feb 2006

by Noel

Lessons Learned from Big Web Apps

There’s a good summary of lessons learned from building del.icio.us. It’s a bit telepathic at times but there’s a lot of good stuff in there.

Posted in Web development | Comments Off on Lessons Learned from Big Web Apps

15 Feb 2006

by Noel

Design Patterns for Web Applications

The Yahoo! Design Pattern Library is a collection of design patterns for web applications, along with links to the also-newly-released Yahoo! User Interface Code Library. Most of the patterns should be familiar to web application developers but it is good to have them all collected in one place. The code should be good to, though I haven’t had a chance to look at it yet.

Posted in Web development | Comments Off on Design Patterns for Web Applications

27 Jan 2006

by Noel

Ajax: I Fold!

Ok, I fold. It’s time to admit I agree with what Matt has
been saying: Ajax is an immature technology. To save Matt
some effort I’ll list the things that most annoy me with the
current state of the art:

Matt’s already mentioned the (lack of)<a
href=”http://www.untyped.com/untyping/archives/2005/11/rich_web_client.html”>type
system and<a
href=”http://www.untyped.com/untyping/archives/2005/12/printf_in_ajax.html”>poor
debugging support, so I won’t go into them.

Memory leakage is perhaps the biggest obstacle to
creating long-lived Ajax applications. The reasons for
memory leaks are discussed<a
href=”http://www.mozilla.org/scriptable/avoiding-leaks.html”>here
and<a
href=”http://blogs.msdn.com/ericlippert/archive/2003/09/17/53028.aspx”>here.
These leaks are a result of a flaw in the implementation of
(to my knowledge, all) existing browsers. This puts us back
into the bad old days of manual memory management. Either
we be very careful in our programming, or our long lived
application will eat memory till the browser crashes.

Browser incompatabilities and inconsistencies, admirably
documented at Quirks
Mode
, are a major hassle. We have to worry about both
browser and version — my code works in Firefox 1.0.4,
but will it work in Internet Explorer 5.0 (probably not)?

With the benefit of experience Javascript could be improved in a number of ways.<a
href=”http://calculist.blogspot.com/2005/12/dynamic-scope.html”>Javascript’s
crazy scoping rules are just bad; there’s no way of
getting around that. Javascript would really benefit from coroutinesfor writing all those animation loops (or heck, let’s get full continuations). Javascript’s syntax is unnecessarily hard to parse, mostly due to the semi-colon insertion rule .

Finally, current implementations of Javascript are slow and
resource hungry, a major impediment to creating really
featureful applications.

Ok, so where does this leave us? We still want to build great Internet applications, but the tools are a bit suck. There are three paths forward:

  • Build libraries. Requires the least amount of time, but offers the least return.
  • Build a better Javascript. This has already started. Just wait two years for the standardisation committee to finish, and then another five Internet Explorer to catch up.
  • Use the existing language as the target, but build a better language that compiles into Javascript. Less effort than standardising Javascript, but more effort that writing libraries, this option has some attractive benefits.

So which path are we going to follow? Tune in next time!

Posted in Javascript | Comments Off on Ajax: I Fold!

25 Jan 2006

by Noel

Yahoo’s Customer Disservice

Sometime in the last two days Yahoo Mail (which I use for my personal email account) broke for me. I can no longer reply to any email; clicking on the Reply button just doesn’t do anything. I searched the web, couldn’t find anything about it, so decided to email Yahoo support. Below is my email and their response.

The ‘Reply’ button is broken on my system (Firefox 1.0.4 on Linux). It was working till a few days ago, now clicking on the Reply button doesn’t go to the ‘Compose’ screen.

I suspect a Javascript error. The following appears in the Javascript console:

… technical stuff …

I’ve tried restarting Firefox and that doesn’t fix it.

Some choice snippets from their response:

Hello,

Thank you for writing to Yahoo! Mail.

We appreciate you bringing this to our attention. Your account appears to be in full working order. We have listed a few troubleshooting steps below which may help resolve this issue:…

  • Add Yahoo! Mail to your list of “Trusted Sites” in Internet Explorer…
  • Switch your browser to Mozilla or Netscape…
  • Finally, shut down and restart your browser.

Thank you again for contacting Yahoo! Customer Care.

Regards,

Danny

Thanks for not reading my email Danny! Had you bothered to read it, you’d have seen what you suggest either I’ve already tried or is inapplicable. In fact you would have seen that the problem is nothing to do with my account, and everything to do with crappy broken code in Yahoo Mail. It’s just too bad I can’t reply to your message to tell you this directly.

It’s amazing that bad customer service is worse than no customer service. Before I contacted Yahoo I merely slightly annoyed. I assumed they’d be aware of the problem (I can’t be the only person facing this) and would fix it reasonably soon. Now, as you’ve guessed, I’m rather more angry. There’s a lesson there.

Posted in Business | Comments Off on Yahoo’s Customer Disservice