Project Partner Day

Well, it’s the end of day zero, the partner-only day here at the Madrid Project Conference. It’s been an interesting day. I’m not sure what I am allowed to say, but service pack 1 for Office 2007, which covers the desktop products, sharepoint, project server et al is very close to being available now. That was an interesting announcement, as we are looking at installing Project Server in Black Marble. I’d like to wait for SP1 – it makes sense – but because SharePoint will be patched at the same time I need to do some testing of our customisations first.

Meanwhile, outside the conference, we managed to leave the hotel for a few hours this morning before the partner event. The part of Madrid we are in has an incredible amount of building work underway; all all the roads are dual carriageways with big cloverleaf junctions. A fifteen minute taxi ride to the local Shopping Centre would probably have been a ten minute walk, had we realised where the shopping centre was in relation to the hotel. Ah well!

Tomorrow, the conference starts in earnest and I am planning to follow the system administration track, leaving the project management stuff to Paul and Jim. There are some interesting sessions ahead…

EMEA Project Conference – Madrid

Finally, after all the excitement that Richard and Robert had in Seattle and Barcelona, I find myself in the Auditorium Hotel, Madrid for the EMEA Project Conference.

According to the multilingual sales blurb in my room, the hotel is the largest in Europe, and I must say it’s very nice. We flew in yesterday and today is an MS Partner-only day before the conference itself kicks off tomorrow.

Project Server is something we’re very interested in using ourselves, and it’s integration with SharePoint (MOSS/WSS) makes it an attractive solution to anybody who has already deployed MOSS for their corporate intranet, as we have.

Also on the agenda today is VSTS integration with Project Server, which I’m keen to see more on. Closing the loop between developer activity and project planning and monitoring can make a big difference to whether a project comes in on time and budget.

I’m here for the SysAdmin track, whilst Paul and Jim cover the managerial and best practice side of things. I’ll do my best to blog on what I see, although it’s a pretty packed few days, ending in a good sprint from the end of the last session at 3:15 on Wednesday to make it to the airport in time for our 5:25 flight back to Blighty.

Mix:UK 07 Round-up

We’re back up north after Mix:UK 07 and I thought I’d follow up my earlier post with a few thoughts on the event and it’s content.

Before I do that, however, I need to give a cheer for our guys: Jonny performed incredibly in the Guiter Hero competition to  be triumphant in front of his screaming supporters, and Sam, Mat, Tom and Jonny cleaned up the the goody-bagging stakes of the Swaggily Fortunes quiz!

Anyway, back to the plot. Day two of the event had some good sessions. Kicking off the day with good humour was a pretty inspiring talk by Beau Amber of Metaliq.He apologised for not being awake, having not slept. He then showed the fruits of his sleepless night by demoing an iPhone built in Silverlight! It was a great session on what kinds of things you can do with Silverlight 1.0 and I look forward to his continued development of the Silverphone.

Next up was Todd Landstad, who was infectiously enthusiastic about mobile devices. He was showing interesting stuff using tablet PC, Sideshow and a suit of UMPC devices. As an avid Engadget reader none of the devices came as a surprise, but it was a great demo on how a little lateral thinking can result in useful software for people on the move, and the things to consider when targeting mobile devices.

Now it gets tricky. The next session was all about accessibility. It wasn’t bad, I have to say, and the guy running the session showed a couple of things I didn’t know about how to kick ASP.NET into generating some of the elements that are needed when doing accessible tables. The trouble is, that it was like watching a presentation from about five years ago. The points covered were all WCAG 1 level A, with little mention of level AA. More worryingly, the speaker referenced WCAG 1 but called it WCAG 2. He didn’t seem versed in current thoughts and best practices regarding semantic structure, skip links and access keys. He even admitted to using tables for layouts!

I appreciate that he only had an hour, but I’m not convinced that anybody left the room really understanding what their obligations were or where to go to find out more.

So, if you were in the room and want to find out about accessbility here are a couple of links to get you started:

  • AbilityNet – a UK organisation who give support and advice on accessibility.
  • JuicyStudio – the site of Gez Lemon, who’s involved in WCAG 2 and knows his accessibility onions.
  • Joe Clark – extremely passionate about accessibility across a broad spectrum of areas.
  • Accessify – a community site founded by Ian Lloyd and a hub for accessibility discussion.
  • Further Ahead – run by Derek Featherstone, who’s a really cool guy and knows his stuff.

Overall I was at times impressed, inspired, disappointed and frustrated at Mix:UK, but I have to say that at all times the guys running the conference were helpful and organised and all the Black Marble posse had a great time.

In the Mix

Well, it’s just after 3pm on day one of Mix:UK 07. I’m taking a break with a coffee so I thought I’d post.

