Tuesday, March 8, 2011

How much does it cost to change a lightbulb?

A tradesman came to visit my wife and I at home recently to quote us for installing a new kitchen in our house. He measured everything up, took a look at the new kitchen design, and we chatted for a while about the possibilities. I figured I could remove the old kitchen myself to save money, but could see that it might be handier and better if he did it himself, so I asked him to quote for that, too. He asked what we were going to do about the walls when the tiles were removed. Replastering the walls would obviously look much better, but wouldn't that make the job very expensive? Not so much as you might think, he said. This set us thinking...would it be a big job to replace the ugly ceiling as well? And, while that's out, to tackle the electric cabling above it so that the kitchen lighting is organised logically? Basically, we moved from just fitting new kitchen units to remodelling the entire space.

We asked him to specify all these elements separately on his quote, because we expected that the entire list would cost too much and that we'd have to pick and choose. I have two left hands when it comes to household DIY, so I have little idea of what's involved with this sort of work and no idea at all of what it costs.

Anyway, when the quote came back we were very pleasantly surprised. We approved the entire quote and the work has since been done to our complete satisfaction.

Why am I telling you this? Well, shortly after this discussion took place I had a very similar conversation with a client, but then from the other side of the fence. The client in question is a formidable businesswoman, but not an IT specialist. I'd built an application for her company a few years ago, and now she was asking for some additional features. Would it be possible to archive out old data without deleting it? No problem. Would it be possible to add intelligent defaults to the input forms? Easy. You could see her relaxing as our discussion continued in similar vein.

The application in question also exports data to Excel for reporting and invoicing purposes. These figures are manually checked, adjusted where necessary and approved, but then need to be re-sorted and totalled for invoicing. This is a lot of work to do by hand every couple of weeks, so I think that her assumption was that it would be a lot of work to program too. But it isn't, of course: if there's one thing that's easy in SQL databases it's sorting and summing. Her reaction was along the lines of, we should have done this years ago.

The point is, when it's a world you're unfamiliar with, it's natural to assume that when you ask for anything out of the ordinary that it has to be difficult, and therefore expensive.

I say, give me a call. If you've got coffee, I'll happily come by and talk about the possibilities. I'm creative and I know what I'm doing, so I can get a lot done quicker and cheaper than you might imagine. I don't mind changing a lightbulb for you, but maybe that new bathroom you want is a lot more feasible than you think.

I look forward to hearing from you.

Labels:

Wednesday, February 23, 2011

Looping through SQL objects with SSIS

A lady named Barbara wrote this week to say that she'd enjoyed my SSIS Foreach Loop article, but she wondered how one might go about using the Foreach Loop container if the collection was made up of SQL tables instead of files. The procedure is quite similar; the difference lies in using the very useful Foreach ADO.NET Schema Rowset Enumerator to enumerate tables for a given schema.

I figured that the answer to her question, or one possible variant at least, was worth posting on the site, so here it is (PDF, 483KB).

Labels: , ,

Tuesday, February 15, 2011

Wheel out the dancing elephants

After much weeping and gnashing of teeth during the preparation of it, I'm very pleased and proud to announce that the 360Data website has received a much-needed update and is now online: maybe you're looking at it right now. It's hopefully a bit more sharp-and-to-the-point than the previous version, and certainly looks great. (I take no credit for this aspect; all plaudits go to Mr. David Quinn and the crack team at Avenir Design - I can't recommend them highly enough).

It's got quite a lot in common with the old site, design-wise, but is intended to feel friendlier and more personal. It's also intended to highlight past & present work to give the visitor a better idea of the sort of projects I can take on, as well as the all-important customer recommendations. Outside of that, we cut down on the amount of text on the site. Everyone's busy, right? All the old articles and documents are there still, but are less spread out.

Let me know what you think; I'd be delighted to get your feedback.



P.S. - Here's what the old site looked like.

Labels: ,

Monday, February 14, 2011

Forty-four thousand satisfied customers

A couple of years ago, I wrote an article for SQLServerCentral.com that described how SQL Server Integration Services could be (mis)used to query a SQL database, format the query results as HTML, and automatically e-mail them on to interested parties. It was more of a demonstration of what were then relatively poorly documented features of SSIS than a serious attempt to recreate a reporting solution, but it touched an unexpected chord and got a huge response on the site. It's been a featured article three times, been included in the publication "Best of SQLServerCentral Volume 6", and has a maximum five-star rating from no fewer than 44,550 readers as I write this.

All this blowing my own trumpet is well and good, but up to now this piece was only visible to registered visitors of SQLServerCentral.com. Today, however, in a shameless attempt to drive some traffic to my refurbished and improved website, I've posted it as a PDF on my own site for the enjoyment and enlightenment of one and all. It's a bit dated by now, and I can certainly think of easier and more efficient ways of achieving the same ends than by using SSIS, SQL XML queries and XSL transformations, but if that's your idea of fun then please take a look.

Labels: , , ,

Thursday, February 3, 2011

Back to the drawing board

Basecamp is an exceptional online collaboration tool that I've been using for some years now to communicate with clients and co-workers. It's clean, simple and does exactly what you want and no more. The good people behind this most excellent product have launched a new mobile version this week for use on smartphones, tablets and the likes. It's written in HTML5 and it's quite astonishing.

