Archive for the ‘Uncategorized’ Category

Vintage Game Club: Grim Fandango

Monday, July 14th, 2008

image

I’ve just picked up on the fact that The Brainy Gamer blog is doing a gaming club (a-la ye old book clubs / reading circles) and the focus for the next session is Grim Fandango.

http://www.brainygamer.com/the_brainy_gamer/2008/07/vintage-game–1.html?cid=122321778#comment-122321778

If you have time to participate, I’d really recommend it.  Not because I have any idea how it’ll go (I obviously hope it goes well), but more because Grim Fandango is possibly the greatest adventure game ever written.  Easily in my top 10 games of all time (if I were fearless enough to make a list) and a game that holds storytelling and good game play in the utmost regard.

If you’ve played it, play again, if you haven’t, play it for the first time.  It’s a classic, and scarily it’s probably turning ten this year.  If I recall, the original tag-line was “An epic tale of crime and corruption in the land of the dead” and that holds.  An art-deco masterpiece of good storytelling, humour, and your first (and probably only chance) to play a travel agent for the department of the dead.

Buy it here:

http://www.play.com/Games/PC/4-/2555356/Grim-Fandango/Product.html?source=5003&kwmid=4481214&kmcid=1664184991&match_type=

http://www.amazon.com/gp/offer-listing/B00004WGW1/ref=dp_olp_2

Demo here:

http://www.fileplanet.com/32113/30000/fileinfo/Grim-Fandango

Read the Escapist feature on it here:

http://www.escapistmagazine.com/articles/view/issues/issue_139/2994-Walk-Don-t-Run

The Dangers Of Pushing The "Cloud" To Market

Saturday, June 21st, 2008

The word cloud has been thrown around for years to describe the internet, but there’s a growing trend at the moment to launch services that seem to embody actual “cloud / grid computing”.  This movement to some extent is just the logical extension of the rich web applications that have gained popularity as part of the “web 2.0″ epidemic of increasing bandwidth and remote server horsepower.

The two obviously notable solutions in this area are Microsoft’s Live Mesh, which was announced and put into a public beta / technical preview a few months ago (Ray Ozzie’s second attempt to solve the problem of distributed device synchronisation after the canned “.NET My Services”) and Apples Mobile Me.  I’m normally a somewhat critical Microsoft supporter (not an apologist), I’ll put that on the table now, however I suspect that Apples service is likely to get more traction due to iPhone 2.0 support and it’s forthcoming lower price point (at the very least in the UK, possibly elsewhere).

Both of these services effectively offer the same thing, centralised data storage and device synchronisation, Apple offer what they call the “me.com suite of web applications” and Microsoft offer the “Live Desktop” as the online interface to this storage pool, both offer mobile clients, both offer desktop clients for both computing platforms.  They’re effectively the same service, it’s Exchange Home Edition with Outlook Web Access enabled, for want of a better example.  It’s Microsoft and Apple desperately trying to get between the desktop and Google Apps.

But that’s really what I have a problem with.  The great benefit of grid computing is the utilisation of large amounts of CPU resource to accomplish large tasks very quickly, not data warehousing your users personal data.  It’s seemingly something that both of these “cloud computing” solutions have entirely missed and in reality, they’ve supplied Active Sync and Exchange for the home user combined with the three million iDrive, YourDrive, MyDrive, HisDrive services that became popular before the Web 2.0 bubble in about 2001-2002 and effectively managed to shut themselves down after being used solely for piracy.

I don’t actually believe that the world internet infrastructure is ready for these types of services yet because of the data ownership implications and I feel that these services have been designed almost inside out in nature.  Data synchronisation is nice, I’m sure everyone would agree with that, but by forcing these solutions to market before we’re in an ecosystem where users can host their own file-identity-synchronisation services out of the home in a process as simple as signing up to something like Mobile Me or Live Mesh, we’re setting a precedent.  That precedent says that it’s ok to surrender your personal data to a giant third party data store in the sky, and honestly this is not ok

