Developing an iPhone app which is friendly to blind people - iphone

I've had a user send me an email to ask if I can make some modifications to my application so that it is more friendly to blind people.
Although he's explained the problems that he is having, I really have no idea on how to approach this. I can't find any guidelines from Apple. Is there any information available, or does anyone have any experience with this sort of thing? Are there some simple things I can do to buttons or images to make them friendly for the blind?

There is a WWDC 2010 video of Session 122 that covers Accessibility and how to add code to your app to help VoiceOver work better. Should be free to view for anyone with an enrolled iOS developer account.
The easiest thing to do is to at least do a setIsAccessibilityElement and setAccessibilityLabel on all your buttons, labels and imageviews (etc.) so that they say something appropriate when a blind person wants to know what they are.

Start by reading the Accessibility Programming Guide for iOS. It covers topics such as the VoiceOver technology that is useful for people with visual impairments or blindness, and how you can program your user interface to work with VoiceOver so that your users can "hear" your user interface.

Related

SWIFT: Controlling a view on another users device

This is a simple question on a (probably) complicated topic.
I'm in the process of trying to build an app in which multiple users are invited into a session by a single user.
If they accept, I would like the session admin/host's device to control the views on the devices of all the users in that session.
I have searched high and low, Google, StackOverflow, Treehouse etc. but whenever I suggest multiple users or type the question as I have here I get responses that demonstrate how to make an app capable of supporting multiple users on one device, or similar.
The question is simply: is what I want to do possible? Is it safe? Does anyone have a resource that would get me started in learning about how to code this scenario.
Thanks in advance,
Kyle.
Easy as pie - you use PubNub for exactly that.
demo similar to your problem:
https://www.pubnub.com/developers/demos/codoodler/
(That demo is in-browser, but it's equally easy to do inside an app - assuming you're an experienced app developer of course!)
more demos:
https://www.pubnub.com/developers/demos/
I can tell you're new at mobile development. Do understand that:
A) In general programming is extremely difficult. Programming mobiles in particular has a lot of fussy knowledge needed as well as broad general engineering skills.
B) We really live in the "age of BAAS" - "platforms" such as PubNub, FireBase, Parse, Realm, Couchbase and so on. (These days you can't really be an "app programmer" .... you can't get a job "programming an iPhone". You get a job doing Firebase development, happening to be on iPhone - you know?)
I believe Apple has documentation on this very topic:
https://developer.apple.com/reference/multipeerconnectivity
The trickier part will be how do you send back and forth data that allows the host to "control" the views of the other devices. If by "control" you want to let the host control things that are outside of your app (like a screen share) I don't believe that will be possible.

iPhone SMS chat bubbles approved in App Sotre?

I want to integrate the iPhone sms like chat bubbles in my application. But when I read more about it I found that this will not be approved by the app store. Is this true? Cant we use chat bubbles in the application?
Here are some links which describes this.
http://www.iphonestalk.com/iphone-app-store-submission-rejectedbecause-of-chat-bubbles-angry-developer-speaks-out-5836/
Thank you
The article is over a year old.
There are hundreds, if not thousands of apps in the app store using chat bubble images that look identical to those used in the SMS app.
Some of those apps I use, some of them I created. I've never had a rejection based on the chat bubbles.
Based on the link, it sounds like it. Although I would review the full app store review guidelines here (Note: requires you to sign in as an Apple developer). When you think about it, it makes sense though. Apple has spent a lot of time designing a unique interface and if they have, in fact, trademarked/patented that style of displaying a two-way chat, there's no way they're going to let you use it.
To be honest with you, I think it's likely more complicated than "yes you can use chat bubbles" or "no you cannot use chat bubbles." There are probably some fairly specific guidelines that define what Apple has trademarked/protected and what they haven't, hence the suggestion to make them less shiny. Long and short of it is, if you application looks exactly like the iPhone SMS application, I don't see it fairing well in the review process.

Getting started with accessibility

What are the typical mistakes an iPhone developer unaware of accessibility makes that renders their app unusable by customers with common impairments?
What are the first and easiest steps to take when making an iPhone app accessible to the vision impaired (etc.)?
How do I make sure Voice Over says or does something appropriate for all my programmatically created UIButtons, UISliders, etc.?
See the following link from Apple on accessibility on iOS.
http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/iPhoneAccessibility/Accessibility_on_iPhone/Accessibility_on_iPhone.html
I strongly suggest using voiceover to test your application after you've used the developer tools to check it's accessibility. I'm a blind iPod touch user and find that VoiceOver has a very low entry barrior, unlike windows screen reading software that requires you to memorize a bunch of keystrokes and realize that your application may be presented in an entirely different way to the user then you expect.

Software development methodology when doing Iphone development

