Sunday, November 06, 2005

After my earlier rant about the lack of decent APIs in Microsoft Live, I decided that I'd contribute some web APIs of my own- you know, try and stay positive and all.

Basically I've been unimpressed with all the existing weather feeds and want something better. Enter the National Weather Service's XML web service. It's actually quite cool- gives tons of information and no lame restrictions or advertising requirements. Our government at work.

There's only one small problem (and one larger problem) with the NWS data- the first is that you query the data via Latitude/Longitude, which is not quite user-friendly (quick- what's your lat/lon?). I was able to solve this one by using another web service - Terra Server which can give you lat/lon coords from an address. Quite handy.

The second problem that I'm not making as much progress is that Senator Rick Santorum (PA) wants the service shut down because it's competing with private enterprise. Since I used to live in Pennsylvania and my parents still do, I figured I'd send Rick a nice letter mentioning that I didn't quite agree with his position that the NWS giving away free raw weather data stiffled innovation. Quite the contrary, I wrote- broad availability of this foundation of data could only foster innovative solutions that his benefactor AccuWeather couldn't even imagine. Woe is me though, the Senator didn't quite appreciate my opinions though he did send me a 3 page form response that only reminded me that our government is not always working for the people.

Anyways, I hope to get the code up in the next day or so, I'm just prettying up the output so it'll be much more useful from simple web apps. I just need to upgrade to the latest VS (release tomorrow!) to finish it.
My previous post got me on the path of Python moving into the mainstream. It's something I'd really like to see happen- development moving towards higher level languages for mainstream applications. I'm not saying that we should be writing Sparkle or VS in Ruby, but the fact is that 99% of the projects people are going to be making with our tools would be well suited for a more rapid design language.

Maybe sometime down the line we'll be able to add Python support to Sparkle, the fact that we support both C# and VB definitely makes me interested in pursuing the idea. A while back a co-worker, John Gossman, did some interesting exploration with Avalon from Python (Pythalon) which shows it's possible.

In the meantime, I'm watching for what Apple is up to- John Siracusa at Ars Technica did an interesting series of articles on Apple that seemed to focus on the pitfalls of Objective C. Personally, I've only glanced at Objective C, but I have absolutely no desire to learn it. It may be great and I know people love it, but unless I'm developing for OS X and only for OS X, it just doesn't interest me.

Apple's lack of interest in Java has befuddled me- there's a language people could rally and that has a development community that dwarfs Objective C's. It's been apparent for a few years now that Apple's heart just isn't with Java with some none-too hopeful signs like deprecating their Objective-C bindings.

Now if only Sparkle could release with Python support, that'd be cool. I'm going to have to play around some now- anyone have some MSBuild files that can build Python with IronPython? It's worth a try...
Dashcode?

Overall, it looks like a side project- there are a few nice workflow features, but in the end it's very very basic. There are already at least 2 shareware Dashboard editors- Widgetarium and Widget Code (which tells you how hard it is to make one). I don't see how Dashcode is better or unique from the others. It's certainly still light years behind Interface Builder.

I've been on the lookout for what Apple has on the way- based on their history I don't expect them to sit this one out. Interface Builder is getting quite dated but Automator shows they still have an interest in non-developer dev tools. I see about as much use for Dashcode as Automator- not much. Apple's Dev Tools team has very limited resources- every time I saw them it sounded like XCode had 5 devs on it. It surprises me that they're doing projects like this.

I'm still trying to figure out what language they're going to be focusing on in the future. Their Java support has been languishing and many people don't expect them to push Objective C too much further. A few rumors say that Apple is investing in Python which would be interesting. They've been completely ignoring Mono for reasons I can't understand.

If Apple decides to abandon Objective C and update Interface Builder (which doesn't seem like they've touched in 10 years), then they'd have my attention. Dashcode is a disappointment.