I was just playing around with the Lightweight Asset Management thingy I’ve been working on, and decided to try something new…

For a couple of years now, I’ve maintained a quick and dirty website of webcams of warm places. You know, for when it’s not so nice outside…

I took the URLs from that website, and entered them into the lightweight asset manager as regular old “learning objects” with Dublin Core metadata. Then, I whipped up some simple PHP to run queries on the metadata, looking for the geographical area, and type of resource (webcam in caribbean, for example).

Easy, peasy “learning object aggregation“. It’s a silly example, but it would work just as well with an embryology microscopy collection, or a set of cartographical plates (if, you know, I’d had any handy…)

aggregation of learning objects - or webcams, as the case may be...

I’m trying to practice what I’ve been preaching about small pieces loosely joined. And I’m really digging it! This would have been possible in CAREO, but would have required inserting new code and data, recompiling the app, and hoping nobody was using it when I restarted it. And hoping I didn’t break anything else while adding this…

Now, it’s just another simple interface to the same set of data… And no, Stephen, I don’t plan on having an RSS feed for this yet :-) I’m just playing around with interesting things to do with metadata…

CompuSmart Sucks!

Filed under: Uncategorized. Tags: , . | 83 Comments 

I just attempted to give CompuSmart some money. I arranged my afternoon so that Evan and I could take the bus from our house to the Giant Congregation of Strip Malls known as Crowfoot Crossing, so we could trek to the local CompuSmart store to pick up a USB headset, and possibly an Apple keyboard.

I did my research. I went to their website to see what they carried, and to see what the price was, and to verify that it was in stock at that location. Check on all counts. I searched the store for the USB headset – and came up empty.

I then made a dash for the service counter, since the bus that was scheduled to take us home was going to be there in a few minutes, and if we missed it, we’d be stuck there for another hour.

The guy behind the counter couldn’t find the headset either. So, he went to the inventory computer. “Oh. We’ve got 4 on order. Looks like nobody has them. Montreal is backlogged.” Great. So, why does the website say it’s in stock? “Uh. It looks like the database didn’t get updated, or someone put in the wrong number of sales or something.” Great. I ask if it’s possible to give him the money now, and have them deliver it to my office, since I didn’t plan on making another afternoon trek on the slim chance that they may actually have one in stock later when they say so. “Well, that would be difficult. And it would cost you.” Great. I’m standing here, trying to give the company my money, and they couldn’t care less. The guy didn’t even offer to put me on the waiting list. He just stared at me, slackjawed, until I walked away. Then he scurried back behind the “service” counter.

I give up on the USB headset. The other thing I came for was an Apple keyboard, to replace my old Macally POS that feels like I’m typing on stale oatmeal. The website says it’s in stock. Both the USB and the Bluetooth wireless version. I scan the Apple section (that has a nice grey Apple logo banner flying above it). They have 2 bluetooth keyboards. And no USB ones. Crap.

And they still don’t have any iTrip for regular iPods – they have a couple for iPod Mini, but nothing for the 3G/4G series. They assured me right after christmas that they’d be getting a bunch in, and would keep some in stock.

Frustrated at wasting an afternoon, and pissed off at giving these losers one more chance, we head out of the store, hoping to catch the bus home. We did. Evan napped on the bus on the way home. He’s so cute. :-)

As it stands, I will never, ever, ever give CompuSmart another chance. They have lost my business, permanently.

ps. this was the first time I used the <a rel=”nofollow” > attribute… No positive whuffie for these clowns…

UPDATE: 5 minutes after getting home, the order was placed successfully with Memory Express – these guys absolutely rock. Best prices, good people. Why on earth didn’t I go there first? Their initial price was $10 lower than CompuSmart’s, so even with the addition of the delivery fee, the price works out the same. That’s how you make happy customers! :-)

UPDATE: I got the headset today, delivered right to my house. It works great! As an added bonus, it came with a coupon for 120 minutes of Skype Out calling! Sounds impressive until you realize that’s like $2… I just tried it (calling myself – lame), and it seemed to work quite well. On the phone, I sounded clear, with only a slight lag. I guess that’s understandable, since the call was routed over the internets to god-knows-where, then back over POTS to my home phone. Not sure how much I’d use Skype Out, but it’s a pretty decent option for conference calls where the long distance charges add up really quickly.

delicious2Safari – Integrating folksonomies

Filed under: Uncategorized. Tags: . | 1 Comment 

I’ve been using delicious2Safari for a while now, and it’s a really nice (and free) way to integrate your carefully tagged folksonomies from del.icio.us into your Safari bookmarks.

