Why did the chicken cross the road?
Because a road-sensing event triggered a neuron in its cerebral cortex which activated a group of walking-pattern units in its brainstem, which in turn sent rhythmic groups of electrical impulses to motor neurons in its spinal cord...
We Speak Geek. In Fact We're fluent in it.
There's no doubt about it, the day of the computer geek has arrived in a big way. More computer code is being written now than ever before. The web runs on code. A typical website might contain code written in six or seven programming languages. Creating that code requires a very special skill set. Programmers are part craftsman, part engineer and part artist. At Avatar our programmers are computer language polyglots, being versed in dozens of programming languages and able to fluidly integrate different kinds of code.
When to can it and when not to can it.
Today there are a tremendous number of ways to create a website. The current trend is to get up quickly (and cheaply for the developer, but not necessarily for the customer) by using a canned content management system (CMS). But when it comes to web development, one size does not fit all. The more popular open source CMS systems (Drupal, Wordpress, Joomla), as well as commercial website management services, while very robust and powerful, also have a steep learning curve, can be limiting in terms of design options, are not overly user-friendly, requiring a significant investment of time by the webmaster to learn and use. They are not appropriate for most clients due to the technical understanding required as well as potential additional expenses in the case of commercial services.
With this in mind, over the past several years Avatar Graphic Services has developed a very user-friendly CMS system that is somewhere between a full-blown dynamic system like Drupal and a purely static site. Our system is PHP/MySql based and through implementation of desired modules allows site administrators to manage content through an extremely user-friendly forms-driven administrative control panel. Functionality is limited to only that desired, thereby keeping the complexity of the system to only that required. Since it is a custom system, it can be readily tailored to the clients exact needs. We are continually adding functionality to this system based on customer feedback and requests. A custom system can give a business a huge advantage over competitors that use a cookie-cutter approach to their web development.
DataClumps, God objects and Ubercallbacks
We've seen them all, all the types of code smell, and we know how to deal with them, refractor, refractor and then refractor some more. Web developers frequently need to implement code from various sources. Sometimes it's good, clean code. Frequently it's not. At Avatar our programming team has vast experience with modifying and integrating code from desparate sources to create efficient, bug-free systems.
How important is good database design for a web app? Oh, about as important as a good frame is for a car. While its possible for a car to function with a bad frame, who would want to drive it, much less own it? Likewise, a poorly designed database structure (schema) may work, but it won't be efficient, and will likely suffer from a range of weaknesses, everything from poorly implemented normalization, to lack of optimization, to weak scalability. And because these weaknesses are at the foundational level of the app, they'll likely be difficult or impossible to correct later without substantial refactoring.
What separates good database design from bad?
That's a huge subject. One that no doubt is the subject of many a doctoral dissertation and hotly debated among the theoreticians. But it really boils down to something basic. How simply does the database model the data while still meeting the needs of the project?
It's all about planning.
What are the needs of the project? That will always be the first question asked by the database designer. And it's usually the hardest one to pin down. Generally it's impossible to predict every need that a database design will have to fulfill and every possible issue that is ever likely to occur. Extensitily is the key. With proper planning likely future scenarios can be anticipated and the database structure can be designed to allow for future growth.
Database design and implementation is the foundation of nearly every business application and good design requires thorough practical knowledge of todays database technologies. At Avatar our database specialists have designed and built a heck of a lot of databases, everything from simple lookup systems to full-blown CMS and large scale cloud-based e-commerce implementations. This wide experience with a full range of projects gives them the expertise to tackle nearly any database design job.