Changes are afoot

I came across a link to Google Apps the other day and it certainly intrigued me. Why ? Well, I have been running Lotus Domino as my personal mail server for some time now, primarily on the basis that I have many years experience with Domino, and it offers both a decent mail client (OK, Notes has it’s idiosyncrasies, but I am very familiar with it and can make it work the way I want) and the ability for me to check my mail online using Domino Web Access (DWA). This all happens in a VMWare-based virtual linux server (specifically Fedora Core 4) running Domino 7 and using fetchmail to pull four family members’ personal mail into separate mail databases. It works, and works well, but it has a downside. Basically, no matter where I am, if I want to access my personal or work emails then this virtual server has to be up and running. And since this does not sit in a server farm somewhere, I can’t guarantee it will be available.

So when I saw Google Apps I thought that there may be an opportunity to replicate the important aspects of my current setup within a more stable environment with higher availability. Here’s how I see it working:

  • Register the ‘family’ domain name with Google Apps, giving mail, calendar, chat and website for free.
  • Change my MX and various CNAME records for the domain to point to Google.
  • Install Thunderbird as the new mail client, pulling emails from Google using POP3.

And that’s about it. The big issue right now is how to migrate everything from Notes to Thunderbird, but I will probably use IMAP to give access to old emails for a month or two and not bother copying everything across. Sometimes these exercises are a good means of having a tidy up !

I’m not totally convinced that POP3 is the way to go, but Google mail does have a setting that archives emails once they have been downloaded, and I think that will be the best solution. I will blog more about this, but initially I think it’s a good solution. I am certainly looking forward to the point in time when the Fedora VM is only fired up occasionally rather than running all the time. It’s a bit of a resource hog on what is, after all, a family PC.

Home PBX thoughts

In researching my recent VoIP articles I have been playing around with a version of Asterisk designed specifically to run within a VMWare environment. I will expand on this is much more detail in part 3 of the Telephony article series, but I have been encountering what appears to be a common problem in this particular type of setup that seems difficult to resolve. Specifically, Asterisk in VMWare would appear to suffer from pretty bad audio playback problems to the point of making the audio almost unintelligible. Please note, though, that I am referring to pre-recorded audio such as the voicemail announcements, and not to any ‘live’ audio. Still very annoying and enough to cause someone to dump Asterisk.

However, there is a solution. Having tried all the usual angles that have been tried with varying degrees of success by many other people, such as amending grub.conf and setting the vmware process priority to high. I tried these and was not satisfied with the results, indeed found it difficult to discern a difference. I then remembered a problem I’d had with some older games on my shiny new (as it was then) dual-core AMD Athlon PC which had been resolved by setting the processor affinity. So I tried this hack with the relevant vmware-vmx.exe process (using Process Explorer from Sysinternals) and that seemed to do the trick.

However, I restart this PC on a regular basis as I don’t like to keep it running overnight, and the next time the PC was re-booted the audio problem returned. Of course, the processor affinity change doesn’t survive a reboot. However a little more exploring revealed that VMWare, in their wisdom, have included a means of excluding CPU’s from within the virtual machine’s configuration file - *.vmx  All you need to do is add the line

processorN.use = “FALSE”

where N is the number of the processor you wish to exclude that VM from using. I’m pretty sure you can have multiple line with different values for N, in case you have more than 2 virtual or physical CPUs. Having set this value, next time you fire up your PBX in a virtual machine it only uses the processor(s) you have not excluded. I would recommend only using a single processor, after all Asterisk is not a huge resource hog.

So if you are experiencing an audio judder issue with any of the Asterisk-based packages within a VMWare environment, and nothing else has worked, then give this a go. It might just do it. I’d love to hear if it has helped anyone.

Telephony pt.2 - VoIP

In telephony pt.1 I talked about the reasons why companies might consider installing their own PBX (Private Branch eXchange). Truth be told, this was typically a decision that was easily made when a company reached a particular size (where the cost of having one external line per internal phone was prohibitive). And usually a company would start with a pretty small, simple and, above all, cheap system that could support maybe 3 or 4 external lines and 8-10 internal extensions. For a budget of £1,000 to £2,000 you could be up and running, and if you chose wisely you could have some expansion capability too. For some companies this is still an easy and right decision to make.

However, the world of telephony is changing. The largest provider in the UK, BT, is committed to replacing it’s aging switched network with an IP-based setup. It has to, the competition is hotting up and BT is no longer allowed to restrict access to its exchanges in order to reinforce their near-monopoly. For the consumer of telephony services, this effectively means any phone point will have the potential to instantly become an internet-access point - no more waiting weeks or months for BT to DSL-enable your line.

