Putting Code Together Since 1987

Posts Tagged ‘technology’

Open Source Isn’t for Everybody – a thought experiment

In Business, Web Development, Wordpress on October 26, 2008 at 1:53 pm

I’ve been thinking hard about Open Source and whether or not to GPL all of our forthcoming themes at Spectacu.la, following on from Brian Gardner’s decision with Revolution.

And I’ve decided that it would be a rather bad idea for us.  In fact, if you’re trying to build a strong business up from Open Source you can never make everything truly open.  So for example, although WordPress is free and GPL, WordPress.com has lots of proprietary code that will never see the light of Open Source.  And you pay for various services that use this proprietary code.  At the same time, they can cheerfully absorb, at zero cost if they wish, various GPL licensed themes and plugins.

A Toaster Analogy

The broken toaster - by Charles Dyer (CC License some restrictions)

The broken toaster - by Charles Dyer (CC License some restrictions)

A toaster company realises that although developing toasters is hard and expensive, they’re practically free to manufacture.  So why not give the toasters away and just charge for repairs, and helping people install their toasters at home, cleaning services, insurance if it burns the house down and so on.

Where does the motivation for service rather than product related income then come from?  Well – it comes from not making a simple, reliable and easy to use toaster.  In fact, because anyone can copy your toaster, you have to continuously add new features to stay ahead of the rival toaster copiers and keep people coming to you rather than your rivals for help.  You can make your toaster corporate strength – a toaster for major organisations that need to make vast amounts of toast… and they’d definitely want support and help… but you end up with small users running vastly over-powered and over-complicated toasters.

Read the rest of this entry »

Advertisements

If You Want to Hire a Professional, Act Like One

In Business, Web Development on October 4, 2008 at 9:36 am

Now, this may seem a little bit of a testy post.  But ultimately I want to help.  The post’s being written because I was thinking back to the past couple of years, and the range of clients and potential clients I’ve met.  It’s also based on what I’ve seen in forums, on websites, and in other events.

To be honest, most of our potential and true clients are great.  True pros who value what we do, and trust us to do it well.  But there have been a few who tried our patience.

So here’s ten simple rules of how to work with web designers, developers and other IT professionals.  Most of it boils down to the headline.  Be professional yourself and reap the rewards.

1. Don’t Call Us Geeks

No really.  Don’t.

I can call me a geek.  I can call a geek a geek.  But just like I can’t call a black dude n**ger even if he uses the word himself, you can’t call me a geek.  It suggests a lack of respect.

And don’t even think of calling us nerds.  That might just add 50% to your quote.  Or at its worst, cause an undesired tension in your working relationship which is far worse than paying a bit more.

Read the rest of this entry »

WordPress 2.6 User Guide

In Wordpress on September 16, 2008 at 8:46 pm

After weeks of hard work, I’ve finally finished it!  The WordPress 2.6 User Guide is ready for the world.

I’m not going to make it available directly from the blog any more, however, as we’ve decided to roll things like this up into our Spectacu.la WordPress Themes Club as a resource.  Non-members can download and use the pdf, and members get the Word document in case they want to rebrand it.

I guess it won’t be long before WordPress 2.7 turns up, but in the meantime this document represents a significant move ahead of the old.  Revised in many areas, it helps most beginners learn the ropes.  It doesn’t cover things like installation or problem solving, but for the vast majority of users it’s just fine.  We originally wrote it for our own clients, so that they could understand how to manage content on their site.  It’s also designed for printing out – sometimes people prefer it that way, and a website isn’t always the best approach.  At least this way you can choose.

What Does The iPhone 2.0 Upgrade Mean For 95% Of iPhone 1 Users?

In iPhone on July 13, 2008 at 8:41 pm

Not. A. Lot.

Unless you’re:

  1. An enterprise
  2. Really keen that the annoying bugs are fixed
  3. Want to download the third party applications that are now possible, but heavily controlled by Apple

Ultimately, the iPhone is now more or less where it should be.  I’m still annoyed that not just anyone can develop for it and release applications in the manner they see fit – you have to release through the iTunes download service.  It’s still got an appliance mindset about it that I think holds it back.

Of course, Apple’s approach is all about an easy user experience at the cost of reduced flexibility.  It’s neither bad nor good – I have a now unused WM5 device and it got some elements of its UI and features management terribly wrong.  Once set up it was really handy, but it was best suited to enterprise and expert configuration, not to consumers.

Why So Much is Happening

In Uncategorized on June 12, 2008 at 11:15 am

I was recently sitting quietly thinking about why so many great things appear to be happening right now.  Open Source projects, Wikis… an incredible amount is going on.  I see amazingly talented yet amateur photographers every day now, thanks to the internet.  Once upon a time I’d maybe see an amazing photo once a week… and I had to pay for the privilege of seeing something picked out by an editor who hopefully had similar tastes to mine.

And this article at herecomeseverybody.org gives one suggestion as to why this may be happening.  The numbers are startling.  Have we really been on a media driven bender for the past fifty years that we’re finally escaping from?  Fascinating reading.

