• Testing Microposting from MarsEdit, so far it’s another awesome feature in an already long list of incredibly awesome features.

  • Yep, it’s a little cold here in Minnesota this morning:

    The current temperature is -10.318°F (-23.51°C), but it feels like -29.668°F (-34.26°C).

  • 100 Days of SwiftUI, my foray into understanding a bit more about how iOS works

    Ever since I was able to accessibly use an iOS device, an iPhone 3GS, I've imagined how awesome it would be to be able to develop my own applications. That excitement was very short lived though as I soon became aware of just how complicated developing an application really is. It's a very involved process -- or so it seemed to me -- and for someone who hasn't written any code since C ++ was the talk of the town, it seemed like an impossibility. I wrongly assumed this was especially true for iOS because apps are often very visual and interactive and I just couldn't imagine how I'd tackle that without vision. And so I quickly decided that iOS app development was just not for me.

    Fast-forward quite a few years and Apple releases Swift and SwiftUI which, at the risk of over simplifying things quite a bit, is a more powerful and natural programming language for application development. Put another way, Swift and SwiftUi is intended to make application development easy enough for just about anyone to learn and do. Being a natural skeptic, I doubted that it could be quite as easy as Apple seemed to suggest, but the idea behind it seemed really interesting to me.; indeed, Swift and SwiftUI have taken the iOS development community by storm, with entire applications being developed using it. With only so many hours in the day though, my challenge was going to be finding the time to devote to learning it. And so again, I set the idea aside figuring I might look into it whenever I had more time.

    I'm not proud of this, but I have a long list of the things I want to do when I have more time, the thing is, the longer I wait to do any of the stuff on that list, the less time I'll actually have to do any of it.

    I initially learned about 100 Days of SwiftUI from Darcy and Holly of the Maccessibility Roundtable podcast. The idea behind this course is simple: learn SwiftUI gradually -- you guessed it -- over 100 days. The course suggests devoting an hour per day to learning and practicing the material. An hour per day doesn't seem that bad to me, I probably spend at least an hour per day thinking about all the stuff I'd love to do, if only I had an hour per day. :) While looking at the contents of the course is a little scary for someone like me who is just beginning, I love that there are days set aside for review and practice. In addition, there is emphasis on not trying to go it alone, students are encouraged to share progress and help one another. That sharing progress thing is actually one of the two rules of the course, as it can help with accountability and can also help the student make connections with others who are also learning.

    So, what do I hope to ultimately accomplish? Sure, I'd absolutely love to get to the point where I can start developing or working on apps that are useful to someone, but that's not actually my goal. I want to understand more about iOS apps because so often, when I report an accessibility issue, I feel like I really don't have a way to describe what's not working for me other than to say that something just isn't working. I'm hoping that by learning the basics of SwiftUI, I might be in a slightly better position to provide more constructive feedback. Whether I'm able to develop my own apps, or help other developers improve theirs, I figure it's a win either way and so I'm excited to get to learning. For anyone else who might also be interested, let's definitely connect and learn together.

  • A few hours ago, Twitter laid off its entire Accessibility Experience team. This is sad not only because so many lost their jobs, but because so many more around the world may lose their voice. twitter.com/gerardkco…

  • Today, I’m looking at the accessibility of virtual machine options on Windows and Mac and am wondering what people are using? VMWare Fusion used to work great, does it still? What about VirtualBox? And what’s this Docker thing everyone’s talking about?

  • Well heck, I’m sold! “This account will allow you to access easy-to-understand information about your DNA, including information about your ancestry and non-medical traits (such as how you process caffeine and what type of ear wax you have). "

  • The Ultimate Blog Challenge for October 2022 and a brief intro

    Many of you might remember that last year, I took part in something called the Ultimate Blog Challenge, a challenge that encourages bloggers to post every day over a given month. I really enjoyed the experience which not only helped me to write more regularly, but which also gave me the opportunity to connect with other really interesting bloggers who are passionate about so many fascinating things.

    I really enjoyed participating in the challenge last year and so am excited to be participating again for the month of October. I thought Just to mix things up a little bit, I thought that this year, in addition to writing, I might also try to produce more audio content because experiencing the world through audio is something that unfortunately, many people don't really take the time to do.

    So, who am I?

    For those who don't know me, let me give you a quick intro. I'm Steve Sawczyn and I’ve worked in the accessibility field for, well, for a very long time. I was born blind and over my life, have witnessed the incredible impact technology has had on my ability, and the ability of others, to have access to information. That access to information thing is incredibly impactful, paving the way for incredible possibilities. When people have access to information, they are empowered to make informed decisions and are better able to be an active part of society. I also view accessibility as a springboard for innovation, not something that impedes progress. Indeed, many of the things we take for granted resulted from some sort of accessibility-related innovation — maybe a topic for a future article?

    So, what do I blog about? Initially, I thought my blog should have a focus, a very specific focus and accessibility should be that focus. The thing is though, while accessibility is a big part of my life, my life is far more than just accessibility. I try and blog about a myriad of topics, accessibility being a big one, but certainly not the only one. After all, the URL for my blog is Steves.life, not Steves.profession. I also love it when people take the time to comment on posts because that introduces additional perspectives into the conversation and that's something from which everyone can learn.

    In closing, whether you have followed me and this blog for quite a while, or whether you have just discovered me, I want to thank you for reading, for joining me as I attempt the Ultimate Blog Challenge and most of all, for being part of the conversation.

  • It is impossible for me to browse my Twitter home timeline without coming away feeling thoroughly depressed. I know many who feel the same and yet, Twitter remains so popular. Why? I miss the old days of conversation, interacting, and learning.

  • Not that I’m thinking of switching jobs, but I’m curious: how does one apply for a fed sector job requiring TS/SCI clearance – how can one actually get that unless already in government or military?

  • An email attack, a Hilton hack, and a few lessons learned.

    I'd love to say it was a dark and stormy night, but the afternoon of August fourth started off like any other. I was busy working when I received an email on my personal email account, we've all gotten these sorts of emails, they say something like, "Thank you for subscribing to our newsletter, click the following link to confirm your subscription.". I didn't recognize the name of the newsletter, so I deleted the email and decided to get back to work. A few minutes later, I got another similar email and while I thought it was a bit strange to get two Emails from newsletters I'd never heard of before, I deleted that one as well. About ten minutes later, Emails wanting me to confirm my subscription to various Email newsletters and mailing lists were coming in by the dozens and my phone was going crazy pinging me with notification after notification. I had no idea what was happening, or why it was happening, or what to really do about any of it and so I started deleting Email after Email. It soon became apparent that Emails were coming in way faster than I could delete them; I was clearly under some kind of attack, for some reason I didn't understand.

    It can be scary when this sort of thing happens, unsolicited Emails coming in like a constant flood with no end in sight. I'm generally a pretty calm person, but I was feeling an increasing sense of panic: Would I ever be able to use my Email address, the one I've had for over twenty years again? Would I need to change my Email address with all my online accounts and services and if so, where would I even begin with that? After feeling completely hopeless about all this for a few minutes, I decided to become a bit more proactive. After all, this was my Email address and I was going to do whatever I could to defend it. First, I created a number of messaging rules to try and cut down on the incoming stream of messages. For those who may not be familiar, just about all Email services and applications allow users to create rules which can move or perform an action on messages based on their content or some other trigger. In my case, I created a quick rule that would filter any messages containing the words "click" or "confirm" or "subscribed" directly to my deleted items. I realized this was only a temporary fix as eventually I actually will want to subscribe to something and I'll likely have to confirm that subscription, but for the moment, these rules had an immediate impact on cutting down the incoming flood and made me feel like I had a tiny bit of control over the situation. Between the multiple rules I created and manually deleting Email, I soon had my inbox in some semblance of order. By the end of the day, over 2000 messages were either deleted manually by me, or by the rules I created.

    While most of the messages had to do with confirming my supposed subscriptions to various newsletters and mailing lists, I did also receive an Email from Hilton confirming my reservation for Friday evening. Figuring that this too was spam, and still terrified that I might need to change my Email address with hundreds of individuals and accounts, I deleted this message as well and didn't give it another thought, that is, until I got a push notification on my phone from the Hilton app pertaining to my apparent up-coming stay. That certainly got my attention, and I opened the app to find that in fact I did have a reservation on my account for that very evening, at the Hampton Inn Birmingham/Trussville. According to the Hilton app, me, and another guest, with a name I didn't recognize, had booked a room using my Hilton points and, to cover an additional $5 which my points apparently weren't enough to cover, an additional credit card, also not mine, was used. I immediately contacted the hotel directly and tried to explain the situation to one of the most unsympathetic people I've encountered in years. She told me that she encounters "people like me" all the time, people who come up with stories like this to try and circumvent the hotel's last-minute cancellation/no refund policies. I explained that this was not the case here, but she had already hung up on me. I contacted Hilton's customer service and after explaining the situation to two customer service agents, I eventually got one of them to understand that this was a fraud situation and I really needed to speak with a fraud specialist. Eventually, after explaining the situation yet again, Hilton finally opened a fraud case and told me I would hear something back in a few days. Not wanting anyone to get a free stay while the fraud stuff worked its way through the system, I again called the hotel directly and got the same unsympathetic woman as before, yay me. :( I let her know that a fraud case had been opened and explained that I was only calling to let her know in case someone actually tried to use the reservation. I certainly didn't have to call the hotel a second time, I was just trying to do a good thing.

    "I'll let the front desk know.", she said before hanging up on me for the second time.

    Lessons learned

    From all this, I've learned a few lessons which I'd like to share. First, to the lady at the Birmingham/Trussville Hampton Inn, not everyone is guilty until proven innocent. Sure, maybe you do get quite a few customers trying to circumvent cancellation policies, but taking a few moments to listen to me, and to look at the way this particular fraudulent reservation was constructed, might have helped you to see that this isn't always the case. Having never encountered a situation like this before, I really could have used your help and guidance, not your judgement. If ever I find myself in Trussville, wherever that is, I certainly know where I will not be staying.

    Second, no matter how many times we hear it over and over and over again, password security really does matter. Use strong passwords always and don't be afraid to change them from time to time. If keeping track of multiple passwords is a challenge, know that there are numerous password managers available, (some free and some paid), that can help. Password managers can even help generate complex passwords for you; modern browsers even have utilities integrated to help make this task even easier. No matter what kind of password you might be able to come up with in your head, it's probably not as good as generating unique, randomly generated passwords for each site, service, or app you use. Maybe the accessibility of various password managers might make for a good future blog post? Another good best practice is to enable 2-factor authentication wherever available. For those who have never used it, 2-factor authentication generally requires that in addition to providing your login credentials such as username and password, you must also provide a code which is sent to your mobile phone or other device. This additional code changes frequently and generally can only be used once. While this may seem annoying, the idea here is that even if a person was to obtain your username and password, such as in a data breach, they would not have physical access to the device needed to get the additional code. Ironically, I did have 2-factor authentication enabled on my Hilton account, but while it didn't help in my specific scenario, it's still a best practice that I highly recommend.

    Third and probably most important, no matter how bad it may seem if you're unfortunate enough to find yourself in this sort of situation, try and remember that it's not the end of the world, as I thought it might be for a few panicky minutes. I admit, it was scary watching Email after Email come in, with no idea of why or of what I could do about any of it. And the prospect of suddenly needing to change my Email address everywhere, with no plan in place, seemed absolutely daunting. Truth is though, this all would have been incredibly doable. Annoying, yes, but still doable. One thing that I've started doing which others might want to do as well, is to create a list of everywhere my Email address is being used, either as my login ID, or for communication purposes. The list is definitely not complete, but it gives me a place to add to as I think of other sites and services that might have my Email address on file. My thought is that if ever I need to change my Email address, whether planned or unplanned, I'll have an organized list from which to start.

    Ultimately, I'm still not exactly sure what happened or why. If I were to hazard a guess, it would be that somehow, my Hilton password was discovered on the "Dark Web", and to mask an attempt to use my Hilton points to conduct a fraudulent transaction, a flood of Email was generated. Whether this was the intended tactic or not, it almost worked as had I not gotten the follow-up notification from the Hilton app on my phone, I would not have given the reservation confirmation Email another thought, figuring it was just one of many unwanted messages that flooded my inbox throughout the day. This has definitely served as a reminder to me to be ever vigilant about password security, and I hope my writing this post will encourage others to do the same. Any tips or tricks you use to help with password management? Share in the comments as your solution might be the perfect solution for someone else reading this post.

  • Well, my saga continues and it would appear that some of my other accounts have been hacked. And someone helped themselves to a night’s stay at @hilton using my points and of course calling them, I’m presumed guilty and not innocent. What a mess. :(

  • Ugg, it would seem that some spam thing has gotten ahold of my Email address and is trying to subscribe me to all kinds of everything. Hoping the flood of mail will stop soon if only so I can start deleting some of this. :( :(

  • It's a boat! It's a tank! It's the physical description of the Nokia X100 budget phone

    In my last post, I mentioned that I would provide a physical description of the Nokia X100, the budget phone I'm using to re-discover Android. As of this writing, T-Mobile offers the X100 for $252, however promotions can bring this price down even further.

    When I first beheld the Nokia X100, my initial impression was one of solidity. This phone only weighs 7.65 Ounces, but somehow, it feels much heavier, possibly because of its aluminum construction. When I placed the phone on my desk, my immediate thought was that while empires may rise and fall, this phone will stay exactly where I put it, defying the forces of nature and time if need be.

    The Nokia X100 display measures 6.7" diagonally from corner to corner. In practical terms, this means that the display is larger than the decks of many cruise ships. A small aircraft could land on the X100's display and easily have enough room to take off again. For those that are into specific measurements, the X100 measures 6.74" long, by 3.14" wide, by 0.36" thick. I realize that phone size is a personal preference, but I find the X100 a bit too large for my liking: I often carry a phone in my pocket and use it one-handed, both of which are tricky to do with a device of this size. That said, if you prefer a larger screen, you will not be disappointed. Speaking of the display, the Nokia boasts a Max Vision HD+ display. I have no idea what that means, but it's a highlighted feature, so obviously it must be important. :)

    I absolutely love the way controls and ports are laid out on the Nokia. Along the right-hand edge is a volume control and also a slightly recessed button which serves as the lock/unlock/power button and integrated fingerprint sensor. Having the fingerprint sensor integrated directly into the lock button makes total sense to me since you have to touch that button to unlock the device anyway, why not have it read and verify the fingerprint at the same time? I don't know what company was the first to integrate the fingerprint sensor into the lock button, my first introduction to this bit of awesome was with Apple's iPad Air 4TH generation and ever since then, I've been wondering why more companies aren't doing this; that Nokia and other Android manufacturers are doing this fills me with much joy. As a quick aside, many Android devices still have fingerprint sensors. For me, this is a major advantage because while I have learned to live with Apple's Face ID, I have not learned to like it. Back to the X100: the right-hand side has the volume control and the power/lock/fingerprint sensor and that's it. Along the bottom edge of the device are a speaker, a microphone, a USBC port, and a headphone jack. That's right, in an era when most devices have done away with the headphone jack, the X100 still makes one available; it's like coming home to an old friend. Along the left-hand edge of the X100 is a single button, a dedicated button to activate the Google Assistant. At first, I found it a bit disappointing that this button couldn't be reassigned to some other application or function, but as I realized just how much I could actually do with the Google Assistant, I've come to appreciate having a dedicated button to activate it. There are no controls along the top edge, just solid aluminum, probably thick enough to come in handy during those times when you need to break your way through an ice jam, or hammer stone from a quarry. The back of the device is relatively flat with the only prominent feature being a slightly raised circular glass housing which contains the 48MP Quad Camera System.

    One aspect of the 100 that I absolutely cannot fault is its battery life. I have tried and tried and tried to drain its battery and yet usually I'm the one who winds up drained and needing to recharge. According to the T-Mobile spec page, the X100 has a 4470 mA battery capable of delivering "up to 2-day battery life". More specifically, they claim 25 hours of talk time and 39 days, (yeah, days), of standby time. I haven't experienced this much battery life in a mobile device since, well since the last time I owned a Nokia back in 2005. Having enough battery power to get through my day has been a real challenge, often requiring me to bring along an external battery pack if I'm away from home for any length of time. With my not quite two-year-old iPhone 12 Mini, the low battery conversation goes something like this.

    Phone, "Hey, alert! 20% battery remaining."

    Me, "OK, hang on, let me get your charger."

    Phone, "Hurry up, I was just kidding about that 20%, it's actually more like 15% now."

    Me, "Seriously? How? It's only been like five minutes since you told me you were at 20%."

    Phone, "Yeah I know, I just figured you could use some false hope in your day. 10% now by the way."

    I should note that I've been trying to get Apple to replace my iPhone's battery, but apparently, it hasn't lost enough total capacity yet. Put another way, I just haven't suffered enough.

    In contrast, the low battery experience with the Nokia is very different:

    Phone, "Hey, just thought I'd let you know, my battery is at 20%."

    Me, "Oh shoot, I have a bunch of Apple chargers around, where the heck did I leave the USBC charger?"

    Phone, "Hey, don't stress, you can take the next day or two to find it, I mean any time this week is probably fine."

    There's nothing more frustrating than running low on battery power and the idea of having a device that can get me through my day, while having enough battery left over to possibly power a small village, is a definite win.

    There's a few more aspects and specifications of the X100 that I should call out. First the processor, the X100 has a Qualcomm® Snapdragon™ 480. This is hardly the newest or fastest processor available on Android devices, but given the price point of this phone, it seems more than adequate. My usage and testing has admittedly been limited thus far, but I have not encountered any significant issues attributable to this processor. Another thing worth mentioning is that the X100 is a 5G phone meaning that the device can function on the latest mobile networks. More specifically, the X100 supports the following frequencies and bands -- don't worry if you don't know what these numbers mean, basically, the phone works on a bunch of different networks in a bunch of different countries, with a bunch of different providers: GSM: 850 MHz, 900 MHz, 1800 MHz, 1900 MHz; UMTS: Band I (2100), Band II (1900), Band IV (1700/2100), Band V (850), Band VIII (900); 5G: n25, n26, n66, n71; LTE: 2, 4, 5, 12, 25, 26, 41, 66, 71; LTE Roaming: 1, 3, 7, 8, 13, 20, 38, 39, 40

    Regarding memory, it is possible to expand the 128 GB of built-in memory storage with the use of a memory card, it's possible to expand storage to 1 TB according to T-Mobile's specifications. I don't anticipate needing more storage than the built-in 128 GB, but it's nice to know I have the option to add additional storage if I'm wrong.

    I'm really pleased with the Nokia X100. While I personally prefer smaller devices, the X100 is a very solid phone at an extremely attractive price point. The X100 may not have all the bells and whistles found in higher priced Android devices, but when it comes to getting stuff done, the X100 seems more than up to the task.

  • Diving into Android, a journey of rediscovery

    As those of you who may have followed this blog for a while probably know, every few years or so, I generally switch my primary mobile operating system between iOS and Android. I've done this for a few reasons, first because I feel it's important that I keep up with how each operating system is evolving and second, ... OK there really isn't a second, I'm just a geek at heart and it gives me an excuse to play with the other operating system.

    While I am not planning on actually switching from iOS to Android this time, there are a few reasons, beyond the geek thing, which have caused me to want to dive into Android again and better understand how that platform has evolved from an accessibility experience perspective. First, it's been a few years and both operating systems have evolved quite a bit in that time. Many of the issues that caused me to switch back from Android to iOS have been addressed and I'm really curious to see what the newer experience is like. The second and more important reason though is that Android devices exist at just about every possible price point and I still don't feel that this is truly the case with iOS. Don't get me wrong, iOS devices are fantastic, but for many, they are still very unaffordable and with the cost of everything increasing, this becomes an even bigger challenge for many people with disabilities. This point was recently emphasized during a conversation I recently had. IN short, I was talking to someone about all the amazing things we can do with mobile devices and her comment was that she felt very shut out, shut out because iOS devices, even used devices, were beyond her family's budget. The conversation quickly turned toward Android, but when she started asking about the capabilities of lower priced devices, I found that I really didn't have any answers for her. Obviously so-called budget devices are not going to be the fastest and aren't going to have the latest and greatest features, but can they work well enough to help someone not feel so "shut out"? The more I looked into this, the more I started realizing that yes, yes they probably can, but without getting my hands on such a device, it would be difficult to really understand what that experience might be like.

    I'm starting my Android rediscovery journey with a Nokia X100 budget phone. As of this writing, the X100 is available from T-Mobile for a cash price of $252, however as with most devices purchased from a carrier, this price can be decreased with various offers such as adding a new line of service. I'll cover my first impressions of the device in another post, but while this device certainly doesn't sport all the latest and greatest features, I'm really impressed with just how many capabilities it does have, especially at this price point.

    As always whenever I blog about something, my hope is that this will evolve into a conversation, a conversation that fosters learning and understanding. If I get something wrong, feel free to jump in and let me know. If I do something and you think you know of a better way, jump in and let me know that too.

    I'm excited to see where this Android rediscovery journey will take me, and I thank you for coming along.

  • There are so many steps in sending or receiving bank wires, especially with intermediary banks, I wonder how the process actually works? How much is automated and how much requires human intervention?

  • I was looking up a food in my food tracking app and came across the following. Um, would someone really eat this?

    Baked Bean Pasta Salad Cheese Sour Cream Sandwich. - 746 cals per Serving,

  • I love it when people send me Emails which are already flagged. I wonder how they’d react if I set up an auto-reply letting them know their Email is probably not as important as they think it is. :)

  • I just got my first ever Credly badge. I admit I’ve never heard of Credly before, but a shiny new badge is always a cool thing. :) www.credly.com/badges/b9…

  • Why does every app lately seem obsessed with implementing a visual dashboard with graphs and charts and things which nobody asked for ever? I’m all for #datavis, but why not make it available on-demand rather than forcing everyone to wait for, and be confronted by graphical charts every time the app is opened?

  • Joan Jett, Poison, Motley Crue, and Def Leppard all in one show? Yes, this is awesome.

  • Tip: Does the FaceTime control bar sometimes get in your way? There's an accessible way to dismiss it.

    One of the new features introduced in iOS15 is this call control bar which provides FaceTime audio controls across the top of the iOS screen during a FaceTime audio call.

    Screen shot of Steve's very messy iOS home screen with the FaceTime control bar across the top. Visible controls, from left to right, are leave call, open messages, Audio route, Mute, camera, share content.
    Screen shot of FaceTime control bar

    I actually really like this new control bar because it gives me the option to mute/unmute from wherever I am and for me, this is much faster than having to switch back to the FaceTime app each and every time. That said, there are times when this control bar gets in the way. For example, sometimes I'll be in an application and I know there's a "back" button, but I can't get to it with VoiceOver because it's obscured by the FaceTime audio control bar. I mentioned my frustration about this to a sighted friend and she told me that visually, it's possible to swipe this control bar away. At first, I thought we might have an accessibility issue of some sort as I could not find a way to do this when using VoiceOver. Eventually, I remembered the two-finger scrub gesture and like magic, away it went.

    For anyone unfamiliar with it, the two-finger scrub gesture is a VoiceOver command that can be used in a few different ways depending on context. IF a keyboard is visible, the two-finger scrub gesture will dismiss it. If an application has a "back" button, the two-finger scrub gesture will perform that action. The easiest way to think about the purpose of this gesture is that it can help you get out of something by dismissing a control, navigating back, closing a pop-up or menu -- in many ways, similar to what might happen when pressing the escape key when using a desktop application. To perform this gesture, place two fingers on the screen and move them quickly in a scrubbing motion such as right, left, right.

    Putting it all together

    If you ever have a reason to temporarily dismiss the FaceTime Audio call control bar and need to do so using VoiceOver, here's how to do it.

    1. Touch the FaceTime Audio control bar with one finger, this will set VoiceOver's focus to the correct place. This is important because otherwise, VoiceOver's focus will remain on your home screen or on whatever aplicationp screen you have open and the scrub gesture will not dismiss the control bar.
    2. Perform the two-finger scrub gesture. If successful, the control bar will go away. IF not, double check that you have correctly set VoiceOver focus to the control bar as just described. If the two-finger scrub gesture isn't performed correctly, it is possible that focus may inatvertantly move away from the FaceTime Audio control bar.

    A few more things to note. First, I don't know of a way to permanently dismiss the FaceTime Audio control bar and so you will have to repeat these steps whenever you need to dismiss it. Second, if you dismissed the control bar and then want to have it back, you can make it reappear by double tapping the call indicator located on the iOS status bar.

    I really like the new FaceTime Audio control bar and find it super useful to have call controls available regardless of which app I'm in or which screen I'm on. For those times though where it might come in handy to move that bar out of the way, I'm glad there's an accessible way to do so.

subscribe via RSS