Technically Speaking

I'm Chris Teters, an attorney in consumer protection, with a love of technology, gaming, and debate. I'm fasciated by the intersection of law and tech.

Despite my ordinarily boisterous personality in communities where I feel comfortable, I suffer from moderate to severe anxiety in new situations or situations where I am not fully confident in myself. I’ve been a public communicator for most of my life and if you ask me to pop up and give a speech or act out a part or do some improv, I’ll gladly make a scene. But ask me to do some interpersonal communication, especially where I can be perceived as talking down to another person? Fly me to the moon and leave me there before I need to do that.

So perhaps to those of you like me, introverts with a seemingly contradictory ability to open yourself up to the public, perhaps you’ll understand my greatest fear in the tech world: contributing to open source projects.

I get the incongruity. I am a supporter of FOSS projects. I promote them in daily life, often in places or to people who may not get the point. I utilize FOSS software on a daily basis, including the platform I’m writing this blog post on. And yet, despite my deep understanding that these projects depend on communities of support, I struggle to ever offer more than the most minimal of contributions.

This is largely due to me utter inability when it comes to software. I am an attorney, often involved in tech focused cases. I’ve got considerable experience in tech support positions and hell, I have a computer science degree and have been writing code for the last 20 years. And yet, when it comes to software more complex than solving specific problems I experience in my life, I’m a complete buffoon. In fact, I decided to transition from computer science to law, because law school was easier.

This anxiety due to my own inability is compounded by the brutality experienced by commenters and bug hunters on the mainstream platforms. I think we’ve all seen the threads of a user asking what may seem like an obvious question to some getting obliterated for not searching, or not understanding, or simply not divining the solution. And perhaps this negativity is catching up to the traditional platforms. StackOverflow is in the process of killing itself largely for the toxic community it developed over years of poor moderation and worse commenting. Reddit is no killing itself due to greed and taking a decent repository of information with it. Twitter was never a useful tool for support and now is useless.

So what is a FOSS advocate to do when there is a bug in some software I use, or an error I can’t solve, or feature that would help make a project more usable. I used to be able to reach out to Reddit. For whatever reason, it felt like everyone on Reddit was either a bot or at least as ignorant as me. Maybe it was simply because I had been on the platform for over a decade and I was not afraid to ask questions. Then again, I never wanted to venture too deep into r/programming and be torn to shreds by people who either were smarter and less patient than me or who were at least confident enough to pretend to be more competent.

Instead, the advice has become to either contribute feature or bug reports on a project’s github/gitlab page or, if the project is large enough, go to the forums. These too, however, trigger considerable anxiety for a person like me. Going to a project’s github page and filing a bug report is like calling out an artist for a missed stroke or an actor for a flubbed line. It can be helpful in the right context, but can be damaging if done without care. I always feel, when filing a bug report or feature request a need to be deferential to the maintainers time and expertise, which invariably makes the report less valuable. Most of the time, I want to make sure I’m saying something meaningful so I don’t waste the maintainer’s energy, and even then a maintainer may come back hot and bothered because I missed a similar bug or misunderstood how a feature was meant to work. I can only imagine the frustration of receiving 100 more reports like mine, and thus, the anxiety spiral drives further. Forums, filled with real and pretend experts can be even worse.

God help me if I ever want to submit a pull request.

What’s The Point?

Why write up this whine about my personal problems with anxiety? I saw an article the other day describing the extreme mental health toll on community managers for the variety of fediverse. The article called for mental health support for fediverse service providers, managers, and moderators, as running an instance constitutes serious mental, physical, and emotional work. The article got me thinking about my own experiences with mental health and the FOSS community.

I mentioned I’m a public communicator and a lawyer. I have lots of experience with criticism of my work, both the constructive and destructive variety. I’ve developed emotional tools to incorporate that criticism in healthy ways, but it has taken considerable effort, training, and support from friends and community members. Many in the FOSS world are not so lucky.

FOSS by its collaborative nature, invites constant criticism in the form of bug reports, feature suggestions, and pull requests. If someone doesn’t like the work you are doing, they may just fork your work and taken your efforts in a different, often contradictory direction. FOSS encourages not only collaborative efforts, but strong, opinionated debate about anything from high level operating systems to low level APIs, from important issues like accessibility by design to the trivial about default color schemes. These fights occur thousands of times a day on thousands of project pages and forums and social media platforms and microblogs. And at the center of each fight is a designer or engineer or hobbyist or highly stressed team. At the center of each fight is a person, with emotions and hopes and plans and egos.