It’s mixed bag down here (sorry – no pun intended). The technology is fantastic – the stuff that can be achieved with WPF and Silverlight is excellent. I’m still a little uncertain that usability has been sacrificed on the sacrificial alter of bling, however. To be fair, that’s more telling about the rapid-development nature of conference demos, where the wow-factor is more important, but I think it’s a very, very significant issue which should not be allowed to get lost in the excitement.

So, keynote was good, but a little patchy, with lots of people showing off their latest and greatest example of of WPF or Silverlight. The first session was really useful for me. I’ve done some XAML, but to watch a guy who really knows his way around Blend really helped gel things in my mind.

More interesting still, however, was the next session, where a gret guy called Nathan Buggia from Live Search talked about SEO. It was a good session, with a lot of straight talk from a guy who works at a search engine about SEO, nicely pointing out some of the less honorable practices of SEO sharks. Overall his message was what I’ve said all along – build good, semantic pages with informative content and you’ll get good rankings. There’s a bit more to it than that, obviously, but that’s broadly it.

What I did discover during that session, which I really ought to have seen before (I may even have seen it but not have it register), was the XML sitemap format, detailed at sitemaps.org. This can be pushed to the search engines to give them prior information, if you like. It doesn’t let you ‘fix’ your results, but it can be used to give helpful hints to the search engine, particularly on refresh rates for changing pages or even just giving them the nod that things have changed. I will research this more thoroughly now – I may even manage a post on what I find.

Anyway, I will sign off with an apology – sorry Nick, I’m in London and I haven’t called. Next time, I promise!

Web site development: University of Bradford Part 1

One of the last projects I was involved in before I left the University of Bradford to join Black Marble was a new design for the external web site of the institution. I’d pretty much finished the construction of the page layouts and styles before I left, but it’s only now that the site is about to go live. I’ve threatened a few people with a series of posts on how the site is constructed and although I’m not there any more it seems topical.

In this post I’ll give some background, describe the project and run through why things were done in a certain way. Over the next few posts I’ll cover the construction in more detail – what styling problems I hit and how they were fixed, and how the site tries to make use of things like microformats and opensearch.

A Brand Refresh; A whole new look

The University of Bradford old website

The University’s external web site hasn’t really changed much in years. Having said that, in spite of not necessarily being the snappiest dresser on the block, it was always extremely easy to find what you were after. Back in early 2006 the marketing department were engaged in a ‘brand refresh’ which to you and me means fiddling with the logo and corporate colours. Also to be included in the spruce-up was the web site.

The University of Bradford WebsiteFor those of you who don’t know, my role at the University expanded to take in the web when one of my colleagues, who ran the web servers, left the organisation. I’ve always been passionate about web development (and I use that term advisedly) and I spent a fair amount of my time trying to expand the level of knowledge and appreciation of web standards, issues and technology throughout the university. It was because of this that I was asked if I could assist with the development of the new web site.

University internal page new designThe design for the site was done by the same agency responsible for the brand refresh. It is extremely striking, and still in keeping with trying to make the site as navigable as possible. A meeting was had with the designer, the University’s Web Officer, the Head of Marketing and myself. In that meeting we agreed that the University would build the site itself from the designs created by the agency. This would allow us to make sure that we met our legal obligations in terms of Accessibility, and also ensure that the was knowledge and understanding within the organisation of how the site was built.

A series of laudable aims

It was agreed that the site should meet a series of requirements from a technical perspective:

  • It should be a fully fluid design – not a thin sliver down the middle of your monitor but able to flow and take up as much space as allowed.
  • It should work in all modern browsers, including mobile browsers such as Opera, and text-only browsers such as Lynx.
  • It should be as accessible as possible, using accepted best-practice for ensuring users of assistive technologies would be able to get the most out of the site.
  • It should attempt to include new technologies such as OpenSearch and Microformats if and where appropriate.

Assigning roles

There were a number of areas that required work to make the new web site a reality. It was agreed that I would build the external homepage and a template for the content pages. I would not deal with site structure or content- those would be managed by the Web Officer and the marketing team.

Starting Out

I started out with a series of visual comps given to me in PDF format. I began with the homepage and started to work out how to tackle taking the design and building the underlying HTML structure.

I’m a bit of a luddite at heart, so I printed all the comps out at A3, got some large sheets of tracing paper and traced my initial wireframe, labelling the parts as I went.

Once I’d got a basic structure I then made some scribbled notes about how certain elements should function – using remote rollovers, for example.

After that, I pulled the comps up in my bitmap editor (Corel PhotoPaint, if you care) and took some dimensions to inform the initial styling, and lifted the colour values from the design element to feed into the stylesheets.

Once I had my trusty paper notes to work from, I started to tackle the creation of the site. I code by hand – I hate GUI editors – so I did most of the work in HTML-Kit from Chami.com. I now tend to use Expression Web, although I dip into Dreamweaver occasionally and I suspect that I will use Visual Studio 208 more as the projects I work on at Black Marble tend to involve ASP.Net coders as well.

In my next post I’ll run through how the homepage was built and what hurdles the web browsers threw into my path along the way!

Web development helpers: Redux

After posting yesterday about useful tools for development I stumbled across another little gem of a utility. IE7Pro is much more of a usability-enhancing tool but it has a wonderfully handy tool nestling within – Save Current Tab As Image. If you need to do grabs of pages for documentation or presentations and the page is more than a single screen in length this will transform your life – no more cropping and stitching!

IE7Pro also has a raft of features such as adblocking and mouse gestures, which I will admit to switching off immediately. However, it’s inline search (not quite Find As You Type, but pretty close) is jolly useful.

Get IE7Pro

Web development little helpers

As web development gets more and more complex having the right tools to help you figure out what’s going on is essential. I thought I’d do a quick post on the ones I find most useful. In no particular order, then, here they are.

  1. Virtual PC
    This one is a godsend, because as we all know, running multiple versions of Internet Explorer is hard. VPC, now available as a free download from Microsoft, allows me to run the numerous variants of IE our clients require me to test against.
    If you just want IE6, Microsoft have a handy downloadable pre-built VPC:
    Download Virtual PC
    Download the Internet Explorer Compatibility VPC Image
     
  2. Firebug for Firefox
    Now imitated for other browsers, Firebug is fantastic. A clear and straightforward way to identify the bugs in your pages or styles, it allows you to easily identify which stylesheet rules are being applied and in what order, and to hack ’em on the fly as you test your fixes. Add to that the ability to mangle the page and debug javascript and we have a winner.
    Download Firebug
    Firebug running in Firefox
  3. Chris Pederick’s Developer Toolbar for Firefox
    Even though Firebug is great, I still use Chris Pederick’s trusty developer toolbar for enabling and disabling styles, accessing the W3C validator and other stuff. Couldn’t live without it, in fact.
    Get Developer Toolbar
  4. Nikhil Kothari’s Web Development Helper for IE
    Broadly offering the same level of information as Firebug, but without the ability to hack on the fly, this is a handy way of seeing what IE is doing with your page under the hood.
    Get Web Development Helper
    Webhelper in IE
    The Webhelper DOM Inspector
  5. Inspector for Safari (for Windows)
    I have a trusty Mac Mini that I use for checking Safari as well, but the advent of Safari for Windows has made my life easier, I must admit. How excited was I, then, to find that you get Inspector working with the Windows version. Again, loads of info about the page, although hacking on the fly. Instructions courtesty of David Barkol’s blog. A note – as I write this the latest nightly crashes horribly – I am using the nightly from the 21st June and it works well. At some point I will try later builds but right now a stable platform that I can enable easily and consistently is more important.
    Enable Web Inspector for Safari on Windows
    Inspector in Safari for Windows
    The Inspector Information Window

I’d love to hear from anybody who uses other cool tools that I may not have come across. I’m particularly interested in these kind of things for Opera.

SharePoint problems with access rights

I spent a while knocking my head against a problem with a SharePoint server farm that’s worth posting about. It’s also worth a big hats-off to our Technical Support Coordinator at Microsoft Partner Support who dredged up the article that finally pointed us in the right direction.

The problem

I’ll post later about our approach to SharePoint installations, but I’ll summarise thus: We create multiple user accounts to the SharePoint services – a db access account, an installation account etc etc. In this instance we were building a three server setup – db server, web server, index server. The accounts were created first, logged in as a domain admin. I also installed SharePoint as the domain admin, but didn’t run the config wizard.

I then logged in as our installation user, which has local admin rights to the two servers and dbcreator and securityadmin roles in the SQL server. I ran the config wizard on the web server and created the farm, specifying the db access account for (shock!) db access! The web server got to host the central admin site, which was tested and worked.

Before doing anything else I ran the config wizard on the second server and connected to the farm. At this point I had three servers listed in the Central Admin site, and it was time to configure services.

