hello, we are howard/baines, a web strategy, design & development agency. Welcome to our blog. It contains a mix of practical advice and our thoughts on web related issues. You can subscribe to our RSS feed or Twitter account.

Jun
10
2008

It’s the Database, Stupid

I was asked recently what the best way to start learning to code is. It’s an interesting question that I have been asked before. This is something which is so much easier to do today than ever before. Technologies are so easy to use and access and there is a wealth of documentation, tutorials, blogs, and forums and so on. Whatever your poison you should be able to get up and running pretty fast with your first “Hello World” application.

Learning to code and building a solid, robust, scalable app are two different things. The ease of access to technology has driven the recent web start-up wave but often these new companies run into technical problems that seriously impact their chances of success. So, the question is not what the best way to start learning to code is but what the most important area of building a web app is.

For me the answer is the database. Almost all web apps will have a database at their core and its importance should never be under-estimated. Create the underlying database well and you have a fantastic foundation for both the short and long term. Much of the way in which the rest of the application is coded will be dictated by the database structure. Any mistakes you make in your code logic can be fixed later relatively painlessly but get the database structure wrong and changing that can be very painful indeed, especially when you have a few thousand or more users in there.

Equally the database structure can significantly impact on the performance and scalability of your application. I have often been faced with slow running systems only to find that the problem is due to the way the data is being held. The database becomes more and more important as technology abstracts the developer from much of the code plumbing. For example, a number of technologies now offer very visual ways to getting data onto the screen with databound controls such as grids, forms and so on. The developer no longer writes code but just points these controls at the underlying data source.

I cannot tell you here how to structure your own database as it is so dependent on the application you are building however I can offer some basic advice.

Think about the future; consider functionality that you may not have in version 1 of your app but that you may need later. This may impact the way you structure your data and could require additional tables for use later that should be included now. Think about the areas where you may have large numbers of records and how these will affect performance. Think about primary and foreign key relationships in the context of keeping queries simple and indexing data for better performance. Finally, use table and column naming conventions that will make sense 6 months or a year from now and that will work in the context of any objects you create or code you write later.

Get the database right and the rest will follow.

Jun
9
2008

Naming your app: Part 1 - Brainstorming

We sometimes find ourselves involved with a startup application before a name has been chosen. It’s always flattering to be asked to contribute at this early stage and naming an application, company or product involves one of the most enjoyable meetings you will ever have. If you didn’t have fun at yours, you might have been doing something wrong!

I’ve worked on both large teams naming products for huge institutions and organizations as well as one man startups and the process is always the same. The key to any creative process is a good brainstorming session and the key to any brainstorming session is to first banish any negativity from the room. More often than not the best ideas come from thoughts being bounced around a room and that can’t happen if your idea it shot down at the first hurdle. It’s so easy for just one person to stifle the creativity in a room.

For example part of a recent brainstorming session went a little like this.

We need a name that says Notifications and ‘Everything on the web’

Like some kinda Alert Machine

A mixture of alerts

Alert Soup!

AllMyAlertsInOnePlace.com

StuffOnTheInternetThatYouCanNowHaveOnYouDesktop.co.uk

AlertThingy!

Wether you like the name or not, it was important to go though the down right ridiculous in order to get to a name we loved. One idea fed of another until we got where we wanted to be. Obviously there was an hour or so before we got there, but you can see what I am getting at?

So how do you get started?

Don’t start in front of computer hammering names into a domain checker. It will slow you down and you won’t get the banter you need. Instead check your ideas at the end of your meeting or when you think you have one you’re really happy with. If it’s not available but you like the idea behind it, there will probably be a variation that works just as well, if not better.

I kick start every brainstorming meeting with the same process. Get as many people in a room as you can, not just your creative types, but your account manager, accountant, developers, friends etc. Grab an A1 pad of cartridge paper and a thick marker and just let everyone shout words that they associate with the project, product etc. Clear the room after about an hour and just leave your core creative team to take over. Pin all the suggestions up on the walls for everyone to see. To get the second phase going start shouting out pairs of words “Notification System”, “Alert SIte” and so on… keep the ball rolling, share every idea you have, no matter how silly and most important of all, dont pass judgment on ideas you don’t like.

