WWDC 2004 Coverage

Looks like there may not be a satellite feed for the Stevenote this year. Failing that, there’s the O’Reilly coverage, as noted on their MacDevCenter…

O’Reilly at WWDC 2004 by Derrick Story — The Mac crew at O’Reilly has lots going on at this year’s WWDC. If you’re attending the ultimate Mac bash in San Francisco, then you might want to make a mental note about the following O’Reilly-related offerings, including book specials, O’Reilly-hosted BoFs, and our ongoing conference coverage.

XML via EOF Redux

Before leaving for the NMC 2004 Summer Conference, I handed King the code I’d hacked together to implement XML KeyValueCoding and the XStreamDB EOAdaptor. He needed the XML KVC part to implement an ECL client in APOLLO, so it should have worked just fine.

In usual King form, he went through my code, and when he was done, it looked like part of the EOF stack itself – all of the niggly loose ends I was struggling with were properly cauterized – no, that’s too rough – they were reworked with Best Practices and EOF methodology so they worked properly, rather than just working (yes, there is a distinction ;-) ).

Anyway, I’m working on re-integrating King’s wonderful code cleanup into the working XStreamDB EOAdaptor. It’s already promising to be much faster due to the proper implementation of KVC caching (rather than looking up values each and every time from the DOM, it stores them in a lazy-bound way, so it’s only looked up the “hard way” the first time, and after changes).

Once the changes are merged back in (shouldn’t take too long – the biggest task is deciding to use XStreamDB 3.0c or 3.1 client libraries), it should be a well oiled and almost fully functioning XStreamDB query engine. Then, to work on editing and adding records…

Anyway, I just wanted to give some quasi-public kudos to King. I’m constantly amazed at the amount of actual working stuff he’s got crammed in his skull.

21 Rules of Thumb – How Microsoft Develops Its Software

I’m sure this is going to be linked all over the place, but it’s a very interesting read. It’s a reposting by David Gristwood, of an original article by Jim McCarthy (a manager on the MS Visual C++ team).

Particularly interesting and useful, it delves into the topic of “slippage”, but treats it as a necessary and good part of the process. Slippage becomes a transition from the unknown to the less unknown – as you know more, the timeline and estimates become more refined and realistic, often leading to slippage.

Perhaps the most important point is the first one: Don’t know what you don’t know. If you don’t know something, state that, and come up with a plan to fill the gap. Incorrectly assuming knowledge, or worse – faking it – will lead to disaster.

UPDATE: Just came across a link to The Ten Commandments of Egoless Programming – more good stuff. Even comes with a handy downloadable (if butt ugly) stone tablet for printing.

I think I’ve been risking breaking Commandment #9: Don’t be “the guy in the room” – going to have to work harder to prevent that. :-(

Learning Object Projects at the Learning Commons

We’re working on a whole bunch of related (and sometimes dependent) projects here at the Learning Commons, and it’s sometimes difficult to communicate how they all fit together.

Although we are coming at several related problems from several directions simultaneously, we see them all as One Big Project, with each component making up part of a larger puzzle. Here’s the extremely simplified model of how the projects fit together:

Project Puzzle Pieces

Perhaps the easiest way of thinking about these projects is with APOLLO acting as a kind of malleable glue that can hold distinct and separate technologies together. We see things like ties to Blackboard LMS happening somehow via APOLLO, which can serve as a bridge between any of the other project puzzle pieces.

One important thing we keep striving toward is interoperability. Interoperability amongst our own tools (ALOHA, APOLLO, CAREO, etc…), and interoperability amongst external tools (Blackboard, Pachyderm, Weblogs, etc..). They are both important kinds of interoperability, and we take it all quite seriously.

It’s also feeling like we’re in the process of hitting critical mass, where the project puzzle pieces are finally fitting together well enough, and covering enough of the whole puzzle, that we’ll be able to do some extremely cool and compelling things in the coming weeks and months. This is an excellent time to be playing around with this stuff.

Here’s a partial list of some of the related projects we’re working on at the Learning Commons:

There are several other smaller projects (and possibly some larger ones) I’ve left off, but you get the point. We’re trying out a bunch of stuff, and working to get it all playing nicely together.

Scott Leslie Describes His APOLLO Plan

Scott Leslie is heading up a rather large initiative in BC to deploy some cool whiz-bang learning object technology across the province for a couple of very large organizations. His group recently made a decision on which technologies they were going to use, and they picked APOLLO.