In computer science school we would talk about the grand religious wars of the computer world. Tabs vs spaces. Emacs vs Vim. Windows vs Linux. The educational environment introduced these fights as fun or whimsical. As core to the CS experience, not because they ultimately mattered, but because everyone who taught you, who came before you had an opinion, and you needed to have an opinion to form a community. And in these large scale fights, its ultimately fine. There are zealots and priests and followers and believers on all sides. You have a community to support your choices, and community to engage in to debate your choices. For the large projects, we do not have to consider why we call these religious debates.

Small-Scale Inquisition

We call them such because people get passionate, zealous, and sometimes irrational in their belief that their decision is right. Their faith that their approach is supreme. For the large projects, their are defenders at the ready and the core leaders of each individual faith need not face the attacks of the opposing belief alone.

But when the zealots come for a passion project run by one maintainer, the buffer is gone. The sole maintainer must weather the slings and arrows of those who believe their way is right. The lone programmer must regularly make decisions about whether this project is ultimately worth it for them to maintain, given the criticism or demands or attention of the faithful. If their project is forked while they are actively maintaining the project, it can feel as if a rival religion has stolen the heartbeat of your work. If the maintainer quits, then we the people lose out on any future updates for the project unless another poor soul wishes to take up the mantle. Or worse yet for some, the project withers on the vine as both users and maintainer decide it isn’t worth it.

Perhaps this has always been the way of FOSS. Programs developed from passion and collaboration for sure, but tempered by the flaming steel of a hungry public or forever forgotten. The mental health toll on the maintainer be damned for all time, so long as they fix the bugs I want gone.

I may be wildly off the mark with all of this, projecting my own insecurity onto the FOSS world. That said, I’ve seen developers and other creatives complain about unrelenting users or abandon projects because of the unending wave of attention. This has always been the bargain. A successful project garners attention, but a successful project is largely successful because it utilizes that attention to grow. If Mozilla began ignoring its user base entirely, the project would not have users for long. So too must any project that seeks a wide user base engage with the potential firehose of comments. So is the mental health harm and burnout all that there is?

I think we can do better.

The FOSS Approach to Mental Health

I think three things should happen to help offer a more healthy FOSS space.

First, users submitting bug reports, feature suggestions, and pull requests or just discussing a FOSS project in another venue should always remember there is another person on the other end of the project. In my experience, most people in the FOSS community are excellent to each other, but to the extent people try to emulate Linus Torvalds when interacting with dev who makes a tool to turn dog pictures into gifs, we, as a FOSS community can do well to calm our collective butts. This includes discussions in more traditionally toxic places like Reddit, Twitter, or the various “Stack” platforms.

Second, we need better search tools to help users identify whether their submissions are duplicates. As Google rots due to over reliance on Reddit and other social media platforms for search results, users will struggle with the choice of spending hours (or more realistically tens of minutes) trying to see if someone has filed or fixed a duplicate issue with the speed of just asking someone for help. I am empathetic to those who do not wish to see the same issue reported or discussed over and over again, especially for devs who must constantly respond to duplicate conversations. On the flip side, people in a project community should not run people off when they ask the simple questions, even if they are duplicative.

We are human, and often American, where a common experience is the instruction, “If you don’t know something, just ask.” While that is not a universal experience, many users will come to a FOSS project or FOSS community with the sense that talking with someone may be easier and faster to get a resolution rather than digging through approximate solutions that may or may not apply. Patience is the virtue, but those developing better tools for users to conduct self help will make everyone’s life easier.

Finally, I think we need more non-project specific, dev support groups. So many FOSS communities are focused on either a specific project, its uses, problems, and future, or a general sense of “what are you working on now.” My experience in computer science school and as part of many FOSS communities over the years suggests that many developers are workaholoics. In school you were expected to do your homework and then, in your free time, do other development work for “fun.” There is a sense with many devs I know that if you aren’t working on some project, you aren’t using your time right.

