Get In Touch & Receive Feedback & More Information Today!

About You
About Your Project
Tell Us More
Read our Privacy Policy
Request a Proposal

How We Do It

First of all, where would we be without Basecamp? Nowhere! Basecamp truly is "project collaboration utopia" and we use this popular platform as our project management system.  We've been using it for years and our clients consistently mentioned Basecamp as an integral part of their project experience. In fact, 37Signals released a blog post interview on our usage of this intuitive and efficient web-based project management app here.

Basecamp project management and collaboration

Work Organization and Methodology

Web Development Strategy
Instead of launching cookie-cutter websites and making small modifications, we build every web application in a unique manner to compliment your unique business story. Our approach is to develop light, scalable, and flexible modules that are constantly being tested and improved. Using these to build from, we create powerful web applications that accelerate your digital results. This benefits you in a host of ways:

  • Purpose-filled design process, in contrast to pre-made solutions and un-focused, un-differentiated template sites.
  • Nothing is built from scratch yet nothing is completely pre-made either, this means faster turn-around and a rock-solid custom app.
  • Maintenance and usage require minimal time and tend to have short learning curves.
  • Your website is completely scalable and modular, ready to grow as your user base increases.
  • You own your site outright and can host it where you please!

Best Web Development Practices
In order to keep everything on schedule we practice best web development methodologies and utilize the latest web development technologies. Frameworks, Source Control, MVC and Usability Testing are only a part of our process. Check out  exactly how we develop your project:

After signing a Project Agreement, we start the development of your site. We use the following design and development process:

Your Project Workflow
Every project goes through several specific phases. We use the following approach to successfully deliver the website that you envision:

  • Setting SVN server
    From the very beginning every document and line of code is tracked for changes and can be compared with previous versions. We take care of all documentation so you don’t need to worry about it.
  • Project Blueprint
    We take the time to familiarize ourselves with your needs. Talking with you extensively to discover the most important parts of your project is critical and we also compile all project ingredients in your Basecamp project.
  • Consulting
    We can consult with you and allow you to tap into our knowledge, expertises, and resources to come up with the best strategy for digital success.
  • Detailed specification
    Everything gets specified prior to going into production. This is one of most important parts of the project and is critical to delivering projects on time. Specifications are constantly updated during production time and they evolve into project documentation at the end of the development process.  You can provide detailed specs or we can assist with compiling your technical documentation.
  • Development Planning
    We thoroughly analyze specifications and consult with the production team about various approaches. After that we plan production time – creating milestones and breaking the project down into modules and measurable To-Do Lists. All schedules are kept up-to-date to ensure constant productivity and traction. This also allows you to keep close track of progress.
  • Design phase
    You will review all pages in batches and we will work together on revision cycles and approveals until all pages are designed and we continue to the next phase. Visual appeal and usability are both considered equally.
  • Page Coding
    This is the phase where all pages are coded into standards compliant XHTML and CSS. Every page is held to the highest standards to ensure load optimization.
  • Database Design & Data Collection
    Using our specifications we model the database and collect necessary data to support the application's needs. We optimize the database structure from the beginning and index it at the end of development.
  • Defined Website Parameters
    Before we start with programming we create a list of parameters; things like thumbnail sizes, predefined variables and so on. This enables the programming phase to progress quickly.
  • Setting Website Environment
    Different applications may require different server software. If applications use video, then video conversion software must be prepared to support it. If your website uses Gmail to import contacts then special modules must be included to support these operations.
  • Programming
    After the terrain is ready and everything has been prepared we start programming. If everything was planned carefully even the most complex projects will progress smoothly in this phase. Source control is extensively used so we can track changes made to all modules. Debugging is also practiced first on a modular then on an application level.
  • Optimization
    When your website is ready, we ensure that it will be able to handle the targeted number of users without problems. We optimize your site on many levels: database optimization, complex caching, moving scripts to precompiled states in shared memory, etc. For websites with huge traffic loads,  balancing can also be utilized.
  • Usability, Functionality & Security Testing
    Every product goes through this phase, no matter how large or small. Any bugs or issues found are stored in our bug tracking software with detailed circumstances as to how they are produced. This further ensures that your project meets the highest standards.
  • Launch
    After all these steps are complete your site is ready for beta and subsequently alpha launch.