The net effect of all this progress on your telephony options is that VoIP becomes the norm rather than an attractive alternative to PSTN. In fact, whilst PSTN will probably remain around for ages, it will effectively be a virtual system sitting on top of the IP network. In time all analogue equipment (phones, modems, PBX’s) will become obsolete. So it would seem sensible, at the very least, to keep an eye on VoIP and the potential cost savings it could offer you.

What are those potential cost savings? VoIP can usually undercut the rates you are receiving for national calls, although it’s very possible that, if you are very good at negotiating with BT or have an agreement with a third party that offers Least Cost Routing services, the saving is minimal. Where VoIP tends to shine, however, is in two particular areas. Firstly, if you have multiple offices and route calls between them over the PSTN, then utilising your internal IP network for those calls is a much more efficient and cost-effective option. Secondly, if you make a significant number of international calls then VoIP will almost certainly offer you considerable savings, because VoIP calls only break out from the internet at a point close to the destination, so you should only ever pay local call rates. Obviously you need to do the maths, but if either of these situations apply to you then it’s time well spent.

So what are your VoIP options? Effectively you have two:

  1. Many ISP’s offer hosted VoIP services (sometimes referred to as IP Centrex). For smaller businesses these can be a good route into VoIP as you done incur the cost of installing a new PBX (or adding VoIP capabilities to your existing PBX). The charging model tends to be pretty simple, you pay on a fixed charge per extension in addition to the cost of the calls you make. There are downsides, though. You will probably need to replace all your existing handsets; you will be placing your trust in the line(s) between you and your ISP (a single point of failure); even internal calls will be routed via your ISP, thus tying up bandwidth; and you pay for all extensions regardless of how much or little they are used. You can pay a bit extra for some hardware that removes the need to route internal calls via your ISP.
  2. The other option is to host your own PBX. This usually tends to have an higher initial cost, but you don’t have to carry on paying ‘rent’ for the use of your phones. It also affords the opportunity to mitigate the risk of downtime by utilising multiple ISP’s. After all, the general expectation of phones is that they work 100% of the time. If you using a DSL solution for internet access, as many small businesses do, there are usually no guarantees or SLA’s offered by ISP’s. If the line goes down then that’s hard luck! The downside of a hosted PBX solution is mainly the initial cost. There is the cost of the PBX itself, the cost of IP phones, the cost of improved internet access if needed, and the softer costs of training staff in the new functionality. There will be an ongoing need to administer and support the PBX, although being an IT system it may be more feasible for your internal IT staff to do this.  You may also wish to introduce or improve your CTI (Computer Telephony Integration) capabilities.

Personally, I think having your own PBX is a preferable option, although using a hosted system may be a good way of ‘dipping your toes’ in the water. After all, once you’ve purchased IP phones then they can be used whether the PBX is local or not. It is certainly worth taking case over evaluating IP phones, though, as there appears to be great variation in quality and interaction with different PBX’s.

For an internal PBX, you can spend a lot of money on a system from one of the market leaders. I know of one 100-person company that was quoted in the region of £140K for a system, and that kind of cost is difficult to justify in terms of Return On Investment. However, there are alternatives, one of which is an open-source PBX called Asterisk, which will be the subject of part 3 of this series of articles. Don’t go away!

IT - it’s all a blur

IT is changing.

“What’s new there?”, you say. “IT is always changing. It sometimes seems at though it deliberately changes every 6 months in order to extract more money from me to keep up to date.”

I sympathise. Really, I do. From my side of the fence it can be really frustrating to see something that has taken years to put together have a shelf-life measured in months. The sheer pace of innovation and change is breathtaking, and concerning. In what other arena would you try to create something so big and complicated and then rip it down so quickly afterwards. Some of the software that is put together these days rivals skyscrapers in the amount of man-days required to create, and yet in 5 years time it will be obsolete. Weird.

But there is a change taking place. Software is becoming more self-service. “You need a calendar, sir? No problem, here you go. And a portion of mapping on top of that? No problem.” A lot of this is happening on the web in the form of Web 2.0 applications, although there is quite a way to go in improving the inter-operability of these services. You may have heard of Service Oriented Architecture (SOA), which is a framework that, in time, should get us closer to the goal of seamless integration between the pieces of software that we decide best meet our requirements.