What kind of practices do you do when developing iPhone apps? For instance, do you write up a technical design document of any sort. Do you write down the design of your app at all? Do you implement a certain methodology agile/scrum/waterfall etc...? I'm just curious when working on projects like an iPhone app, what kind of best practices do people use or do people just go at it?
I've worked on a few iPhone apps, and I've found this workflow works pretty well:
Figure out what the app is going to do. Create a one sentence description of the app that embodies what you're trying to do. If you can't explain the core functionality in one sentence, people won't get it!
Create interface mockups for each screen of the app on paper, and then in Adobe Fireworks. Fireworks' native file format is PNG, so it's easy to create images for use in the actual app later.
Figure out how you're going to architect your app using Model-View-Controller and the other iPhone app design patterns (delegates, dataSources, etc...). Don't try to do something other than MVC. The whole SDK is built around MVC!
Start coding! I usually start with the bare functionality first. For a drawing app, I implement the drawing controller and the important drawing views (color picker, etc..) first. I back things up to an offsite SVN repository as I go using Versions (I haven't had much luck with the repository support in Xcode)
Distribute a beta version of the app to a group of AdHoc testers. This helps a lot. Getting the app in the hands of a few extra people really helps isolate usability issues and bugs that are hard for a single developer to find.
Repeat until satisfied and Apple approves :-)
I haven't done much with iPhone development, but its irrelevant. I wouldn't consider it any different from any other developmental process.
The process is different for each case, some have at it and others follow their development methodologies.
As one who is about to dabble in his first iPhone app, I don't think there is any one methodology that rules over any other. You can apply any of the techniques you mention to an iPhone app, just like any other development effort.
A key thing about iPhone apps, or any Apple related development effort, is that Apple sort of forces you to follow certain design guidelines. That is good in some ways (less to concern yourself with) and bad in others (restrictive).
Also, Objective-C and Cocoa Touch can also lend itself to certain ways of programming.
Now, specifically for me, as a sole developer, I will probably:
Jot down high level features of what I want to be included in the first version
Do an interface mockup (either on paper or with a software tool)
Jot down some key objects and functions (psuedo-code)
Set up a source control mechanism (I think this is key)
Start going at it
Possible repeat of any or all of 1-3 :-)
I prefer to start with small proof-of-principle projects to test out different capabilities of the device that I need for my final product. This is especially important on a mobile device like the iPhone, because hardware limits on memory, processing power, graphics, or display size can render some ideas impractical. It's best to know that your application won't work as you imagined after only a couple of days of playing around, rather than after a month of development.
John Geleynse and others at Apple advocate starting your design with a single sentence that describes your product and its intended audience, and building everything around that mission statement. I've found that this works extremely well for determining what features to incorporate or leave out of a product, particularly on the iPhone. Having a simple core product description at the center of your design is also extremely helpful when you need to explain this product to others in your later marketing efforts.
Aside from that, I've found that iterative development incorporating lots of testing and user feedback has worked for me on every platform I've developed for.

User Interface inspiration for iPhone Apps

Does anyone have any suggestions for a site that potentially has some inspirational user interfaces for building my own iPhone Apps. It's straight forward to continually build out applications with the conventional UIKit widgets, but it does not set you apart from the competition. Some resources on how to build attractive interfaces is highly desired for inspiration. This is for someone with minimal Photoshop/Illustrator skills, but doesn't mind using sites such as iStockPhoto and working with custom views.
Apple is historically well-known for the user interfaces of its products and programs written for them, but in recent years it has come under fire for seemingly allowing its Human Interface Guidelines (HIG) to lapse. Some of the best Mac and iPhone applications are actually those that deviate from the HIG, but not so much that usability (or acceptance into the App Store) is sacrificed (see link text).
Examples of such innovative iPhone applications can be found in the iPhone app and web app showcases of Apple Design Award winners. These apps have been judged by Apple itself to be creative, inspiring, and exemplary of the iPhone platform's potential as a mobile computing device.
Go to your local best buy, game stop, or any other store with xbox360s, wiis and playstation 3s lying around. Play every single demo on these machines and rate them solely on UI experience. Triple A console games still lead the interface world in my opinion. Soft synths are a close second and also often have beautiful UIs (as Chris Schreiner pointed out). A quick trip through logic will give you a glimpse of apple's own work in that direction.
You might want to check out this article by Matt Gemmell about his process in designing the UI for his Favorites app.
10 Gorgeously Designed iPhone Applications has some very nicely designed apps.
I spent a long time getting this one together, it's a full list of every single ios inspiration / mobile css gallery I could find on the internet. Let me know if you find any others so I can add them!
http://www.kintek.com.au/web-design-blog/iphone-mobile-css-gallery-listing-ios-inspiration/
Maybe this will help: My source of inspiration comes from the software-synth domain. Circle from FAW comes to mind. Ableton Live is (in my book) something to look at.
Heres a good article about designing the Convertbot application. A very simple app that stands out because of its UI.
I hate to burst your bubble, but great design is not something you will get from finding a "site" to look at. Major universities have graduate design programs, that's the kind of place where some people learn to be great designers. Multiple courses and textbooks on design and all the related areas (art, architecture, psychology, biomechanics, etc., etc.) I've seen too many engineers, without at least some of this training, routinely suggest some really bad UI design ideas. Don't be another one of them.
Treat learning great design as something far bigger than finding a site (or learning another programming language, etc.), more like a multi-year endeavor, and you might have a chance.
Or find and team up with someone who's already an experienced designer.