Best Web Development Practices
In order to minimize downtime the design and development process we practice best web development methodologies and utilize the best web development technologies.  Following these rules makes work easier and lessens frustration. These practices generally increase productivity and morale. 

  • Good Communication
    We practice various communication methods starting with project specifications and collecting feedback at every turn during development. This ensures everyone is on the same page before going on to the next stage.
  • Frameworks
    These are design rules our entire team follows. They make life easier for everyone. We use frameworks for PHP, JavaScript and even for CSS!
  • Source Control (SVN)
    Creating software without keeping track of versioning leads to overwritten files, lost code, longer deployment time. This leads to frustration on both the development and client side. Our source control system ensures that this doesn’t happen.
  • Coding Conventions
    Short but strict coding conventions get our whole team on the same level. Readability of code is greatly improved. This leads to shorter deployment cycles.
  • Naming Conventions
    File names should tell you what the file contains. We adhere to strict naming conventions to shorten the development process.
  • MVC Development
    We ensure every solution is well designed, no matter the complexity of the project. Our Model-View-Controller approach greatly helps reduce complexity in architectural design, increasing flexibility and reuse.
  • Logical File and Folder Organization
    You shouldn’t read documentation to find something. From the specification up to programming everything should be in its proper place. This greatly reduces time used finding essential resources.
  • Live & Light Documentation
    No one has time to write or read essays. We handle our documentation using constantly updated wikis with working examples.
  • Bug Tracking
    Once spotted bugs are documented and fixed before the next development stage. If any bugs are found during development or testing they are stored in our bug tracking software. This further ensures that you are delivered the highest quality product.
  • Hallway Usability Testing
    If a sight doesn’t have a usable interface it’s not ready to launch. Our design is done by experienced personnel, but it’s always a good idea to use random people to test any site. This is very critical because of the complexity inherent to larger websites where there are many different interaction types between users.
  • Strict Roles
    Programmers are programmers, the same holds true for designers, coders and testers. This ensures that everyone is motivated, experienced and loves their job.
  • Dedicated teams
    Internet trends change from month to month. Time spent on the development of your project can easily be a breaking point for your business. Assigning dedicated teams per project ensures that your site will be launched in the shortest amount of time possible. 
  • Real-time progress tracking.
    Keeping upi informed in real-time cuts costs and lowers the risk that something will be done wrong. We use conference calls, collaborative software, live feeds and iCalendar to track milestones.