As this enviroment comes together, it is noticeable that there is a much greater opportunity for non-developers to put relatively complex systems together. In essence, the distinction between an IT person and an end-user or power-user is blurring. Anyone, in theory, can develop a system using tools available on the web without needing the technical expertise of a developer. I’m sure we’ll see a lot of people ‘dabbling’ as the tools develop.

However, I would argue that you should utilise the knowledge and expertise of an IT consultant if you want to create something sustainable. It’s probably not the done thing to refer to the same post in two successive blogs, but Joel Spolsky’s take on Lego Programming is a good lesson from someone who really knows his stuff. Returning to the skyscraper analogy, if you don’t design it right from the start, then it’s bound to come crashing down around your ears.

I’m sure there will be many people wondering if it’s a good thing to give application development capabilities to end users. However, that has been with us for many years. How many people do you know who have created, sometimes quite complex, systems using Excel or Access? In my particular area of experience, Lotus Notes, the ease at which a new application can be created from a template and then tweaked to a person’s requirements has allowed power-users to solve problems without having to go through the usually complex and time-consuming process of requesting a new solution from their IT department. And, truth be told, it’s a means of involving the user more closely in the IT decision-making process, a topic Kevin Pettitt blogs about today.

So IT is opening itself up more and more. Of course you’ll still have developers who create the wonderful tools everyone will be using to solve their problems, but in-house IT developers will be under pressure as end-users create their own solutions. The only answer is to join them, and use your skills to influence how the solutions are created. Better gloss up your consulting skills!

Share your data - part 2

Strange, isn’t it. One day you talk about sharing your data as the next ‘big thing’. The next day you come across a pretty mature web-based app that does it already and pretty much blows your mind away. I’m referring to Dabble DB, which allows you to set up pretty simple database apps in a Web 2.0 environment, and does it very well indeed.

A couple of thoughts occurred to me whilst watching the very impressive demo:

  • Whilst Dabble is extremely slick, the basic principles of what it is doing are very familiar to anyone who’s developed in Notes/Domino over the last 10+ years. Shows how good Ray Ozzie’s concept really was.
  • Web 2.0 is now bringing us many, many building blocks (databases, spreadsheets, etc.) in addition to a number of well-formed applications. However, a post by Joel Spolsky entitled Lego Programming is a very relevant reminder that the challenge with development is in the initial specification rather than the actual building of the thing. In other words, make sure you know exactly what you want before you dabble :)

Share your data?

People are sharing lots of things online these days. This blog is a prime example of me sharing my knowledge and expertise on IT (what little of it there is) with the wider community. Wiki’s, such as Wikipedia, are another great example of this. People also share photographs (see Flickr as a leading example) online too, sometimes photos that you would think are quite personal. But, would you, as a company, share your data?

Well, why not? OK, you’d probably want to hang on to some of it, your sales per customer, that sort of thing. But I’m sure there’s a load of data sitting in your network that you wouldn’t have a problem  sharing and that would be useful to someone else. And it’s that expectation that’s driving a new site called Swivel.

But why would you freely give up something that you’ve spent time and money acquiring? Well, like every single blogger, it’s really about publicity…telling everyone that you have a unique skill-set, and here’s an example of it. So if your company is know for producing widgets, then publicising how many widgets you’ve sold is a means of saying “Look how good our widgets are, lots of people buy them!”.

More than just a bit of software

The people who use Lotus Notes and Domino, or sell associated services, are not your typical bunch of software users. They are what I can only describe as a community, a global village. A village that I have lived in (or at least on the outskirts thereof) for many years now.

But every so often then togetherness of this village of people retains the capacity to surprise me, to demonstrate that, in common with real villages, it is made up of people who are not just associates, but rather very good friends. To illustrate this, have a look at a recent post on the widely read blog of vowe (Volker Weber). In a matter of hours, vowe was able to raise over £1,000 to buy a Macbook for the creator of DominoWiki, Ben Poole. This was as a sign of the gratitude of the community to someone who has poured heart and soul into a very impressive but, as it is open source, not commercially profitable piece of software. Ben’s a bit flabbergasted, which says volumes for his modesty !

Now just have a little think about what it would mean to have a member of such a passionate community providing services for your company. You’d know they care about the solution they provide you with, wouldn’t you!

How Cool !