What Used to be Hard, Becomes Easy

In Web Development on June 10, 2008 at 11:20 am

One thing we talk a lot about is how important it is, for costs, to stick to problems which have already been solved. Get fancy and do something new, and your costs have rocketed away.

A developer has just done a nice little piece on spellchecking. In 1984 it was ferociously hard. In fact, if you wanted a decent spellchecker in your custom application you had to pay dearly for the priviledge. Today it can be accomplished in a few lines of code.

It means that what was once going to cost you £100k to add to an application is now a few pounds.

Similarly, when we develop we offer up lots of wonderful functionality at incredibly low cost, because we’re just pulling in something that’s already been done. But if someone asks us for something custom, the price leaps up. They don’t always get it.

So here’s how we do it:

Step 1

We don’t know if the problem’s been solved before, and we don’t know how long it’ll take us to solve it either, so we give what may be considered to be evasive responses. We need time to research. Someone has to pay for that. Depending how interesting this research is to our business model, we may subsidise it. Otherwise, the client pays.

Step 2

If we find the problem’s already been solved, we still need to test the solution to make sure it applies well to the client’s requirements.

Step 3

If all is well, and the solution is found quickly, the client gets a call to say “yup, no problem, it’ll take us x amount of hours.”

But if we found no solution, we have to estimate how long it’ll take to develop the solution. And that’s hard in a commercial sphere. People don’t expect to spend much on R&D – they just want solutions.

So we do spend a lot of time trying to get people to understand the difference between solutions, and development. Just like a DVD player is a £30 piece of kit if you buy one from Sanyo while it would cost millions if you tried to make one your own from first principles. It shocks folk, but it’s an important message to get across that all developers need to take on board and to pass on to clients, or they end up stressed and trying to do the impossible on very low budgets.

How Much Does Code Cost?

In Web Development on June 1, 2008 at 3:56 pm

It’s hard to measure the cost of code.  Simple stuff can be ferociously time-consuming to develop, and bad coders often produce reams of poorly structured code.

But let’s assume you’re dealing with a typical, decent developer who doesn’t take the long route, or dangerous shortcuts.

There’s some nice research covering this, such as Boem, Abts Chulani [2000] which is worth reading if you’re interested by this kind of stuff.  But it’s heavy going, and doesn’t give a nice neat figure for lay people to understand.

So now I’m going to give the answer that many want to hear:

For each line of code produced in a 3GL non RAD environment the cost of your development is likely to come to around £20-£25 per line of new code.  And about £100 per hundred lines of re-used code.

Doesn’t sound too bad… that includes testing, development, refinement, code reviews and so on.  It’s based on the idea that most good developers can produce around 50-100 lines of code in a day if left alone and in peace.  Some produce reams of code, but it’s often poorly optimised and thought out and likely to bite back in years to come.  The cost also takes into account the design of that code before anyone touched a computer, and the various support staff required.  If a developer is working entirely alone and is self-supported with his PCs and the like, then his productivity drops so the project takes longer, but the cost shouldn’t change too much.

And don’t forget that cheap code is often bulkier than expensive code.  Which means nobody can look at a 1000 line program and actually say “Oh yeah, that’s £20k’s worth.”  Somebody needs to assess the quality of that code.

What we will say is that in general, if we’ve written you 1000 lines of fresh code (ie, no cut and pasting or reuse) it could well have cost you £25k by the time it’s fully tested and delivered.  A really big project, like, say, implementing a worldwide global payroll system for a major corporation may have five million lines of code and a final bill (including analysis) of around £125 million.  Not at all unreasonable, believe it or not.

So yes, code is expensive.  And that quick report you’d like us to knock up?  Maybe it’s not so quick.

To save costs it’s worthwhile looking at RAD (Rapid Application Development) methods, but in that you’ll end up with slower, more bloated code.  However, it can be a perfectly adequate approach and we use it all the time for simple data management back-ends and the like where performance isn’t that critical.  Sometimes we’ll generate 20,000 lines of code from a three hour job… but it gets the job done.  Albeit a little slowly!

Museum of Computing Needs a New Home

In Uncategorized on May 8, 2008 at 11:32 am

Bit of an unusual post this one, but when we uncover kit that my girlfriend says “haven’t you chucked out that museum piece yet?” I tend to call up the Museum of Computing in Swindon.  Consequently they’ve got a few random oddities from my IT past including an old Sinclair QL and the very rare QL Monitor that came with it, as well as the tiny and unpopular Rex card sized organiser.

Anyway, the whole point of this post is to raise awareness of their need for a new home by the end of July.  If you, or anyone you know, has the capability to offer some real and useful help then they’d love to hear from you.  IT industry firms are probably the best candidates.

Visit the Museum of Computing’s website…

Something’s Coming

In Wordpress on April 30, 2008 at 5:02 pm

