Category: Kraya

Fluidic Navigation

I have a dream – to think as little as possible. I agree with Arthur C. Clarke when he suggests that “Any sufficiently advanced technology is indistinguishable from magic.”

Therefore, how can we get technology to “magically” make things easier for us to do. The invisible interface, which I have covered before, is one outcome of such a concept.

In this particular case, however, I am referring to web navigation. In some ways, arguably the biggest user-interaction challenge over the medium of the web.

Read more »

The Elite Squad

The tagline Fearless, the Elite Squad Team and the phrase ‘impossible is nothing’ was all put together one evening at Kraya…

It was an interesting evening and it harked back to a time a few years earlier.

The first project where we had to pull out stops was the pilot project for megabus.com.

The original version of the site was based on an idea and needed to be built from scratch and taken live within a very short timescale. Working on this was exciting, not just because of the adrenalin rush to be working on a project that could change the world (which it did promptly), but also because of the enormous amount of pressure to succeed.

We have since been involved in several such high pressure projects where failure is simply not an option. To date, we have delivered.

My favourite example of this is the work we did last year for the Edinburgh Fringe Festival.

The fringe had a serious issue on their hands about a week into their programme launch in that they were unable to make sales due to problems with their new ticketing system.

On the Thursday (12th June) evening the Fringe called asking if we would be able to build a booking system for them over the weekend. John who answered the call (and initially thought they were kidding) roused the troops.

This started with a meeting on Thursday late evening with the Fringe to identify exactly what needed to be done and the best way to move forward.

We had already been involved on a limited basis in trying to resolve the issues with the booking system. We had also integrated the booking system into the website. This meant that we had a good idea of what was involved.

We had also built the website in such a way that it was fairly straightforward to plug another ticketing system in.

With these things working for us, all we had to do was put together a booking system over the weekend.

In reality, we started work in earnest on Friday morning and the site went live on Tuesday morning. It took four days and about five or six of us. We ran into numerous problems and hurdles, a large number of which were outside of our control including problems with the data.

The edFringe website went live on Tuesday, facilitated online bookings, and we also set up a section within the website for agents to sell tickets over the phone or in person.

All over four days. The last part was the hardest, working about 36 hours straight apart from a wee nap…

Sleeping Shri

Sleeping Shri

There were a few issues that cropped up and had to be resolved over the next few days which was expected considering the timescales involved.

Over the first week or two, the sales had almost caught up to the similar numbers as the previous year. The site was making all the bookings, not just a percentage (as it was the previous year) and it held up with minor issues. Load on the systems did not cause it to fail at any point.

We had completely revamped the infrastructure on which the site was hosted to allow for the kind of traffic that was expected. It was unfortunate that we didn’t really have a chance to take that live properly but it did help to reduce the number of issues the site faced.

The interim system we put into place was since replaced with the original booking system around mid july.

We are responsible for keeping megabus.com running day in and day out and it sees over 100,000 visitors every single day. With this kind of pressure being the basic level of service delivery that we do, there is a certain level of excitement and adrenaline rush that comes from doing something that seems so far out of reach and impossible.

We are currently involved in another project of a much higher caliber that I’ll write about once its completed. Projects like these remind us that we are really are fearless and impossible really is nothing…

Database Systems Compared

My first experiences of a computer started with DBase III+ which is now dBASE, then went on to Foxpro, now Microsoft Visual Foxpro. I have since used Filemaker Pro, Microsoft Access, Microsoft SQL Server, MySQL, PostgreSQL, SQLite and HSQLDB. I have not yet used IBM DB2, Oracle. Wikipedia has a list of database systems.

Having worked with this range of database systems and having done copious amounts of research into DB2, Oracle and other DB systems I have not mentioned, I like answering the age old questions. Which is the best database system?

Ah! if only it was that simple. There is no database system that is appropriate for any given requirement. But then, if you have been in the technology sector long enough, you would already know that. It’s all about using the right tool for the job.

I separate these systems into two broad categories and Oracle. There are the Desktop based database systems:

  • DBase
  • Foxpro
  • SQLite
  • HSQLDB
  • Filemaker Pro
  • Microsoft Access
  • MySQL

DBase, FoxPro, Filemaker Pro and Microsoft Access are essentially a GUI frontend that has a database backing.

Access is the best choice for this purpose under the majority of circumstances. Filemaker Pro is relevant in some. The usual reason to use DBase or FoxPro is simply that the developer is used to it. This is not a good enough reason.

I have used DBase III+ for developing an office management suite back in 1994. I have since used Filemaker Pro to develop a simple contact management database in 1998, Microsoft Access to develop a patient management system for a clinic.

SQLite, HSQLDB and MySQL are database engines that are to be utilised by popping a frontend on top; sometimes the frontend is Microsoft Access. Microsoft Access can also be used for its database engine.

Access is usually the worst choice for this except as a stopgap. There are exceptions to this. One is for a web frontend if the site is not too busy and its running on a microsoft platform. You don’t have to go to the hassle of installing anything on the server. The drivers will take care of it all.

HSQLDB becomes an obvious choice for a light java based application and SQLite for any other lightweight applications.

MySQL is substantially more powerful and scales a lot better. I include it in this section because it is a server grade database system that can also work well in a desktop environment.

I have used Access for several web based systems and I have used HSQLDB for unit testing hibernate and for a quick and dirty MP3 library that linked into musicBrainz. I have used SQLite in passing to be utilised by open source products.

