<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>InfluxData Blog - Molly Norris Walker</title>
    <description>Posts by Molly Norris Walker on the InfluxData Blog</description>
    <link>https://www.influxdata.com/blog/author/molly-norris-walker/</link>
    <language>en-us</language>
    <lastBuildDate>Wed, 19 Aug 2020 06:00:22 -0700</lastBuildDate>
    <pubDate>Wed, 19 Aug 2020 06:00:22 -0700</pubDate>
    <ttl>1800</ttl>
    <item>
      <title>How We Made InfluxDB Cloud and Flux Faster</title>
      <description>&lt;p&gt;Performance has been a top user concern and an area of investment for InfluxDB Cloud since launching a year ago.&lt;/p&gt;

&lt;p&gt;The theme of our recent performance push is aggregations; we took a vertical slice from backend platform to front-end user interface to improve aggregations across the full stack.&lt;/p&gt;

&lt;p&gt;We’ve recently crossed key performance thresholds and wanted to share them with our early adopters: both the explorers and paying customers who embraced InfluxDB’s latest incarnation as a cloud-native database as a service. Flux is our new query language that allows us to define a fresh frontier for time series database run times.&lt;/p&gt;

&lt;p&gt;We have learned so much from you already, and hopefully, you’ll see many of the things you cared about optimized in this latest batch of aggregation performance improvements.&lt;/p&gt;
&lt;h2&gt;Key performance thresholds reached:&lt;/h2&gt;
&lt;ul class="custom-ul"&gt;
 	&lt;li&gt;Response times for common Flux aggregation queries are subsecond for standard time series workloads, and just a few seconds for the largest workloads we see on the platform. This represents a reduction in query duration of up 2 to 60 times depending on the complexity of your data.&lt;/li&gt;
 	&lt;li&gt;Viewing an organization's usage is 25 times faster, and average load times for the &lt;a href="https://cloud2.influxdata.com/usage"&gt;Usage&lt;/a&gt; page are now subsecond.&lt;/li&gt;
 	&lt;li&gt;InfluxDB Cloud dashboards are now twice as fast (yay for de-duplicating queries!). Many aspects of the dashboard experience have sped up considerably, including opening dashboards, configuring cells, changing time ranges, and rendering visualizations.&lt;/li&gt;
 	&lt;li&gt;Optimizations have made previously unrealizable visualizations possible, such as viewing graphs with raw data between 20,000 and 300,000 series. Smaller graphs plotting less than 20,000 series are 45% faster as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Absolute operating performance is only part of a “measure of speed”; time to value is also a contributor to whether or not users perceive a platform as fast.&lt;/p&gt;

&lt;p&gt;This is why you can now get to query results faster in two additional ways:&lt;/p&gt;
&lt;h2&gt;1. Building optimized queries by default&lt;/h2&gt;
&lt;p&gt;We’ve introduced a bunch of automatic optimizations in the Query Builder. This means you won’t waste time over-fetching data and then iterating down to a manageable size.&lt;/p&gt;

&lt;p&gt;We take the time range — whether it’s one hour or one month — and automatically select a time window that will return displayable results based on available pixels. To populate the time window, the Query Builder also applies an autoaggregation such as mean, median, or last that matches your type of data. This means the Data Explorer prevents you from building a query that crashes the user interface; you can always switch to the Script Editor to write those browser-destroying queries ;).&lt;/p&gt;

&lt;p&gt;Let’s explore an example of autoaggregations in the Query Builder. Let’s say I have a device streaming data every second, and I want to look at a month’s worth of data. The Query Builder automatically applies a mean aggregation and a time window of one hour. In other words, you can now get a high-level picture of how the device was behaving across the month with the data windowed into manageable one-hour blocks with an average value. No thinking necessary on your part.&lt;/p&gt;

&lt;p&gt;IoT devices are frequently subject to data loss from connectivity issues. The Query Builder now also smooths the data by creating empty time windows so that if a device loses connectivity, and no values are present, it does not make the data’s overall shape artificially spikey. We need to increasingly solve for sparse data as more IoT application developers flock to InfluxDB Cloud.&lt;/p&gt;

