You are here


Digital Kiosk and Signage with Stretch

Since 2010, I've been supporting an inexpensive digital signage solution (with help from others). I've built four different versions of the system now with minor improvements along the way. The first using Macintosh computers. The rest have used Raspberry Pis: first "wheezy" Raspbian, then "jessie", and now "stretch".

I actually started working with stretch at first to set up a kiosk for the advising office. I thought about starting with our existing image for digital signage, but the new hardware wouldn't boot from jessie. So I switched to stretch. And since I was starting over, I spent some time looking at new recipes.

I was really pleased with this recipe with began with a minimal image and then just added what was needed to run a web-browser. I ended up modifying the command-line flags to chromium, since the browser requires some hands-on configuration every morning to use the advising software.

Advising Kiosk

In the end, we have a cute little display with the pi attached to the back of the monitor with a VESA mount. Note the card reader: students should just be able to swipe to log in, although the card reader isn't quite as reliable as one could hope for.

Raspberry Pi in C4Labs Zebra case with VESA mount

Once I'd built the kiosk, I decided to build a new digital signage image based on "stretch" while I was still familiar with everything. It took me a few hours to migrate over the firewall script we use, and the script for configuring and starting the sign. I also built out something I had planned for but never finished: the signs look up their configuration using a CSV file and early on I included a field that has the time they should switch from day-time to night-time behavior (when they could either show a different URL or turn off the display). Previously, I just had a cron job that ran at 6pm. I took an hour to modify the script to use "at" to schedule the job at the time specified in the file.

I also switched back from Firefox to Chrome. We started with Firefox, then switched to Chrome when Firefox wasn't available on Pis. We switched back to Firefox when we couldn't replicate the behavior of the TryAgain extension (which would let Firefox continue trying to reload pages that had failed for some reason). But the TryAgain extension hasn't been maintained and doesn't work with newer versions of Firefox. But I found a simpler copy of the extension and was able to modify it to work in Chrome.

I've been pleased with this project since we started it which allows us to focus on providing the features people need with a simple, open system. It's been fun and easy and almost perfectly stable.


Recently, I re-read the Curse of Chalion which I hadn't read since it was new. I had found one of the Penric books at the library, which led to buy the other Penric novellas. Ultimately, I was inspired to go back, check out, and reread the entire series by Lois McMaster Bujold, of which Curse of Chalion is the first.

Be warned: if you haven't read Curse of Chalion this post contains spoilers.

I remembered finding the Curse of Chalion very stressful to read. One of the major plot points (greatly simplified) is that the protagonist believes he is terminally ill. There is extensive description of his symptoms and worries. In the end, the character is saved (literally by a miracle). My stress from this plot point colored my whole perception of it, which I am certain is why I hadn't re-read it previously. But this time, I did not find this aspect of the book stressful. I don't think it was because I knew the ending. Instead, I think it was that my own perspective about life, sickness, and death has evolved since then.

It reminds me of when I first saw the War of the Roses. As a callow youth, watching a couple grow apart and their love turn to hatred and bitterness, was utterly horrifying. It was supposed to be dark humor, but for me it was pure horror and tragedy. After another 20 years, however, I found it resonated with me a lot more than it had when I was young.

I've often said that I feel like the same person I was when I was younger. But sometimes it's clear that I'm not. It's helpful to me to reflect on how my own perspective has evolved: from child to parent, from student to teacher -- and that it continues to evolve.

Re-mystifying Technology

As someone who lived through the heady days of the Internet revolution, it's been hugely discouraging to see big corporations gradually stuffing the internet genie back into the bottle. Today's edition is that Google wants to kill the URL.

The early internet was amazing because it was something people could aspire to actually understand. There was a time when many people were interested in learning HTML and, as part of that, learning how URLs worked. Nobody does this anymore. Partly, this is because the technology has become so complicated. But a big part of this complexity is actually unnecessary -- and contributes to empowering corporations to create interfaces that conceal the complexity behind a "consumer" experience.

URLs have become a problem because people don't understand how they work. And because corporations have chosen to make really complicated URLs, it can be hard to tell a "real" URL from a fake one cooked up by identity thieves or malware authors.

As it turns out, however, URLs mostly don't have to be complicated. Google *could* instead undertake an effort to punish sites that use complicated URLs (or "link shorteners") and encourage other technology companies to do the same. Instead, however, we see a continuing effort to conceal the complexity and "re-mystify" the technology. It's rather like the annoying "check engine" idiot-light in your car. There's no reason why they couldn't tell you exactly what the light means. But, instead, auto manufacturers have created a system that requires an expensive, proprietary tool to be connected to the car's computer to read-out the code.

Why? More money for them.

Republic Wireless Finally Comes Through Again

After inexplicably refusing to refund me for the phone I returned and then not responding to my trouble ticket for 48 hours, Republic Wireless sent email that they've reversed the charges, refunding me for the phone. I'll still need to actually pay attention for another week to make sure the refund is finally credited, but hopefully this ends the saga.