In Part 2: I will look at how you know when you have reached the right name.

Jun
9
2008

Do no google! Update!

In a post on 28 May Do no google! we put the challenge to ourselves and anyone else to not use any Google product for 1 week. It has been a couple of weeks now and some of us in the office not only managed week 1 but have continued to do no google ever since. Google search has to be the major test in this experiment and to be honest I’m not sure if I miss it or not. Certainly I miss the layout (bizarrely) but I do not feel I’m missing anything in terms of results. Could it be that we are just all familiar with Google now rather than it being that much better?

Jun
5
2008

It’s all talk!


A quick shout out to anyone interested in hearing us talk!

Clive will be speaking at Fuel about ‘Choosing the right technology platform’ next Friday 13th June. It’s late notice, but they still do have tickets available.

Fuel is a one-day conference for entrepreneurs and marketers who want to make their companies, services and products truly remarkable

…and I will be speaking later in the year at FOWA about ‘How to build a desktop app for your web app’ in October (8th - 10th).

The Future of Web Apps showcases the successful web technologies and business trends of the future, delivered by the pioneers of today. Attended by all the major European and US start-ups and industry experts, it’s the best place to learn directly from the developers, designers and entrepreneurs behind the web’s brightest stars in a relaxed and fun environment.

Jun
4
2008

Designer/Developer: It’s about understanding

A lot of time and money is being invested at the moment in tools to improve the designer/developer workflow. Both Microsoft and Adobe are fighting over this space with each trying hard to win over the others core audience. The result is that the tools are definitely getting better. Latest versions of Microsoft’s Expression range are much improved on the first generation and Adobe’s latest FlexBuilder (v3) has made strides with a more visual experience and the use of MXML.

Both camps are now creating very visual environments for both designers and developers. Drag and drop controls, property panels, data binding wizards and so on mean one can get a long way into the build process without touching code which is great for designers and developers. The challenge that the tools do not address and perhaps cannot is one of understanding.

The issue is that designers in many cases lack an understanding of how the plumbing of web applications actually works. Whereas the tools make it easy to add the necessary controls to a page and style them designers often do not know which controls to add or what the differences are. This is not unexpected; I do not know many developers who would know how to add a mask in Photoshop or when to do it.

The result is that designers still create traditional layouts (for example PSD files) and then pass them to developers who construct the interface. The new tools allow this to be passed back to designers for modification but the process is still clunky and time consuming.

Fortunately within Howard Baines we avoid this issue as designers here have a greater familiarity with the workings of web apps and the component parts (or controls) that developers use to create them.

For example, in a recent Flex project the designer was able to construct the interface in FlexBuilder using the applicable controls and MXML leaving the developer to just hook up the ActionScript. The more designers come to understand the mechanics of applications the more powerful the new tools will become and the more efficient the workflow.

May
29
2008

The sound of the net

 

MySpace apart, it isn’t often I visit a website with some kind of annoying music playing in the background or to that matter any sounds at all! Using sounds on webpages has almost become an unspoken rule.

Recently, while working on a desktop application, I have become more aware of alert sounds and the roll they play in applications. Not just baked in to annoy the user, they can be incredibly helpful. Think about how many subtle sounds there are other than those very frustrating popup alerts. to name a few… 

- The ‘pop’ of a new incoming iChat message
- The ‘ding’ of a new track imported into iTunes
- The ‘woosh’ of an email being sent in Mac ‘Mail’

(apologies to any Windows users, like most designers, I use a mac!)

There are some very clever subtle sounds being utilised on the iPhone as well as other mobile devices that help to confirm actions that have been carried out when notification space is at a premium.

So why then, if these sounds are so important offline are we not seeing them built-in to our online applications? One suggestion is that, its not currently in anyones job description and so they just simply don’t get thought about. I would like to suggest this is a designers job and nervously challenge other creative types to investigate sounds online, without making my ears bleed!

