Thursday, March 6, 2003

Mmm...Tasty InfoPath

Clemens Vasters and Don have been talking about InfoPath (formerly XDocs), a new tool for working with XML. It sounds awesome, not least because I'm building something at work that I could have built with this in about a tenth the time. Well, the Office 11 beta goes public in about a month, so it shouldn't be long before I can get my hands on it. Some features, via Clemens's blog:



  • When you design a form based on an XML Schema, and fill out that form later, the document that you'll save will be a pure XML document instance of the exact underlying schema, without any other goo. InfoPath will only associate the instance with itself by injecting a processing instruction.
  • InfoPath understands XML Schema type restrictions, validates them and gives you red frames on fields that are wrong. It spell-checks and gives you red squiggles for misspelled words. It gives you repeating edit regions for arrays of complex types. It gives you date pickers for dates. It gives you combo-boxes for enums.
  • When you "export" a form template (whose native storage format is, inexplicably, binary), you will find an XSLT innocently hanging out in your output directory. That stylesheet is capable of rendering an XML instance of the underlying schema to a proper DHTML page that is visually (and functionally) equivalent to the form you've designed.
  • You can submit a filled out form to a file or to a web service; however, most importantly, you can submit to a Windows Scripting Host script (JScript/VBScript). Which means that you could smuggle (for instance) a COM/Interopped managed pipeline underneath it (think WSE) that will wrap the payload into an envelope and add all the current and essential web services stuff to it. Or you could submit to a disconnected message queue on a client and have a server do the processing for forwarding your data into a service-oriented bus. Or you could drop stuff into BizTalk.

Wednesday, March 5, 2003

Team Development Guide

Sam Gentile posted this link to a document at Microsoft about setting up a team development environment using Visual Studio.NET. As one of the tasks I've been assigned at my current client is to look at tools and practices for development under .NET, I'll be giving this a read-through today. It looks like they talk about a tool called BuildIt for doing builds - I also need to sit down and take the time to look at NAnt and DracoNet.

Tuesday, March 4, 2003

It's Pancake Day

Apparently, it is a pancake day today, as pancakes are the symbol of the sun.

Well, It Felt Good for a While

OK, so when I figured out that I could use Terminal Services to get at a full-up administrative login on my machine, I was missing a couple of things.

1) This isn't an option for people running Windows XP.
2) It requires that I disable Offline Files.

The first is really no big deal - it sucks for everyone else, but I've got WS2003, so I'm all set. The second one is the killer - I do make use of Offline Files, in particular when I travel. "Oh well," I thought, "I'll just use Fast User Switching, like Joeseph Shook suggested." Two problems with that:

1) I can't figure out how to turn it on (yet) in WS2003.
2) Assuming 1 is just because I'm dumb, when I do turn it on, it will preclude me joining a domain.

Right now I'm running my laptop outside a domain. But I'd really like to join up on a domain when I get my other computer flipped over to WS2003. It really sucks that I have to choose two of offline files, joining a domain, and using Terminal Services, since I want all three. But this just hammers home the point that Keith made about how developers can't assume that regular users run as non-administrators. I'm still struggling with it.

Monday, March 3, 2003

Oh, That Feels So Much Better

I've been struggling with running as a non-admin ever since I took the plunge. I, quite frankly, hate it. Lots of little things don't work right, and it's a pain to have to figure out what's wrong just because someone decided to write to the HKLM in the registry or drop data in \program files. Well today I figured out something that will save me a lot of pain. Running a command prompt as admin lets me do some stuff, but I've found that installs in particular tend to take a real login to work properly. Switching back and forth was getting old.

I'm running RC2 of Windows Server 2003. Well, I realized that I've got Terminal Services at my disposal - so I can actually log in twice! Just open up a remote connection to an administrative desktop and park it. I changed the colors on the admin desktop to give me a visual cue as to where I'm at. I still run most things in the regular user desktop, but when I need to elevate myself to admin, all I have to do to get there is ALT-TAB. 

Ahhh......

Sunday, March 2, 2003

Open Source Benefits Whom?

By way of Don's blog:



[James Avery] The open source movement is really only going to provide software for geeks like me to play around with before we go to work to build Microsoft applications."


I have to say this argument resonates with me. So often I think we can observe the effect that everyone assumes everyone else is just like them. So open source developers - highly skilled, computer-adept people - are likely to develop software aimed straight at...highly skilled, computer-adept people. Of course, ask these same people to descibe a typical user (i.e. the marketplace) and "highly skilled" and "computer-adept" are not the top phrases you'll hear.


Does this mean we shouldn't encourage open source? Hell, no! Just because something is ultimately futile in the big picture does not mean we shouldn't do it. Indeed, I struggle with this dilemma in my professional life all the time. For as many people as I teach or mentor, I know that at the end of the day, less than half of them have both the time and the talent to really make use of what I've told them. At times, I've thought this was grounds for just going into a corner and doing everything myself (note the assumption on my part that I'm any good). But eventually I realized that "it's better to light a candle than to curse the darkness."


Therefore one of these days soon, I'm going to go contribute to some worthwhile piece of open source software. If you have suggestions, for what to help out on, please let me know.

Saturday, March 1, 2003

Online Communities

By way of A Surprisingly High Tower, Justin writes:

Both postulates completely overlook what I can only offer as anecdotal evidence. When I was in college, MUSHes and MUDs were all the rage. I lived in a very energetic dorm that had a raging social life that saw us routinely sit around until 7 in the morning, interacting in large groups and generally being social. When we discovered MUDs, though, several of us took to hanging out obsessively in the computer labs at the Teer or North buildings, losing ourselves for entire weeks in the online universes when we had BETTER, PHYSICAL options closer to home. And after we came to our senses, we discovered that this wasn't an exception, but a rule; tech heads were giving up physical socializing for virtual community. It wasn't due to lack of alternatives, it was despite alternatives. I can't explain it, but I know in my gut that tech heads don't go online because they have nowhere else to turn.

I'm not sure I can completely agree. His assertion that the physical places are BETTER is what I take exception with. Comparisons like this one assume that there are some sort units of "goodness" and that that physical places rate a 7 while the online ones rate a 3. I would argue that even if there are some notional units, it's a vector quantity, not a scalar, and the axes for the two types of interaction are orthogonal.

The way I see it, the online experience (or role-playing games such as Vampire, which I still enjoy) have aspects of creation and control which real life lacks. The times when I get most involved in the computer is when I'm crafting something or solving a puzzle, and the reason I like both computers and fantasy/sci-fi fiction is that it proposes a world where magic is real and humans can transcend their inherent limitations. Real-life seldom offers these sorts of psychological payoffs, although that might explain why Mafia is so damn fun - it combines elements of both.