Combine that with Safari Stand, which makes an extremely useful bookmarks search utility only an F4 away, and I’ve got a very handy offline cache of del.icio.us bookmarks.

I’ve also got a shortcut in the Sogudi extension to Safari, so all I have to do when I’m online is enter “del whatevertagiwant” in the location bar of Safari, and BOOM – my del.icio.us bookmarks with that tag.

Very handy loose integration of small pieces.

Skype – cross platform telephony

Filed under: Uncategorized. Tags: , . | 6 Comments 

I was just chatting with Joshua Archer and we tried out Skype. It looks really promising, but we didn’t get to have an actual conversation over it because I didn’t have headphones, and the feedback from my powerbook’s internal microphone was pretty nasty.

Assuming the addition of headphones clears that up, this should be a great addition to our suite of collaboration tools (and would wind up getting a spot in our potential NMC 2005 session in June…)

So, I’m building up my Skype contacts list… If you use Skype, let me know what your account name is, and I’ll add you.

Oh, I’m dlnorman on Skype…

UPDATE: I’ve had 2 Skype calls today. The first was with Josh, and it was basically unusable. Feedback that built up in a couple of seconds to sound like a team of wild horses galloping through the room. The second call was with Tim Wang, and it sounded as good or better than a regular long distance phone call. We were both using the “stock” microphone and speakers in our laptops, so I’m not sure why it was working better with Tim than Josh… But if Skype calls sound that good, then, well, DAMN! Bring it on!

UPDATE: I had several Skype requests waiting for me when I got in this morning. Unfortunately, Skype conveniently crashed after adding the first one… And I don’t know if it keeps a record of requests anywhere. So, if you sent me a request, and I didn’t respond, it’s not personal :-) Please send it again…

Teaching Resources Database

Filed under: Uncategorized. Tags: , , , . | Leave a Comment 

I’ve just updated our Teaching Resources database to use a copy of the lightweight asset management system I built for the Pachyderm project.

Previously, the TR database had been developed as a WebObjects application, connecting to an XStreamDB XML database. That performed really well, and made for nice reliable queries, but meant an editing interface was more difficult to develop.

Now that it’s just a simple MySQL database, and a simple PHP script running the queries and interface, it’s easy to manage, and performs quite well.

There are currently 622 teaching resources (books, websites, documents), in 28 different teaching-related topics. It is a collection of links, gathered by ourselves and the VP Academic’s office from relevant sources around the internet.

Looking for a Good Flash Designer

Filed under: Uncategorized. Tags: . | Leave a Comment 

The Learning Commons is looking to find a good flash designer (able to work on existing flash projects with a lot of actionscript code, and to create new projects based on them). This person would be filling a dual role, also providing graphic design expertise for online projects (websites, more flash stuff, some interactive/CD-ROM stuff).

We’ve got some really cool projects going on, so you ‘d get to play with some great stuff, and work with some great people.

If you are a Flash/graphic design rockstar, or just play one on the internets, and are in the Calgary area, please let me know if you’re interested!

I’ll update this entry when HR has posted the official job posting.

UPDATE: Here’s a link to the job posting.

MacOSX Menu Bar keeps crashing!

Filed under: Uncategorized. Tags: , . | 1 Comment 

Normally, it’s just annoying. This time, I missed my bus because of it. My menubar clock was blissfully telling me it was “Tue 1:18:42 PM” – I just thought it was a particularly long day, since it felt later (it was a particularly long day, but that’s another story).

So, I keep plugging away.

Eventually, I glance at the menu bar on my other computer. “Tue 4:24:15 PM” WHA? Crap. Missed my bus. But, my laptop still says “Tue 1:18:42 PM” Thanks, crashing menu bar clock. I’ll be catching the next bus home…

At least it isn’t blinking “Sun 12:00:00 AM“…

On simplicity (in standards)

Filed under: Uncategorized. Tags: , . | Leave a Comment 

I’ve been making some time to think seriously about some of the assumptions and preconceptions I have regarding metadata, in light of my quick and dirty asset management tool.

I had committed 100% to the “rich, deep metadata is beautiful” mantra, drinking the IMS/IEEE LOM Kool-Aid™. I’ve built Large Applications that have been designed entirely around handling the complexity of this rich/deep metadata, and trying to abstract that enough to let me build actual functionality on top of it.

My epiphany over the weekend is that this approach is rather flawed. As King has been saying for almost 2 years now – the asset/learning object is the centre of things – not the metadata. And certainly not the rich/deep metadata specification.