I've been a little bit underwhelmed by HTML5 up to now. There are lots of pretty demos out there, for sure, but I didn't really see anything transformative until I called up the new Basecamp mobile site. The thing about it is, it's a website that doesn't behave like a website. It has all the features, look and feel, and convenience of a conventional mobile app, but it's all implemented in the browser and is compatible with all (HTML5-compliant) devices. It's light-years ahead of the effects you can realise with AJAX and the likes.

This, to me, feels huge. Not Basecamp itself, worthy as it is, but the potential it displays. It means we developers can create applications on the web that mirror or better the user experiences we offer on desktop applications, and we don't have to rewrite them for Android, or iOS, or desktop browsers. We're not beholden to the likes of Apple's piratical 30% cut of everything, and we can reach the widest possible group of users without compromising our interfaces and user experiences.

Time to get studying.

Labels: , ,

Wednesday, January 26, 2011

Laws, sausages and websites

Most people will be familiar with the famous quote, usually attributed to the Prussian statesman Otto von Bismarck, about the making of laws and sausages. You'll hear many variations, but they all boil down to, "Laws are like sausages. You should never see either being made."

I've been working on a major update for the 360Data website for a number of months now, in concert with my partners-in-crime at Avenir Design, and it's been a very interesting process up to now. Communication for the project has been conducted largely using the wonderful online collaboration tool Basecamp (which I also use for many of my customer projects). This means that the entire conversation and all our thoughts and ideas can be followed from the first germs of inspiration through to the soon-to-be-completed end product. I'm tempted to post it all online...but then I think of laws and sausages.

When we first created the existing website, I had no history as an independent professional, so the focus then was on presenting all the possibilities, the services I could offer businesses. That's almost three-and-a-half years ago by now, and I've been busy during that time with all sorts of interesting and innovative projects, but that's not  reflected in the present site. It would, of course, be easy to add a few pages to the site with these details, but they'd just get lost in the present setup.

Another problem is that it's impersonal. Professional, certainly, but with this new iteration we wanted to make it clear that 360Data is a one-man-band, with all the advantages that offers of direct, personal contact and attention for clients.

That turned out to be the trickiest part of the entire design process. How to communicate the correct balance of professionalism and personality? We also felt that there was a lot to like about the existing brand, the logo, the colours and so forth, and we didn't want to throw the baby out with the bathwater and start with a complete blank sheet. I'm a database professional; content and data are sacred, but I believe that design and presentation convey a crucial message about one's work and work mentality. Function comes first, but clarity and communication should never be an afterthought.

To do this, we spent months, on and off, batting ideas back and forth. Sketches, links to inspirational websites we'd come across, that sort of thing. A lot of talk about what ideas I wanted to present. I looked at how other independent techies were presenting themselves on the web. With all respect, and with honourable exceptions, they are (for the most part) uninspiring at best. Sites from designers proved much more fruitful. There are innumerable examples of independent designers with strong, clear websites (if they can't do it, who can?). The best of them place "who am I and what do I do" front and centre with all other content being secondary, and this became our approach for the new site too.

The next problem we faced was imagery for the home page. We didn't feel that there were any stock photos that conveyed our message, so we decided to make our own in keeping with the new, personal approach. Easier said than done, naturally. You'll have to wait a little longer to see the end product, but suffice it to say that there was a distinctly non-technological resort to coloured card, scissors and glue, as well as a lot of folding (and, to be honest, some swearing and complaining).

Integrating the final images in the redesigned home page was the last headache, and we added another few thousand words to our voluminous correspondence discussing such weighty matters as the look and feel of call-to-action buttons, slogans and so forth.

You might expect after so much effort that the final design would be so over-worked and over-designed, but I'm really pleased with the way it's shaped up. It's fresh and clean, and I'm confident that it presents my work in the best possible light.

I'm very much looking forward to letting you see it.

Labels:

Monday, January 3, 2011

Crystal Ball

Firstly, a happy new year to everyone. I'm really looking forward to getting to grips with this year's work and challenges, and I hope that you can say something similar.

There's a major new release of SQL Server in the pipeline, for starters. The preview release has been available for some months now, and it already seems like being the most significant product version since the landmark 2005 release. (It's no accident that SQL Server 2005 is still by far the most popular rendition of the Microsoft DBMS that I come across at customer sites to this day). SSIS functionality gets a long-overdue update in 2011 that introduces important new capabilities to the suite, as well as major updates to the DB engine querying capabilities, spatial data, high availability among other features.

Something to look forward to, then. 2010 was a quiet year on the MS database front. There's certainly been a large push on from Microsoft in the direction of the cloud, with SQL Azure making huge strides in a short time as regards functionality and ease-of-use. While cloud database services have the possibility to completely change the way we develop and interact with database architecture, it remains to be seen whether businesses (in the short-to-medium term) will want to surrender their data to an external entity. Regardless of your point of view on the morality or legality of the WikiLeaks affair, Amazon's actions in closing infrastructure access to the organisation highlights one of the inherent weaknesses of cloud computing; your business is dependent not only on the professionalism and technical foundations of external parties, but also on the goodwill of external governments and other agencies. Would you host your online bookstore database on Amazon Web Services? Your online presentation app with Microsoft Azure? Your mapping technology with Google? The technical barriers to cloud application and data delivery have practically disappeared already, but questions regarding ownership, permissions, entitlements and responsibilities arise that were never an issue in a world of applications and data hosted on private data centres.

It promises to be an interesting year.

Labels: , , , , , ,