This is a choice the vendors are making, and in my single honest opinion, an exceptionally bad one.  Apple could just as easy focus their energy into making a Mac Mini derived small home device that provides the same functionality as Mobile Me, that plugs in to a home router.  I don’t mind them offering a Mobile Me like service for people that don’t want to be responsible for the keys to their home, but I sure as hell have a problem with both them and Microsoft forcing people to give up their homes in the name of data synchronisation.

This is another case of a good idea that people will enjoy, poorly implemented and pushed out to market, when the effort should be in enabling a permanently connected high speed internet for the masses, and the engineering of devices that allow the user to control their own resources.  I know I sure as hell don’t want to loose all of my data because of some sloppy code and an exploit or two.  I’m sure companies of the size of the big players in this market can secure data, but walking around with a target on your back is never a good idea.  Cloud computing should be about applications and not data, do not be told otherwise.  They bring the technology and knowledge and you bring your data to that party, not the other way around.

As a footnote, I think both implementations look pretty slick and offer good functionality, albeit nothing above and beyond synchronising to a mobile device with a HDSD card in it (my current solution involves a large memory card, a HTC Touch and ActiveSync to effectively reproduce this functionality).  Online identity, sharing and data stores are the future, lets just not let people lock us in to a poor aggressive implementation.  Vote with your wallet people.

Now Playing: Between The Buried And Me – The Decade Of Statues

Selecting a mostly portable notebook

Thursday, June 5th, 2008

I commute to and from London very frequently and the trains, whilst high tech and reasonably pleasant, can lead to very long journeys (especially in times of maintenance).  Because of this frequent travelling I’m practically forced to carry a laptop around with me for the sake of my sanity.  I tend to enjoy watching DVDs, playing late 90s and early 2000s PC games, and spiking and prototyping software ideas to pass the time on these train rides (which can stretch up to 4 1/2 hours some Sunday evenings).

Now, my laptop is a Dell Inspiron 5160, picked up in 2004 when the phrase “desktop replacement” in a laptop made my mind think of good things.  It has a desktop Pentium 4 processor (with hyper threading, for all the good that did) clocked at 2.8Ghz, 1.25Gb RAM running XP Pro and a 15.4″ screen (to give a sense of scale).

At the time, those were very respectable (desktop replacing!) specs.  The downside is that it weighs as much as the desktop it pretends to replace.  9.7lbs to be precise, which if I recall is something like 5Kg give or take.  Add to that the power of a chunky laptop power supply and most weekends I feel as though I’m carrying a small child from the north to the south of London.  Not fun.

I came to the conclusion (prompted by back ache) that I should probably look into replacing my monolith with something designed to, dare say, be portable.  Anyone that watches PC hardware will be aware of the waves that the current range of sub-notebooks have been making in the IT press so I figured I’d take a closer look.

The options seemed to be the much publicised Asus EeePC, the forthcoming HP Mininote and the HTC Shift (and other similar large smart-devices) as far as ultra portables went.  These devices are really, really cool.  Eight to nine inch displays, 700Mhz to 1.2Ghz VIA processors and chipsets and weighing just over 1Kg.  They really are tiny little devices and perfect in the cheep connected device market, but unfortunately the ability to run Visual Studio and to watch DVDs that I’ve just bought (ripping isn’t really relevant as I tend to buy things at train stations) were deal breakers.  I toyed with the idea of buying an external DVDRW drive to keep alongside a tiny sub-notebook, but at that point the rice would be approaching about £400-£450 and it was starting to feel like I’d really be ending up at the wrong end of the price-performance curve.

I’d definitely recommend anyone that just needs a really portable Internet / office device to check out reviews of the HP Mininote, it should be out this month and I was very very tempted by it, it’ looks fantastic and seems exceptionally powerful for it’s form factor.