Scott has written up an excellent description of his rationale, plan, and hopes for the BC/APOLLO collaboration. I really like his pragmatic stance – use what’s best for the job, and for the users. He likes Open Source, but isn’t married to it. He likes commercial software, but will use something else if it’s a better fit.

It’s going to be one heck of a fun ride, through September and beyond!

And Scott is also astute enough to call us on our “pick a cool-sounding-name and shoehorn an acronym into it” strategy. Doh. ;-)

NMC 2004 Session Decentralist Manifesto Random Notes

  • Even a decentralist wants a system to work
  • Provide the wires and power and let it go
  • Provide the interfaces
  • Decentralists are not de-connected
  • not isolationsists
  • not vandals
  • community based on a shared platform
  • rapid group forming, ridiculously easy group forming and problem solving, group comes together and disappears when the need is gone
  • ad hoc!
  • kind of like affinity groups from Henry Jenkins keynote
  • don’t have to stay together forever
  • don’t define ourselves in terms of communities, define ourselves in terms of ourselves
  • we can use the best available tools whenever we want
  • need to post our manifesto on the wiki
  • centralists are like IT
    • centralists keep power flowing, WiFi working
  • what are great successes that we can cite
    • scientific discovery is decentralized
    • great art is decentralized
    • web is decentralized
  • The centre will not hold
  • University of Calgary still only supports Netscape 4.7
  • decentralism is Darwinian, 1000 will be culled out, some will survive
  • the more centralized, the more standards get lower
  • the Dodge Caravan ads hammer the message join the team
  • decentralists think!
  • D’Arcy: “could have gone down hill but it didn’t”
  • Brian, D’arcy, Alan met after doing a presentation on RSS, blogs and Wikis
    • decentralized collaboration works
    • decentralized, virtual collaboration requires a different skill set than real world face to face collaboration but the skillsets are complementary

Thank you to Small Pieces contributors!

The NMC 2004 Small Pieces session yesterday went extremely well (I think ;-) ) – it was very chaotic, noisy, confusing, loud, and messy, but I think it was interesting or at least entertaining for all.

There was activity on the wiki, some on the weblogs, and some iChatAV video conferences. The Decentralists group wound up too deep in a very compelling discussion to break away for iChatAV. Our discussion turned into one of the most vibrant and engaging experiences I’ve had in quite a while (thank you Decentralists!)

We’ll all be keeping an eye on the wiki and weblog over time to see what happens after the conference…

Lessons learned from Weblogs.com fiasco

Here are some lessons that I learned from the whole Dave Winer weblogs.com affair.

  • Own you own domain name. If your blog is at your own domain name, then if you are using a hosted service and somebody takes it down, you can move your content without breaking links.
  • Keep backups of everything that is hosted by everybody else

In the long run, it will be so easy to host your stuff, that you will rather than having to worry about other people taking down your stuff. Decentralists rule long term!

Getting ready for NMC 2004 Road Trip

The Norman family is just about ready for the big trek across the Rockies. We’re heading to Vancouver for NMC 2004 Summer Conference, then across to the Island for a few days before returning home.

As a result, things are likely going to get quiet(er) around here. I’ll likely be blogging something from the NMC 2004 conference, but aside from that, I hope to be completely offline for the week following the conference.

My major deliverable before the conference was a sorta-functioning XStreamDB EOAdaptor, so WebObjects apps can talk to XStreamDB without jumping through a bunch of hard-coded hoops. That’s working pretty darned well, so there are only a couple of minor things I need to take care of before the conference. I’m planning on some productive time in the car during the trip through the mountains, if Evan behaves…

It should be rather quiet around the Learning Commons, as Mike and King are also making the trip to NMC 2004 – for Pachyderm and APOLLO stuff.

I’ll try to check in a bit in the next week, but after that, I’m tuning out for a week.

UPDATE: We’re being total tourists. Stopped at Hell’s Gate, Capilano Suspension Bridge, Vancouver Aquarium, followed by an amazing beach barbeque provided by Brian and Keira on Spanish Banks (thanks Brian and Keira!)

We’ve taken 160 pictures since Monday morning. I’ll hopefully dump around 80% of them, but there are some real gems in there…

I’m in the NMC 2004 conference until Saturday afternoon, then it’s off to Victoria for a couple of days, then the long drive home…