|
| 1 | +--- |
| 2 | +layout: blog |
| 3 | +title: Project updates |
| 4 | +author: nick |
| 5 | +--- |
| 6 | + |
| 7 | +One of the things we've not done so well on is keeping the community up to date |
| 8 | +with the general goings on of the project. The mailing list and slack team are a |
| 9 | +constant stream of discussion and debate, but it's easy to forget that not everyone |
| 10 | +follows all the various threads. |
| 11 | + |
| 12 | +So we're going to try to do some more frequent posts here to share what's been |
| 13 | +going on across the project. |
| 14 | + |
| 15 | +### 🎉 1 Million Installs 🎉 |
| 16 | + |
| 17 | +The first thing to highlight is we recently hit 1 million all-time npm installs |
| 18 | +of Node-RED. That's an incredible milestone for what still feels like our little |
| 19 | +project. |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +It's hard to dig much into that number to understand more about where and how |
| 24 | +Node-RED is being used. One thing we can say is roughly 45% of those installs are |
| 25 | +happening within the IBM Cloud - a fact we can infer from the install statistics |
| 26 | +of the `node-red-bluemix-nodes` module. It also doesn't include people using the |
| 27 | +version that comes pre-installed on the Raspberry Pi, unless they have used our |
| 28 | +[update script](https://nodered.org/docs/hardware/raspberrypi) to get to the latest |
| 29 | +version. |
| 30 | + |
| 31 | +We track a variety of other statistics about the project to get a sense of how |
| 32 | +the community is growing, for example the number of people signed up to the |
| 33 | +mailing list and slack team. Whilst none is a definitive indicator by itself, |
| 34 | +they all show a nice steady growth. |
| 35 | + |
| 36 | + |
| 37 | +### 0.18 updates |
| 38 | + |
| 39 | +We've had lots of great feedback on the projects feature we released in 0.18, but |
| 40 | +there's lots still to do. |
| 41 | + |
| 42 | +The most common problems relate to authenticating with remote git repositories. |
| 43 | +There are some outstanding issues to work through - the stickiest relating to |
| 44 | +HTTPS authentication on Windows. On the whole, if you use SSH keys, things should |
| 45 | +just work. |
| 46 | + |
| 47 | +We're also thinking about next steps for the Projects feature. The two hot topics |
| 48 | +are: |
| 49 | + |
| 50 | +1. how to make a Project a deployable artefact. The goal is to be able to clone |
| 51 | + a project, `npm install` to get its dependencies and then simply `npm start` |
| 52 | + to run it - without ever touching the editor. |
| 53 | + |
| 54 | +2. how to have environment-specific settings for your nodes. For example, you may |
| 55 | + want to use a local MQTT broker when developing and testing locally, but when |
| 56 | + you deploy to a 'production' environment, you want to use your production |
| 57 | + broker. We already support using environment variables to allow dynamic configuration |
| 58 | + of nodes (a fact we really need to document), and we want to see how to better |
| 59 | + expose this via Projects. |
| 60 | + |
| 61 | +### Updating the roadmap |
| 62 | + |
| 63 | +The roadmap for 1.0 is still the overarching plan for what we are doing and it |
| 64 | +will continue to evolve as things progress. The way we lined-up some of the |
| 65 | +technical content hasn't quite panned out - for example, the Library redesign |
| 66 | +didn't make it into 0.18 and we don't currently have an outlook for that particular |
| 67 | +piece. |
| 68 | + |
| 69 | +We need to put together a more concrete plan for 0.19 so we don't end up going |
| 70 | +another 6 months before another milestone release. Ultimately the content of the |
| 71 | +releases is shaped by feedback from the community and what contributions are made. |
| 72 | + |
| 73 | +### Editor/Runtime Split |
| 74 | + |
| 75 | +One of the most important features on the roadmap is splitting the editor and runtime |
| 76 | +in to their own packages. This enables many different use cases for Node-RED. |
| 77 | + |
| 78 | +It's also quite a hard problem to get right; to ensure the API we expose between |
| 79 | +the editor and runtime is right. This is the item we've been focussed on over |
| 80 | +the last couple of weeks. As with all major functional items, there's a [wiki page](https://github.com/node-red/node-red/wiki/Design%3A-Runtime-Editor-Split) |
| 81 | +where we're working on the design. Right now there's more scribbled on paper |
| 82 | +than there is on the wiki, but that will change over the coming days. |
| 83 | + |
| 84 | + |
| 85 | +### Testing nodes |
| 86 | + |
| 87 | +Mike Blackstock has taken a lead in helping standardise how 3rd parties can write |
| 88 | +test cases for their nodes. The core nodes already had a test helper module which |
| 89 | +Mike has extracted out into its own repository, [node-red-node-test-helper](https://github.com/node-red/node-red-node-test-helper). |
| 90 | + |
| 91 | +It's a work in progress, but the hope is this will become an invaluable tool in |
| 92 | +creating high-quality nodes. |
| 93 | + |
| 94 | +If you want to find out more, come chat in the #testing channel on [slack](https://nodered.org/slack/). |
| 95 | + |
| 96 | +### Flow Library updates |
| 97 | + |
| 98 | +Mike has also been busy giving the [Flow Library](https://flows.nodered.org) |
| 99 | +some much needed updates. |
| 100 | + |
| 101 | +The page used to retrieve the complete list of all nodes and |
| 102 | +flows every time someone loaded it. In the early days that wasn't a problem, but |
| 103 | +as we now have well over 2000 things listed, it was about time we made that |
| 104 | +initial page load much more efficient. |
| 105 | + |
| 106 | +Thanks to Mike's work, it now loads the items a page at a time and makes for a much |
| 107 | +quicker load. There's still some more tweaks to make on this, but it's a solid |
| 108 | +starting point. |
| 109 | + |
| 110 | +As if that wasn't enough, Mike also added the ability to give any node a rating |
| 111 | +out of 5 - if you're logged in via the GitHub button. Over time this will let users |
| 112 | +get a better sense of the quality of any particular node. We'll also look at how |
| 113 | +we can expose the ratings in the editor's palette manage at some point. |
| 114 | + |
| 115 | +We've added a 'Report this module' link to each node's page. If you have any concerns |
| 116 | +about the content of a node, such as inappropriate or unsuitable material, this lets |
| 117 | +you notify the admins to take a look. This is *not* about reporting bugs and seeking |
| 118 | +help in using the node - those sorts of reports should be directed at the node authors. |
| 119 | + |
| 120 | + |
| 121 | +### Cookbook |
| 122 | + |
| 123 | +Finally, an appeal. We started the Cookbook a year ago as an effort to get lots of |
| 124 | +simple recipes together that cover the basics of what you can do with Node-RED. |
| 125 | + |
| 126 | +Over time, the hope is to expand it to cover more complicated recipes, but we're |
| 127 | +keen to ensure we have the basics covered first. |
| 128 | + |
| 129 | +Sadly we've not made as much progress as we'd hoped in filling up the cookbook. |
| 130 | + |
| 131 | +If you're a keen user of Node-RED and wanted to give something back to community, |
| 132 | +this would be a great way to get involved. Come over to the #docs channel on [slack](https://nodered.org/slack/) |
| 133 | +and find out more. |
| 134 | + |
| 135 | + |
| 136 | +### Learning more about Node-RED |
| 137 | + |
| 138 | +We often get asked about how to get started with Node-RED and what material is |
| 139 | +out there to help learn. |
| 140 | + |
| 141 | +A couple of pointers to help get you started: |
| 142 | + |
| 143 | +1. [Coursera : A Developer's guide to Node-RED](https://www.coursera.org/learn/developer-nodered) - from IBM. |
| 144 | + Part of a series of courses on IoT. *Disclaimer: I helped create this course*. |
| 145 | + |
| 146 | +2. [Node-RED Programming Guide](http://noderedguide.com/) - from Mike and team |
| 147 | + at SenseTecnic. A series of lectures covering a wide range of topics. |
| 148 | + |
| 149 | + |
| 150 | +If you know of other useful resources, please do share them with us. We want to |
| 151 | +create a collection of links on [nodered.org](https://nodered.org) to help users |
| 152 | +find this sort of thing. |
0 commit comments