Tuesday, November 20, 2007

Unity 2.0

Unity 2 has been out for a month or so now, and I've gotten my head around most of the additions (everything except multiplayer, basically). It's a bit of a mixed bag (I'll probably write a more thorough review for MacApper) but the nutshell version is this:

The new UI support is at once great (in that it lets you do all the stuff you really need to do fairly easily) and disappointing (in that the architecture is pretty much a horrible kludge). In essence the UI code is all stateless procedural drawing code versus a library of widgets. There's no proper event support, widgets don't have an independent existent or retain state.

The new UI code works, is pretty, and is fairly easy to use, but it's kind of architecturally lame and the code to support a UI is unnecessarily complex and high maintenance, or you need to write your own state-ful abstraction layer. By comparison, Director offered two UI options -- a clunky looking, incomplete, but otherwise functional set of widgets for basic interaction which could be dragged onto the timeline, and a platform-native plugin that let you build "proper" windows with standard controls, but which was completely un-integrated with the rest of your app.

So, on the good side, the new UI code works, looks good, and is integrated fairly well with everything else (cosmetically) ... i.e. your UI widgets don't look 10 years out of date or live in their own Window. On the bad side, writing UI code is unnecessarily tedious and you'll end up reinventing all kinds of wheels... But it does seem like you could write a bunch of wrapper code for all this that could make it not suck (whereas there was simply no way to fix Director's UI issues).

Enough on that topic.

The terrain engine is similarly great (the terrain drawing tools are simply awesome, the results look fabulous, and it's all very easy to use) and incomplete (terrain doesn't work with blob shadows, the terrain shader is kind of limited, and the lightmapper won't take into account trees or other geometry in the scene, so while your terrain can cast shadows onto itself, it can't receive shadows from objects, such as buildings, placed on it.

Several notable deficiencies in Unity remain: undo is still unreliable at best; UnityScript is still not JavaScript (which would be OK if the differences from JavaScript were properly documented, but they're not); and there's still no set-breakpoint-and-step-style debugger.

Crime & Punishment

My wife and I have repeatedly received calls from someone claiming to be Countrywide Home Loans. These people, who give out the number 1-800-641-5302, are not Countrywide Home Loans (we called Countrywide to be sure, and then we googled the number, which is instructive and highly recommended).

Annoyed by these people (who use a combination of professional sounding operators and polished automated systems, so presumably they're not exactly operating out of the back of a van, but who knows?) we contacted Countrywide and told them about the matter. There things have rested for some time.

This has continued for some weeks, and when I got another call today I decided to report it to the "authorities". The recommended course of action is the FTC, but try navigating (a) their website, or (b) their phone system. E.g. after getting several levels into their spectacularly retarded menu system, I was forced to pick between two possibilites neither of which applied, with no way out. I hung up in exasperation.

The do not call list website, for what it's worth, simply generated an error message saying that their server was having some kind of difficulty. Fabulous.

Next, I tried the local police. By far the most helpful and pleasant conversation (with a local Financial Crimes investigator) got me nowhere. She didn't even have a number I could call, but suggested I might try the FBI.

So I called the FBI who simply told me to report the activity on a website. This website is designed (a) for people who have already been screwed (we hadn't because we hung up when we were asked for our SSN) and (b) internet-based crime with phone-based crime as an afterthought.

The site made it clear we should keep hold of any documents (of which there are none) in case the matter ever went to trial, but of course we've not suffered any actual loss, and there's no paper trail. Presumably we can document the fact that the calls took place (assuming the records aren't automatically erased) but that's about it.

This is just cockeyed. Here's a bunch of scammers calling, presumably, hundreds or thousands of people fraudulently, with criminal intent, and giving out a 1-800 number. Surely there's someone in the FBI who can do a reverse lookup of the phone number, at minimum have it switched off, and at maximum tap the line, record their bullshit, and then arrest them.

If there are any further developments, I'll post them.