In the past, you may have used your spare CPU cycles (as I have) to benefit the Search for Extraterrestrial Intelligence (SETI) project, or to research a cure for cancer. Both are worthy uses, although one more than the other, depending on your point of view. More recently I have not been utilising my computer in this way, mainly because it costs to keep computers running 24×7 if you were not planning to do that beforehand (and before anyone comments, I know you don’t have to keep your computer going all the time to contribute, but if you’re going to offer it as a resource, it seems churlish not to keep it running). When I say cost, it’s not the pounds and pence coming from my pocket I’m worried about, it’s the cost to the planet of the power needed to keep the PC active.

Then I came across Local Cooling. Similar concept in the way it’s offered to the public (sign up and then share your stats with the world), but this time it’s reducing power consumption and not increasing it. So I have signed up (hence the nice little banner on the right) and I encourage you to do so. Go on, you know it makes sense.

The effects of Open Source

Open Source Software (OSS), i.e. software that is freely distributable without licence fee, has been around for a long time. The best known and most widespread child of that concept, Linux, is in use across the world, running mission-critical services in environments ranging from large data centres to one-man bands. OSS has given a genuine alternative to the Microsoft stronghold for small businesses (see my Life without Microsoft article), as well as continuing to underpin the majority or websites across the world in the guise of the Apache webserver.

I read, with interest, a recent email from VMWare that illustrated just how the very concept of Open Source software is starting to impact directly on licenced software products. The email was announcing the new VMWare Virtual Appliance Marketplace, an area where self-contained virtual machines with a specific purpose can be showcased and made available for others to try out. Some of the appliances utilise licenced software and are not free, but many merely pull together OSS products and add some configuration. The end result is a free virtual machine that you can download and run within the free VMWare Player to add a particular function to your network. For example, you might want to add a web proxy server with content filtering without having to download Squid and Dansguardian and configuring them from scratch. So instead, you can go to the Virtual Appliance Marketplace and download one of many submitted there, such as this one.

When I initially read the email, I was immediately struck by the similarity to another OSS marketplace I had come across in the Notes/Domino world, namely the OpenNTF site. This is a website whereby applications developed in the Notes/Domino environment can be made freely available to all (NTF is the file extension for Notes Template Files, application templates to you and me). And, like the VMWare marketplace, it contains some applications that one would normally expect to pay a large licence fee to use. Popular applications include a blogging tool (Blogsphere) and a Wiki application (DominoWiki), although there are many others.

You might wonder why Open Source is so popular, not just with consumers of the software but with developers too. Certainly, at first glance, it can be difficult to see why a developer would want to put so much blood, sweat and tears into an application without making any money out of it. But from the developers point of view it can have some very good benefits. Not only is it a way of honing your development skills, but it also raises your profile in a way that can be referred to in future job interviews (not dissimilar to a consultant giving presentations at seminars to demonstrate their expertise in a certain area). Finally, it removes the need to ’sell a product’, so the developer doesn’t have to worry about marketing and taking payments and providing support and so on. Although frequently the developer will find that happy customers are very willing to make a contribution towards their costs.

For consumers of OSS, there is the obvious benefit of not having to pay licence fees, and the opportunity afforded to properly evaluate a product without having to worry about artificial deadlines or crippled versions of software. However, it also removes one of the frustrations frequently experience by large organisations when they encounter a bug in some software. Instead of having to wait for the licence holder to replicate the bug, produce a fix, test the fix and release it to customers; they can just go ahead and fix the bug themselves. The only obligation is to release the fix back into the OSS community so that others may benefit from it.

What is the future of OSS ? Difficult to say. I think there will be a continued move away from licenced software and towards OSS until a balance is found. It is possible that licenced software will die away completely, but that may have serious implications on the development of new software as well as the provision of support to smaller organisations. I’m sure the pendulum will continue to sway back and forth for some time yet, but eventually a happy medium will be found.

Business Aspects of Social Software and Collaboration

Bit of a mouthful that, but in my defence it’s not a phrase I came up with. Ed Brill, the man responsible for ensuring the worldwide success of Lotus Notes and Domino software, is the culprit. Ed gave a presentation to a conference in Edmonton on this subject, and for a change was not ’selling’ Lotus Notes/Domino, but rather using it as an example of how social software has the potential to profoundly impact on today’s working environment.

There is some pretty interesting stuff in the presentation, although it can be a bit difficult to read some of the text at times. Regardless, I recommend you have a look if you are at all interested in how software can help in a world where the business model is changing from a traditional, rigid hierarchy of employer/employee relationships to a looser affiliation of business networks, homeworkers or, at the very least, more flexible working practices.