At this point we hit the snag – when I tried to configure the Office Server Search Service to run on the second server I got a SharePoint page telling me access was denied (‘The request failed with HTTP status 401: Unathorised’. There was a similar error in the event log with an event ID of 1314, and we also found an event log error with ID 5000.

I bashed my head against this for a while, checking user rights, group memberships and stuff. I checked the DCOM IIS WAMREG activation rights for the users that the app pools were running as and just in case did an aspnet_regiis -ga <username> for those accounts to ensure that all the .Net registrations and rights were correct. No success.

I removed SharePoint and reinstalled the farm with the roles reversed. The fault moved to the other server. I confirmed that I could configure the service on the same server as the central admin site but never on the other server. I looked at the system registry, compared service configurations with a working system and tried manually hacking the config to no effect.

In the end I uninstalled everything, installed the farm clean and unconfigured and called in air support.

The fix

I can’t praise our support guy at Microsoft enough. He’s incredible – I emailed him and got a phone call within five minutes! We ran through the problem and he consulted his support resources. What he came back with took a few goes to make stick, but it worked, and in fixing SharePoint pointed to the root of the problem.

The solution is to edit the web.config for the Office Server Web Services site. On our system that file is in C:\Program Files\Microsoft Office Servers\12.0\WebServices\Root. The original file looks like this:

<?xml version=”1.0″ encoding=”utf-8″?>
<configuration> 
    <configSections> 
        <sectionGroup name=”microsoft.office.server” type=”Microsoft.Office.Server.Administration.OfficeServerConfigurationSectionGroup, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” > 
            <section name=”sharedServices” type=”Microsoft.Office.Server.Administration.SharedServiceConfigurationSection, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” /> 
        </sectionGroup> 
    </configSections> 
    <system.web> 
        <authorization> 
            <allow roles=”.\WSS_ADMIN_WPG” /> 
            <deny users=”*” /> 
        </authorization> 
        <webServices> 
            <protocols> 
                <clear /> 
                <add name=”AnyHttpSoap” /> 
                <add name=”Documentation” /> 
            </protocols> 
        </webServices> 
    </system.web>
</configuration>

The solution is to edit the <authorization> section, adding entries to grant access to the user accounts for installation and db access:

        <authorization> 
            <allow roles=”.\WSS_ADMIN_WPG” /> 
            <allow users=”ondemand\MOSSdba” /> 
            <allow users=”ondemand\MOSSsetup” /> 
            <deny users=”*” /> 
        </authorization>

However, the gotcha is that SharePoint puts the settings back – don’t do an IISreset; don’t recycle the app pool. Simply edit the file then go the page to configure the search service and it works. Once you’ve done that the service will start.

I then found that I couldn’t get back into the page because the web.config got reset (grr), but that’s not important right now.

The cause

The key in all this is that the two users I added explicit rights for were members of the WSS_ADMIN_WPG group specified inthe original file. This pointed at an issue with the domain – the server was failing to get a list of members for that group.

The servers themselves were built and managed by our customer’s hosting provider, so I passed the fault to them. They checked the systems and found a domain fault affecting synchronisation. Result!

Updating firmware on SPV M3100 (HTC TyTN)

Still no Windows Mobile 6 update for my Orange SPV M3100, but they did release an update to WM5 recently.

Installing said update turned out to be slightly trickier than I expected. I don’t know if anybody else has experienced the same problem, but a word to the wise – don’t try the update on Windows Vista!

The first part works OK – it connects to the device and interrogates it, but when it actually tries to connect and download the new firmware it fails.

Luckily, I still have a PC at home running XP (Media Centre Edition, as it happens), so I installed Active Sync 4.5 and rant he update successfully on that.

I’m surprised though – Vista’s nearly six months old now and there must be others with the same phone who don’t have the recourse to an old PC (!) to run the update.

What happened to the idealists?

Douglas Coupland’s Jpod has been doing the rounds in the office of late. I enjoyed MicroSerfs, so approached Jpod with excitement.

Frankly, I’m disappointed.

It’s not the writing – I ‘ve enjoyed pretty much all of his books. It’s not that the books are similar in approach and style (they are) but rather the contrast in the lives of the characters.

Overall, MicroSerfs was optimistic. The characters in the book were using their talent to make the world a better place. The technology in Jpod is cynically created to make the most money. I finished MicroSerfs feeling good about what I do for a living; I’m stuggling through Jpod as it slowly destroys that feeling.

Let’s set aside whether this contrast is intentional – I don’t want to discuss what Mr Coupland is trying to say. What I want to get across is something that I have felt for a while and which Jpod merely reinforced:

The IT industry is becoming more and more cynical.

Perhaps this is a function of its age and maturity; perhaps it has more to do with the complexity of modern IT solutions; perhaps it is that we have accomplished so much so quickly that progress can only become harder and slower.

When I started working, the University for which I worked was only just embracing desktop computers. I was involved in promoting desktop PCs and workgroup servers to departments and it was an exciting time. Throughout my career there, I was involved in the creation of new services that were intended to make people’s lives better, easier, simpler, more efficient, and I got a great deal of satisfaction from it.

I still get satisfaction from delivering those kind of solutions, and I like to think that myself and my colleagues here at Black Marble still aim to make the world a better place through technology, in our own way.

I’m less convinced that the rest of the world still feels that way. What do you think?