Wednesday, November 30, 2011

Javascript - more than bells and whistles

I've long dismissed Javascript as a language of limited value. Yes, it can add functionality to websites, but that's where I thought it stopped. Not so - it's use is extending server-side.

Firstly, there's Google Apps Scripts which is a great way to automate tasks in Google Apps (Gmail, Calendar, Sites, Docs etc). For example - my contact form now triggers a Script that sends the user (and me) a confirmation email. A simple example, but the potential for building useful web apps and gadgets in this way is massive.

Then there's the cross-platform mobile app frameworks such as PhoneGap which are also based not on Javascript. OK, mobile apps may be little more than wrappers for access to server-driven web applications, but these too are starting to be built in Javascript (see v8 and node.js).

As application development is increasingly webcentric, Javascript skills are no doubt useful for the client-side. That these skills can now be used for server-side development makes the language more appealing. Looks like my days of dismissing Javascript are over.

Friday, November 18, 2011

3 simple ways to lower your IT costs

IT strategy needs to be more than just second-guessing the next ‘big thing’, especially if you need to reduce costs. I’ve listed here what I think are the three easiest ways IT costs can be controlled without compromising productivity or service.

1. Buy services, not servers

All organisations need email, shared contacts, calendars and a means of sharing files. This used to mean purchasing and configuring heavyweight servers to do the job, but the rationale for this is diminishing as solutions like Google Apps for Business and Office365 offer these services without the headache of hardware to maintain. Cloud based services also give you much more freedom and flexibility with your choice of operating system and locations. My preference for Google Apps is because it truly is web based and designed from the ground up for connectivity from any place, any device.

2. Adopt open source technology

Don’t make the mistake of confusing well-maintained open source projects with tinpot freeware. If you are using Firefox or Chrome you’ve already experienced just how good open source can be. Libre Office and Open Office (both variants of the same project) have stood the test of time and have proven themselves to be stable and functional alternatives to MS Office. Compatible with Microsoft formats, and free of license costs, there are few reasons why this should be ruled out as an option for cost-savvy organizations.

For those that really want to save money, ditching Windows (and Microsoft altogether) is also becoming more viable. With more software delivered by the web the essential application is the browser and the best of these (Chrome, Firefox) run perfectly well on non-windows systems. With fewer security concerns, simple user interfaces and easier management, systems like Ubuntu are finally becoming viable desktop alternatives for the enterprise. And for those sites that have a Windows-only product? Find out if it is offered as a cloud service. Failing that, run it from a terminal server.

3. Develop bespoke software in-house

In my experience most organizations have got their outsource strategy back to front; outsourcing the hard stuff (software development) and using in-house staff for the easy stuff (running mail servers). This is the exact opposite of what should happen for the most cost-effective and useful outcome! Wouldn't it make much more sense to outsource the easy stuff, the stuff everybody else needs? You’ll benefit from the economy of scale and fierce competition in the market. With bespoke software development, the rules change. You need a solution that is specific to you and too important to put in the hands of suppliers that will lock you in and deliver a poor solution at great cost. Even if you have to buy in contract resource, you need to own and control the development especially if you want it to adapt to changing requirements. That's not to say that you can't save costs on development. Use Platfrom as a Service (e.g. Google App Engine, AWS) to reduce hardware and scaling costs.