Questions and Answers

How We Work, and Generally What's the Deal

Here are some answers to basic questions that come up all the time. This page is a work in progress.  What questions do you have? Let us know and tell us about your needs here, or just send an email to [email protected].

How Does the Process of Building a Website or Application Work?

It will vary from developer to developer. We prefer a highly collaborative and often trial-and-error process, as for some clients part of our job is to help figure out what the goals and requirements are. You can see progress in real time, on a real working development version of your site or application, and then see quick changes based on your feedback.  The days of static mockups are over!

How Does Pricing for Websites Work?

For most website development* projects and maintenance, pricing is based on a pre-pay “pay as you go” model.  Hours are paid for up front, and depending on the size of the project, the hourly rate decreases based on the number of hours purchased at a time.

So, for larger projects, the bottom line benefits from larger payments. For smaller projects, or for situations where cash flow is tight, there is the flexibility of smaller payments.

The hourly rates as of February, 2018 range from $81 – $99. For new sites or site redesign projects, there is a 10-hour minimum down payment.

As we get to know the requirements of your project, we’ll be able to provide an estimate of how many hours it is likely to take. Hours do not expire and can be applied to future work such as maintenance and new features or content for your site.

* – Mobile/tablet development projects and some web projects fall outside of this pricing model.  In these cases a full estimate will be provided.

More About Mobile Applications

How Do Pricing and the Development Process for Mobile Applications Work?

Generally speaking, the tiered pricing model and hourly rates are the same for application development as for web sites.  Likewise, the development process also will be iterative, with the chance to review changes as they are implemented and give feedback.

Because applications are usually more complex than websites, there can be significantly more uncertainty about the hours and costs for a complete project.  As with web development, we can provide more accurate estimates after you make an initial down payment and we begin work on your project. 

For larger projects where the requirements aren’t clear at the start, we find that separating the development process into two distinct phases often helps to bring clarity about the ultimate costs.  An initial demo or proof-of-concept phase, using canned data, lets us work with you to design the basic user interface, identify the features you require, and produce more meaningful estimates for the full production phase.  Work on the production phase can proceed progressively according to the features you deem most important and your available budget.

For a basic application, the demo phase should take around the same number of hours and cost the same as a simple website, typically 15 – 30 hours.  Afterwards, a full production version can range anywhere from 30 – 50 hours to many hundreds of hours or more, depending on the application’s complexity of course.

How Do You Approach Mobile Development across Multiple Platforms?

Roughly speaking, mobile applications can be written using either native tools and languages specific to each platform (iOS, Android, Windows), or with third-party tools and a common language that can be translated or compiled to run on different devices.

There are advantages and disadvantages to each approach.  Writing an app using native code usually requires significantly more work, but often yields better performance and allows low-level access to the hardware.  This choice is typically better for games with complex graphics or advanced platform features such as augmented reality.

For most business applications, however, we would recommend the single cross-platform approach.  Typically the performance is perfectly fine, and basic control of hardware features such as the camera and microphone is possible.  In particular, we lean towards progressive web applications, which can be run in a browser like a regular web site, but which also can act more like installed applications in several ways.

What Is a Progressive Web App?  Is It Better than an Application from an App Store?

Basically, a Progressive Web App is one that your users will at least initially experience by visiting a web site.  At that time, they can choose ‘Add to Home Screen’ as if making a regular bookmark; however, a special configuration on the web site lets the user’s device treat it largely as an installed application after that point.  The code is cached on the device, and the application has access to system features such as background processing, push notifications, and hyperlink handling that normally only a store-based product would have.

The standards for this type of application are still evolving rapidly and there are some limitations, but for many projects we would strongly recommend this approach.  Some of the advantages include higher discovery (since the app will be found by search engines), easier feature upgrades over time (since we just update the web site and users’ devices automatically pick up changes without having to submit every new version to the app store), and complete control over content and any revenue that the app generates.

For some projects, such as those that really show off a platform’s capabilities or make heavy use of in-app purchases, however, it might still make sense to use the device makers’ app store facilities.

Do I Need A Separate Web Server to Host My Application?

In many cases, no, and certainly not when you’re in the early stages of development.  Since the application fully runs in the client’s browser, the web server needs only to serve up static files without any dynamic processing.  We typically use Google Firebase for our mobile applications, which includes free hosting for small, but reasonable volumes of data.  This is perfect when you’re testing things out or have a limited number of users.  When it’s time to expand your audience, the hosting plan with Google can be upgraded.

Firebase also provides other services that help avoid the need for a dedicated server for many scenarios, including authentication (sign in through e-mail/password or social media account) and cloud-based storage.

Amazon (AWS), Microsoft Azure, and other providers offer similar services likewise with free and paid tiers.  We can use any one of these if you have a particular preference or needs, though there may be a little extra set up time involved.

How Do Meetings Work?

Although we love working with local clients, we serve clients all over the place. In-person meetings are somewhat rare, but certainly possible in cases where they seem necessary and when they can take place at a location in Oakland. For larger projects, at least one in-person kick-off meeting is a great idea if possible.

Most interaction is done by email, with phone conversations taking place as frequently as needed.

Where is Your Office Located?

Cantus Firmus is run from a home office in Oakland’s leafy Glenview neighborhood.

Why Isn’t Your Phone Number Here Somewhere?

We would love to discuss your project by phone! For efficiency’s sake, though, let’s set up a time. Please contact us by email first. [email protected]