I abandoned the idea of picking up a sub-notebook and decided to take a look into the very small regular notebooks on the market.  I’d had a very positive experience with he 11″ T-Series Sony Vaios‘ in the past  Their build quality is second to none, specs are brilliant and they weigh just 1.25Kg.  Unfortunately you also pay £1500+ for the privilege of a tiny notebook of comparable spec to a £400 15″ notebook.  If you’ve got the budget then I’d recommend one in a second, but they’re a far cry from the £200 EeePCs.  I figured I could stretch up to 12″ and still manage to pick up a very light, fully featured laptop and to be honest was quite surprised at the lack of products on the market.  I suspect this could partly be due to the recently (as in yesterday) announced new reference designs for sub notebooks , or perhaps companies are waiting on the Intel Atom CPU announced late last month, but either way the range of notebooks on the market at that size and weight point is remarkably sparse.

That said, there are some options.  Acer have a 12″ offering in the shape of the Aspire 2929.  an Intel Core Duo based machine with 1-2Gb RAM, Vista and about 100-200Gb of disk space, depending, it seems, on who you buy it from.  It’s part of their clamshell range apparently co-designed with Ferrari.  I’m guessing that’s their excuse for the laptop looking like utter shit, but on paper, the specs read ok, for about £500-600, vendor dependant.

I was still unsure, so I’d decided to go to PC World to see if I could just get a feel for the notebooks available,  It’s pretty hard to get a handle on the weight and size of something from raw specifications and websites so I figured it’d be time well spent.  I walked in the door, and on the second display stand as I entered the store was a tiny 12″ notebook branded “Advent”, which the smart or unlucky amongst us recognise as one of PC Worlds own brand product lines.  Looked good though, visually.  The build quality is no Vaio, but the price tag isn’t either, at only £450.  Core 2 Due 1.83Ghz, 2Gb RAM, 160Gb Hdd.  On paper, the specs were actually excellent for the price point.  Figured I’d ask for a full spec and pulled out my phone to start googling.

Interestingly there were very few mentions of the machine online.  Meaning it’s either very very new, or that the people that buy PC World own brand laptops don’t have too much to say about them online, none the less the spec sheet was quite revealing.  It appears that this laptop, almost £200 cheaper than the Acer Aspire 2929, and light years better looking, is practically the same machine underneath.  It uses exactly the same Intel chipsets, exactly the same onboard graphics, has exactly the same set of features (3 Usb and a Firewire port, onboard card reader, identical audio chipsets) and is to all intents and purposes just a nicer looking and cheaper version of the 2929.  Oh, and it weighs only 1.8Kg

I still don’t trust PC World hardware, so I went home to do a bit of extensive googling and slept on it, returned the next day and picked up one of the notebooks with Vista Premium.  That was two days ago.  I’ve spent the following few evenings tuning up Vista and installing software, and in all honesty, the machine really seems to fly, and at this point I’d go as far as recommending it.

I guess the moral of the story is that you never know what you might find lying about PC World.  But moreover, if you’re looking for a nice portable notebook on a reasonable budget without sacrificing power, PC World appear to have them in stock in the form of the Avent 4401, filling a curious hole in the market that other manufacturers appear to not want to compete in.

As a quick tip, due to PC World being… somewhat strange, if you’re interested in buying one of these machines, purchace it online and select “Collect @ Store” and you’ll save about £50 on the store price of the notebook.

Do with this information what you will.

Beyond Good and Evil 2

Wednesday, May 28th, 2008

It appears that Ubisoft just announced Beyond Good and Evil 2 with an in engine trailer at their UbiDays press event.  This is fantastic, fantastic news.

If you didn’t play the original (XBOX/PS2/PC) you missed out on a well written compelling action adventure that always ends up on those lists of “under appreciated classics”.  Thankfully it seems enough people did appreciate it.

You can probably pick up the original for pennies these days, and I *think* it’s one of the few titles on the Xbox Originals download service on the 360.  No excuses.  (If it isn’t, just get Fahrenheit instead!).

There’s a trailer over here, lovingly stolen from the ever excellent kotaku.

