David Ornstein's WebLog

I'm a Lead Program Manager in the Digital Documents group at Microsoft; we're part of the Windows team.

  • More blog from David on MSN Spaces

    So MSN just launched a beta sevrice called Spaces which is a pretty soup'd up blogging environment.  I've been playing with it for the past few days and it's pretty nice.  I'm at least going to keep my personal blog over there and I am seriosly considering moving my work and FlexWiki-related blogging over there, too.

    Here is my new blog.

  • ClearContext - more email overload help?

    OK.  I'll admit it.  I'm an Outlook tools junkie.  Partly it's because of the firehose pointed at my inbox and because I need every bit of help I can get to prevent it from overflowing.  I've run across another candidate: ClearContext.  The main thing this seems to have going for it is that it will order everything in your inbox based on priority as determined by sender, your level of participaiton in the thread, etc.  I'm a bit skeptical, but I'm going to try it out...
  • Another example of using WikiTalk: page visit breadcrumbs in FlexWiki

    I have now documented the recent checkin supporting "Visitor Events". These are WikiTalk-accessible objects that can be used to show a history of the pages visited by a user during their session at a FlexWiki site.

    I’ve also incorporated this into the standard page borders on http://www.flexwiki.com, so you can see it in action.

    A more detailed explanation is here: http://www.flexwiki.com/default.aspx/FlexWiki.VisitorEventDemo

  • FlexWiki customizable borders now well-documented

    I finally go around to writing up some solid documentation describing all the ways that that the borders on a FlexWiki page can be customized.
  • OK, time to drive to a SolidRelease

    Now that FlexWiki has moved back into gear after the release to SourceForge last week, it's time to gather round and drive FlexWiki to a SolidRelease.  What do I mean by that?  Well, there are lots of bug reports and lots of features that people have been requesting for a while now.  I want to gather together interested developers and do something about that backlog: fix the important bugs and get some of the features in, too. 

    Partly this is just to get a SolidRelease so that people who just want to just download and use FlexWiki can do it without being annoyed by the bugs that are in there.  More than that, though, I want to use this as a way to help developers learn about FlexWiki and how it works.  There have been lots of people stopping by flexwiki.com who are interested in making changes to FlexWiki as well as learning and using its features (especially WikiTalk).  Since the time I can spend on FlexWiki is limited, I haven't been able to answer all the questions on FlexWiki.  So... I want to use this as an opportunity to help people learn about FlexWiki.  If there's a concentrated group of people working over a concentrated period of time, I'll be able to put in the extra time and energy to help those involved come up to speed on any aspect of FlexWiki that they're working on.  That's my deal: you help out and I'll help you learn and use FlexWiki.

    You can find out more (and help define the project!) at SolidReleaseProjectHome.  And even if you're not a developer, you can help out with the project by contributing ten minutes to the TrackerMigration.

     

  • Nice use of FlexWiki as a Bliki

    Very nice use of FlexWiki as a Bliki: http://bliki.salamandersoftware.co.uk/.  Nice use of WikiTalk.

  • Well, that wasn't so bad...

    OK.  So I am a bit tired but the chaos wasn't as bad as I'd imagined.

    We launched FlexWiki on SourceForge yesterday (or was it today?).  A few hours earlier than expected.  That caused a bit of a scramble, but in the end it was no big deal. 

    I spent some time today reading the news coverage (c|net, InfoWorld, TechWeb, eWeek, Press Release, NewsFactor) and people's blogs (Rob, iGeek) about FlexWiki -- and, of course, Microsoft and open source.  Interesting reading; no big surprises.  A fair number of people out there seem to be trying to read the tea leaves of the FlexWiki announcement to find indicators of a deeper Microsoft strategy (plot?) related to Open Source.  My take on that: relax, it's just tea; enjoy it for what it is. Tea. Just tea.

    Pretty much as I expected, the SlashDot community did three things: (1) hit the site with a lot of traffic; (2) react in an immature way; (3) react in a mature way.  The site (http://www.flexwiki.com) managed to hold its own during the heaviest load, though there were some blips of "Service Unavailable."  That's OK; it's beta software; it's got bugs :-)  We were up for 98% of the day, though, with fairly good responsiveness.

    #2 and #3 pretty much cancelled each other out...

    We did end up dealing with a pile of Wiki Vandalism.  Which was a bit annoying, but not the end of the world.  Lots of junk posted on various pages -- and then cleaned up pretty quickly by members of the community.  Which is just how it's supposed to work.  It's funny because it seems like an environment in which anybody can change anything would be a recipe for chaos.  But with the exception of some occasional invasions by people who seem to have nothing better to do than demonstrate that, yes, it's a wiki and yes, anybody can change anything, the site has held together pretty well.  Thanks to the folks in the community who have helped keep this under control.  Of course, we've also used a few tricks to make this work well (which I'll write about some other time :-))

    I also spent a bunch of time today building out a reasonably full set of topics for people interested in being developors on the FlexWiki project.  I started with some really excellent material that Craig Andera wrote up and then added in some of my own material and organization and have produced a single landing pad for FlexWiki developers: the DeveloperHome.

  • FlexWiki posted to SourceForge.net

    This evening FlexWiki took the next step in its life and has been made available at SourceForge.net under the Common Public License. With this step, the developer community will have the latest source (including all the WikiTalk features), better access, better tools, and a better legal environment.  The FlexWiki developer community has kinda stalled out a bit over the past few months as I've worked to get FlexWiki to this point.  Now we can really get going again!

    As I was thinking about what I'd write in the blog entry, I found myself enumerating questions that I thought people would have. So, I'm going to use question and answer form to talk this through. It's been a pretty exhausting process getting ready for tonight (not to mention the hard work going on in my "real" job at Microsoft and my fabulous, but recently sick family). If I've missed something important, forgive me - or better yet, let me know.

    Why am I doing this?

    So if it was exhausting, you might ask: why are you doing it?  Well... for me it's all about the FlexWiki experiment.  I've spent a lot of time on a lot of projects over the years and there are a set of things that I've seen cause pain and suffering consistently throughout.  It's always seemed to me like a number of those things could be addressed by Wiki (e.g., not enough communication, a lack of a shared vocabulary, tools that are too heavy and get in the way of collaboration, no record of project history).  That's what originally motivated me to build FlexWiki, starting last year here at Microsoft with Chris Anderson and proceeding, well, through today :-) 

    I wanted to test my hypothesis that Wiki could help.  There's no question that, at first glance, it seems like Wiki could (help) solve many of these problems.  But Wiki's got some downsides of its own.  And there's a real honeymoon period, too.  So the real questions was: could a good enough Wiki implementation really improve the software development process here at Microsoft?  That's the FlexWiki experiment -- for me, anyway. 

    I still don't think I really know the answer yet, though the indications are good.  Regardless, a funny thing happened on the way to an answer - lots of other people (both inside and outside Microsoft) got interested. 

    There are a bunch of teams inside Microsoft using FlexWiki now (unknowingly participating in my mad science experiment -- heh heh).  And after repeated requests, I also made the code for the early version of FlexWiki available on GotDotNet and people started using it and contributing to it.  In the meantime, FlexWiki has had some nice successes and more and more people want to both contribute as well as use FlexWiki.  Which means it's time to scale up and take the next step with FlexWiki.  Thus SourceForge.net and thus the Common Public License (CPL).

    I don't know about FlexWiki, can you give me a summary?

    FlexWiki is an implementation of Wiki, a web-based, collaborative writing environment.  I wrote a lot (but not all!) of FlexWiki.  While there are lot of Wiki implementations out there, this is a nice one because of its various features.  FlexWiki is particularly designed to allow multiple teams focused on diverse, but related, projects to work in the same Wiki environment with multiple namespaces. This allows large groups of people to collaborate more easily. Additionally, FlexWiki supports a new, fully integrated, scripting language - WikiTalk. WikiTalk enables content contributors to access .NET framework objects for dynamic content while working within the traditional Wiki environment and it allows .NET developers to easily expose rich dynamic functionality to writers of Wiki content.  For a quick jumping off point about FlexWiki overall, check out http://www.flexwiki.com.

    I've been following FlexWiki in the past, what's changing now?

    A few simple things:

    • The source code is moving from its current host to SourceForge.net
    • The source code is licensed under the CPL and contributors need to agree new licensing terms described above
    • The latest sources -- including all the WikiTalk support is now checked in
    • We have a fantastic new continuous integration system that automated builds from the SourceForge.net CVS repository (thanks to the amazing efforts of Craig Andera [author of fwsync and FlexWikiPad] who has offered himself up to be FlexWiki buildmaster!  Much karma goes his way.)

    Why SourceForge.net?

    Pretty easy answer.  Actually three easy answers.  First, WiX and WTL (the two projects that Microsoft has released like the company's doing today with FlexWiki under our Shared Source Initiative) have both been successful there.  Second, SourceForge.net has a wide range of tools and services to support the developer community; many of these will be helpful as the FlexWiki development community continues to grow.  Third, there are lots of Windows-related projects on SourceForge.net (I think it's over a third).  This all adds up to a good strong place for the FlexWiki development community to land.

    Why the Common Public License?

    I'm not a lawyer and even though I find the law interesting and engaging, I'm not going to pretend that I am one.  The advantages I see in releasing FlexWiki under the CPL going forward are: (1) it's a well-established license used by lots of people on lots of projects (including IBM); (2) it provides clear answers to many important questions left open to interpretation by many other "open source" licenses; and (3) it effectively addresses the right set of issues to enable individuals and companies to both contribute to the FlexWiki project as well as to comfortably use FlexWiki as a collaboration tool.  This last one is really the most important one for me.  I want to enable the broadest range of people to get their hands on FlexWiki, try it out, make it better, etc.

    [Remember, it's all part of my "secret" experiment :-)]

    You said "better legal environment" above.  What did you mean?

    As part of this change with FlexWiki, contributors to the project will assign ownership of their contribution to Microsoft and then, as part of the same agreement, we give it all back to them.  This is pretty common practice for a bunch of important open source efforts (like the Free Software Foundation which does the same thing).  The advantage here is that the project gets a single, clear copyright owner, etc.  This is an example of the kind of "better legal environment" that I hope will make companies (even) more comfortable using and extending FlexWiki. 

    Thanks to early contributors Craig, Mike, Jan and Ryan for your contributions and agreeing to help FlexWiki grow.

    What's next for the community?

    Over the next couple of days, I'll write more about this, but I am hoping to rally the FlexWiki community around the idea of driving to a 1.0-level release.  Right now, FlexWiki is really a strong beta.  But it's got a pile of bugs and feature requests.  Now that all the latest sources are available and we have good tools and such in place, I would like to gather a group of folks in the FlexWiki community together, identify the bugs we need to fix, the features we need to add and then work together to get it done.  If you're interested in this work, let me know directly or join the FlexWiki users mailing list where I'll also post more info.

    Call to action

    So:

    In closing...

    It's been a long road to get here.  I first started working on trying to move FlexWiki into the world of Shared Source this spring.  It's been a bit of a menagerie working together with folks inside Microsoft to get here today.  The challenges have really been same same kind of challenges that exist doing something unusual in any big organization.  But the people I've worked with - both making FlexWiki better and helping it get to today - made it much better and much easier than it would have been, I think, at most other places.  People like Korby, Tommy, Omar, Jeff, Rob,  (just to name a few with blogs). Thanks go especially to them (and to some others who have, perhaps, the good sense not to have blogs :-)).

    And thanks to Ward for starting it all a long time ago...

  • AP: 'Wikis' Offer Knowledge-Sharing Online

    The Associated Press yesterday posted a nice (and accurate) positive article profiling Wiki technology and touting that, "Wikis are poised to become what blogs have turned into still in the Internet avant garde yet widespread enough to be influential."

  • Finally, Firefox improvements for FlexWiki

    OK, I finally found some time to address many, but not all of the annoying and lingering problems using FlexWiki with Firefox.  This came partly down to CSS work and partly down to how script and forms all fit together in the initial implementation of the topic editing page.  I've gotten the two major Firefox problems fixed now (font sizes and the edit page working).  There are a few other minor things I got working, too. 

    There are two features that you get in Internet Explorer, but not in Firefox yet: TopicTips and the TopicBar.  These are nice features of FlexWiki, but not essential to its operation.  There's no principled technical reason why these don't work yet; just time :-)

    This is running live on FlexWiki.com and will be available in build 1593 (available at flexwiki.com within a few days).

  • 40 people port a book to Wiki!

    Wow.  Go away on vacation and look what happens...

    A group of about 40 people spent a weekend and ported Keith Brown's book The .NET Developer's Guide to Windows Security to a FlexWiki site here.  Very sweet. 

    Part of the pluralsight.com FlexWiki site that's got material from Don Box, Craig Andera and Keith Brown.

    I love discovering people who are using FlexWiki that I don't know about.  It's clearly outgrown my ability to keep track of all the juicy things people are doing.  If you know about cool places that FlexWiki is being used, please do try to add them to the IUseIt topic on flexwiki.com.

  • What have I learned so far using GTD?

    Well, I haven't spent any time writing Outlook add-ins as I'd imagined.  Instead, here's something positive and something nagative from my experiences so far with Getting Things Done and the Outlook add-in:

    On the plus side:

    • Contexts are great.  Putting things onto a todo list and pre-categorizing them based on the context in which you want to do them is great.  This is super helpful.  When I have a few quiet hours in the morning, I can do the things that require concentration.  When I'm between meetings or only have a few minutes free here or there, I can work on lots of those thigns that take 5-15 minutes.  For me, I've created two key contexts that I use for work @small and @medium.  @small things are the ones I can do really anytime (when I'm at a computer -- which is almost all the time I want to be actually working).  @medium ones are the ones that take more then 5-10 minutes.  Those I actually try to schedule onto my calendar into slots that don't have meetings.  I've just started this new approach (using TaskLine to lay out the tasks automatically for me).  We'll see if it actually works.

    On the negative side:

    • Lower priority items can drift forever.  This is one of the things that I wanted to solve when I started using GTD.  The basic problem I have is that something gets assigned a low priority when I put it on my todo list.  And it really is low compared to other stuff.  Then I work on my high-pri items all the time.  And I have enough high and medium-pri stuff to do that I never get to the low priorities.  Which is fine and appropriate for a few days or even a week.  But sometimes these things just keep slipping out forever.  Very bad.  Maybe some way to raise the priority of things as they age?
  • Managing time and getting stuff done (faster, better, cheaper)

    OK.  I'll admit it.  I'm a tools junkie.  I often think that tools can help me (and others) get stuff done faster, better, cheaper, etc.

    As a program manager at Microsoft it's very hard to keep my head above water.  So much email.  Day after day of meeting after meeting.  A task list with 150 things on it...  Arg.

    So I try tools.  Outlook is the thing I spend most of my time in because communicating with people is basically my job.  So my schedule and incoming and outgoing email are the most important things.  I've tried a bunch of time management systems.  Especially those with add-ins for Outlook that can automate the methodology.  I tried the Covey add-in, but I found the software clunky and the methodology somehow a good idea for people who are less busy that I am.  That's not a slam against their software and maybe it's something I'm doing wrong, but I just couldn't figure out how to be effective by sitting down at the beginning of each week to schedule out activities that would help me reach my goals.  By the beginning of the week my schedule was already booked out 80% with meetings. :-)

    About a month ago I got the Getting Things Done add-in for Outlook.  It's pretty nice.  The software is well-integraed with Outlook.  So far I think it's the best I've found, but I seem to have run into a challenge: Important Things Disappear

    I love that you can click on an email to take Action later.  A task gets created, linked to the email and the email is moved out of your inbox.  Awesome.  The only problem is that it's almost too easy.  Now I've got a very long todo list and really important things can get lost in there with all of the not so important things (but ones that I still need to act on at some point).  Ideally I'd be able to somehow mark them as important, but that classification is somehow much more dynamic.  It doesn't necessarily start as important enough to stand out (for example) in the MUST DO BEFORE I LEAVE TODAY category, but over time it can need to move there.  Maybe it's something I promised to do for somebody.  Maybe events have occurred that make it more important.  Often this important changes after the item has left my inbox.  Maybe I just need to review my task list more often and reasses priorities (though even that can take a while with such a long list).

    Then there's the problem of small easy things that don't get done for a long time.  For example, I run a hosted server inside Microsoft that project teams can use if they want their own FlexWiki namespace.  They send me mail asking me to set one up for them.  It takes about five minutes to set one up.  But when the request comes in I've always got more important stuff to do at the time.  So I send the person a note saying “sure, I'll get to it over the next few days.”  And then this item just gets pushed out and pushed out because it's never quite big enough to reach the gotta-do-it-now state relative to everything else.

    So, I'm still working at it.  I continue to try to figure out what works and what doesn't.  And to improve.  And to automate what I can.

    I've finally decided that I'm going to bite the bullet and build an Outlook add-in that will help automate some of what I need.  The first problem it solves is Important Things Disappear.  I've set up an Outlook view that shows me all tasks that haven't been modified in a week.  One of the things I'm going to start doing every day is checking this list.  The Outlook add-in (which I'm going to name “Faster, Better, Cheaper“ without really thinking about it too much :-)) adds a touch toolbar button that will allow me to update the modification time of a task quickly just to say “yeah, OK, I remember this one and it hasn't slipped my mind just because it's buried on a big long task list.“

    I guess I'll start posting again to this blog about my experiences trying to get my personal productivity improved.  This is the inagural post in the new Productivity category.  Suggestions welcome!

     

  • WikiTalk almost mainstream...

    Today I released a new build of FlexWiki.  It's got some improvements (see the list of things included in ReleaseNotes1569).  More importantly, it's the first officially mainstream build of FlexWiki with WikiTalk; WikiTalk is no longer in experimental builds only. 

    I still don't have all this stuff checked in yet (yeah, I know, I need to get it done).  I also really need to write more documentation for WikiTalk...

  • When to post...?

    I must say this whole blogging thing is still a bit unclear to me.  I'm not sure when I should post.  When do I have something worth posting?  How does this relate to other material I put up (especially on www.flexwiki.com)?  My attention these days is pretty much divided between FlexWiki (which I blog about occasionaly, but mostly post to www.flexwik.com), my real work at Microsoft working on documents in the (Windows) Longhorn Avalon team (some of which I can post about, some of which I can't) and my family (which is basically personal...)

    Some people seem to blog about just about anything.

    I'm not sure I get it.

More Posts Next page »

This Blog

Syndication

News

Welcome to my blog. I am David Ornstein and I work at Microsoft. You're probably here either because you know me and are interested in what I'm up to or you want to find out more about FlexWiki, the wiki implementation I (and a few others) wrote.


© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker