Friday, May 30, 2008

AS3 Git Library

Scott Chacon, author of the Peepcode Git Internals pdf and of gitcasts.com, has released an Actionscript library for traversing local Git trees. A very cool starting point to being able to build Git visualizations at least... and maybe if someone's crazy enough to do the transport stuff a whole Git client - we'll see.

Very cool - check it out.

UPDATE:
How the heck did I not include a link? http://github.com/schacon/asgit/

AIR with Rails @ RailsConf

Thank you! to everyone that came to our talk today. It's a very hard balance to cover people who haven't heard of a technology to people who just want to hear one or two tips or tricks that get them to the next level all in a 4 hour talk with hands on code.

I think we did a fairly good job of covering the bases, and if you didn't hear something you were wanting to hear, let us know, here or over the channels we presented in the talk.

Once again, the slides and presentation examples are up on github at http://github.com/danielwanja/railsconf2008/

Thanks also to everyone who stayed a little bit extra to hear about RubyAMF as well. You guys are awesome!

Saturday, May 24, 2008

RailsConf

RailsConf is coming up fast - next week in fact. If you're coming to the hands on tutorial part on Thursday (29th) come and see Daniel Wanja and I talk about Powering AIR Applications with Rails. We'll have information on the APIs, strategies for using AIR, and lots of sample code integrating Rails with AIR.

If you're not going to make the hands on portion, at least say hi if you run into me (my picture's on the session topic link above).

Wednesday, May 21, 2008

FlexManiacs Presentation

Thanks to everyone that attended my FlexManiacs talk on Flex and Rails. It went well I think, if a little rushed - there was a lot of material to get through.

I'm trying something out to see how it works, and putting all the presentation files and code up on my personal googlecode site.

Thanks again! Next? AIR at RailsConf, baby.

Wednesday, May 14, 2008

The Clash of the Devices

Look, in 8-10 years I want to be spending less time in front of the computer. "As we know it", I should have added. I hope it doesn't take that long either.

I want a small network of devices that are specialized for certain situations, with form factors to match and knowledge of each other. Maybe that means a lot of my data is in the cloud, maybe it doesn't - I don't care about that.

What I do care about is that a laptop costs a lot and is fragile, and a desktop ties me to my desk. Sometimes I need to sit at a desk, but the rest of the time I'd rather be pacing around thinking, collaborating with friends or co-workers on code or music or writing, or playing games that make me more active, but give me an immersive experience only a computer can provide (think of an FPS that's somehow tied to the geometry of your office or something like that - I don't know yet).

Anyhow, back in the now I want to see the shift starting, and I see it with iPhone and Android. Which should I throw my puny, insignificant weight behind?

The iPhone has a lot going for it. That's an understatement. The device is beautiful, the experience is something only Apple could devise, and the SDK sucks. I mean it. It's going to get a lot of app developers where they want to go - iPhonesville, but the ride won't be a fun one.

I'll never get excited about using Cocoa. It's an ugly, crufty language. Only that sweet, juicy iPhone carrot at the end of that uglystick is enough to even get me to try.

Not only does the language suck, the platform is locked down tight as a drum (admittedly only by the software agreement, AFAIK). Can I daemonize a task from my app? No. Can I wake my app up on a location or time based API event? No. Can I share data between different apps? No. Can I replace any of the default software with software I like better? No.

Android says yes to all of those things. It even says "yes, please can I help you with that would you like anything else, sir?".

And as someone who prefers dynamic, readable languages like Ruby, far be it from me to cry up the merits of Java, but compared to Cocoa it's freaking poetry. Not only that, but Android has A DECLARATIVE LAYOUT LANGUAGE!

That means I can build interfaces in a way that makes sense, not in programmatic code, and not in a silly drag and drop interface builder. I don't want to drag and drop. I want to say what I want in a human readable format. That's what Flex has right. It's a language for describing interfaces. It's the best language for describing interfaces. Android's is subpar. But it's better than interface builder, that's for sure.

Android has one thing against it, and it's big. It's not going to run on the iPhone. It may relegate it to the scrappy underdog ghetto smartphone SDK for a long time. It will probably stay the platform of geeks and hackers and open source advocates and people who wear suspenders and sport long santy clause beards. Unless some visionary device maker frees it and lets it soar. We're all counting on you, device makers.

What kind of apps will people make for these platforms? Well, Apple will force the experience into a very rigid, consistently good, calming, happy, user experience. That's mostly good.

Android will sport a bunch of crazy, ugly, hacky apps, just like Linux does. The user experience will be a mixed bag, because any old geek that comes 'long and cranks out a sweet app won't take the time to make it as clean as the iPhone SDK will force apps to be.

The big deal, and here's what gets me, is there will be way more innovation on the Android platform. Why? The open API, for one. The fact that Third Party Apps are first class citizens. The fact that I can publish and share data between apps - even apps that I didn't mean to publish and share with - by describing my data in a conducive manner. The fact that the software that ships with the Android platform is only a suggestion and I can tout my app as a replacement for it and have the other apps on the phone work with my software as if it were the original.

iPhone software quality will be compressed and consistently good. What you can do with third party apps will feel good, but be limited. With Android the lows will be lower and the highs will be higher. Hackers will discover new ways to do innovative things, and I want in on that.

*Sigh* I'll still be in line in June/July/Whenever for my iPhone 2.0 and try to make cool iPhone apps, though, just like the rest of you. You can't make me like it though. At least not as much as Android.

Saturday, May 10, 2008

User Interface Resource Center Goes Live

If you're interested in discussion and learning about better User Interfaces, you should check out the User Interface Resource Center, an initiative by EffectiveUI with some help from partners Adobe and Microsoft to build a community around UIs.

There are already some great articles up about the design and development of the eBay Desktop and discussion about designers and developers working together.

Read up, and then get involved!