Web 3.0 Data Silos and Identity Portals – Overthrowing social networks

Tuesday, May 20th, 2008

Since I wrote my previous entry on data ownership and web 3.0 I’ve put a significant amount of thought in to how to crawl out of this restrictive data warehousing hole.  As a result of this I’ve started planning a project tentatively called MyIdentityPortal which I hope will succeed in providing an out of the box (initially .NET) implementation of a personal data silo for the web.

A few months ago I started looking in to contributing to the .NET OpenId project, I downloaded an old release, did a bunch of work around it, then realised I’d GITted the wrong version, updated and saw something remarkably accomplished; at this point I felt that really the project didn’t need my assistance, but instead I was interested in producing something derived from it – a central profile and data controlling application.  This is effectively what I intend MyIdentityPortal to be.

The implementation should be fundamentally simple.  I’d like to implement an attractive web application that’s installable at the very least on a Win 2003 webserver (hopefully with a PHP or Ruby port down the road) which helps define the interactions of social networking as protocols.  Effectively, what I want to build is a sort of reverse proxy for RSS feeds.

The portal should provide four key services:

  • Providing your OpenId
  • Providing an RSS/Atom feed of data
  • Providing an XML-RPC endpoint (not web-services, soap seems a little overweight for the task) which expose microformatted data dependant upon the query parameters
  • Acting as a reverse proxy for RSS/Atom/XML-RPC data to allow the delegation of responsibility

Traditionally, modern websites tend to allow you to export data or access data externally using RSS feeds and I want to try and stick to this existing paradigm for the portal.  I want to try and turn this flow of data around, allowing you to set up a portal which you elect as your trusted “master” data source and your OpenId provider.

Using this portal (your own personal data silo), you set up various types of feeds (blog posts, micro-blogging ala twitter, iCal events, friends feeds/interpersonal connections, profile information, photo feeds, etc, etc) in a user customisable manner and supply these feed URLs to third party applications (facebook, myspace, etc) as the master source of data for each distinct data type they require.

These applications then take your data and add value to it in the form of their networking services.

The other thing the portal should allow you to do is to delegate responsibility, effectively proxy and transform an RSS feed or XML-RPC call.  Say, for example, that you really love the way that your WordPress blogging platform works, you love the interface, you love the presentation and you love the host.  Why change that?  The portal should allow you to define an external resource (RSS/Atom/XML-RPC) as the owner of that data, then transparently proxy it to a third party when the request that information from the portal.

The benefit of this type of data silo is fantastic and offers tangible benefits right now: 

  • You have the ability to withhold or withdraw feed data.
  • You have the ability to disconnect or shut down your feeds in one location.
  • You can always define the master source of data transparently, be it through a portal plug in that produces that content or a delegate that proxies it.
  • You can control access rights to your data based on OpenIds and requesting domains.
  • It absolutely enforces interoperability between third party sites- they all syndicate the same feeds and data, no more missing out on parties because you don’t have a facebook profile to receive the invite on.

In addition to this as you elect your own provider (in this case by installing the FOSS application) you can effectively associate yourself with the portal.  One of my predictions on the evolution of the web hinges on micro-payments being used for small content purchases alongside subscriptions, and this kind of portal could be instrumental in painless payments by joining it with a payment system or subscription management services which, again, is under your control, and contains your subscriptions that external websites could authenticate and validate with.

I really want to get to a position where I have a wonderful interface that keeps track of my online presence, the data feeds and requests that I expose as “related to me” and perhaps even a shared storage area, that contacts, both personal and professional, could use to access the information about me which I permit.

In the first implementation, I’d like to aim for things that are useful now.  An OpenId provider, aimed at the single user, which encompasses RSS and Atom feed delegation and transformation along with a nice interface to administer this delegation.  I’d like to be able to log in to the provider with the open id it hosts, and set up some Feed endpoints which relay, as the first example, the feed from my blog.  I’d later like to expand this to expose some simple query / response pairs using XML-RPC for accessing a photo gallery (some basic commands like list all, search and retrieve) or perhaps calendar events using with any luck an existing standard (I hear iCal is reasonable though I have no experience with it).  Perhaps after that, expand to some more trivial functionality, perhaps a “recent play list” feed which mirrors the functionality of Last.FM to round of a few example use cases and just see where the product and implementation evolves from there.

