Question 1: We have heard that web and application development firms can do both design and development but most will be stronger at one and weaker at the other. What would you say about your firm’s capacity when it comes to design and development?
A good rule of thumb is that your users will like a well-designed app but research shows they will love a more functional app over a well designed one. This is where the phrase “function over form” comes in web design and why so many companies focus first on functionality and then on design.
It is also assumed the design of your website and app will change in the future as your organization’s messaging matures but your website and apps functionality such as how a user logs in will for a large part remain the same. To help separate out these areas in many organizations, your marketing should oversee design while your IT department oversees development.
Here at Rackless, we have access to hundreds of developers and designers. We can help you source specialists in both areas when the time is right to update either your development or design. We consider ourselves great at development but feel we’re also good at design. The reason we say ‘good at design’ is because beauty is in the eye of the beholder so we’re hesitant to say we are ‘great at design’ since design tastes differ widely. Either a user can login to your app or they can’t and because of this, we find development is easier to judge than design. Since we have access to hundreds of designers, we can help you recruit based on your specific design needs at that time and because of our selection, we can easily change designers if your current designer isn’t suiting your taste or your needs have since change.
We do consider ourselves innovators in the world of development. Also, development builds on top of itself so we recommend you plan to keep your developers over the long run since replacing them means a lot of organizational and code memory will also leave with them. We have changed developers when necessary and won’t hesitate in doing so when circumstances reveal themselves but we will be sure to warn you of the risk if and when the time comes.
This ability to replace designers and developers is why source code management and tracking the history of the project (covered in more detail in another question) are important because it helps preserve organizational and development history that can then be consumed by new developers and designers as they join your team. Furthermore, we can help you put in place the processes needed so that Marketing speaks directly to their designer(s) and IT speaks directly to their developer(s) so neither is not having to wait on the other to achieve their respective goals.
Question 2: We understand that you must register with Apple and Android to publish mobile apps to their platform. Are we required to use your Apple/Android accounts or can we use our own?
When you publish a mobile app to the Apple and Android platforms, the account used will show who the author of the app is, a history of the releases and store all your users’ reviews of your application. In the future should you change your app development firm and the old firm used their accounts to upload the app, you will lose all that history and your users’ feedback. Worst, if the old firm leaves your app up and doesn’t remove it from the Apple and Android marketplaces, you will have 2 apps available by the same name: the new app from your new firm and the old app from your old firm.
Also, each Apple and Android account will keep up with the account holders downloads, total installs as well as active installs. If you use your web development firm’s Apple/Android accounts, you will need to rely on them to provide you these stats manually since you may not have access. Also, these stats will be mixed with other apps offered by your web development firm causing your numbers to be unreliable. More than likely, the web development firm will not be in a position to grant you access to their Apple/Android accounts because they may have other apps for themselves and other clients there. Just like you wouldn’t want your stats revealed to others, their clients would not want their stats revealed to outsiders.
Because of these factors, we recommend clients create their own Apple and Android accounts to allow your firm to upload and manage your apps. You can share access to these accounts with your web development firm and others who need access when necessary. If you are not familar with how to setup and manage an Apple or Android marketplace account for your apps, your design/development firm should be open to teaching you.
Question 3: When developing a mobile app for Apple iOS or Android operating systems, does your firm develop hybrid apps using a framework like PhoneGap or do you develop natively for these platforms in their preferred native languages? If you use a framework, which do you prefer?
This question is a good one for understanding how a development firm works. In hybrid app building, a developer must use a framework like PhoneGap to get their code onto a mobile phone to work. We see this often used by designers and developers as a quick way of getting an app onto the phone without much coding. While you get your app up quickly, there are often great limitations which can become a problem later when you try to do more than the framework is designed to handle.
For example, we had a client and their design firm who used PhoneGap before we started helping them. We were brought in because the client was hitting roadblocks they couldn’t get around. For example, they couldn’t integrate Google Analytics or HubSpot in their app which meant they had no statistics or knew what features were being used in the app. When we took over, we had to pull the PhoneGap framework out because the framework was causing their limitations. We rebuilt their app from the ground up in the native format. We were able to reuse their original design so not all was lost.
There is nothing wrong with using a hybrid approach with a framework like PhoneGap to get started and prove out a concept. It is however good to know when hybrid is being used. This will help you become aware there may be a time in the near future when an investment must be made to go native with your mobile app so your organization can realize the full potential your app can provide users.
If you plan for your app to use much of the mobile devices capabilities such as accessing the camera, geolocation, contacts, SMS, the hardware’s buttons and more, then native app development may work best for you. While building a hybrid mobile app, depending on the framework that you adopt as there are several in the market, you may or may not have access to many of these native features.
At Rackless, we have used both frameworks like PhoneGap as well as built apps natively. The decision for when to use hybrid vs native is a serious decision and we have helped firms work through the process of when and why to use one over the other.
Question 4: We understand source code is very important when developing our website and our app. Best practice is that each developer involved should submit their code changes to a code repository on a daily basis. What code repository do you recommend we use for this project and how often will your developers check-in their code changes?
The reason for this question is ultimately you want access to your source code and you want that source code to be kept up to date. One time on a project at Rackless, we had a developer literally hit by a bus while riding his bicycle to work (this story gives literal meaning to ‘hit by a bus’ scenario). He ended up fine but was out of work for a couple of weeks which would have caused many other development firms a major problem. In this case, we had to bring in a new developer to continue the project at least until the lead developer was able to return to work. Fortunately, we had the latest code from the developer so we and our client never missed a beat.
At Rackless, we have our developers check in code every hour to our code repositories if possible depending on the project but at a minimum twice a day. We also use techniques called ‘code branching’ which helps us know what code is currently being developed and tested and which code is currently in production and being used by your users. If your development firm goes out of business or a lead developer quits, you will find comfort knowing all is not lost because you have the latest source code.
If you are new to developing a website and a mobile app, you may not be aware what source code looks like and how it works. Also, you may think the code in your app or your website is the source code so why track it separately. The code used in your website and mobile app is what we call ‘compiled code’ and is not the raw code developed by the developers. ‘Compiled code’ is used for speed and also security since raw code can reveal more than what we want published in a public way. Another reason we use source code repositories is so we can track the history of the code and how it has been developed. For new developers you bring to the project in the future, they can review the history of the source code and the changes that have occurred over the years which helps them gain a better understanding of your firm and what you are wanting to achieve and what possibly didn’t work in the past so as not to repeat it.
At Rackless, we provide source code repository tools for free to our clients and we have firms that bring their own repositories. Our team members have used GitHub.com, BitBucket.com and VisualStudio.com (for ASP.net code). Either way, you have access to the repository for your review and replication.
Note: Make sure to use private repositories. Today, open source code repositories are popular because they are free. We see a lot of development firms using them and it is not a good practice. Inside your source code will be user names and passwords as well as how to access other systems in your company. You don’t want this information available to the public.
Question 5: If we hire you, will our internal stakeholders be able to communicate directly with your developers or will there be an account manager that will manage and relay these communications?
You want to be in a situation where you are speaking directly to the developer or at least know when you won’t be able to because of how the firm operates. If the firm can’t provide direct communication with the developers, then you want to know that up front so your expectations are properly set.
Why would a firm not want you to speak directly with a developer? It could be because they have high turnover among their developers or they move developers from project to project. This is common among design firms who do development only when necessary but specialize in primarily design. It could be that the firm has a specific business model that requires a project manager with the firm to be involved in order to make sure the project deliverables are documented and outlined. When this occurs, this firm is doing much more than development, they are providing consulting and project management services.
The answer to this question also has to do with whether the firm follows agile or waterfall methodologies. In waterfall, a firm will gather all the project requirements up front and then start development. With an agile firm, development starts immediately and requirements are gathers throughout the development lifecycle and communicated directly with the designers and developers. Waterfall projects take longer to complete and much of the work is done without you being involved. Also, Waterfall are known for being unfriendly to a client changing their minds and changes are often billed as ‘change orders’. Agile projects are performed much more quickly, transparent in nature, involves regular feedback from the client’s stakeholders and embraces change because change is expected and changes help to improve the finished product.
By asking the question upfront, you gain insight into how the firm operates. At Rackless, we seek transparency and candor wherever possible and promote team members being able to speak with each other openly. We also follow agile methodologies and our unique processes help make us even more agile than other so called agile firms. Many clients find over time that when additional layers of bureaucracy are added, bureaucracy often leads to budget overruns and unnecessary delays as opposed to improved product quality which is the ultimate goal.
Our business model is to allow clients to speak directly with designers and developers and to do so using our systems that tracks these conversations for historical review. If and when a problem arises, you can bring in a Rackless team members to ask for help and guidance to work through the roadblock. We provide project management and consulting outside our day-to-day operations when necessary separately but for most of our clients, they are knowledgeable enough to manage the day-to-day activities and need more specific advice on demand only when necessary. Also because our systems save historical conversations, specific work orders and development goals, we can add a new developers quickly, allow them to review the project’s history and have them join the team quickly to improve the over throughput of the project.
Question 6: What coding languages do you code? If multiple, is the coding languages used our choice or is that your choice?
At Rackless, we have used 39 developers totaling 76,427 hours of development for our clients (we take metrics seriously, even for ourselves). These developers have helped Rackless over the years cover many different platforms for websites, mobile apps and desktop applications each often requiring a different and specific language. Another rule of thumb to be aware of is a programmer can generally only master 1 language. They will be familiar with others and have capacity to learn and write code in more than 1 language, especially if the syntax is similar to the language they know, but it often takes a team of developers to master all of these languages. Knowing the capacity upfront of a potential design/development firm is helpful in knowing how far you will be able to go with them.
Question 7: As a growing business with IT resources, we already manage several important servers and databases internally that will need to play a role in our website and mobile app. Because of this, we need the ability to manage our own hosting environment (Amazon AWS, Microsoft Azure, our own servers and so forth). Will this be a problem for your firm? If yes, why?
Moving a database, website and pointers used in an app from a design/development firm that also provides you hosting can be difficult, time consuming and a risky conversation to have should you find yourself needing to fire your web developer. Design and development firms often provide hosting as a reseller to their clients in an effort to create new top lines of revenue and to also lock-in clients who lack experience in managing and migrating website and app hosting.
Just because a design/development firm provides hosting doesn’t make them bad. For some clients, hosting isn’t important and therefore it is logical for the design/development firm to offer hosting. There is, however, a win-win opportunity here if you are seeking a middle road between lock-in and also not having the resources to manage the hosting today. Ask your new design/development firm to help you setup your own hosting account and help you to purchase your hosting directly such as from Amazon AWS or Microosft Azure. We recommend you research the best hosting environments and seek the feedback from your development partner. Every firm will have a preference and not all are the same. With you getting the firm to help you setup the hosting, you gain the control you need and they get the hosting they can support. Also, don’t worry about them becoming upset when you ask because a good design/development firm doesn’t make enough off money off hosting to walk away from a client trully interested in their design and development skills.
At Rackless, we help you and your team setup this hosting in your company’s name with your payment details. At Amazon AWS for example (Rackless is an official Amazon AWS Partner), we can setup the hosting so your IT has admin priviledges, your finance team has payment access and your developers have access to the servics and database all through a separate login. All of this is done to make sure we have separations in roles and responsibilities, something that grows in importance as your team does.