Saturday, July 31, 2004

Australia 30 defeat South Africa 26!!!

Go you good thing! The Wallabies beat the Springboks at Subiaco tonight!

Reviewing C#

Two of the guys at the Microsoft Portal event mentioned that their companies exlusively did .NET development in C#, which was also the language used in all of the labs. I'm familiar with VB.NET, but hadn't really bothered doing much with C#, we hadn't seen the need to at my previous workplace, and theoretically there is no difference which language you use in .NET as it is all compiled to MS Intermediate Language anyway.

However, the guys I talked to mentioned that changing to a less familiar .NET language was thought to help programmers remember that .NET is a completely new paradigm, and make the mental shift to it.
(Note: Clayton did mention that with v2.0 so close to release programmers who haven't made the shift yet might as well wait for it so as to not have to re-learn everything a second time)

So I bought a C# book for myself (C# Complete from Sybex, a very good deal as it includes the most relevant chapters from all of their other C# books for a third the price of any one of them) and sat down to read it this weekend.

I had barely noticed that we were using C# during the portal labs - partly because the code was already written for us, and partly because when you can program in VB6, VB.NET, LotusScript, Lotus Notes Formulas, JavaScript, VBA, PHP, ASP, Java, HTML, XSLT and Omnis7 then its easy to forget which one is strongly typed and which isn't, which ones requires characters to end a line and which don't and which ones are case sensitive and which aren't.

C# is case sensitive (which I hate, and like Java) and is strongly typed (which I like), it is also object oriented (which is good), requires semicolons (;) to end a line (mostly, another common point with Java, and Lotus Notes Formulas), and you try code and exceptions are thrown (also Java like).

So far I've yet to form an opinion as to whether I would like to program in it. It would certainly make me stop and consider what I was doing, but the decrease in productivity would take a while to overcome. Of course, I probably won't ever program in it, but it is always a good idea to know the tools your team might use.

Speaking of which, I really want to try Whidbey out, and aren't we overdue for a new version of Visual Studio?

Friday, July 30, 2004

Project Management Methodology

Due to the interviews I am now doing, and the fact that we eschewed formal management certifications at my previous workplace (due to a perceived low ROI), I have been looking for ways to describe how we managed projects to recruitment consultants - who are usually just looking for the right buzzwords (and quite rightly too, after all they can't be experts at everything). Unfortunately, I can't just say I'm PMP or PRINCE2 certified or that we based everything on PMBOK*.

What we did do was spend the last five years hammering out our proprietary methodology, based upon our collective Price Waterhouse Urwick and Andersen Consulting/Accenture experiences.

“Analysing this showed us that in many cases a task that had a 'generous' estimate given to it was not completed under budget, but in fact took up the whole of the time allocated. ”
In the last three years, we used Earned Value Management (EVM) methods to control our projects, which increased our ability to predict and control schedule and budget variances. We also played with Extreme Programming (XP) and other agile processes, but never approached them seriously.

We noticed that despite EVM's precision, we still did not always get the desired result. Projects still went over budget with alarming frequency (although we rarely went over the scheduled delivery date). Analysing this showed us that in many cases a task that had a 'generous' estimate given to it was not completed under budget, but in fact took up the whole of the time allocated.

Further analysis showed that this was a combination of people fitting other unplanned (and often nonchargeable) tasks into the time required for their project tasks, and people simply coasting or 'spinning their wheels' unnecessarily (e.g. over-engineering the solution because they had more time than required for the original design).

“Allowing buffer at the task level simply encourages people to use that buffer unnecessarily.”
The answer we were looking for, and had started to move towards, was Critical Chain Project Management, which removes buffer from individual tasks and allocates it to the project as a whole, thus concentrating resources on the task at hand.

Of course we had yet to perfect this method, but we had already recognised that:

  • People work better when they are not multi-tasking, and that the less time (not effort) we scheduled a project for, the less overruns we had. This also reduces issues with people working for multiple project managers, because they are more likely to be on one project at a time.

  • Project managers need to communicate better in order to ensure that people working across programs are available for the critical tasks whenever they might be able to start them - this required flexibility and honest appraisals of task criticality (sometimes the criticality to our company of that task/project would outweigh the criticality of another task that was more critical but for a less critical project).

  • Allowing buffer at the task level simply encourages people to use that buffer unnecessarily. It is much better to slim down the estimates they work to, and put buffer at the overall project level.

  • Buffering the scheduled delivery date will ensure that it is met, even if Murphy's Law hits the project.

    Where we still needed to improve was in the way we calculated the size of and tracked the use of buffers. However, it is interesting to see how our proprietary methodology mirrored recent changes in PMBOK (i.e. the introduction of EVM in the 2000 edition), and even included ideas from new methods such as Critical Chain Project Management without any of us attaining formal project management certifications.

    * You could say we did follow PMBOK, because the term is defined inclusively:
    “The Project Management Body Of Knowledge (PMBOK) is an inclusive term that describes the sum of knowledge within the profession of project management. As with other professions such as law, medicine and accounting, the body of knowledge rests with the practitioners and academics that apply and advance it.”
    PMBOK Guide - 2000 Edition
  • Wednesday, July 28, 2004

    Review: Once Upon a Time in Mexico

    Top of the head rating: 1/5

    I hired Once Upon a Time in Mexico last night. Blah ... it was one of the most boring action movies I have seen in ages.

    Good bits: Individually many of these scenes are fine, and some of the fun and pathos of the previous films is retained here.

    Bad bits: The girl dies, the editing is nightmarish and makes little sense, there is no dramatic tension built between scenes and the action and plot are so over the top that it is completely unbelievable (and that is from a fan of Desperado).

    InfoView

    One of the questions I asked at the portal airlift was how can we bring InfoPath forms (so nicely integrated into SharePoint) to users who don't have InfoPath? I was hoping that Clayton could give us the lowdown on Microsoft's plans for InfoPath, particularly a free browser plug-in for InfoPath consumers (leaving the full version for designers).

    Clayton had only heard the same vague rumours the rest of us had, but one of the guys from Unique World mentioned that they are developing InfoView:
    InfoView is an easy-to-use tool that coverts Web forms, designed in Microsoft’s InfoPath, into ASP.Net forms which are viewable through a standard Internet browser.
    This sounds very interesting as it opens up the use of InfoPath as a solution for any web form that requires some degree of workflow once it has been submitted.

    Friday, July 23, 2004

    ADVIS Web Parts

    ADVIS have some interesting FREE Web Parts for Sharepoint.

    Note to Self: Must ensure new workplace has SharePoint!

    Saturday, July 17, 2004

    Microsoft Portal and Integration Airlift Days 2 & 3

    OK, I've now completed the second and third days of the Microsoft Portal and Integration Airlift, or at least the bits I managed to attend between stomach bug and need to pack boxes to move this weekend!

    I'd like to post a lot of the new ideas that came out of it - but my wife has reminded me that it's VERY LATE and that I need to come to get to sleep right now! So I'll put some up tomorrow, or Sunday.

    The gist of it will be that MCMS is interesting, but is much more interesting when mixed with WSS/SPS 2003, and that there are some vendor products that can make life much easier for WSS developers (Metalogix's Migration Manager) and that can offer some nice digital asset management features on top of WSS (Scene7 for SharePoint 2003).

    There were also some SharePoint and CMS questions that Clayton Peddy answered, and some other questions (like license-free readers for InfoPath*) that other attendees pitched in on.

    * If you're from UniqueWorld I would really like to find out more about that InfoPath reader for ASP.NET ...

    Hi, I'm Eric and I'll be your software developer this evening

    Eric Lippert also has a great post about taking the blame for something you have done wrong. He credits his willingness to publicly do this on his father's restaurant business background, which made him teach his sons that how you deal with a mistake is almost as important as not making them.

    From the self-analysis I've been doing as part of my personal Good.Bad.Like.Dislike* analysis I think this is a lesson I need to go through once more.

    * Good.Bad.Like.Dislike is a tool my father uses to help people re-focus their efforts to better align their aspirations with their expectations. I might blog about this one day (or not ;-).

    Bankers' Rounding

    I came across Eric Lippert's blog again today, and (oh joy!) was reminded of a brilliant post of his that sorted out some rounding issues we had with MS Access 2000 for a payroll system where we had not accounted for VBA's wonderful Bankers' Rounding anomaly*.

    Microsoft Knowledgebase article #196652 explains rounding in even more detail - but is less clear if read first.

    The actual solution we used was based on Eric Bachtal's very elegant VBA rounding solution (it's a nice explanation with a solution using only 3 lines of code).

    * The 'anomaly' (or rather undocumented feature) is that when VBA rounds a .5 it rounds to the nearest even number above that decimal place - up or down. This leads to weird effects when you expect a bunch of numbers to round in the more 'normal' fashion, and find they don't.

    Thursday, July 15, 2004

    Jewelboxing

    I want to go Jewelboxing and create some Super Jewel Box Packaging System - CD and DVD Cases. A toy that both designers and home users can appreciate. Now if I only had something worth putting in one (cue digital camera!).

    Differentiating Visited Links

    Keeping on-topic with web design and Jakob Nielsen's recommendations, he makes the point that a key part of the web's UI is that links can show you when they have been visited. He recommends that visited links appear in a darker, more subdued colour* than the normal links.

    I've recently come across two designers who have looked at using some of the features of CSS to make visited links even more obvious:

    CollyLogic: Ticked Off? Visited Links How-To
    Simon Collison shows how to use background images to create a visited "tick" to the right of your links.

    Mike Davidson: Making Visited Links Radical
    Mike Davidson takes a different approach and uses the radical √ symbol to indicate when a site has been visited.

    Both make the point that this method may not work for everyone, or for every link. For a start it can clutter up your body text and make it harder to read, but it can also confuse users as it is a non-standard implementation of the standard visited links UI paradigm (which is a big no-no according to Jakob Nielsen).

    Jakob's got a point - I know that I get confused by these sorts of UI changes, and will probably ignore them when surfing for information. Once this sort of change has been adopted by enough sites, then it becomes a de facto standard and then it is OK to use as most users will be aware of what it means.

    Another example of this sort of UI change is having some way of denoting when a link goes to an external site. The SSW website does this by placing a small blue globe and red arrow next to links that go away from their site. I found that confusing, but at least I wondered what it was before trying the link, and thus worked out what it was.

    Perhaps the visited link UI change would work better if it showed me an empty checkbox next to the link before I clicked on it, and then ticked it afterward. At least that way the user would work out what it was a bit faster. (another idea was to strikethrough the text once the links is visited)

    On the other hand, Jakob suggests that designers early adopt the Title attribute in anchor tags to show users more information about a link in a tooltip. Mostly this is because it doe snot harm users whose browsers don't support it, but also because it does add value to links. I've used it myself in the links above - did it work for you?

    [* Note: I am using Australian English spelling, hence the "-our".]

    Design Eye for the Usability Guy

    Design by Fire have posted a hilarious piece, called Design Eye for the Usability Guy which does a makeover on one of Jakob Nielsen's Alertbox articles.

    Jakob has a predeliction for annoying web designers by consistently calling for "plain vanilla" websites that are as usable as possible, and this is a fun attempt to take his usability guidelines and improve upon them using good design.

    Wednesday, July 14, 2004

    Microsoft Portal and Integration Airlift

    I went to the first session of the Microsoft Portal and Integration Airlift today. Unfortunately a stomach bug meant I had to go home early, but Clayton Peddy from Terrace Consulting did a great job customising the presentation to the skill levels of the attendees.

    [Note: I'm hopping back to bed now to try and sleep off the rest of the bug and be ready for tomorrow!]

    Bruce Sterling's blog

    Just stumbled across Bruce Sterling's blog at Wired.com today (in case you wonder who he is, he's one of the early CyberPunk writers).

    SpaceShipOne 2004

    Here are some great photos of SpaceShipOne's first flight into space.

    Another great space site is the SpaceX website. I like the way these guys think. They want something affordable, small and that just gets the job done.

    Monday, July 12, 2004

    US firm spread hostage video

    SMEs often assume that they are too small to attract hackers, and so get lax about their IT security, this news story shows how wrong that idea can be.

    In this case al-Qaeda hackers used a small company's web server to host a hostage video - it means the company gets a lot of bad publicity, and would make you wonder how good the rest of their security is.

    Blogrolling

    I know it's a little boring, but I decided I needed to do some blogrolling, and added a blogroll to the bottom of the navbar area.

    Saturday, July 10, 2004

    Less is Moore

    The Sydney Morning Herald have a great article today critiquing Michael Moore's latest film, Farenheit 9/11.

    If you want to hear other stuff about this sleazy propagandist, try:

    Moore Exposed: a site exposing Moore's lies and hypocrisy.

    Michael Moore Hates America: a new documentary that sets out to do what Moore has done, but with a different bias.

    Friday, July 09, 2004

    Feeling Stupid

    Matt Warren points out that Feeling Stupid is a typical part of programming.

    “You feel stupid because you know many others have already figured it out, already understood and moved on, but you're still stuck trying to muddle through it.”
    I regularly feel this way when perusing the fantastic coding exampels put up by others. Partly that's going to be because programming is less than 10% of what I do, it has been a long time since it was more than that. But it's also because there is always someone that knows more than we do.

    This might be true of programming more than most disciplines, because it is an ever changing field of study. Matt describes it as this "discipline/art/science/voodoo magic thing that we do". Sometimes it seems like voodoo (pass the chicken Dave, I need to wave it over the keyboard a few more times), and sometimes it seems like art because a solution just feels right. Mostly it is a discipline, the study of which usually takes a back seat to the practice of it - which invariably leads to feeling stupid at some point.

    XML access to lists in Windows SharePoint Services

    Dustin Miller has this great post - Don't forget: Web Services/SOAP isn't the only path to XML from SharePoint. The key point is that the lists in WSS are exposed in their XML format by the owssvr.dll, so that you can view their XML in the web browser (of limited use) or use that URL as a source for the Data View web part in a different WSS site (kind of like a poor man's RSS feed).

    We had a client recently ask about how to bring data from multiple sites into one summary site, and we had looked at building a custom web part for that purpose. This gives us some other options.

    Note: At the moment this isn't working for me - it seems that the data view web part doesn't want to see this as a valid XML file.

    Thursday, July 08, 2004

    Pull Quotes on the Web

    Michael Pick has a good article called Pull Quotes and the Web, that addresses how to create pull quotes on web pages. Note that he has another page that has examples that work properly in IE.

    “79 percent of our test users always scanned any new page they came across”
    Jakob Nielsen
    In order to play with this myself, I've added a pull-quote in one of styles Michael so graciously gives an example of. The quote is from a Jakob Nielsen article about how users read on the web.

    The main problem with pull-quotes is how to come up with the right quote. Sometimes you may need to massage your article to create punchy content that is worth quoting. While this may seem a waste of time, it will help you create more easily read web content - which is always a good thing, right? ;-)

    Wednesday, July 07, 2004

    Review: Troy

    Top of the head rating: 3/5

    I went to see Troy the other night, my wife graciously allowing me the time alone as we didn't have a babysitter. It was an ... okay ... movie, not great, but it didn't suck the way I thought it might have.

    Good bits: Brad Pitt as Achilles (no really!), Eric Bana as Hector (oozes determination), Sean Bean as Odysseus (bit young, but believably cunning) and Brian Cox as Agamemnon (he's always good at evil, especially since Rob Roy).

    Bad bits: Troy looks like it's made out of cardboard and foam, everywhere else looks small like a TV set. None of the women seemed real, although Rose Byrne is attractive enough. Also, they mutilated the plot, with lots of events happening out of order, or at the wrong place.

    Tuesday, July 06, 2004

    E-mail patterns map corporate structure

    Apparently some HP researchers believe that they can show that by analysing the To/From fields in an company's emails they can map the corporate structure.
    The researchers said graphing e-mail flow not only correctly identified communities within the organization, but it also provided insight into who the leaders of those groups were. It also helped to identify informal communities that arise when people need to communicate across departments or work collaboratively on projects. What's more, it took just a few hours to analyze the data and identify the groups and their leaders, the study said.
    I wonder how long it will take before someone comes up with nefarious uses for this? Perhaps selling it to corporate bosses who want to know who is really the leader of the pack amongst their employees? Of course the results would be skewed if the employees decided to resort to untraceable email from outside the organisation for their more sensitive emails ...

    On the other hand, the information they are reviewing seems pretty innocuous, after all it's just the To and From fields (perhaps also the CC and BCC, although the article doesn't mention them). I wonder if they could add date into the mix to track how relationships and patterns of influence change over time?

    WebDrive: Accessing SharePoint document libraries through drive letters

    Serge van den Oever points out that you can access SharePoint document libraries through drive letters using a tool called WebDrive from South River Technologies.

    One of the frustrations we have had with SharePoint is that whilst the integration with Office 2003 and Windows XP is very nice, the functionality available from Office 2000 and Windows 2000 (which is what most businesses we know still use) is sub-optimal.

    Being able to mal a drive letter to a document library takes the SharePoint document management solution to new heights. It will allow users to save documents to the library from any sort of Windows application, which is a great idea. Of course you still are left without the ability to populate meta tags when you do so, but you can work around that.

    Reminder to Self: More good technical links

    Continuing the salvaging of great links from my SharePoint sites before I leave here:

    Windows Forms .NET: The Official Microsoft Windows Forms Community Site
    A site promoting the new .Net Windows Forms that will come out in Whidbey (Visual Studio .Net 2005).

    BlogWeaver
    A directory of Microsoft bloggers categorised by technology. Obviously I like the SharePoint, InfoPath, VB.NET and ASP.NET areas the most.

    The Occupational Adventure

    Curt Rosengren's blog The Occupational Adventure (sm) has a lot of worthwhile things to say about career passion, and life in general.

    One recent post titled Success through setting process goals, covers the idea of making the perfection of the process our goal (a process goal), rather than just having the end result as a goal (a product goal).

    He brings this to bear on how to get the career of your dreams (something I'm thinking about now as my retrenchment goes into effect next week).
    What kinds of process goals could you set to achieve the career of your dreams? How can you be in the moment and keep your eye on the map?
    I'm wondering again where my focus should be. By reviewing potential career paths through that lense of my strengths and weaknesses, like and dislikes I feel I can get where I want to be. So for me the process goal is to be as real and honest as possible with myself in this process, so that I get the most accurate view I can of where I can go from here.

    Sunday, July 04, 2004

    Right Focus

    My pastor was saying this morning that when we focus on something bad in our past, that can make us reproduce that thing in our future. The example he gave was a person who focussed on being different to their alcoholic, abusive father - but who ends up reproducing that behaviour themselves.

    His point was that it's not our emotional reaction to that past thing that matters, it's the fact that we focus on it that affects our future.

    I was reminded of something I was taught during a BMW Advanced Driver Training course. The instructors pointed out that people's tendencies in a crisis situation, for example when losing control on a corner and skidding towards a tree, was to focus on the bad thing (e.g. hitting the tree) and that their efforts to avoid the tree failed, because you go where you are looking.

    They taught us to drag our eyes off the tree and focus on where we want to go, because that gives a much better chance of actually getting there.

    In a similar way athletes are taught that when competing they should focus on the result they want to get, rather than on their past results.

    Sometimes it's tempting to dwell on past mistakes or "what if?" scenarios, but the reality is that they don't bear much relationship to our future. There is so much that each of us can and will achieve that goes way beyond what the limits of our past would indicate. So look forward to your future, and leave the past in the past!

    Saturday, July 03, 2004

    800-CEO-READ Blog

    Here is an interesting blog for you; 800-CEO-READ Blog is a blog run by a bookstore for CEOs (or really anyone interested in business thinking, examples etc.) and they have a team of authors that write for the blog.

    I would never have found this site if not for the trackback feature that Cliff Atkinson has on his blog. This is certainly something I look forward to having Blogger offering.

    Friday, July 02, 2004

    Great SharePoint Blogs

    There are a number of great SharePoint bloggers around. As I am leaving my current workplace, I won't have access to the SharePoint sites we had created to track these bloggers' efforts. So for my own sake (and perhaps your interest) I'll list some of the better ones here.

    Blogs
    Jan Tielens' Bloggings
    .Net, InfoPath, BizTalk, Web Services and SharePoint - good stuff with relevant screenshots. Notable additions include:
    * Workflow Lite for SharePoint
    * SmartPart for SharePoint (enables GUI design for web parts)


    Bryant Likes's Blog
    Has developed a set of SQL Server 2000 Reporting Services web parts.

    Tim Heuer's Blog
    Great web part guru, offers lots of stuff for free, the best of which is his free RSS feed reader.

    Patrick Tisseghem's Blog
    A .Net developer who covers a lot of stuff on building web parts, using InfoPath and general .Net.

    Sig Weber's Playground (aka. "Extreme SharePoint'ing" or: doing more with less)
    A .Net developer doing lots of stuff with SharePoint, Exchange, IE, Outlook, Office and Windows - especially 2003 editions of those. BTW, his site runs on WSS.

    Stramit's SharePoint Blog
    SPS and WSS material. He has done a GUI tool for the smigrate.exe tool called GuiSMigrate and another for the spin.exe (document import tool) called GuiSpin.

    Mike Walsh's WSS Blog

    Some useful material, but he seems to concentrate mainly on his WSS FAQ.

    FAQs
    Some particularly good FAQ sites exists as well:

    Windows Sharepoint Services FAQ
    Mike Walsh's WSS FAQ site, and one of the largest. Can be confusing to find what you want, but is generally a good starting point.

    WSS Demo Site (developer FAQ)
    Ian Morrish's WSS demo site, has lots of articles on development, tracks the latest SharePoint KB articles from Microsoft, etc.

    SharePoint Portal Server FAQ
    Great FAQ for anyone using SPS (2001 or 2003).

    Thursday, July 01, 2004

    Generating RSS Feeds for SharePoint Sites

    Jan Tielens has come up wth a web part that will generate RSS feeds for SharePoint sites based on the What's New web part that he has already created (so the RSS news feed shows what's new on the web site).

    The really nice thing is not that Jan has provided this web part free of charge, but that he is supplying the source code as well! That saves the rest of us a lot of time when we want something similar, but (inevitably) different in some way.

    What is SharePoint 2003?

    Maxim Karpov's What is SharePoint 2003? article is a great intro for anyone who doesn't yet have their head around what Microsoft are talking about when they say "SharePoint".

    The short answer for those of you allergic to following links is that:
    "SharePoint" is therefore a set of technology products, which allows us to manage our intellectual property (documents, presentations, etc.) and enables virtual teams to collaborate on the information. Technology has changed, but our need for managing and providing access to information is still with us!
    Of course I already did know this answer, but Max explains it so neatly that it's a useful link to keep around.