It’ll be both free and open source.

I’ve already started cooking the first implementation on train rides, thankfully technically it shouldn’t be too complex, hinging off existing technology and using standard protocols.  I’m working on the feed delegation first, in case anyone’s curious.  I’ve got my good friend Chris Bird on board to thrash ideas out and hopefully work alongside when we have time.  If you’re interested in helping with the project don’t hesitate to get in touch (you can find contact information here).

Adoption will be a horrible sticking point.  None of the networking sites will appreciate losing control of your data, but really, that’s not the sort of control they should have had in the first place.  W
ith any luck, there’ll be enough pressure to adopt an open standard that forces interoperability that they’ll have to change or die.

Now Playing: Textures – Silhouettes – 02 – The Sun’s Architect

Stop Holding My Data Hostage – Data Ownership and Web 3.0

Tuesday, May 6th, 2008

If I were to write down a list of things I really really don’t like about the “web 2.0″ ecosystem it’d be exhaustive and consist of all of the current fads, go-to websites like facebook, twitter, flickr et al, and would really be summarised by the phrase “low signal to noise ratio”.  However, I think the concepts behind all of the mentioned sites and the fictional huge list are compelling, fantastic ideas, just implemented in a horribly disparate way.

I went to see Richard Stallman talk on the ethics of the free software movement (not the open source movement, he spent a long time explaining the difference, and rightly so) last Thursday.  It was a very interesting talk, Stallman has a reputation of being quite the… extreme evangelist, and he definitely has earned that reputation.  I don’t agree with some of his viewpoints for several unrelated reasons, but I respect his integrity and his pure black and white belief in The Four Freedoms of Free Software.  It’s with a similar initially terrified mind that I really believe that the current trend towards extreme social interaction (micro-blogging, regular blogging, friends lists, updates and feeds) should be free and open.

I was looking in to twitter tonight, a concept I’ve dismissed as a low information high noise communication medium, but I’m always willing to be convinced.  As part of this I was looking into the competing services offered by a few other companies and I’m really quite worried at how exclusive these services are from each other, despite operating in practically the same field (the main two I was looking at were twitter and pownce, for sake of reference).  This lack of interoperability is the stuff Microsoft get lynched for and the “FOSS” world cries foul over, yet these same people who happily campaigned for open protocols for Instant Messaging five years ago will silently sign up to these locked-in services without thinking twice.  It’s quite telling that with these micro blogging services, there are several third party applications to post a message to all of them at once.

It seems to be a recurring theme, that whenever I see a nice “web 2.0″ website, the first thing I do is think “that’s really cool, how can I re-implement that, so I control the data, and can inter-operate with their website”.  That’s the first thing I thought about twitter, that’s the first thing I though about Livejournal as and when I slowly started wanting to migrate away from using it to keep in contact with people, and it was the first thing I though of when I saw the mother of all mash-ups that is Facebook.

The funny thing is, the platform for this, in the most primitive of senses, already exists.  Most of these websites export to RSS or Atom feeds, and nearly all of them syndicate in some way, they just never seem to offer the option to syndicate in a way that makes other services messages flow fluidly with their own.

What I really hope and dream for, is that the “web 2.0 feature set” becomes a set of protocols, the most simple implementation could even be an RSS feed or webservice combined with microformats.  I don’t Facebook to store a list of all the people that are my friends, or myspace for that matter, I want facebook or myspace to ask me for a feed or service URL which will present it with a list of my friends.  They can then write all the functionality in the world that deals with those friends, who sign up in the same way.  People would visit the site for the value the site added, not because it was holding their data hostage.  I don’t want a third party website to store upcoming events for me, I want to provide my calendar in feed format to them.  I don’t want my friends to send me to a “facebook event”, I want them to invite me to an “Event” that I can view using facebook.  Or whatever grows to take its place.