From my understanding, this is mindset is how you speedrun burnout. As many FOSS projects are volunteer driven, often passion projects, we as a community need to create space for devs to take breaks, enjoy community that is not focused on work, and offer help and support to devs who are facing burnout or mental health problems. Communities of support and escape are important for dealing with a variety of mental health issues, be it my anxiety, the substance use disorders with which so many are afflicted, or burnout. The FOSS community is a grand and welcoming community, so we should not lose sight of the importance of offering space for devs to not be focused on their role as a “dev” and instead can simply be part of the community.

Each of us in the FOSS community should be empathetic and offer a hand or ear in support as frequently as we are able.

To the three people who will read this, I certainly appreciate that I am making sweeping generalizations based on my own anxieties and experiences. Perhaps your experience in the FOSS community is different, and, if so, good! From my own view, I’ve seen burnout hit projects I care about more than once, and I only hope that we can build stronger communities of support for people in the FOSS community, to ensure that we remain vibrant and diverse, beyond just a workaholic culture.

Feedback is welcome!

A few years ago, I needed a new laptop for my secondary job. I wanted something lightweight with a long battery life, while also being capable of playing light games and streaming videos. At the time, summer of 2021, the windows laptop scene was bleak and, to get something that wasn’t e-waste in the box, it seemed I would need to spend around $1500 minimum to get an overpriced device.

Instead, I decided to knock off two birds with one stone as I was also in the market to get a tablet to replace my original Samsung Galaxy Tab 10.1 from nearly a decade prior. As the world of Android Tablets has been bleak for years (and potentially changing now that large foldables are becoming more popular), I decided to give the iPad Pro a shot. After all, what is a computer?

Well, I swiftly learned that, despite the Pro in the name, the iPad simply is not capable as a laptop replacement. Rather than using a keyboard case, I carried a mechanical keyboard and a mouse with me to do my work and, at the best of times, it worked okay. The “solution” was clunky, time consuming to setup, and by no means lightweight. The iPad’s gaming selection was poorer than I realized, but it does serve as a great media consumption platform.

Ultimately, I caved a year later and bought a new laptop that ultimately served all of my needs better than the iPad and I relegated the tablet to a media consumption and note taking device. However, while I love my laptop, occasionally the small footprint and extra portability of the iPad could serve as a quick writing tool. So as a happy medium between the laptop and notes written by hand, I decided to once again attempt to use the iPad as more than just a media device.

Enter the Logitech Folio Touch.

At $159 USD, the Folio Touch sits comfortably at a middle price for keyboard cases for the iPad. Above is the Logitech Combo Touch and the Apple Magic Keyboard, below is the Zagg Pro Keys or the Logitech Slim Folio. I decided on the Folio Touch for three primary reasons: protection, connection, and pencil storage. The Folio touch offers a bumper rim around the ipad, unlike the Magic Keyboard, it provides direct connection rather than Bluetooth like the Zagg, and it provides some coverage for the pencil to keep it in place unlike the Combo Touch. I also liked they idea of having a small touch pad, though that wasn’t a driving factor.

So, what are my first impressions of the device?

The Keyboard

I’ll admit, I expected the keyboard to be mid at best. It’s a scissor-switch, laptop style keyboard, which I expected to feel mushy or awkward. Instead, I’ve found the keys to have a delightful, tactile bump, a decent travel (akin to higher end laptops), and the design makes it simple for a touch typist to feel at home. The keys are smaller than your typical laptop, but they are not so small that I get lost searching for underused keys. They are ABS plastic, so they will shine and smooth with time, but as a first impression, I’ve found myself capable of typing with ease.

The keyboard also comes feature packed for its small size. The keyboard has a full row of iPad specific function keys, as well as Mac modifier keys. The function keys provide quick access to brightness, media controls, screen lock, quick desktop access, search, and the on-screen keyboard. The keyboard also includes backlit keys, though, as the power for the keyboard is drawn from the iPad itself, the backlight is hardly impressive. Just enough to offer some assistance in a darkened room.

The keyboard also includes some additional elements I wouldn’t ordinarily expect. A full arrow cluster not locked behind an alternate layer is delightful. The “globe” or “planet” or “web” key (to be honest, I have no idea what Apple expects me to call the button) provides a meta layer through iPadOS, though it is often app dependent. The palm rests are just large enough for someone with my large hands to still find them comfortable without being distracted by the edges jabbing the palms of my hands.

For the price, I expected a good but not great keyboard. My first impressions are that it’s actually better than expected. We’ll see if the keyboard holds up after a year or two of mild to moderate use.

Build Quality and Design