Web Development Technologies
There is always much debate regarding programming languages and databases, their merits, complexity, speed, etc. Equally important to choosing individual technologies are our web development methodologies and your business strategy. We specialize in the following web technologies as they consistently deliver the value and capabilities need for our client's goals and objectives:

  • PHP, for server side programming
    We use approaches that are proven from the aspect of good code organization and reusability.  These practices also affect turn-around time and lower business risks
    • MVC, for better code organization and scalability.
    • Frameworks, for better team work and collaboration.
    • Object Oriented Programming, to ensure code reusability.
    • Minimalistic Coding, for better code maintenance.
    • Modular Approach, for better application reusability and scalability.
    • Multi-Language Approach, this separates language from code.
    • Highly Configurable Abilities, per single module and entire application.
    • Abstracted Smarty Template System, for even more simplicity and power.
    • Optimization Of Application, at every level.
  • jQuery, for client side programming
    To preserve server resources, achieve better user experience, and increase application usability, it is essential to incorporate client-side programming. We use jQuery for that task.
  • Flash, for media streaming, animated charts and special client applications
    Basically we use Flash for two reasons:
    • Creating beautiful flash charts that feed from your database to present your data in a more meaningful way. 
    • Streaming multimedia content like movies, music or for implementing chat functionalities. Alternatively flash may be used to power rich media applications.
  • MySQL, for data storage
    Our database of choice is MySQL. It’s the world's most popular open source database because of its consistent performance and high reliability. It's used in many of the world's largest and fastest-growing organizations for powering high-volume websites, business-critical systems and pre-packaged software. It is also a standard in the hosting industry so you can have it enabled regardless of your choice of hosting provider.
  • CSS and XHTML, for design coding
    CSS is a tool used to separate the content of an html document from style and layout. We use the Blueprint CSS framework for development. There are many advantages to using CSS:
    • Makes changing the layout easier and shortens production time.
    • Smaller file sizes that help load optimization (pages are loaded faster).
    • Search engine benefits (you can control and prioritize important text that will be displayed in search engines instead of navigation elements that would be displayed if your solution wasn’t optimized with CSS).
    • Accessibility (separating style from content makes life easy for visitors who prefer to view only the content of a web page, or who just need to modify that content).
    • Consistency (layout and position of navigation can be consistent sitewide).
  • Linux, for the application environment and the Apache web server
    We develop applications for the Linux operating system. Linux is the most common standard in the hosting industry so your site can be hosted with virtually any hosting provider (we can recommend several). Also after application deployment we can adjust server conditions to ensure all of your needs are completely met. We:
    • Optimize environment on the server-side.
    • Install server modules needed to support your application.
    • Configure PHP and Apache on the server-side for proper application operation.
    • Enable extra security layers for your application upon request.
    • Scale server resources to meet your growth.
  • AJAX, Ruby, & ROR, for when duty calls!

Application Optimization
The goal of application optimization is to attain high speed performance and to utilize fewer hardware resources. This is usually the last step before testing and software deployment. These are the typical methods we use for projects with high traffic expectations:

  • Accelerate code by keeping it in a precompiled state in shared memory.
  • Optimize databases for fastest queries.
  • Caching on multiple levels: database, file and memory.
  • Stress testing the application.
  • Optimize your application for HTTP protocol - load optimizing

Search Engine Optimization (SEO)
The goal of SEO is to establish organically establish a presence on the major search engines and to benefit from getting targeted visitors from these sites. Search engines are a very important component of most successful web-based businesses. We are aware of this and every application is created from start to finish with this in mind. These factors only begin to cover the aspects we consider with every web application build-out:

  • H1 header tags for prominent content titles
  • CSS image replacement in graphical navigation
  • Graphics used in the site have descriptive, keyword-rich alternative attributes that are useful
  • Site map with text links
  • URLs of database-driven pages are simple and static
  • Flat directory structure
  • Pages in the site have keyword-rich meta descriptions with editing ability from the CMS
  • Custom error pages
  • Filenames and directory names include targeted keywords
  • Integration of Google XML Sitemap
  • Integration of Google Analytics
  • Social bookmarking plugins for blogs and content

Our Core Development Philosophy

When we build the engine to any product we release we have two specific goals in mind.

1. Modularity

All of the features of your web application should work entirely independently.

When you find that the frog killing game that seemed so essential to version 1.0 of your application actually offends your Tibetan monk user base (and they now make up more than half of your users!), you want to be able to pull that feature as quickly as possible, without breaking your login system or any of the other games you included on your site. Now you can upload the meditation simulator with no problems! 

Because our applications are modular, your feature-set is able to evolve in the direction you need it to, as painlessly and cost/time-effectively as possible.

2. Scalability

Serving 300 users is a significantly different situation from serving 30,000 users and 300,000 users from your web app. If your application isn't designed to scale well you will loose valuable customers due to poor performance.

Let's face it, Joe Anybody has dozens of different companies competing for his attention. You can have the most exciting product, heck, you could even offer free beer with your solution, but if your customer has to wait forty five seconds for every page to load, they're going to find someone who can appreciate the fact that they have a busy life. People spend money on broadband connections for a reason, and it's not so they can make coffee while your page loads.

That's why we optimize our solutions to be scalable, so the only difference between serving a small customer base and a large customer base is a better profit margin.

Go To Our Work Section

Back to Top ∧