In the same way I believe that it’s really important that people control their own identities in the “digital future”, I really believe that it’s your own responsibility to make sure YOUR data is in good hands.  I don’t want some American corporate to have some laptops stolen with my data on them, because that data shouldn’t be there in the first place.

The first and foremost barrier to these data control issues is the service providers themselves and their financial bottom lines, they’d need to adapt to add value instead of retaining you for your data, the second barrier however is the ability to control your own data.  Most people are not technical, most people won’t have the first clue about who “owns” their data, let alone how to set up a data server, which supplies feeds and maintains profiles.  Informing the user is obviously the first step, but after that it’s down to providing for the user.

I really hope and believe (and will probably start spiking out some prototypes in the not so distant future) that there will be some significant development effort put in to a simple “host your own identity” platform.  In the same way that phpBB became synonymous with internet message boards post Usenet, some kind of “Open Identity Platform” would be a godsend.  A central place to maintain all your lists, post your updates, keep your calendar, your contacts, your email.  And most importantly, it’s YOUR central place.  Be that on your server, or a service provider that you trust and have explicitly given the permission, authority and potentially funds to control your Open Identity. 

I think there’s even a chance that the control of your online identity will become a physical thing in the coming decade, as IPv6 rolls out and more and more countries get high bandwidth in the home, I think we’ll see people hosting their own websites and identities in physical devices in the home that inter-operate with desktop applications and other household appliances.  Just like “home networking” as a concept was crazy fifteen years ago (I remember setting up a ring network in the early-mid 90s as an early teenager and feeling very very advanced) and home wireless was laughable at the turn of the century, we now have cheep Belkin wireless home network access points and anyone can VPN.  Maybe in ten years we’ll have home identity providers with a built in webserver to maintain your identity.  Plug and play.  When your grandma can do it, the consumer has officially “won”.

It’s a long road, and the major networking providers will need to start supporting the concept of feeding in the data externally as though it were part of their system, but the interoperability of the internet is effectively at stake if this doesn’t happen over the coming decade.  I’d hate to see the interactivity of this phase of the internets dubious “development” be lost to red tape and a lack of foresight.  A lot of the current ecosystem is a fad and will die, but the concepts of global communication are strong ones and deserve to mature.

I want to use global single sign on, I want to keep an online photo gallery, I want to micro blog, I want to instant message, I want to have a global calendar, I want to tell you who my friends are.  Network providers; I’ll provide you with the content, you provide me the added value.

Now Playing: nine inch nails – head down

Nine Inch Nails – The Slip

Tuesday, May 6th, 2008

In order to not let my reputation as a nine inch nails advertising website slip, for those of you that didn’t notice, there’s a new album, 100% free downloadable from http://theslip.nin.com/.  It’s full of vocals and words and stuff.  Enjoy.

Now Playing: nine inch nails – echoplex

The Church of VB.Net

Monday, April 28th, 2008

Anyone that knows me has probably heard a significant rant in the past about how I don’t really perceive VB.net to be a programming language that anybody in their right mind would choose to write software in.

I genuinely don’t understand how any rational minded programmer, even a beginner, would look at Visual Basic.net and look at C#, and think “hey you know, that VB syntax looks great, easy to use!  I’m sold!” and I’ve always believed VB.net was a marketing hack that Microsoft practically had to engage in to provide a viable and “friendly” upgrade path to the millions of VB6 users around the world without turning around and saying “you know, VB6 has serves us well, but we dropped the ball on it really, we’re not going to continue evolving the product”.  I mean, effectively they did that, they didn’t actually evolve VB6, they took C# and practically mashed VB syntax over the top of it.  It reeks of a horrible hack.

I really believe they did this just to keep the VB name alive, rather than for any compelling technical reason, when really it’s just an old dog waiting to be put down.