I have used MySQL with an Access frontend as a management suite for a website as well.

And we have the server based database systems:

  • MySQL
  • Microsoft SQL Server
  • IBM DB2
  • PostgreSQL

MySQL was used as the backed database system for the edFringe.com website. This was the perfect choice since the most important requirement was speed. Particuarly with the Query Cache and Master Slave replication, MySQL was the best choice.

SQL Server was used as the backend system for an online course for the Scottish Enterprise around 1999/2000. While MySQL would have been a good choice this, it was not of production quality at the time.

We have also used Ms SQL Server for an insurance company since all the infrastructure was based on Windows and PostgreSQL did not have a viable Windows version at the time.

We use PostgreSQL for megabus. While speed is absolutely critical, it is a ticketing system which means that transactionality is absolutely critical.

While MySQL now has transactionality with innodb, it is still nowhere near as good as the transactionality provided by PostgreSQL through MVCC (Multi-version Concurrency Control). We could have used Ms SQL Server but the cost savings are dramatic.

To summarise, each system has a specific use, specific strengths and weaknesses and which should be used is highly dependent on what it is to be used for. I am hopeful that the summary of what we have used each of these systems for us useful in determining which one is best placed to solve any specific problem 😀

We have not yet used Oracle and it was a strong contender for megabus but the serious heavyweight functionality provided by Oracle comes at a price and it is not yet a cost effective option.

Master Jack

Everybody knows the old adage – “Jack of all trades, master of none”. I agree with this. So does the whole open source movement (in general). Thunderbird is a good example of an application that does one thing but does it well. Compare that to the old Mozilla suite that did mail, newsgroups and web browsing and one integrated applications and all the problems that came with that.

At Kraya, we believe in being able to do one thing and one thing well. Ironic since we do so many things. Kraya has become more like an operating platform for building a whole set of tools on top. Similar to running multiple applications on your computer. They all do one thing and one thing well (unless we are talking about something like Microsoft Outlook which does loads of things badly).

Then there is the synergy between the different teams that is sometimes absolutely crucial to the success of some of the projects.

As an organisation, we are a little off the wall and don’t really follow the mainstream. We believe that tools and technologies have a specific space they are meant to fill (yes, including microsoft products). They really have no competition as far as desktop operating systems are concerned for users who are not entirely technically literate. Sure the Apple Mac’s are great (and potentially better than Windows) but they have effectively priced themselves out of the mainstream market.

Linux, while fantastic is just not user friendly enough for the masses. My argument with Microsoft is in it trying to fill gaps with products that just can’t handle it. The Server platform while a good product, is not ideal for the range of circumstances under which it is deployed. Microsoft products are very easy to set up and use which also means that the products are generally very easy to set up wrong as well.

Products like Linux (yes, I am generalising) can be a lot more complex to set up but once it is set up, it can usually run without any issues for years. I have servers & desktops that have not been restarted for years (apart from the odd hardware upgrade / change). This is a testament to the sturdiness of the software.

Microsoft Server software is getting there. I remember the days of NT, when I was responsible for a couple of servers. They had to be restarted every fortnight, without fail before it would just fail to work. It was like clockwork…

Part of the reason why we do so many things is that we are different enough and wish to work with companies who can accomodate our very specific needs and there are very few (none that we felt could do that job as well as we could or better).

This has lead us down the path of setting up teams specialing in each area.

  • Software Engineering (which is split up in several areas as well, Java, PHP, Web, Desktop, Middleware and so on),
  • Systems (again split into multiple areas, Web systems, Office Server Infrastructure, Linux Server, Windows Servers and so on),
  • Technical Support (again, Windows based desktops, Mac based desktops, Linux based desktops, Laptops, Hardware and so on).

Krish has set up a film production company to follow his passion for making films and this will be launching with a splash over the next few weeks / months. We have already won a couple of small projects,  he is working on a few projects of fiction and music videos.

Kraya’s new R&D department is involved in developing 2 products and a third project completely unrelated to software.

So, how are we not the jack of all trades and master of none. Well, we are good at technology and all the other things we do as a coincidence. We are good at getting to understand needs, then going out there and finding all the tools that needs to be put together to solve the problem in the most effective manner.

We are currently in the process of putting together some case studies that can demonstrate this in more details… 😀

Designing a website

Designing a website is hard work. By design, I am not talking about making it look good. I mean designing the structure, the layout, the design itself, the information and everything else that goes with it.

It doesn’t matter if you have the best design agency and the best technology firm to support you.

The design and technology that goes behind a website are simply the tools you have access to for building a website that best represents you.

This of course brings you to the age old question – who are you?

For a company like Kraya, this has been particularly difficult. The usual problem being that by the time a website is developed and taken online, things are already out of date.

This becomes less and less of an issue as we have now grown to a size where it becomes easier to have members of staff responsible for updating and adding content. We have also reached a stage where the core of the business has stabilised and the dynamism, fluctuations and changes are more relevant to the fringes of the organisation.

The easy option is of course to start from the core. What defines you. What has been a constant over the last nine years that we have been running. The answer from my perspective is really that we have been dynamic… Now this is difficult to represent without having the website change very regularly.
There are of course a lot of other constants that we can represent as well, and some of them are challenging as well to ‘prove’ so that it doesnt just sound like we can talk the talk but not walk the walk. The reality is that we have been walking the walk for years now, we just never bothered to do the talking… 😀

WordPress Themes