Tuesday, March 15, 2005

Done, Not Dead


Yesterday I found a link to a petition of VB developers, many of whom are MVPs, demanding that Microsoft not abandon the language/tools that served them well for so many years. I thought it was interesting because it went along much of the thread of "why not a better COM?" which I'd started on earlier.

Today I found Appleman's comments on it; it appears that his take is that of Don Box - VB and COM are done not dead.

Which is sort of interesting; there was a lot that could have been done to make classic VB even better and it's as useful now as it ever was (except for fear that it may become unsupported).

What were some of the things that could have been better?
  • An enhanced IDE
  • More advanced controls (better menus, better toolbar, lists, better browser/net controls)
  • New language constructs and datatypes (compound assignment, collection classes, etc)
  • COM cleanup (less reliance on the registry OR better tools for managing it, builtin version management).
There are many other things I could think of but it suffices to say that with a better classic VB we'd no doubt experience less "energy" about WinForms with the .NET framework.

Anyhow, this seems almost passe for the likes of me. On to XAML and whatever else bleeds "new."

The petition has inspired quite a few retorts here, here, and here.


Saturday, March 12, 2005



XUL is good.


Microsoft vs Groove


Things are astir: Microsoft has bought Groove and with it, acquired Ray Ozzie as CTO. I always liked the idea of Groove; I've been the child of groupware since my alma mater is a huge customer of Centrinity, the maker of FirstClass software.

Biola runs, in large part, through its version of FirstClass which is known as BUBBS (Biola University Bulletin Board System). Everything from homework assignments, class communication, and student carousing starts on BUBBS.

I think the idea of true groupware bundled with Microsoft Office will be a huge boost to its functionality and it's been a long time since Office had as large a change in functionality. Outlook provided some very lightweight groupware features, but nothing on the scale of Groove.

On my last major project I tried very hard to lobby for the use of Groove as a true groupware solution but I can attribute failure to two things. First, Groove wasn't developed enough. Second, groupware implementations are a group effort and can only be mandated by a higher power.

On the first point, there were things that made Groove cumbersome. It was a very fat client and the machines we were running on (as well as our network) were not state of the art. During the installation, forgotten passwords were not retrievable and so entire accounts for which passwords were lost became dead space, totally orphaned. The chat feature was also bloated; a massive pop up would appear at the bottom of the screen rather intrusively - people started to use MSN messenger because although alerts for conversations appeared, there was no massive pop up on screen.

On the second, because there we had a pot pourri of tools and no mandate to unify them, we ended up using all the different tools to differing degrees - some MSN Messenger, some Outlook, some Word/Excel, some web based applications (FogBugz), and Visual SourceSafe. Each tool on its own was a little better than Groove (Messenger is a better chat client, Outlook was a better email client) and so we gravitated towards the specialized hodge podge rather than the unified but more bulky solution.

It's sad because for so much of our work we needed threaded discussions, not endless meetings and emails that were copied to the entire team. We needed a centralized repository for important documents, not migrating file servers and directories like:
\\testserve\Files\Projects\ProjectXYZ\Documentation\Requirementswith 7 different word documents with names like ReqDoc1.doc. We needed file synchronization across multiple machines instead of ugly copy/paste jobs ("XCOPY deployment" if you want to sound sophisticated... ).

Although Groove still had a ways to go when we used it, this will mark an interesting direction for Microsoft. One thing that is fairly obvious is that Groove needs to be webified; a slick little groupware utility from Google could annihilate the prospect of people paying for a Windows based client to collaborate. This isn't new, but Google has a knack at implementing things much better than others for the browser.

And of course Microsoft is buying the mind of Ray Ozzie. He attributes his affinity to groupware to the university experience as well in his now defunct blog:

Many years ago, in the mid 70's at University of Illinois, I was fortunate enough to have been touched by something called PLATO...

As many of us who had spent years immersed in the PLATO environment left and entered the "real world", we were shocked and dismayed to find a world lacking electronic connection. And as I entered the business world, it simply made no sense to me that computers were being used solely for computing and "data processing"; the collaborative online work environment that I'd taken for granted, that I'd used day in and day out, was simply missing in action. Our work lives are all about interpersonal connections, our businesses processes are structured into connections amongst people and systems that must be coordinated. What better use of technology than to help people to connect?

And so, for most of my life since that time, it has been my goal to explore what lies at the intersection between people, organizations, and technology. To attempt to utilize technology - to mold it, to shape it into a form such that it can help organizations to achieve a greater "return on connection" from employee, customer, and partner relationships, and to help individuals to strengthen the bonds between themselves and those with whom they interact - online. Because - empirically - collaborative technology has substantive value, in reducing the cost of coordination, in providing shared awareness across differences in space and time.

The way that I explore is to build products, and to see how they are used. To see what works, and what doesn't. To listen, to interact, to refine. Because cooperative work exists at the intersection between people, organizations, and technology, collaborative systems are truly fascinating: in order to serve people effectively, technologists must, for example, understand social dynamics, social networks, human factors. In order to serve people in the context of organizations effectively, technologists must, for example, understand organizational dynamics, modularitytransaction cost economics. and

The bottom line to "why?" To create real value in a dimension that I passionately believe in.

Sounds like Ray is quite the technologist, poised to make an impact.