Now you see, the obvious thing is that it’s all the same old CLR underneath it, and as such there isn’t much of a debate about which language is technically “better” or not (and that debate would be half a decade old if it were to exist), VB now lacks some of the more modern .NET3.5 features and is slowly becoming a second class citizen, but fundamentally, in the .NET ecosystem once you get down to the CLR, we’re all equal.

Age old debate, but I was looking around the web for (something unrelated that I can’t even remember now) and stumbled across the web site of a guy who appears to be a competent and knowledgeable developer, yet somehow appears to be preaching the graces of VB.net from the rooftops and I genuinely just don’t understand how or why.  I’m all for personal choice in your syntax, but I just don’t understand how some people can be so in love with the illegible chunks spaghetti code that VB and by extension VB.net end up becoming.

Obviously coding style is a human issue and not a technical one, and there is no single technical reason that would lead to this outcome, however VB tends to be positioned as a hobbyist language (BASIC does mean something after all) and I think the mind set it encourages is a haphazard one.

I guess marketing really is everything, and people perceive VB to be easier to learn due to its name, I just don’t understand how somebody that can identify a “readable” application from an unmaintainable mess could champion the syntactic bitterness of VB.net.  I support both sides are valid, as my argument is a largely visual one, but readability and coding patterns make up such a huge part of solid software development and I really feel VB.net falls short “visually”.

As a bit of a footnote, I also stumbled across an old Coding Horror post from back in 2004 in this context where Jeff Atwood was stating that he always converted applications back down in to VB.net.  He correctly states that the IDE is the real tool in the .NET ecosystem, so really the debate is down to how well the IDE supports either language, but I’d be curious to hear if he still had such a love for VB.net 4 years down the line.

/rant

Discipline

Wednesday, April 23rd, 2008

As a bit of a side note, Nine Inch Nails released a single to radio today (a proper one, with vocals and stuff).  Sounds quite Only-ish to my ears.  Mixed 24 hours ago and it’ll be up for download tomorrow for free.  Which is quite nice.

I’m not sure if it’s promoting Ghosts or promoting the new “2 Weeks!” countdown on nin.com.  New album?  New “song based” EPs? 

I was going to launch into another huge post about the Internet as a platform and browser centric development (and the current huge problems in it) but I’ll save that for another day, I don’t quite have the energy.

Sharepoint

Tuesday, April 22nd, 2008

So every now and again over the last, probably six or so months, me and Steven have sat and had “heated debates” about Sharepoint (apparently now re-branded “Microsoft Office Sharepoint Server” in its 2007 incarnation).

I guess our perspectives on it were pretty straight forward, my angle was “Sharepoint is rubbish, it’s a glorified wiki hammed together with a document management system which costs lots of money”, and his (to brutally summarise) was “Sharepoint is fantastic, it’s an average wiki but that isn’t the point”.  Well, I think I’ve actually been wooed by Microsoft’s monolith.

I guess the bad before the good.  The last time I tried out Sharepoint was with the 2003 version, which was a nightmare to setup, and as I recall, I abandoned the idea and used the considerably more free mediawiki.  I found Sharepoint clunky, overcomplicated and hardware intensive.

Today I installed MOSS 2007 and had a slight different experience.  To start with, the “basic” non-clustered installation was an absolute dream.  It was practically a three click installation (as long as you have ASP.NET 2.0 already registered in IIS and don’t attempt to install from remotely mounted media, if you do you get the wonderful message “The installation has failed.” after the second click.  Informative!) and I had it up and running with a sample data set using an SQL Express database that was created for me.  Having spent a good deal of time writing MSI installers and configuration tools recently I was pretty happy at this install.