&lt;p&gt;Being able to quickly undo the ?automagic? we apply by default is also key. And so, all of these autoaggregations can be removed or reapplied with 1-click.&lt;/p&gt;

&lt;p&gt;Taking it a step further, we often wanted to view the min, max, and mean at once. So we made it easy to add multiple aggregations together and apply them to a single time series by default. To represent this, we’ve introduced a band chart visualization that shows a shaded range between min and max values with the mean or median coursing through it.&lt;/p&gt;

&lt;p&gt;&lt;img class="wp-image-249502 size-full" src="/images/legacy-uploads/autoaggregation-influxdb-cloud-flux.png" alt="autoaggregation influxdb cloud flux" width="938" height="682" /&gt;&amp;lt;figcaption&amp;gt; A shaded range to express min and max values around the aggregated values by mean or median&amp;lt;/figcaption&amp;gt;&lt;/p&gt;
&lt;h2&gt;2. Returning query aggregation results faster (and letting you bail out if you think it's taking too long)&lt;/h2&gt;
&lt;p&gt;Why are Flux aggregations faster? The answer is mostly thanks to data locality breakthroughs.&lt;/p&gt;

&lt;p&gt;We now perform the aggregation where the data is stored instead of moving all the data to perform the aggregation. We used to run many of the queries in the query tier, which makes sense, but we now examine the query and see what can be run in the storage tier prior to dragging the data set across the network.&lt;/p&gt;

&lt;p&gt;Here’s a list of the aggregations functions we optimized:&lt;/p&gt;
&lt;ul&gt;
 	&lt;li&gt;First&lt;/li&gt;
 	&lt;li&gt;Last&lt;/li&gt;
 	&lt;li&gt;Count&lt;/li&gt;
 	&lt;li&gt;Sum&lt;/li&gt;
 	&lt;li&gt;Min&lt;/li&gt;
 	&lt;li&gt;Max&lt;/li&gt;
 	&lt;li&gt;Mean&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With the exception of Mean, the functions can be used in any permutations of the following code:&lt;/p&gt;
&lt;pre class="line-numbers"&gt;&lt;code class="language-javascript"&gt;|&amp;gt; range
 |&amp;gt; filter
 |&amp;gt; group
 |&amp;gt; aggregateWindow(fn: first/last/count/sum/min/max)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;While we hope your response times are snappier, we also built a new escape hatch. You can now pause queries by clicking a &lt;strong&gt;Cancel&lt;/strong&gt; button that appears after one second without smashing the browser back button and losing everything.&lt;/p&gt;
&lt;h2&gt;The role of competition as a performance improvement driver&lt;/h2&gt;
&lt;p&gt;There are real trade-offs between feature work and continuous performance improvement. For our cloud-native service, we’re as committed to fully realizing a scalable and highly performant stack as we’ve ever been. We won’t lie. It was a lot easier when InfluxDB was the only solution defining this emergent time series database category. Today, we’re competing more on performance than we ever have before, and ultimately, that’s a fantastic driver for us to do our best work even as the landscape gets more complex and crowded. Having more players allows us to retest that we’re the best solution for time series use cases against real alternatives.&lt;/p&gt;

&lt;p&gt;Many of the performance issues we encounter aren’t about InfluxDB Cloud itself but rather how related technologies interplay on the platform. This means our team is optimizing not just every detail of the platform, but also striving to learn all the nuanced best practices of dozens of integration points that we need to stay true to our open source values.&lt;/p&gt;

&lt;p&gt;We’re grateful that our competitors and loyal fans are pushing us so hard. “Good” may be good enough for some, but most of us want more than that. We’ll continue performance engineering while we also release new, category-defining big bets such as inventing a new programming language (Flux!) or rewriting our popular database from scratch (InfluxDB OSS 2.0!). Our track record shows InfluxData doesn’t do “business as usual” — we’ll wager that’s why you like us so much.&lt;/p&gt;
</description>
      <pubDate>Wed, 19 Aug 2020 06:00:22 -0700</pubDate>
      <link>https://www.influxdata.com/blog/how-we-made-influxdb-cloud-and-flux-faster/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/how-we-made-influxdb-cloud-and-flux-faster/</guid>
      <category>Use Cases</category>
      <category>Product</category>
      <category>Developer</category>
      <author>Molly Norris Walker (InfluxData)</author>
    </item>
    <item>
      <title>What Happens When User Research Meets Database Development</title>
      <description>&lt;p&gt;Fast-growing products are not overnight successes contrary to what you often hear. At InfluxData, we’re on a mission to build a user base from scratch with our new flagship product &lt;a href="https://w2.influxdata.com/products/influxdb-cloud/"&gt;InfluxDB Cloud&lt;/a&gt;. Every new user has to go through a &lt;a href="https://cloud2.influxdata.com/login"&gt;signup flow&lt;/a&gt; to create their account. So it must go as smoothly as possible. User research and design experimentation are the way we’ll reach this goal, and the main ingredient in this recipe is you: the community member.&lt;/p&gt;

&lt;p&gt;In this article I’ll explain some outcomes so far, why you would want to participate, what to expect, and how to get involved in user research. It’s the less-visible work of designing and iterating that will make our core time series platform the most useful and powerful to handle massive and increasing volumes of data.&lt;/p&gt;

&lt;p&gt;Not only do we have a freshly minted product — InfluxDB Cloud — but we also had a newly expanded design team both in terms of headcount and strategic scope. Over the last few months, the design team has doubled from two to four people, and we widened our remit to include product design and user research. Previously, the team had been focused on building and implementing a front-end design system called &lt;a href="https://github.com/influxdata/clockface"&gt;Clockface&lt;/a&gt;. (It’s awesome by the way.)&lt;/p&gt;
&lt;h2&gt;A hybrid user research approach&lt;/h2&gt;
&lt;p&gt;We take a hybrid approach to user research, so at the outset of reviewing the 5-step signup flow, we looked at quantitative data to see where people were dropping off. The audit revealed a number of findings, and we scheduled some qualitative in-depth interviews with new Cloud users to see if we could better understand why drop-offs were happening and quickly get feedback on some of our early ideas for solutions.&lt;/p&gt;

&lt;p&gt;Our users quickly set us straight, and we drove their insights into a redesign with an emphasis on the account creation page.&lt;/p&gt;

&lt;p&gt;Here are a few of the design changes for the account creation page:&lt;/p&gt;
&lt;ol&gt;
 	&lt;li&gt;Make it more apparent what this step is for and what comes next. We changed the headline to "Where do you want to store your data? No credit card required" instead of the more generic, less helpful "Get started with InfluxDB Cloud."&lt;/li&gt;
 	&lt;li&gt;Nobody cares what's included in the free plan when they sign up. As a new user, terms like buckets and query duration don't mean anything, and frankly, people don't care. New users want to get in there and see for themselves.&lt;/li&gt;
 	&lt;li&gt;It should always be super clear what the person needs to do to progress to the next screen. We made a more prominent checkbox to accept the terms of service with a tooltip callout that says, "Don't forget this step!" Because let's face it — most people miss this and can't figure out what to do to get past the page.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img class="size-full wp-image-242282 aligncenter" src="/images/legacy-uploads/user-research-database-development-influxdb-cloud.png" alt="user research database development" width="829" height="1035" /&gt;&lt;/p&gt;

&lt;p&gt;After making these changes, we saw a decrease of 4.21% in exits for this page and a drop in the average time spent on page from 1:02 to 45 seconds. Thanks to community members spending time with us, more people are now able to get through the door to InfluxDB Cloud and join the party inside. (Ain’t no party like a time series data party.)&lt;/p&gt;
&lt;h2&gt;Why you should participate in user research&lt;/h2&gt;
&lt;h3&gt;Sneak peek of new features&lt;/h3&gt;
&lt;p&gt;In user research sessions, you will see new design and functionality before anyone else. We will show you clickable prototypes or walk you through our Acceptance environment to review working features before they’re deployed. You will know what’s coming and have a chance to influence the direction of the future product.&lt;/p&gt;
&lt;h3&gt;Make the product better&lt;/h3&gt;
&lt;p&gt;We are often wrong. Our first guess on how to tackle a problem often misses the mark. We’re rooted in time series land, and we need outside perspective. As a user of InfluxDB, we hope you want to make the product better, and the less experience you have with it the better. When we show you a prototype, we’re not testing you; we’re testing us.&lt;/p&gt;
&lt;h3&gt;Fun incentives&lt;/h3&gt;
&lt;p&gt;You might not know that InfluxData is famous for something other than our time series platform. But we are. We’re famous for our socks! They’re designed in Austin and made in the USA. For research participants, we offer these beautiful socks or a $25 Amazon Gift Card as our way of saying thank you.&lt;/p&gt;

&lt;p&gt;&lt;img class=" wp-image-242283" src="/images/legacy-uploads/influxdb-cloud-user-research-influxdata-socks-gift-card.png" alt="InfluxDB Cloud - user research InfluxData socks gift card" width="1048" height="690" /&gt;&amp;lt;figcaption&amp;gt; We say ‘thank you’ to research participants with a $25 Amazon Gift Card or our famous socks (golden retriever not included)&amp;lt;/figcaption&amp;gt;&lt;/p&gt;
&lt;h2&gt;What to expect in a research session&lt;/h2&gt;
&lt;p&gt;A user research session is a fancy term for a video call. Designers lead sessions, but we also have other InfluxData staff join, usually an engineer or product managers who are working on that feature. They want to hear directly from you, and might chime in to ask a more in-depth question.&lt;/p&gt;

&lt;p&gt;Other aspects of a user session:&lt;/p&gt;
&lt;ul&gt;
 	&lt;li&gt;1 hour Zoom call to walk through new design prototypes or working code&lt;/li&gt;
 	&lt;li&gt;Casual, free-flowing conversation — there are prepared questions in a discussion guide, but we'll follow where the conversation seems most interesting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sessions are in-depth and go for at least an hour. We don’t speak to large numbers of people, but focus on getting to know a few people well. We want to understand you and your challenges. If your schedule changes on the day, we can shorten or lengthen sessions as needed. We’ll always check with you at the beginning to see what your timing constraints are.&lt;/p&gt;
&lt;h2&gt;How to participate in user research&lt;/h2&gt;
&lt;p&gt;We reserve a block of days to do user research every month. We know our community is global, so we will always try to align with different time zones with sessions from 06:00-20:00 PST.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;February&lt;/strong&gt; sessions are now available from February 11-13.
&lt;strong&gt;March&lt;/strong&gt; sessions are now available from March 25-27.&lt;/p&gt;

&lt;p&gt;&lt;a class="et_pb_button" href="https://calendly.com/influxdata-research/cloud"&gt;Book Your Research Session&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Join the Research Google Group, and we’ll email you when there’s a new monthly round of research.&lt;/p&gt;

&lt;p&gt;&lt;a class="et_pb_button" href="https://groups.google.com/a/influxdata.com/forum/#!forum/research"&gt;Join&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope to learn from you in a Zoom call soon.&lt;/p&gt;
</description>
      <pubDate>Thu, 30 Jan 2020 21:39:45 -0700</pubDate>
      <link>https://www.influxdata.com/blog/what-happens-when-user-research-meets-database-development/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/what-happens-when-user-research-meets-database-development/</guid>
      <category>Use Cases</category>
      <category>Product</category>
      <category>Developer</category>
      <author>Molly Norris Walker (InfluxData)</author>
    </item>
  </channel>
</rss>
