Hey everyone. I'm definitely not as witty as most, so I'd like to write down my thoughts here after going through the iOS app development process.
As I write this, I'm not sure if this is going to end up being a guide for blind people that want to develop apps, or just random musings on developing an app, but I'd like to put this out there to give people inspiration that it can be done if you want to.
First, let me say, the Xcode editor is definitely not as bad as some people think. Before 2019, it was necessary to do all of development in UIKit, we're in one had to drag and drop story board components in order to design the layout of the app. However, in 2019, Apple released something called SwiftUI this is a framework for developing user interfaces in code, rather than dragging and dropping elements. Obviously this is a lot more accessible, but it's still not as simple as you would think.
One of the challenges is a totally blind developer, is imagining what the app layout is going to look like. Often times, you end up coding blindly, not knowing what you are going to create or how it's going to look until it's done. The framework is also slightly unpredictable, so even if you coach something the way you think it should be, it's hard to know if what you intended it is showing up on the view.
The swift programming language is definitely not as complicated as it seems. There are several guides on the Internet that will teach you the basics, although I do recommend you take a basic programming course if you've never done programming of any kind before. In this way you can get your mind wrapped around code structure and other things that go into writing a nap.
When I started, I was definitely very optimistic. And I was able to do most of it on my own. But I couldn't do on my own had nothing to do with my blindness, and everything to do with the fact I was figuring it all out. There are two wonderful developers who helped me, allowing me access to libraries and helping me write a little bit of custom code when I was so lost that I almost gave up. And you will be there, there will be days when you wonder why you started doing this, and whether you should just give up, but I tell you, don't give up.
There are a few things that are very difficult to impossible for a blind person to do. The first of them as I mentioned is making sure that your views are coming out the way you intended them to. Unfortunately, you will need someone that you trust, who can look at the fuse for you. If you lack this, all hope is not lost, you can use a service like Aira, if you ask the correct questions, you can get a very good idea of what things look like. I recommend that if you were going to go this route, that you ask the agent to team viewer into your Simulator environment rather than showing them your phone directly, trust me that's much easier.
I do want to address the elephant in the room, which is developing app logos and icons and screenshots. You will need someone to help you with that, there's just no way around it. Even if you are developing a free app, Apple requires that you submit an icon and screenshots along with the app to the App Store. Icons can be found for a reasonable price, depending on the quality you're going for. I lucked out and found someone who is willing to help me for a reasonable price.
In summary, I will say that with enough perseverance, you can develop an app for the App Store. It's not easy, but it is possible. There are some small things that you will need help with, but I would say you should be able to do approximately 90% of the work yourself.
I am by no means an expert, I just started two months ago, have one app under my belt and I'm working on another one, but if you have any questions from the blind developers perspective, feel free to ask and I'm definitely willing to help share what I know. And if I don't know, there are so many wonderful iOS developers and other resources online that are more than willing to help you get started on this journey. It's a very rewarding journey, and I wish you luck.
By techluver, 6 February, 2021
Forum
App Development and Programming
Comments
Hey, congrats on learning so…
Hey, congrats on learning so much, and for sharing your expertise here. Good to know drag and drop isn't quite as needed as it used to be.
Hey, congrats on learning so…
Hey, congrats on learning so much, and for sharing your expertise here. Good to know drag and drop isn't quite as needed as it used to be.
Congrats
Hi techluver
Software development is never easy and you did a great job!
Good luck with the app!
Cheers
Scott
Resources for SwiftUI?
I started learning Swift at the Treehouse website, but anytime I wanted to move further and start developing actual apps, I'd get deterred by inaccessible training and IB. I moved on to Python while waiting for more accessible training to become available along with SwiftUI. Now that interfaces can be built with code alone, what are some good resources for learning this?
google is your friend
Hello,
I would start with the swift UI edition of "hacking with swift". But really you're just going to be googling a lot of things to figure things out. lol.
I found that book marginally useful, but there were a lot of things I wanted to do that weren't in the book so I got to googling.
Blind friendly tutorials?
Hi. I am trying to learn to code SwiftUI but it seems every tutorial I find requires vision. Do you know where I can find any accessible tutorials?
What’s your app called?
Hi,
What’s your app called?
I'd like to try it out. I'd also like to learn how to make apps myself.
Thank you, techluver
Hello techluver,
I am starting on my Swift journey again after 2 failed attempts over many years. Hopefully, I will persist this time. I am thinking of going straight to the Apple documentation beginning with the Swift Tour and then the Programming Guide from Apple. I checked out some books from Bookshare and found them to be focused on iOS app development but I think I will start with a good foundation in the Swift programming language.
I welcome your suggestions.
mani
AI is a help for us
Hello,
Congratulations for your article. I am fully blind from 1995 and I'm 44 and I am senior accessibility software engineer in Cabify.
It is not impossible to be a profesional developer for a blind person. Honestly it is not a easy trip but I love it.
I love development and I my free time I continue developing personal apps and games. All of them are accessible.
Recently I published my 10th in the AppStore. It is called CenteredHead
I have experimented many of your personal issues developing and in many cases I have to develop my own solution.
When I started to develop apps for iOS my problem was not drag and drop because I decided to create all interfaces from code in ObjectiveC. It was hard but it wasn't impossible. My suggestion: always have a good level of the programming languages. Tutorials only offers a medium level of them and the other part is explained to solve the problems using visual tools like interface designers.
Now Artificial Inteligence is a good tool for us. For example, I use Dall-E to create covers, logos and icons for my apps. I developed a free and public project to use Dall-e API to generate those images. It is called AImaginator
It is made using SwiftUI.
Also, you can take a look to my personal github repository for some Swift packages to make OCR, manage sounds and more.
Please, if you find a project that you like, give it a star.
In conclusion, study hard, be patient and keep practicing. The achievement is very good
I second Bookshare
I do not have the same seniority as the above poster from starting at 1995 but you have my respect. Having gone completely blind in 2020 it was a rough go re-learning how to use my laptop but after learning about Bookshare earlier this year I now have several, hundred books in my personal library. That is one positive. If nothing else about going blind is now I can have as I say a bookcase of several hundred books I could never afford to have as a Sighted systems administrator. Now is a good time for learning how to program with things like chat, GPT where you can specifically ask it to review your lines of code or suggest a code example for doing X or Y.