Complaint number one dealt with, so the clunky feel it had then?  Well, to an extent it’s still there, but the interface feels like it’s had a good round of polish applied in the last revision and it all seems to flow a little better.  I guess the whole ethos behind Sharepoint is custom access levels and delegation of responsibility for mini-sites down to various business stakeholders and department members, so it feels a little configuration heavy.  That said, the configuration is reasonably clear (for the life of me I couldn’t work out how to change the site categories, but I didn’t Google it, I was trying a clean room experiment) and the results look very professional.  So so thus far then.  Active directory and exchange integration is very nice, gives everything a nice integrated feel.  Bonus points.

What really grabbed me though, was something Steven was talking about at the weekend, he didn’t go into much detail but I presume he was telling me about Excel services.  As a concept, this idea sold me to Sharepoint instantly.

Anyone working in the technology or development department of an SME that’s evolved over time without a clear data direction or strategy will be all too familiar with the “random excel document that makes department X work” and just how painful as an IT professional it is to just have to live with it.  I’ve seen Excel sheets full of private data, I’ve seen excel sheets used as bug tracking systems, accounting systems, excel sheets passed back and forth in emails with data that could be summarised in one or two lines, I’ve seen excel used as a programming language.  Horrible.

Well, Excel services offers you a version controlled repository to host these “business critical” excel spreadsheets in.  Sure it’s not a real database, but when you don’t have the development time to replace every off-the-side-of-the-desk spreadsheet with a formal data storage technique and set of reports, it’s a case of making everything “slightly less evil”.  Excel services allows the data to be viewed from the Sharepoint portal, watched, reported on, monitored via RSS, alerted on via email and feature in reporting KPI’s and dashboards.  It’s still a horrible little excel document underneath, but you know who controls it, and you can programmatically interact with it without fear that somebody is going to damage that data source irrecoverably.  Moreover, I’m imagining excel services as a wonderful half way house to get some of those development jobs done that really don’t need development effort.  It’d be lovely to rationalise the chaotic data design of a disparate business, but when you don’t have the time, having the ability to formalise a way of viewing that data in a medium that can later be transparently replaced seems like a killer business advantage in the medium term.  When you combine all this with the fact that people in other departments will then have visibility of these previously mystical data stores, the argument for implementing Sharepoint gets stronger.

So I like the integration perks, I like the fact that it seems to work with Microsoft CRM (I keep seeing links and things crop up, I’ve not looked in detail), I like that it’s ASP.NET and you can host Windows workflow in it, I like the unified SME intranet experience and the delegation of responsibilities.  Amusingly, however, the wiki implementation in the box is quite poor.  We’ve been using the excellent Screwturn wiki project in my development department for our documentation and whilst we don’t stretch Screwturns functionality, I think Microsoft’s dumbed down wiki implementation is a little… well… dumb.  It’s an odd HTML-FrontPage-Wiki hybrid that doesn’t sit well.  That said, it’s useable and I doubt I’d loose too much sleep over using an inferior wiki when benefiting from everything else.  I’ve seen mention of third party wiki web parts which might well be the solution to this issue.

Unfortunately Sharepoint is very expensive.  I can’t find any really accurate pricing online as it obviously depends heavily on your hardware setup and server infrastructure (clustered or not, SQL Server and OS licenses, Enterprise or Standard edition…) but the basic ballpark figure I’ve seen crop up a few times is about £25,000 without development effort or professional services ($50.000 or so to any Americans).  Considering Screwturn is a free open source .NET based project that’s served me brilliantly, I can’t exactly recommend Sharepoint as a wiki solution if all you need is the most basic of collaboration platforms.  I’d choose Screwturn over it for pure wiki’ing anyday.  However the other benefits finally seem quite tangible to me, it’s expensive but it might just be worth it.  I think you’d do well to have a development department to set it up and deal with any “small” development tasks or some specialist consultants however, as I’d imagine if your IT staff only operate in their comfort zone the configuration could give them a bit of a heart attack.

I guess Steven was right, Sharepoint isn’t shit.  It’s just expensive and doesn’t wiki too well!  Shame really, wiki’ing is near the definitive way to construct requirements for, and document, software.  I just don’t quite see it a bronze bullet yet.

Now Playing: nine inch nails – discipline