I'm glad for the resolution, obviously, and appreciate that Republic Wireless is paying attention to their twitter feed, so I could backchannel what customer service was saying in a forum that seemed to get some attention. But I hope they'll address some of the flaws in their system that resulted in these problems.

I don't think there's anything more they could have done to help me avoid purchasing the wrong phone to begin with. I don't really like the Republic Wireless sales presentation of their phones, which is cutesy marketing rather than detailed technical specs. But you pretty much need to assume that anyway and track down the specifications elsewhere. Republic doesn't make the phones, after all: they're just selling phones that are known to work on their network. This problem is totally on Motorola, that used Adoptable Storage for phones in both their E series and Z series, but not in X.

The documentation on returning phones is too complicated. It tries to support step-by-step directions for a bunch of different kinds of phones. There are a bunch of levels of indents, bold, big blocks of red text, cross-linked pages with similar titles, etc. It's a mess. I might suggest using a check-list where you can reliably test each step to make sure all of the key requirements have been met: Does the phone still appear associated with your active line? Is there a SIM or SD card installed? When you start the phone, does it ask to unlock the screen? etc. This would be more reliable than asking people to blindly follow complex directions.

There were two problems that appeared with their trouble-ticketing system. First, it appeared that when the thread got long, customer-service reps didn't read it all. So several times, I needed to re-explain something that should have been obvious from reading the thread: maybe don't keep using the same ticket for what are actually 4 different problems? Second, it seemed like different reps were providing conflicting information without knowing what each other was saying and doing. This still doesn't explain why I got no response for 48 hours.

From a policy standpoint, it's not clear what it buys Republic Wireless to have a draconian policy like "if you don't remove the smart-lock it will cost you the full purchase-price of the phone". I'm glad to have this policy reversed in my case, clearly, but why have the policy at all if it's not going to be enforced? It seems pretty clear that, from a vendor's stand point, the smart lock is nothing but an inconvenience. Furthermore, the messaging, "Your cancelation (sic) for the above listed phone and/or accessory is now complete" doesn't seem to suggest there are any other steps that can be taken to remedy the situation.

Finally, I have to say that one thing that makes me angriest is when I have to be the squeaky weasel to get the grease. I'm glad to get my money back, but I worry about people who are unable to advocate effectively for themselves. Why put people through this wringer? For me, it was an inconvenience. It would have been an expensive mistake, but still just an inconvenience. At the same time, I was genuinely ready to switch my business to a different provider. (I had already created my account, but hadn't yet ordered the SIM or paid for the service to try it out). I guess at this point, I won't. I can't say I'm really happy with the experience. It shouldn't have been this much trouble.

Republic Wireless Return Scam [updated]

Well, I wouldn't have thought my Republic Wireless runaround could get worse, but it did. Although, I thought I followed their documentation pretty carefully to return their phone, they have refused to refund me. In their documentation, they said:

Perform a Factory Reset: This is a very important step. After you've removed all personal info and screen locks from your phone, you should perform a factory reset. Performing a factory reset will erase everything on your phone and put it back to it's original factory state. It will also remove what's called the "Kill Switch," which is a protection feature added by Google. If you send a phone back to us without removing the Kill Switch, we'll be locked out thus rendering the phone useless and you won't receive a refund for your phone.

So I follow the link to perform a factory reset and it says:

Due to the "Kill Switch" regulation that protects consumer's information from lost or stolen phones, if you have a screen lock set up on your phone, you'll need to verify ownership of your phone when performing a factory reset.

I hadn't set a pin on the phone, so I assume it's all good. But no, if you perform a factory reset using the recovery menu, it doesn't remove the "kill switch". It turns out that the following paragraph on the first page says this:

Important Note: When performing a factory reset, you must follow the instructions that take you through the Settings app on your phone (performing a factory reset through the boot menu won't remove the Kill Switch).

But since I had already followed the link to the factory reset directions, I evidently overlooked this point.

So, after days of trying to sort out their confusing and conflicting documentation, Republic Wireless basically scammed me for the full price of the phone. I followed up on the still-open trouble ticket to see if there is anything that can be done to get them to give me my refund and now they won't acknowledge the comments I've posted in the still-open trouble ticket. Just no response whatsoever. (At least not in 48 hours).

[UPDATE] They have reversed this decision and said they are providing a full refund.

Republic Wireless Progress

After several days of back-and-forth, a new player appeared on the Republic Wireless trouble ticket yesterday. First, in fact, I got a call from a "private number". I don't usually answer calls from private numbers, but I answered anyway. She wanted to confirm that I was, in fact, using the Moto E (I was) and said she believed they had identified a series of steps that would get their system to correctly recognize the phone I was using. Once those appeared, I followed the steps: basically, shut down the phone, pop out the sim card, then start it up without the sim card and do a VOIP reset. In fact, I think the VOIP reset failed. But after restarting the phone with the sim card, she confirmed that the phone's identity was registering correctly with their system, and they were able to provide me with the RMA label.

Now I just need to track the issue until they actually receive the phone and credit me.

Thanks, Janelle, for sorting the issue out. I guess I should have just said shibboleet to start with.

The experience did give me the opportunity to investigate phone plans quite a bit: One conclusion is that Republic Wireless still offers a distinctive service that matches my needs better than most other providers. I don't need lots of data: almost never more than 1GB -- maybe never. Most of the plans focus on "unlimited data". The only plan I liked better was by Tello which offers a Smart Plan: $25/month for 3GB. That's actually closer to what I want. Republic Wireless used to offer a $25 that gave you up to 5GB, but wanted your average use to stay low. That was PERFECT. But you can't get it anymore. I almost never use more than 1GB, but sometimes I get close and then I stress about whether I need to buy another GB. I hate that. A colleague put in a recommendation for Creedo which received recognition by the EFF as the only mobile wireless carrier to have your back on government data requests.

One other observation was that nearly every plan now "throttles" your connection if you go over their limit. This is a new innovation borne of the death of net neutrality. Philip shared an interesting article about Verizon throttling a Fire Department which interfered with emergency services. Thanks, Republicans.

Republic Wireless Runaround Continues

The Republic Wireless saga continues. Yesterday, a new customer service rep appeared on the help ticket. But his first statement made it clear he hadn't actually read the thread of previous messages. After I summarized and we went back and forth, to unambiguously state that I was NOT trying to cancel my service and that I DID want to keep my number, he indicated that they would make the switch for me behind the scenes and that, although I might expect a brief interruption of service and have a different number show up for my phone briefly, they could quickly reassociate my number with the phone and get it working again.

Then the first customer service rep jumped back in and, seemed to have not read the intervening messages and reiterated the same thing she'd been saying the previous day. Shortly after noon she said "Thanks for being so patient. In order to better assist you, we will be escalating your ticket for further assistance. Again, we thank you for your continued patient and understanding". That was at 12:40 yesterday afternoon. Since then, crickets.

This morning, nothing appears to have happened, so I followed up in the ticket to say "It appears no action has been taken. Please send me the label to return the phone ASAP."

While I'm waiting for them to sort out the problem, I found Whistleout which has a nice comparison of wireless carriers. I've identified a number of plans that I might consider if Republic Wireless can't sort this issue out promptly. They keep telling me I need to cancel my service: I can do that, if that's what it takes.

Shopping for New Mobile Carriers While Getting Republic Wireless Runaround







Republic Wireless Runaround

We were early adopters of Republic Wireless, a cell carrier that was an innovator in VOIP phones. Their business model was predicated on getting people to use Wifi for most of their connectivity -- an easy proposition for me, as I spent most of my time at home or at work. In fact, I use almost all of my cell data for playing augmented reality games (like Ingress and Pokémon Go). And generally I've been very pleased with the service. Until today.

I recently got a new cell phone, which I purchased through Republic Wireless. But I discovered, when I tried to set it up, that this model of Motorola phone can't do adoptable storage. (Never mind that my cheaper phone a generation older can do it. As can my son's more expensive model.) Republic Wireless has a generous return policy and I've been trying to return the phone.

Rather than activating the new phone with a new sim card, I had simply moved my existing sim card over to the new phone. So I switched it back, turned on my old phone and did a factory wipe of the phone to return.

But now they're telling me I need to "cancel my service" to "deactivate" the "new" phone: "It is the only way we can begin a return process."

I don't want to cancel my service or deactivate my current phone. But if they're making it this complicated, I guess I should be looking for a new carrier as well as a new phone.

Motorola, Adoptable Storage, Capitalism, and Disappointment

I made sure the first Android device I got had an SD card slot. It came with limited "internal" memory, but an SD slot seemed to offer plenty of space for expansion. Ha. As it turned out, most apps couldn't be moved to the external storage. Or keep their data there. It the end, it turned out to be nearly useless and I realized I'd been sold a pig in a poke.

About a year ago, I got low-end Motorola E4 and discovered that it supported "adoptable storage" by which the SD card was integrated into the device's filesystem. I was skeptical, having gotten burned before. But I bought a card and plugged it in. It warned me that it might be slow. But it was fine. It worked great. Seamless. I helped my son set it up on his Moto Z Play and it worked fine.

I liked the Moto E4, except for the camera. So I decided to step up and get a Moto X4. I moved my SIM card and SD card over. Except the X4 doesn't support adoptable storage. The option isn't available.

There aren't any convincing explanations for why Motorola chose to not implement adoptable storage for this model, except as a business decision to drive people to more expensive phones. Sigh... I hate that aspect of capitalism that makes companies create intentionally inferior products to maximize revenue, rather than just making products with the features that people really want.

Unfortunately, it's probably a showstopper for me: I use syncthing to manage my music, photos, and working documents and it can't write to SD cards due to the same vagaries of Android that made my first SD card so useless. So I'm planning to return the phone. What a huge disappointment.


Subscribe to RSS - blogs