some zembly required…

Zembly is a new social collaboration platform  where users members can build and share code together. The neat thing about Zembly is that it contains many of the features of a collaborative social platform  (think facebook, wiki, etc.), yet the purpose for being there is all about building widgets, services and applications for other web sites. One attractive characteristic is that it is “tricked out”, to make it easy to deploy to some of the more popular collaborative tools on the web today such as igoogle, Facebook, Meebo and even the iPhone.  The home page sports the OpenSocial logo as well.  In this case I think standards are good.

In some ways, you can think of zembly like Wikipedia for social applications—a wiki for live, editable code that is more than just about trivial widgets, but rather about full-fledged social applications that can tap into the social graph and reach millions of users.

Another interesting feature is the key chain.  Each member gets to store their various api keys for services such as Amazon, Google, facebook, Flickr apis in a handy central place.   I like this because really I haven’t figured out any other good way to keep track of my keys.  I probably have multiple keys from google, only because I either couldn’t remember where I saved the key the last time, or it was some other machine…

Anyway the first thing to try with Zembly is the 5 minute weather widget.  It’s pretty easy to do, but be warned it took me more than 5 minutes.  But that’s most likely because I’m somewhat of a copy paste spaz. Anyway I got it to work this morning and with one click of a button I had it deployed to my personal igoogle page.  That was cool! But wait there’s more.  With a simple copy paste I should be able to drop it in to this blog entry.  Here it goes:

That was easy. Click on the get weather button above and you’ll see the weather here in Fairport. Or enter your own zip code. Ok, so this is just a demo, weather might not be that impressive so I’ll be thinking about something more entertaining for the next Zembly widget I make.

On a final thought, my mind is churning on the proposed paradigm shift here. In the past we’ve tended to think of software as being more focused and somewhat “monolithic”, even applications that are highly interoperable and share common APIs tend to be developed by somewhat well defined teams and are contained in focused projects. So what happens when the application development process becomes increasingly more social, granular and more  “loosely coupled”? In a social container like Zembly the rate of Darwinian evolution of services, widgets and social applications might just crank up a notch or two.

Tech

Comments (0)

Permalink

On the nature of an Engineer

After reading Venkatesh Rao’s essay on The Bloody-Minded Pleasures of Engineering. I can’t help but think about why I am an engineer. And not surprisingly of course I come to the immediate conclusion;  Because I am. Seriously, I can’t really help it. You see I’m pretty much an Nth generation engineer.  The more I explore my personal family history, the more I discover the variety of engineers, architects, craftsmen (and craftswomen) and other creative types of folk that came before me.  I suppose the fact that most of them were not terribly famous is significant as well. For it just adds to the sense of “normality”, the sense of “well of course this is the way to think and do” and so on  that I just take for granted. In other words I engineer because I am.  (sorry Descartes)

My father once described the engineer’s mission or credo as being the noble goal to “cure mankind of the pox”. To solve problems that will help people.  You know I rarely stop to think about this idea.  Yet if I look back on all I’ve done, I just naturally tend to operate this way.  It’s not a choice I make each day, I just do it.  I now look at my own children and see the same thing happening.   Is there an engineering gene?  (just try to google that one) Perhaps, but I think the cultural evolutionary forces are strongly at work here.  One thing I do know is that I so strongly resonate with the social software movement and get very excited about the innovation happening is this area.  It’s almost two big for my mind to grasp at times when I start to think about the sheer scale and massive impact of technology on society that is happening today.  Yet I am perfectly at ease and “with the flow” about it.  I feel like a surfer riding the biggest wave of all time.  A fantasy wave that lasts decades not seconds.  It’s huge and every once in a while big currents intersect and it’s a thrill to ride the complex eddies, crests and troughs that get created when this happens.

The next big waves to rise, merge, swell, combine and change everything once again are coming hard and fast now.  Huge social graphs representing real people are growing and maturing.  (Social software for networking, Facebook, LinkedIn etc) Tremendous and fairly complete collections of world knowledge are maturing and are open and accessible now. ( See my previous posts on open knowledge stores and ontologies such as Freebase, OpenCyc etc.)  Massively scalable computing infrastructure is now available for anyone to purchase with a click of a button. (Cloud computing; Amazon E3, Google, etc…) And software engineering itself is no longer a long slow process that only experts can take part in.   The HCI pattern of Incremental Revealing is evolving to the point where simple users can  learn to become power users who then learn to become programmers without even realizing it. (Adding applications in Facebook, building templates in Wikipedia, and so on…)

