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

Believe.

{

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.

}

Tuesday, February 22, 2005

More SOA

{

Microsoft has a new article (you need it!) concerning SOA (Service Oriented Architecture).

Interesting responses on my Joel On Software post:

Service Oriented Architecture is really a tool more focused on enterprise IT. It's for exposing a companies "business logic" through software. It's not really a concept for applying to a stand alone application like fogbugz or Word or whatever.

Service Oriented Architecture is really a tool more focused on enterprise IT. It's for exposing a companies "business logic" through software. It's not really a concept for applying to a stand alone application like fogbugz or Word or whatever.

If you're a company who has a business such as finance, healthcare etc, you have an IT department who has built custom software which contains your business logic. For many reasons you want to expose that business logic in a generic way so that it can be easily consumed:
1) by other pieces of internal software
2) by external software of your clients
3) by partner companies or companies your might merge with
etc...

And it stands as an important question exactly what type of software one is writing then; I agree that in many organizations SOA (I've worked at gigantic places like Intel and Countrywide and they surely have use for it) is important but I find it hard to believe that it would be as ubiquitous... I'm going to take a back seat and start studying the architecture more and comparing it to the work I've already done and seen in the "enterprise."

}

Saturday, February 19, 2005

Sun killed Java (Again)

{

I was flipping through magazines at Barnes and Nobles and found a reference to an old blog post

He basically says that
that Jim Fawcette wrote about Sun and their blunders with Java.Sun created the initiative for C# and the .NET Framework when they sued Microsoft for trying to put extensions in their Java implementation, J++. Otherwise Microsoft was on the path to making Java the de facto standard for development on Windows.

"The Microsoft language team—then under Dennis Gilbert, who negotiated the contract with Sun—was prepared to fully commit to Java as Microsoft's language for development on what was later named .NET. Microsoft would have made Java its main language and competed with IBM and Sun on its framework implementation, according to contacts at Microsoft then and now. Visual Basic would likely have continued, given its installed base, but it would've been marginalized and C# never would've appeared."

Interesting.

I always thought that Sun's major blunder was that they didn't put a full effort behind the development tools/platforms in Java. By doing so they essentially opened the door for Sun, BEA, and all the other companies that produce duplicate facilities for Java, hence fragmenting the market. My thought isn't really original; Cringely alluded to it back in 2001:


"Sun should have maintained its technological lead, but didn't. Why not? Don't they understand that Microsoft is like the Terminator (as depicted in the original film, the really scary one) and will never give up? .NET, whatever that is, is perceived in Redmond as the future of Microsoft, and C# is the heart of .NET. Microsoft will spend whatever it takes, take as many revs as the market requires, for C# to become the dominant programming language in the world. What other high tech company can be described as being willing to behave that way right now? Would Apple, Sun, Oracle, even IBM spend WHATEVER IT TAKES to accomplish ANYTHING?

No, they wouldn't, and that's why they are going to lose, dang it. Microsoft will lie, cheat, steal, or maybe just work very, very hard—whatever it takes. That's the most intimidating realization of all for competitors."


Well, enough beating up on Java. I still think that it was better technology for its time frame. But it wasn't automated, augmented, and unified.

Oh, and if anyone hires me for a J2EE project, who knows, I may change my mind...


}

SOA and Avalon (XAML)

{

I'm on my way to try and understand what Microsoft and others intend with the so called "Service Oriented" software strategy. Last week I read a whitepaper on SOA and Indigo as well as a short article by Charles Petzold on XAML. I probably won't have many responses to my questions here but I posted on Joel On Software about some frustrations.

I guess my question for Microsoft is "why not a better COM?" The .NET Framework was definitely a step in the right direction, but many of the components one got used to in COM are simply unavailable in the Framework. Instead there is "interop" capability which is much heavier and ineffecient for simple things like SQL DMO and Internet Explorer (SHDocView).

I'll link to comments I find interesting related to these posts.

}

Endtroducing. Raîson D'Étre.

{

Hello,

My name is David. I live in Sioux Falls, SD as a recent transplant from southern California. I'm a programmer of sorts. "Of sorts" means that right now I'm between many things...

A long time ago I started
blogging about technical stuff but it soon became obvious that the people who read my blog were my friends, not my technie cohorts. So things evolved into an open letter which has never ended.

I still like to write about programming, computers, and the technical. I also like the idea of maintaining a technical journal of where I've been and what I've struggled to get past as a programmer.

This blog is about my technical life. Hopefully it will be interesting. Perhaps even, it will become useful.

}