With the exploration of clustering analysis results, we were able to discover various usage patterns, including those that were not actively discussed in the existing literature [
21,
35,
47,
48], like product explorers or documentation explorers. However, we could only speculate about the intention and background of the users behind those diverse documentation usage patterns. Thus, we now bring together our informal observations from Part I with the literature on general information seeking and small-scale documentation studies, to derive and test hypotheses explaining the different usage patterns based on user characteristics.
5.1 Hypotheses Building
Given the absence of established theoretical frameworks elucidating documentation usage behaviors, we have chosen factors that might be associated with the developers’ documentation usage, informed by the prior work on developers’ general information seeking in web search or software maintenance settings, and observations from the small-scale documentation studies [
15,
17,
25,
40,
48].
Experience. Many studies have shown that the information seeking strategies of developers vary by their experience levels [
21,
36,
38,
40,
44,
63]. For example, Costa et al. [
17] found that documentation users with less experience with the software tended to use more types of documentation than more experienced users, and that tutorials and how-to videos were used by a greater percentage of newer users, and the newer users tended to use tech notes and forums less. Thus, we hypothesize,
H1.
High experience levels are positively associated with accessing documentation covering implementation details (Dev genre), whereas lower experience levels are positively associated with accessing documentation covering an overview of the products (Meta genre). Product Type. Differences in typical usage contexts of the products, such as project complexity and task categories, also influence developers general information seeking [
21,
25,
50]. Within our dataset, P1 and P2 are application APIs whereas P3 and P4 are operations-related products for managing event streams and log data, and we expected to see different characteristics will come with different documentation usages, and we anticipate that these distinct characteristics will be associated with different documentation usage patterns. For instance, users of infrastructural APIs are more likely to be engaged in the maintenance of large-scale software projects, which implies a greater interest in system-level products and in system-level quality attributes. Conversely, application APIs are commonly adopted by smaller projects where the applications themselves serve as core components. Consequently, we expect that users of documentation for different products will tailor their utilization accordingly. Thus, we hypothesize:
H2.
Documentation usage of application APIs (P1, P2) differs from that of large-scale infrastructural APIs (P3, P4). Documentation Type Predisposition. Previous research has found that developers adopt different work styles, motivations, and characteristics, and they solve programming tasks differently [
15], and human studies with documentation usage also reported similar findings [
48]. The work styles of developers are less liable to change over time as opposed to levels of expertise, educational background, etc. Thus, we hypothesize that we can see similar patterns in the page-view logs, that developers will stick to documentation that suits their general information foraging strategy formed by their needs and preferences, without changing their documentation usage behavior much over time.
H3.
Users tend to use the same documentation type over time. Possible Intent. Prior work [
10,
64] found that developers’ web search behaviors vary with their information seeking intent: they visit different types of web pages, use different queries, and overall interact with webpages differently. In particular, developers were more likely to visit official software documentation during reminding sessions and third-party tutorials during learning sessions. Developers also tend to spend tens of minutes with learning intent, but only tens of seconds to remind. Times spent in between the two extremes were mostly with clarification intent. We posit that a similar behavioral pattern can be identified within documentation-based information seeking, wherein users invest substantial time per visit when their objective is to grasp complex concepts or protocols. Conversely, they allocate less time when verifying straightforward facts or utilizing documentation as an external memory aid [
35]. Thus, we hypothesize:
H4.
Users who exhibit extended average page dwell times are more inclined to access documentation that offers tutorials (Guide genre), whereas users with shorter average page dwell times are more likely to access documentation providing straightforward factual information (Admin genre). Subsequent API Use. From multiple empirical studies, developers have reported that the quality of documentation is a highly influential factor in API selection process [
82], and failure in effective information seeking within documentation leads them to give up on using the APIs [
65]. Developers specifically reported that they examine the documentation up-front to determine “if there are good examples or tutorials that clearly explain how to use the library” [
82] before they decide to adopt a library, showing the need of onboarding materials. Thus, we expect that:
H5. Accessing documentation pages providing technical information for newcomers (guide genre) is positively associated with subsequent API calls by the same users.
5.2 Data Preparation
We collected pseudonymized user-level data and API usage data to extract such factors of Google’s documentation users, and test whether the hypotheses in the previous section are supported by the developers’ documentation usage data at scale.
Experience.
To investigate the effect of experience levels in documentation usage, we measure the documentation users’ experience level using two variables:
overall platform experience and
specific product experience. We define the experience with the platform as the user account age, i.e., years passed since signing the platform terms and conditions
1. We define the experience with a specific product as the total number of successful API requests made to that API over the previous three months (February, March, April 2020).
Product Type.
To analyze the differences in documentation usage patterns, we recorded what each documentation usage data point was for.
Documentation Type Predisposition.
As a proxy for one’s possible predisposition for certain documentation types, we recorded the user’s documentation
page views in the previous three months (February, March, and April 2020).
Possible Intent.As a proxy for possible user intent when accessing the documentation, we recorded the
average per-page dwell time, by dividing the total dwell time in May by the total number of documentation pages a user had visited.
2 We further grouped the data into three bins—less than 1 minute, between 1 minute and less than 10 minutes, and more than 10 minutes—to loosely correspond to the categories of intent (reminding, clarifying, and learning) identified by Brandt et al. [
10]. The “more than 10 minutes” group most directly maps to a learning intent, while the other two groups possibly overlap with both reminding and clarifying.
Subsequent API Use.
We mined the Google-collected API usage data (telemetry data) from June, July, and August 2020 corresponding to the subset of people in the aforementioned May-2020 documentation page-view log dataset, who also made subsequent API requests using the web-based services. This was possible because the pseudonymization strategy has random but persistent IDs that are consistent across documentation and API usage data. Specifically, we extracted the number of successful API requests made by each user (i.e., with 2XX return codes).
5.3 Sanity Test with Cluster Exploration
Before we formally test our hypotheses, we checked whether the hypotheses derived based on the general information-seeking literature apply at all to developers’ documentation usage patterns observed in our data, by checking different clusters’ user distributions. To help with our exploration, we first visualized each cluster’s average dwell time, and discretized the numerical variables into four groups for each user factor, based on percentiles: 0|NA (factor=0), Low (0-33%), Medium (34-66%), High (67-100%). Figure
3 shows the visualizations of the entire dataset, and three example clusters due to the space limit. We have included visualizations of other large clusters with over 500 users in our supplementary materials.
3 Using the visualizations, we selected clusters with different distributions for each factor we hypothesized would influence documentation usage. We then compared their documentation usage patterns to check if the factors were related to variations in these patterns.
H1 (Experience): Comparing clusters with a lot of experienced users (e.g., Cluster 6, Cluster 26, Cluster 27) and clusters mostly with new users (e.g., Cluster 16, Cluster 21, Cluster 22), the dwell time of the latter was relatively shorter compared to the former. We also found that most of the clusters with more experienced users spend time on the documentation that describes lower-level details, such as Reference or How-to guide documentation, without needing to visit introductory documentation like landing or marketing pages. On the other hand, clusters with new users showed diverse documentation usage patterns, which might be because they browse the documentation while considering adopting the APIs while still being relatively unfamiliar with the products, instead of trying to learn to use the products.
H2 (Product type): We observed that documentation usage for P1 and P2, on the one hand, and P3 and P4, on the other hand, is internally similar in different clusters — many users of the pairs ended up clustered together (e.g., Cluster 21 and Cluster 11 for P1 and P2, and Cluster 6 and Cluster 10 for P3 and P4). Clusters with a lot of P3 and P4 users visited How-to guide documentation, which might be due to their typical high project complexity requiring system-level configurations of multiple products in Google platform. In addition, we observed that clusters with the majority of users using application APIs show longer pricing documentation usage, whereas clusters of infrastructural API users show almost zero usage of pricing documentation. This could be explained by the usage context of the products: Infrastructural API users maintaining large software systems are also often employees of large corporations, with accounting and legal teams taking care of administrative tasks, removing the need to visit Pricing or Legal documentation, whereas application APIs are often used by smaller companies or individual projects whose developers are more likely to be responsible for administrative tasks.
H3 (Documentation type predisposition): We observed a consistent trend where clusters of users who spent an extended amount of time on specific types of documentation in May also exhibited a prolonged engagement with the same documentation in previous months. For instance, consider Cluster 6 (task-oriented users), whose members demonstrated a substantial dwell time on How-to documentation in May; they also ranked second in terms of How-to documentation usage in previous months, among the clusters we analyzed. Similarly, Cluster 22 (financial users), which had the longest dwell time of Pricing documentation in May, consistently showed the longest dwell time for Pricing documentation in preceding months. Furthermore, even among clusters with lighter documentation usage, we noticed a parallel pattern: the dwell times from previous months mirrored the patterns observed in May.
H4 (Possible intent): Comparing clusters with a lot of users with “reminding” or “clarifying” intention (e.g., Cluster 0, Cluster 16, Cluster 18) with clusters with mostly “learning” intention (e.g., Cluster 6, Cluster 26, Cluster 27), we observe that the former users spent much less time on the documentation pages on average, and also focused on documentation types like marketing and landing pages, which often provide an overview and administrative facts of the APIs, consistent with the “reminding” and “clarifying” intent reported by Brandt et al. [
10]. In contrast, clusters with a lot of “learning” users visited documentation that provides more detailed guidance on how to use the products, like How-to documentation.
H5 (Subsequent API use): Comparing the clusters of users who made no or low subsequent API calls (e.g., Cluster 0, Cluster 16, Cluster 22) with the clusters of users who made subsequent API calls (e.g., Cluster 6, Cluster 26, Cluster 27), the latter had spent longer overall browsing documentation pages, and had spent most of their time on How-to guide and Reference pages as opposed to marketing pages, which could indicate that many had already decided to adopt the API. We also observed that the degree of such association may vary with the product. For example, compared to the users in Cluster 7 (documentation explorers) who visited Landing and Marketing documentation and had similar average dwell times, far more users in Cluster 16 (product explorers) actually made calls to the API in the subsequent months. This might be explained by their usage context: the product proportions were relatively equal in Cluster 16, but most of the Cluster 7 users visited only P1 documentation. Thus, we expect that users will need different types of information depending on their usage context, and thus the usefulness of documentation types may also vary.
5.4 Regression Analysis
Next, we formally test the hypotheses above on our entire sample. First, we use multiple regression to test how much the various user-level characteristics we hypothesized about in
H1-
H4 can explain people’s logged documentation visits to pages in each of our four genres (recall Table
1). Second, we test
H5, i.e., to what extent developers’ documentation visits in each of our four genres can explain their subsequent API use, again using multiple regression.
We start by estimating four logistic regression models, one for each documentation genre; see model specification in the supplementary material. In each model, the dependent variable is a boolean variable “
dwell time > 0” indicating whether or not a user in our sample accessed documentation pages of that particular genre.
4 In addition, each model includes explanatory variables corresponding to
H1 (overall platform experience, specific product experience),
H2 (product),
H3 (documentation use in the previous three months), and
H4 (average page dwell time); see section
3.2 for definitions. All models include all variables. By jointly estimating the different
β coefficients, this model allows us to estimate the strength of the association between each explanatory variable and the likelihood that users access documentation pages from each genre,
independently of the other variables included in the model. Then, the
p-value of, say, the estimated
β1 coefficient allows us to test
H1, i.e., whether there is a correlation between platform experience and the likelihood of accessing documentation genres being modeled. Similarly, we could test for correlations between platform experience and likelihood of accessing documentation pages from the other three genres with the other three models.
5To test H5 we use a similar strategy, estimating one logistic regression model with a boolean-dependent variable
“subsequent requests > 0”. We restrict this analysis to the subset of users who have not made any API requests in the past months (more likely to be new users), since we expect the results to be more actionable for this subset in terms of growing the API user base. We include all the same independent variables as before (the ones not directly tied to the hypotheses act as controls), except specific_product_experience which is by definition null for these users. We also include an interaction with product to test the effect of differences in products.
Overall, we took several steps to increase the robustness of our estimated regression results. First, we removed outliers (i.e., observations more than 3 standard deviations beyond the mean) for highly skewed count variables and applied log-transformations to improve heteroskedasticity. Second, we checked for multicollinearity using the Variation Influence Factor (VIF) and only kept variables having VIF lower than 2.5, following Johnston et al. [
32]. Third, since we estimate multiple models, each with multiple variables, thus increasing the risk of Type I errors, we conservatively adjusted all
p-values using Holm’s correction procedure [
28]. Furthermore, we only considered model coefficients worthy of discussion if the adjusted
p-values were statistically significant at 0.01 level instead of the more common 0.05.
5.5 Results
Figure
4-top summarizes the documentation-access logistic regression results across the four models we estimated (one per genre) to test
H1-
H4. We present our results in terms of odds ratios (OR) instead of regression coefficients to ease interpretation. All four models are plausible, with Nagelkerke [
53] pseudo
R2 values (deviance explained) of 74% for dev, 16% for admin, 44% for guide, and 55% for the meta documentation genre. Similarly, Figure
4-bottom summarizes the subsequent-usage logistic regression model testing
H5. The relatively high explanatory power of the models indicates that at least some of the patterns of documentation usage align with user characteristics and API usage behaviors.
H1 (Experience): supported. Results from the dev and meta-genre models are consistent with the hypothesis. For example, the odds of accessing reference documentation and other dev pages are 1.34 times higher among people with prior experience with the products (product experience), i.e., those who made successful API requests in the past, compared to those without, and the odds of accessing such pages are 1.01 times as high among users with one extra year of platform experience. Similarly, the odds of accessing marketing and other meta documentation are lower (OR = 0.67) among people with prior experience with the products (product experience), and the odds of accessing such pages are 0.98 times as high among users with one extra year of platform experience.
Interestingly, the results from the admin-genre model align more with the documentation genres covering implementation details than meta: the odds of accessing pricing, legal, and other admin documentation are also higher (1.37 times) among people with prior experience with the products compared to those without. This could indicate that the information in admin documentation is not only needed once, when people make API adoption decisions, but rather is consistently needed throughout their use of the API.
H2 (Product type): supported. All four models support the hypothesis: taking P1 as the reference, the magnitude of differences between P1 and P2 is consistently smaller than either P1 and P3 or P1 and P4; i.e., the documentation page visits of large-scale infrastructural products tends to differ starkly from that of application products. Taking the dev-genre model as an example, the odds of accessing the documentation pages are only 1.1 times higher among visitors to P2 documentation compared to P1, but 0.66 and 0.63 times as high among visitors to P3 and P4 compared to P1.
H3 (Documentation type predisposition): supported. All models show strong effects of documentation type consistency: there are correlations between the past and the future access to some types of documentation. For instance, in the admin-genre model the odds of accessing admin-genre documentation pages are 3.31 times higher among people who had also accessed such pages in the past three months compared to people who had not. As many different pages of documentation are included in each type of documentation, and the analysis is done at a month-level, this result does not provide conclusive evidence of the users’ preference for the contents or structure of documentation pages. However, it still suggests that the documentation users have types of documentation they are more familiar with, and can access them repeatedly.
H4 (Possible intent): only partially supported. The results for this hypothesis are mixed. On the one hand, the dev-genre model reveals a clear difference between people with long and short average per-page dwell times, as hypothesized: the odds of accessing reference documentation and other dev pages are 0.57 times lower among people with average dwell times greater than 10 minutes compared to those with average dwell times less than a minute. The model also reveals that the odds of accessing dev-genre documentation are greatest (57 times higher) among people with average dwell times between one and 10 minutes. Similarly, the models for admin- and meta-genre pages, which include marketing and pricing, are generally supporting the hypothesis.
In contrast, the model for guide-genre documentation points to the opposite finding than hypothesized when comparing to people with average dwell times less than a minute (the group with the shortest dwell times, set as the baseline in our models): the odds of accessing tutorials, how-to documentation, and the like are lower, not higher, among both people with average dwell times between one and 10 minutes as well as people with average dwell times greater than 10 minutes, compared to those with average dwell times less than a minute.
One potential explanation is that many users might use the guide documentation as a cheat-sheet, from where they copy and paste various API boilerplate [
54] or usage examples. Although guide documentation was originally intended to introduce and explain products to relatively inexperienced users, it appears to be widely used by users with diverse intentions.
H5 (Subsequent API use): supported. The model reveals a strong correlation between accessing guide-genre documentation pages and subsequent API calls: the odds of making successful API calls in the subsequent three months are 3.92 times higher among people who visited guide documentation compared to those who did not.
Modeling interactions revealed that the strength of the association between visiting guide documentation and making subsequent API requests is weaker for P3 and P4 users relative to P1, while the interaction is not statistically significant for P2 users relative to P1. That is, as above, we see consistent differences between the two large-scale infrastructural APIs and the two application APIs.