And so what does this mean for the professionals, those like myself that have spent their careers learning to work “these things we call computers”?  It means many things, it means I must embrace the idea the duration of the software development cycle is headed downward to that of minutes.  Not days as one might expect if the developer were programming in Ruby on Rails.  Not weeks as one might expect if the developer were programing in Python or Perl.  Not months as one might expect if one were developing in Java or C++, or .Net.   No sir, the next generation programmer will be dragging and dropping an cutting and pasting Urls and Purls, accessing the worlds knowledge and leveraging all the fundamental logic, algorithms, and patterns as easy as can be.  And the biggest thrill is when the cost of experimentation becomes extremely low and an idea can be tested in seconds or minutes. This changes everything at a very fundamental level.

Extreme programming and Agile computing will be the norm so to speak. It may not even be called that any more. Some may just call it “configuration”.   Perhaps an old idea to be reborn as a new creature.  But whatever we call it,  it will be profound. When in the normal course of the day, I can try a new programming idea to solve a problem, say for example in the very same meeting that has presented the problem to me, in a few seconds, and I can walk away with the solution actually deployed, in place, job done, then the world is a different place.  This is exactly where we are headed.  I have already had a taste of this  in the last few years.  I’ve experienced this myself on a small, limited scale, and I keep seeing, here and there, demos, hints, suggestions, that this is coming hard and fast. The difference of course is when it it’s happening on a regular daily occurrence. When it no longer becomes a “wow, that was cool” event.  Then the world is a different place. Are we there yet?  No.  Will we be there soon?  Yes.  Will there still be a need for long drawn software development projects?  Of course.  There will be always brand new, hard to build, things we want. And it will take time to build them. But, quite possibly there maybe fewer of these large projects. Of course on that account I am not sure what the “curve” will look like.  I do suspect it is the power law curve.  Time will tell.

And so it gets back to that noble effort, to help people solve there problems. The speed and intensity of how we can help solve peoples needs may be more than just a thrill. Solving the worlds information needs leads to oh so many many other good things. (better food, medicine, security, peace efforts, fuel distribution, and so on).  Potentially the entire next generation of digital natives will be at the very least skilled information engineers. And what does it mean when everyone can work this way. (because it’s easy, and natural) Not just 7% of the population like today’s engineers.  Does it mean we, as a society, are potentially all becoming engineers. (or attaining this quality)  Or at least all that want to be.  Scary thought?  Maybe not.  Maybe it’s just part of our Childhood's End, the maturing of a species so to speak. Food for thought, only time will tell in this regard and I will not try to predict the outcome of the entire lot of us fuzzy thinking bipeds on planet earth.

In the mean time I will continue being who I am. Engineer?  I suppose.  I guess I don’t know any other way. Of course I dislike labels and I do quite often like to think of myself as an artist.  ( I’m a musician and a woodworker as well) And actually as far as I can tell all those engineers, archtiects, carftsmen and craftswomen in my family history were all artists.  They were painters, woodworkers, musicians, they created with food, needle and thread, beads and crafts.   So next time you think  about engineers, who and why we are the way we are, think again.  We are not as clearly definable as you might believe. It’s really all about the creative thing. This creative thing, this force, it is hard to pin down.  Go ahead and try to define it.  Just try to define creativity.  good luck. I won’t.  I’ll just do it. Because that’s what I do.

Art
Tech

Comments (2)

Permalink

Automating metadata and open architectures

A good read: Paul W writes on automating CMS metadata

In a previous post I asked the question, “What if a web service could automatically provide the CMS metadata when you go to check-in a new topic?” In this post I’ll discuss why you would want to do that, some of the candidate technologies, and what is necessary to make it real.

The interesting back story to Paul’s new blog is this;  while Paul writes about CMS metadata I was on the phone with him yesterday brainstorming about how the heck we are going to get more metadata into his blog?  Being a new blog we have to pump up the Google juice as much as we can. While the best way of course is to keep writing and connecting with people it doesn’t hurt to add metadata to your blog.  Here’s the rub; If you run your own server, like I do, you have much more  control of your blogging software. I run Wordpress so I can experiment with the latest tools like Tagaroo or whatever comes along next that provides the Natural Language processing needed to suggest new tags that I can feed ito the semantic web. With Paul’s blog and others that use a hosted blogging service like Wordpress.com, Typepad or Blogger, you get only what the service provides you.  It’s not your car so you can’t add those hot rod components. So in this case something like Tagaroo won’t work.