Very quietly we’ve been building something quite special for WordPress. Let’s just say that we’re not the first with the concept, nor, I’m sure, the last. But it’s going to be about the most professional set-up. And we’ve done almost all of it with WordPress based technology.

What is it, exactly?

Well, just at this moment, we’re not saying. There’s been hints out there, and it’s not a huge secret, but we’re not ready to make any big announcements just yet. Look out for clues in our forum posts around the place, and in some of our work.

Really I had to post simply to explain why we’ve posted nothing on the blog for over a month. There’s been that internal project, but also some very interesting projects for clients. All of which has conspired to keep us with our noses on the grindstone. Soon we’ll look up and return to normal. Maybe.

Will The Financial Crisis Damage Small Technology Firms?

In Business on March 18, 2008 at 1:45 pm

The current crisis in the world’s banking industry is causing my quite a bit of concern right now.  Our web technology business is small but growing.  When businesses are doing well they’re more likely to spend money on items such as web design and web applications and we believe we’ve benefitted from that over the past year or so.

But what happens if our clients and potential clients start to suffer as a consequence of an economic downturn?

Problem 1 – Spending Cutbacks

During uncertain times, many businesses choose to be careful on spending outside of their company.  In particular they may look to what are perceived as cost centres (website updates, build and application development) as being something that can wait for a while.  If that’s the case, there’s going to be a slowdown in spending on technology unless it’s deemed as essential for the company to operate.

Problem 2 – Credit Freezes

Thankfully we’re based in the North of England – this is an area which is traditionally very conservative with money.  People don’t like to borrow money or use complex financial instruments and most SMEs in the North West still tend towards being self-financed.  However, this article’s aimed at everyone.  Business that rely on finance will face certain problems.  In particular, curiously, the ones that have a moderate but high risk position are the ones who face the biggest chance of foreclosure.

Why?  Well it’s time to think like a banker.

Example 1: This business has loans of £100,000, assets of only about £30,000, and sales have plummeted.  However, the business is still viable if it can renegotiate its loan terms.

If the bank decides to close this company it will definitely lose £70,000.  In renegotiating the loan the business will continue to  function, and the bank will get its money, albeit over a longer period.

Example 2: Another business has been far more careful with its money and has a £30,000 loan with assets of £100,000.  However, sales have died due to the downturn and income is poor.  They too need a renegotiation as their cashflow situation makes it impossible to meet the loan payments.

In this case the bank, needing to bring in money to improve its cash position, will be less inclined to renegotiate.  After all, if it closes the loan it will get everything back – the full £30k.  Their cash position is improved and everyone’s happy.  The business may struggle now because it’s now £30k down on cashflow.  In fact, it could even fold because suddenly there’s no cash left in the company to help pay its wages and bills.  Worse, it can’t even negotiate a loan against its assets because all the banks are being ultra-cautious, will take one look at the cashflow problems and decide to look for someone safer to lend to.

You also have to think very carefully about any secured loans.  In the event of a repossession it’s possible for the bank to get everything.  They may repossess your premises and resell them at a significant profit.  In many jurisdictions there’s no compulsion for them to share or give the profit to the original debtor.

Problem 3 – Price Inflation

Inflation is pretty steady in the UK still.  But we still have one massive problem – we’re starting to sell internationally.  Countries that trade internationally in dollars will have found their costs rising dramatically when dealing with EU based economies.  It’s not that long ago since a British pound was worth $1.5 – yet now it buys $2.  But thankfully there’s an upside – the more steady, more sensible and less loan happy mainland Europeans have found their Euro increasing dramatically in value.  It makes our holidays to Europe more pricey, but the upside is that our services look a lot cheaper to Europeans – so as one market declines, another has grown.

But it’s not all bad….

Opportunity 1 – Competitive Pressure

Businesses that are struggling will need to fight to compete.  No longer will money simply roll through the door as naturally as leaves through a courtyard.  Instead some firms which have experienced an easy ride lately with their easy finance, will need to get out there and find customers.  They’re going to need to invest in technologies that help push them up ahead of the competition.  This is where there could be some real growth in the web technology market – at least, for the companies that can give the best results.

Opportunity 2 – People With Time

If there is a downturn it’ll mean more people with less work to do – perhaps not needing to work so many hours, or even higher levels of unemployment.  For them the web will be one of the cheaper forms of entertainment available to them.  They’ll be getting into blogging, Web 2.0 applications such as Facebook, and even maybe dabbling a little and learning how to code themselves.  They’ll help the market to grow and will be enthusiasts for the business in the future.

Opportunity 3 – Weak Rivals Will Decline

One of the best things about a recession can be that the really weak rivals will suffer.  Web designers, for example, who churn out poorly thought out and over-priced websites will find themselves at a disadvantage to those with a reputation for positive results.  They’ll either have to reposition themselves more truthfully (at the economy market perhaps) or spend some time improving.  It’s also worth looking out for closing companies and seeing if you can pick up their past clients.  Filling a dead-man’s boots may not seem too ethical, but chances are it’ll be a relief for those clients to know there’s still someone around who they can rely on.