I love taking a moment to reflect at the start of a new year. As a lead of CircuitPython, I put out a call for other’s thoughts about CircuitPython in 2019 a couple weeks ago. Below are my personal thoughts. I’m not covering as broad of a scope as I did last year because I hope others will fill in those pieces. We’ll aggregate everything together into a broader post later this January.
I have two core priorities for CircuitPython 2019. The first is to further empower folks from our community. The second priority is to improve the CircuitPython workflow further. There are many more things I’d like to see happen but these two are the most important to me.
Community is one of the defining aspects of CircuitPython and Adafruit. In 2018 we’ve had many newcomers into the CircuitPython project. Much of this growth grew out of Adafruit CircuitPython library efforts led by Kattni and the CircuitPython libraries on CPython effort led by ladyada. It has been awesome.
As we grow bigger and bigger we need to continue to empower community members to help out at every level. I really like this node.js post about healthy open source. In it they describe how there must be a balance between the number of contributors to a project and the number of users. As a core member to the project, I want to see more people help out so that we aren’t overwhelmed by the number of new users and can add even more awesome things to CircuitPython.
Specifically, I want to find more people to:
- Help create and review core C changes (aka more @danh) including:
- Modifying the supervisor
- Adding additional platform support
- Supercharging the skeleton systems like audioio and displayio.
- Help author the weekly newsletter. (aka more @ptorrone)
- Help run the weekly meeting. (aka more @kattni)
- Help test the latest builds in a number of projects. (aka more @jerryn)
Of course, any and all help is appreciated. The listed tasks are areas I think we’re particularly thin in the number of people. Please reach out to me if you’d like to help in any way.
What was your first computer? Mine was a Dell Inspiron 8100 with a 1.3 GHz Pentium 4 processor running Windows ME. I had used my Dad’s computer before that but the Dell was the first computer that was mine. It was empowering. I learned to code on it. I designed a map for the game Emperor: Rise of the Middle Kingdom and made it in the credits. It was my tool. My thing.
These days, if my nieces are any indication, kids are getting their own computer when they are younger than I was. These computers aren’t a desktop or laptop though. They are phones and tablets that they watch videos on, play games on and create all sorts of things in Minecraft on. This year I want us to take the first step in bringing CircuitPython to mobile devices. That way kids can create all sorts of awesome things using their computer and CircuitPython.
Adding mobile support for CircuitPython isn’t an easy task. I don’t know of a good way to program Python on a touchscreen. I have a feeling EduBlocks is the closest we’ve come to something that will work. So, this year I want us to lay the foundation for interacting with CircuitPython over BLE. We should establish and document a way to transfer files to and from CircuitPython and also have a way to see the serial output. Let’s do this in sample iOS, Andriod and WebBluetooth apps so that people like Josh, creator of EduBlocks, can experiment with how programming works from a touch screen.
Those are the two core things I want to see from 2019. There are many, many other things that 2019 will bring to CircuitPython. Our community has started to chime in so check out posts from @deshipu, @CGrover and @ntoll. After that please post your own impressions (see here for details on how to do that.) Join us for CircuitPython weekly meetings on Mondays at 11am Pacific / 2pm Eastern to talk with others about it and help us write an overview for CircuitPython in 2019. Thanks again! I’m so excited for 2019 with all of you.