Things to consider when developing for various form factors

Things to consider when developing for various form factors
Philipp has extensive experience in enterprise environments and as a freelance software developer. Benkler gathered varied practical experience at international enterprises (from KPMG and IBM to Siemens and GlaxoSmithKline). He is well versed in the development of software as well as in its usability.

(Image Credit: iStockPhoto/Believe_In_Me)

With the fast-paced developments in online and information technologies, software has become an inseparable part of our everyday lives. We carry around a world of information in our pocket, which we can access instantly. For many people, not a day goes by without interacting with a UI to get something done. Whether it’s the consumption or communication of information, we want that software to run smoothly in order to achieve its purpose.

This was one of the main reasons for us to start Testbirds. We wanted to help companies and organisations to achieve the best possible software experience – one that corresponds with the wishes, needs or expectations of their end-users. We’re proud to do so by means of crowdtesting, a fairly new testing type that complements traditional software testing methods.

With crowdtesting, we consult specified target users to provide us with feedback about how an app, a website or another piece of software is perceived and functions. Our testers do this on their own devices, contributing to an enormous pool of smart devices. They explore the capabilities of the software or follow specific use cases and eventually filter out all kinds of inconsistencies. After collecting this feedback in our platform, the usability issues are corrected to optimize the software.

Since we started in 2011, we’ve done a considerable amount of tests for hundreds of our clients. This way, we were able to gather valuable information on usability and functional issues for different form factors, which in turn enabled us to deduct valuable insights for developing or optimizing apps and websites. I would like to share some of those insights with you.

Different forms, different screens

The most noticeable development is the physical one, that of the form factor. Developers have to deal with smart devices that come in different shapes and sizes, from the smallest wearable to the largest smart TV and everything in between. So, whether it’s a smartphone, phablet, tablet or laptop, developers have to consider the outcome of their work on different screen sizes. This may seem obvious, but it’s one of the most frequent errors that we run into. A website for instance should be responsive, so it easily adapts to the corresponding resolution. Then, it takes quite some effort to make sure that all visual elements are displayed correctly and of course also function likewise.


Next to the physical differences, there is the software. The operating systems that run the apps and software define in a large manner how your app will work. However, fragmentation is a huge challenge. For example, Android 5.1 (Lollipop) is the most recent version that Google released for its OS. At the time of writing, only 3,3% of all Android-users actually have this latest version running on their device. That’s less than the share of users with Android 2.3.3 (Gingerbread), which was released back in 2011. In terms of OS-functionalities and capabilities, this is essential and determining for the development process.


The number of mobile internet users has increased immensely compared to a decade ago. Convenient as it is to be connected all the time, the speed with which we are connected differs, depending on a subset of factors. This ranges from the build of the device and the network service (4G/LTE) to the ISP and the locally corresponding Wi-Fi connectivity. It’s important for dev teams to take this into consideration when designing or building an app or a website. How does low connectivity affect performance? What are the load times and how can these be reduced efficiently? These are important questions to ask when creating software for mobile devices.


There’s a myriad of smart devices out there. All have their own designs and features. Depending on the functional design of your app or website, developers can create new software with these features in mind. One could think of touch interfaces, NFC, GPS, Bluetooth, gyroscope, audio, video or lighting features for example. Of course, these features also depend on the type of device. A functional design for a stationary smart TV or desktop computer differs from one for mobile devices, such as smart wear, mobile phones or tablets. Not only does this affect the device itself, it also influences the way the device is used. What if your software is used on-the-go? Does your app need an online connection or can it use offline capabilities?

Dedicated copy

Several things are important when creating copy for apps or websites. First, be sure who you’re writing your copy for. Accordingly, the tone of voice and overall imagery of your software should match. Second, as smartphones have smaller screens than laptops, make sure that you keep the text clear and compact when developing for smaller form factors.

For mobile websites, text can be reduced and adjusted in a responsive design. Less is more applies very well in this case. Also be aware to use the right interaction terms for the right media. When browsing on a desktop computer, I’d prefer not to read instructions for hand gestures, such as swiping and such. This may seem arbitrary, but good and corresponding copy in the end enhances the overall experience and retains users.

User-friendly navigation

Lastly, it should be easy to use an app or website. If you offer too many options and information, it will be confusing. Again, less is more. When developing an alternative navigation, offer guidance in the form of a small tutorial or tooltips. In case you do have a lot of data to display, make sure to include helpful options, such as a search bar or filtering functionalities.

Something that also enhances the user experience is to match an app’s design with the OS it was built for. It’s important to take the design principles into account when developing an app. This way, it’s more intuitive for end-users to recognize familiar patterns and actions.

Usage as currency

Overall, thanks to the many crowdtests we’ve conducted at Testbirds, these key insights could be distilled. Hopefully, they will benefit developers with programming for different form factors. I also hope it shows the value of involving end-users in the development process, because without them, we couldn’t have shared these insights.

Therefore, I’d like to close with an important remark by the Microsoft’s CEO Satya Nadella. Last year, he stated that usage is the new currency. And in that case, if you want your software to be of any value, don’t disregard the people you’re developing for and dare to involve them in the process.

What tips do you have for different form factors? Let us know in the comments.


View Comments
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *