NativeScript Community Survey Results (Spring 2019)
---
One of the most exciting times for our team is when the Community Survey is wrapped up and we have the opportunity to take a look at the results and analyze them. We are happy to share our findings with you ...
# Demographics
Our typical respondents work in a **Technology company** which is usually not bigger than 5 people, generating less than **$1M of revenue**. They most probably have some **frontend background** and are directly using the technology. On average, they have 3.3 years of experience doing mobile and are using NativeScript for **less than an year**. Most often, they were previously developing with Cordova/Ionic (34%), ReactNative (24%), or Flutter (17%).


Vue.js is are continuing to grow (almost 1/3 of the users), while the Angular user base is steadly our biggest group of users (1/2 from the whole).

Looking at the what OS the NativeScript developers are using - macOS is the leader followed by the Windows users.

More than 70% of the users are using the framework for less than a users, which neatly shows the growth of new and engaged users that we are seeing.

# General Satissfaction
Our Net Promoter Score (NPS) is at a steady level compared to the previous year of 12.94. This comes with a good amount of Promoters (1/3 of the whole) and Passives (1/2 of the whole). When we break down the NPS results by flavour - we see insignificant differences within 5%, which shows that the overall experience is comparably good.
When asked "What is the reason NOT to promote the framework?" - the biggest group of people answers that they haven't spend enough time, yet. This shows not a weakeness in the framework, but accounts for the big part of the respondents that are still forming their opinion and/or evaluating the framework. By far, the next 2 biggest pain points are "Poor Developer Experience" and "Performance Concerns". Both of them are going to be in our focus for the following months.

# Getting Started with NativeScript
The getting started experience is showing improvement of 8 % compared to last year. We are happy to say that the effort we put to provide quick hands-on experience with the technology through the Playground and the `tns preview` command is being appreciated. An interesting finding here is that more than half of the people found about NativeScript through some kind of content. Word of mouth is also a strong driver of new users and those 3 combined account for more than 75% of the new users. Have that in mind when you wonder next time, how you can make {N} even more successful. Write a blog post and tell your friends about your usage - this can really make a difference.

The satissfaction from the Getting Started experience is showing improvement of 5%. The two most common ways to start with {N} is either through the Getting Started Tutorials or Jumping directly into the CLI. The data show that people find their way around much easier when starting with the tutorials. This means that we will put additional effort in the next months to make the CLI more friendly for the first-timers.
Talking about problem areas when Getting Started with the technology, we are seeing a great progress. "Installation Experience" was a long time winner in this not so prestige competition. This time - it falls down to #3 and we are happy that the effort the team put in providing a smoother getting started experience when it comes to setting up the environment is showing good results. Next priorities in this area would be "Lack of Quality Documentation" and "Unclear Error Messages".
# Features Prioritization
Happy to say that 7 of the 8 most wanted features are already in our plans for the next several releases. Those gravitate around:
- Improved CSS Support - our plan is to extend the CSS integration by supporting more properties, strengten the integration with Chrome Dev Tools' "Style" tab, and provide long-wanted features like box-shadow support, media queries, and so on. We will evaluate switching to alternative CSS parser, which potentially would improve the performance and provide more CSS features like CSS variables.
- Improved Testing Story - the unit testing story stands out as a particularly important. This is the preferred way to test mobile applications amongst our community. We plan to dedicated time to clear out the [pile of issues](https://github.com/nativescript/nativescript-cli/issues?q=is%3Aopen+is%3Aissue+label%3A%22unit+testing%22) related to unit testing. Also, the available unit testing frameworks like Mocha, Jasimne or QUnit which NativeScript supports are not particularly suited for testing mobile applications. We will complement those with Mobile-friendly selectors and asserts.
- New App Themes - we all want our apps to be beautiful and stylish. The current Core Theme provides some basic primitives to help you with that. Ideally, we want to improved it by making it easier to apply across the whole application, it should control the every aspect of the look and feel of your app, and should be easier for customisation. Also, you probably heard that iOS 13 will come with a Dark Mode - NativeScript will deliver on this requirement through the Core Theme as well. Pretty excited to say that, the first bit of these improvements will be part from the upcoming 6.0 release.
On the other hand, we will probably put features that show limited interest on the Backlog for now, like Foldable Phones support, Angular CLI integration and Integration in NativeScript in existing native iOS/Android apps.

# Documentation and Self Support
The documentation is another area where we see improvement in the satissfaction with around 4%. The most frequent reasons for being disatissfied with the docs are "Missing concise examples" and "Missing important topics". This is where your input is extremely valuable. If you noticed a missing content in the docs - please, [open a new issue](https://github.com/NativeScript/docs/issues/new) in the repository. This will help us to prioritize better and put our effort where it will matter most for you.
We recently decided to close our forums and redirects all such questions to Stackoverflow. This is already visible in the community and Stackoverflow is the second most frequent place to look for help.

# Development Experience
Stellar Development Experience has been our focus for the past year and we will continue to invest in it. This was the main driver behind switching to Webpack entirely for the development workflow, as we see many benefits that it can bring to the table - smaller and faster apps, quicker debugging cycles and in general more reliable tooling. A good amount of the problem areas below will be improved with switching to Webpack only and continuing polishing the development workflow.

# Performance
This is another area in which we see a good improvement. The result is 4% better than last year. Also, what used to be #1 pain point - "Slow Initial App Startup" is now #3. Our focus for the next months is going to be on "UI Interraction delays" and "Slow page transitions".
The plan for the last two is to continue polishing the framework behavior when "markingMode: none" is enabled. In 6.0 this flag will be enabled by default which is a step towards making it the only option once we see enough stability. Another important aspect for the NativeScript Angular based applications is switching to Angular Ivy and maximizing the benefits from the new rendered. The expectation is that Ivy will generated significantly smaller object graph, which should decrease the footprint on the Garbage Collection operations - the main reason for slow page transitions and delayed UI interactions.
# Others
Although, most people find about the framework through a quality content - this is only the #4 way of people to try to contribute to the framework. #1 is building a plugin, which is a great trend and we would like to see it growing further. But, think about this - if you built a plugin, you most probably have a great story for a blog post. Probably, your plugin is filling in for a missing integration, exposing a native capability in a cross platform API, or wraps some kind of selfsufficient functionality - all of these would be very valuable story to write about. If you need a tribute - be sure to get in touch with our team. We are always happy to have guest bloggers on www.nativescript.org.

# Summary
The framework is showing improvement in the satissfaction in any important area - Getting Start Experience, Performance, Documentation. We are glad to see that some of the biggest pain points feels less like a problem and the effort the team is investing to solve those is being appreciated.
We have a solid roadmap that includes the top rated feature requests and service integrations and in fact we are already working on part of them. Actually, some of them are coming in the next 6.0 release, which will be out in a matter of weeks.
These results makes us much more confident in our plans for the rest of the year and will be the keystone for building our more long-term vision. The best way to be part of our success is to spread the world about the framework and tell the word about technical issues that solved, the cool apps you are building, or simply why you like the framework. And of course - to be part of the next Community Survey in the autumn.