So the conversation starts to diverge at this point. But I ask which CMS systems are open and extensible extensible enough to allow for the  next generation “beefed up” semantic gizmos to be bolted on as needed.  For example simple tagging out of the box is good but rich RDF metadata is even better. So as better NLP services come along I’d like to be able to swap out the old parts and put in better ones.  In my case I’ve already bolted on a plugin to generate SIOC metadata which gives me real RDF and FOAF on my site,  and every post is processed with NLP from Calais (Tagaroo) Not to mention a new version of Calias is now out that I can be immediately plugged into.  But I should be clear my point is that It’s not that these are better or worse than any other semantic solutions for my blog, it’s that I have the choice.

This leads to a broader and possibly more improtant conversation around open archtiectures and how they often come along with open source software. This why back a few years ago I switched from Movabale Type to Wordpress. The Wordpress plug in archtiecture is open and anyone with a good idea can get in on the game and we can all play.

Semantic Technology
Tech

Comments (0)

Permalink

SIOC >> Joining the Semantically-Interlinked Online Community

My next experiment is to “plug in ” to the Semantic Web. Tonight I installed some new tools from sioc-project.org to enable a SIOC feed from my blog.

What is SIOC? The SIOC initiative (Semantically-Interlinked Online Communities) aims to enable the integration of online community information. SIOC provides a Semantic Web ontology for representing rich data from the Social Web in RDF.

First I installed Semantic Radar for Firefox. If you’d like to experiment with SIOC, and other RDF feeds, I’d recommend this tool. It’s easy to install and it automatically detects semantic data at any site you visit. Secondly if you leave the default options set every RDF feed you encounter will be sent to http://pingthesemanticweb.com/ where it is collected and stored in a larger repository. (One of many that make up the emerging semantic web)

Ok, cool so now I can detect RDF. Next I wanted to actually generate RDF from my web site with two goals in mind. One to generate an RDF feed representing my blog and all my posts. And two, to produce RDF (FOAF) feed representing the primary Author of the site, namely me.

To accomplish this I installed the SIOC exporter for Wordpress. This little tool is the product of those Deri.org genius minds Uldis Bojārs and Sergio Fernández. Installation is easy, I just dropped in couple of files in my Wordpress plugin directory and poof it’s done. Hey it works with no fiddling. If you are looking at my site now with Semantic Radar installed you should see some RDF feeds and should easily be able to browse them. If not you can try this link to the SIOC browser. Ok, so I said it works without fiddling. But of courae I had to fiddle. First of all if you haven’t noticed by now I’ve changed my site name. In reality I have actually restored it to what it was two years ago just before my blog fell into the great state of disrepair that lasted so long. (But we don’t talk about that) What’s important about that is that I wanted a “title” and “description” in the RDF based on the site name and tag line. I actually wanted the description to read “Mike Axelrod’s Weblog and not the title. Anyway, that did not quite work. Instead I found the title being repeted in the description field. Aha! It’s not a bug it’s an opportunity. So a code hacking we go. Here is the fix if you want to try this:

In the file sioc-include.php change line 605:

before:

$rdf .= “\n\t” . ‘<dc:description>Weblog: ‘ . htmlspecialchars(get_bloginfo(’name‘)) . ‘</dc:description>’;

After:

$rdf .= “\n\t” . ‘<dc:description>Weblog: ‘ . htmlspecialchars(get_bloginfo(’description‘)) . ‘</dc:description>’;

That’s as messy as it gets, and it’s an optional step to take. The only other messing about for me was to fine tune my semantic content. For example I discovered the “bio” section of my Wordpress user account is used to create the description field for the RDF that represents me as an individual (SIOC/FOAF data). After fixing that up by adding a little bit of a bio I felt satisfied.

Ok, looks good, it works, but what’s this all mean? What’s the big picture here? Well I believe it means that this data about me and my site is now harvestable and shareable in a standard format that plugs into any ontology. And of course it plugs into the great “Web ontology” that is the Semantic web, the web of “meaning”. Looks like it’s here and it’s real and I am now part of it.

Huzzah!

Update 8/13/08: Apparently I forgot to comment on this. The following day my ranking in Google shot up to the number 2 spot when searching on my own name. Prior to this experiment I had to go back several pages of Google results to find my own blog. So Apparently Google is paying close attention to RDF tags. I checked again today and my site is now the number one search result when searching on my name. Nice, SEO persistence. I like it.

Semantic Technology

Comments (2)

Permalink