The Folio Touch is by no means a rugged case, but it provides a confidence boosting amount of rubber around the edge and back of the case. I initially noticed the heft and rigidity of the case. Unlike the plastic and lighter weight Speck case I previously had on the iPad, this case feels more durable and resilient.

The case is covered both on the keyboard and on the shell in a textured material feeling like cloth. While typing it provides a comfortable rest for the palms and, in the hand, it provides a premium feeling tactile experience. It reminds me of the cloth case Amazon offers for its Kindle products, and I’ve always enjoyed the feel of those products in the hand.

The case comes with a stiff kickstand used to put the tablet in laptop or media mode. The kickstand has a rigid travel allowing it to stay in a variety of positions; however, it also causes the footprint of the device to be larger, in laptop mode, than either a traditional laptop or the Magic Keyboard with its floating stand. Still, for the price, the rigid stand feels nice and I feel I can trust it to hold its position. That said, we’ll see how long that rigidity lasts, and if, in time, the stand loses its usefulness.

That’s not to say everything is rosy about my initial impressions. Unlike the Speck case, there is no protective cover for the camera lenses on the back. The camera bump is sufficiently protected, but, while traveling, the lenses have no protection from scratches. On the flip side, the case provides wrap around protection for the edge, where the Speck left the power button and volume rocker exposed for easier access. This means the Folio Touch requires you to push on the case itself to operate the buttons on the iPad.

The keyboard is also more flexible than I initially expected. While the flexibility does not seem to cause any discernible difficulty when typing, I am concerned about the long term durability of the palm rests. Finally, the case is not quite compatible with all models of the iPad Pro. While size-wise, the case will fit an iPad Pro from the 1st through the 4th generation, the speaker cutouts on the case do not quite line up with the speaker grills on the 3rd and 4th generation iPads. There seems to be enough space to not cause a material burden in the audio output of the device, but it is disappointing that a premium device advertising compatibility is not fully compatible.

Taken in whole, even in light of the problems with the case, I am happy with the design and quality of the case, and it seems to be in line with my expectations of a $159 product.

Trackpad

There is not much to say about the Folio Touch trackpad. It is glass covered pad, so tracking is silky smooth, but, as to be expected given the size of the case, the pad itself is reminiscent of trackpads on netbooks from a decade ago. That said, it supports touch to click as well as distinct left and right click zones. It supports multitouch gestures, and has an excellent feeling response time (though do note, I’ve not actually tested this in any meaningful way).

The primary question for the track pad is if it’s worth the extra money over the Slim Folio. I’d say yes for now. The Slim Folio and Folio Touch appear to have the same keyboards, but the Folio Touch moves the keyboard up and provides a palm rest. The Folio Touch design also provides the more functional kickstand rather than the traditional “tenting” approach of most folio cases. As such, I think the track pad is a worthwhile addition.

Pencil Protector

Perhaps the weakest part of the case is the Pencil protection. The case is held shut with a strong magnet behind the keyboard flap connected with a strap attached to the back of the case. The strap will stretch over the pencil providing some protection against lateral movements jarring the Pencil loose from its magnetic perch on the edge of the iPad. This only provides protection while the case is closed, but that’s more than the other cases identified above can offer.

All that said, the strap seems more designed to fit with the flatter Logitech Crayon. The strong magnets on the case are slightly higher on the back of keyboard flap and so require a looser hold on the pencil than if the magnets were a few millimeters lower. The Crayon can slot into a sleeve in the flap, which offers a more secure hold than the looser grip with the Pencil. Still, some protection is better than none. The Speck case had a, in effect, a slot for the Pencil; however, the slot offered little protection and the Pencil could easily be jostled from the case.

We’ll see if this protection offers more than the Speck or if it simply offers a different type of protection.

Conclusion

As you have no doubt surmised, if you have made it this deep into a first impressions review of a years-old product, I’ve typed this article as an excuse to use the keyboard I’ve just acquired. All in all I’m happy with the keyboard. I notice my battery life has drained faster than expected while using the board, so it is likely I’m losing some of the theoretical 10 hour maximum on the iPad Pro to the operation of the board, but I cannot yet tell if it is more than I lose to keeping the Pencil charged or if its somehow a significant amount of drain. It’s something to keep an eye on and may ultimately shade my opinion of this case.

Still, with my first impressions, I’m happy with the case and look forward to the added functionality for the pad.