I’m taking the opportunity to think critically about some of the projects I’ve done over the last few years, and am realizing just how simple many of them would be if I’d tossed the rich/deep metadata baggage long ago. For instance, the Teaching Resources collection was deployed as a test application, contrived to evaluate an XML database. It could have been built on top of a simple Dublin Core (or less) database, in maybe a couple dozen lines of PHP. I’ll be rebuilding it this way (on top of my Dublin Core compliant asset manager) when I get a chance, and it will make it much easier to add new items, or to edit existing ones.

Thanks also to Scott Wilson, who just posted an entry "In Praise of Simpler Standards?" that nicely sums up some of the logic behind both ends of the metadata complexity spectrum.

Podcasts from EDUCAUSE NLII Conference

Filed under: Uncategorized. Tags: . | Leave a Comment 

The folks at EDUCAUSE are doing something interesting this year at NLII – they are releasing the audio from many sessions via audio attachments to their EDUCAUSE Community Blogs. Podcasting the conference. That’s freaking awesome! I’d expect that from something like BloggerCon, but for a “mainstream educational conference” to be doing this… I’m impressed.

I’ve downloaded every session they’ve released thus far. The audio quality ain’t great (levels waaay too low, so I risk blowing an eardrum at the end of the track when my iPod switches to the next one… ouch), and the bandwidth doesn’t seem to be quite there, but they are doing some cool stuff. And the production value of the intro bodes well (if they can get a microphone closer to the presenter… :-) )

If you swing that way, grab their Podcasts feed and groove with the rest of the class. Awesome.

I’m really hoping they managed to grab audio from Brian Lamb’s session on WikiLand

Pachyderm Asset Management

Filed under: Uncategorized. Tags: , , . | 7 Comments 

I’ve just worked up a drop-dead simple asset metadata database for the Pachyderm project. It’s just a MySQL database, with a single table that has 10 fields (including primary key). This simple database will serve basic metadata needs for the Pachyderm beta.

I also built a simple asset management system to test out the database. I decided to do a lightweight PHP “application” to stretch my legs in a non-WebObjects non-Java environment. This is about as far from the elegant Model View Controller design pattern as it gets. Raw SQL is littered throughout the PHP code. But, you know what? It works. And is unbelievably simple to debug.

I’m thinking a version of this PHP asset management app, running on top of a simple asset metadata database, may form a valuable Small Piece, patterned after del.icio.us, but giving us the ability to extend for our purposes.

My previous thinking about metadata storage was stuck in the conventional “hardened”, enterprise-class thinking that only storing an IEEE LOM would satisfy. Bollocks. This simple metadata database will gladly be coerced to spit out IEEE LOM records on demand, or Dublin Core, or whatever else is required.

There’s a meme going around that says something like “the best solution is the absolute simplest thing that could possibly work” (I’ve heard it in a couple ITConversations sessions, and on a couple blogs – I’ll have to track down who started it…) This solution is in that vein, and it’s really striking a cord with me.

Give it a shot, if you like. But, be gentle, since it’s my first real PHP work, and was cobbled together with the help of my on-demand guidance system. (oh, and I know it looks like crap – I haven’t even started thinking about UI for it)

UPDATE: I’ve been slowly working on the asset manager test app when I get the chance. It strikes me just how simple it is to build. With the use of includes, it should be entirely possible to approach nice OOP design, although it won’t be all MVC. But, if it’s this simple to do, maybe you don’t need MVC… I added file upload and MIME type recording in maybe 15 minutes, including the google-time to figure out what to do. I’m really enjoying PHP as a language – having some flashbacks to Lingo. The power of small pieces…

UPDATE: As I’m adding/tweaking stuff in this simple asset manager, I’ve realized that it is probably only a week or 2 of effort away from replicating the functionality of CAREO. I could use simple stylesheet switching to replace the “themes” in CAREO. All that is really left to add is authentication, activity tracking, RSS views, and a few other types of queries. But, as a few simple PHP scripts (currently maybe a total of 100 lines of code spread over a handful of files) instead of large java frameworks and applications, it should be much easier for others to extend and adapt for their needs… I do realize that my current attempt at PHP code is rather inelegant, but I’m hoping to follow some of the patterns and techniques used in WordPress to keep it clean, modular, and extensible.

Yet Another UPDATE: I’ve updated the asset database to store the full Dublin Core set of elements, so it should serve as a pretty solid foundation for any asset management use… I’ll try porting the Teaching Resources Database over to it to see how it goes… Using an XML database is overkill for that anyway, and if I use the asset manager, I get to throw in the add/edit functionality for free (something that’s on my plate for Teaching Resources anyway, so if I can just re-use this code, I’m further ahead already).

Next Page →