Recently I had to find a few sounds to use and if you don’t have your own studio at hand I can highly recommend the SoundRangers.

 

May
28
2008

Do no google!

A running joke here in the studio is to “do no google”. So in the spirit of trying new products we have challenged ourselves to survive one week without using any google products (and that includes search). Most of us tell ourselves that google provides the best results, but when did we last really tryout the competition!

Try it our for yourself. Can you last the whole week?

May
27
2008

Twitter: A Cautionary Tale

There has been a lot written lately about Twitter’s reliability problems. Let me say now that I know nothing more than what is in the public domain. Therefore this post is not specifically about what may or may not be the problem at Twitter but the reasons that have been debated on various blogs and websites.

The two most popular reasons speculated over are that the problems stem from either the Rails platform or the developers involved. Having been involved with Rails projects as an agency we can appreciate many of the issues raised both with the technology and the community around it. There are well known sites running happily on RoR and so I’m not going to say that Rails guarantees problems. From what I have read I think the reasons suggested behind Twitter’s problems reflect wider issues.

We recently attended a meeting in which a prospective start-up rejected our standard proposal to carry out a requirements gathering phase and create a tech spec in favour of the “Just start coding” approach. There is a propensity among start-ups to take this approach and indeed some of the reasons mooted behind Twitter’s problems with regards to scaling suggest a lack of forward planning in the code and architecture. New frameworks such as Rails are hailed for their ability to develop fast and encourage developers to possibly start building a little too soon.

I know that Web 2.0 is very much about the latest and greatest and getting to market fast is important, as is using new technologies and approaches such as the popular iterative methodology. However I think it is also important to make use of old fashioned, tried and tested methods that include good forward planning and choosing technologies based on traditional principles such as reliability and scalability rather than what’s cool in the moment.

The objective of most start-ups is to grow as fast as possible and cultivate a large user base. This combined with intensive functionality such as AJAX and large scale file management means the that early choices in platform, database structure, system architecture and so on are vital in guaranteeing that your own success is not your downfall.

You can subscribe to our twitter feed at http://twitter.com/howardbaines

May
22
2008

Design Rant: Logo grabbing and mood boards

It was agreed a couple of hours ago that I should write a design focused entry every thursday afternoon. A number of people at recent events have asked me where I write, so in a attempt to put that to rest here goes…

As a junior designer working in London, I would often get assigned the task of collecting logos from client competitors. These would be used on mood boards and other internal presentations. Occasionally one of these would need to be presented to a client and a mad rush to find high quality versions of the logos started. Some corporates are better than others, some even providing great media centers like Reuters. However the majority are hard to obtain and it’s the job of some poor junior to recreate them in illustrator.

It’s an issue worth thinking about if you run a business. Not just to help elevate the boredom of newly qualified designers, but because the press and the bloggers do the same thing and it’s important to make sure they get hold of the correct artwork and present your brand image in the best possible light.

Many years later and its seems that occasionally I still can’t escape this tiresome task. However was wonderfully surprised the other day when I right clicked to save the ‘wakoopa‘ logo. A small and extremely helpful popup box offered me a high quality version with an alpha transparent layer. Happy days! I haven’t managed to identify the designer yet, but I salute you sir!

It’s worth mentioning that we don’t use mood boards internally here at Howard Baines. I personally find them a restrictive way to communicate creative ideas. I prefer sketches, I am always happier to look at a designers sketches than have them waste valuable time preparing a board. Although this works wonderfully internally, its a whole different ball game when communicating to clients. We use a different formula when that occurs, but thats another story blog post!

May
8
2008

Interview at ‘Adobe On AIR - London’

The nice guys over at Adobe got their camera out and shot a short interview with myself after I got off stage at the ‘Adobe On AIR’ event in London a few weeks ago.

The tour continues on the 2nd June in Stockholm and you can fine more information at http://onair.adobe.com/