iOS app first run user tutorial [closed] - ios

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I would like to add an integrated welcome tutorial to my app that just highlights a few buttons and educate the user what some features are. I remember seeing this I the google app. Is there a tutorial on how this is done or is it simply a video file that plays to look like the app..
Thanks

I'd agree with James, that rather than a video, a user controlled help/tutorial is better. Let the user control the speed with which the online help progresses and/or is dismissed. Even better, I like integrating the help into the app itself, e.g. show the user help/tips when they first visits a particular screen for the first time or where they tap a little question mark button for the tips/help to pop up.
I have to confess, though, that I've shifted my thinking regarding integrated help/tips in an app and now tend to consider it a design failure. If the app is not intuitive and discoverable, then I've failed as a designer. I can easily imagine apps of sufficient complexity where online help is necessary, but before you invest time in help/tips, I'd urge you to consider a user interface redesign that obviates the need for it. Some of the best apps out there are intuitive and don't have any help screens at all.
If you to do online help, though, the common solutions are:
Present first time users a series of full screen help pages that they can tap through one at a time at their own pace, with heavy emphasis on visual elements rather than text description. This is the closest to your original question. You could even animate the appearance of the visual elements on this help screen if you want (to give it a bit of a video-like feel), but let the user progress to the next screen (if you need multiple screens) at their own pace. (You can do this effect by having your main view controller determine if this is the first time the user's used the app, if so, use pushViewController/presentViewController to go to the help screen (and again if there are additional help screens), and then when done, pop/dismiss back to the main view controller.)
The first time a user enters a particular screen, either have little pop up help/tips that show up. Optionally you could overlay this help on top of the screen itself, dimming the actual screen behind it, so the user knows that they're in a different "help mode", with little pointers or other visual indicator linking your help to certain design features on the screen behind the help screen. (You can do this by having the relevant screens keep track of whether they've been visited before, and if so, overlay the help tips, which will be dismissed when the user taps anywhere on the screen.)
Put a help button which will cause user help tips to popup on the screen. A good example of this approach is Apple's iPhoto for iPad, which includes not only hints/tips show up next to the various controls right there on the screen, but also with links to more substantive descriptions where needed.
To wrap up, I'd suggest (a) redesign your app so help is not necessary; but if you can't (b) pick an app that does a particularly elegant presentation of online help and see if you can reproduce that effect yourself. I don't know of any good tutorials on how to do this, but frankly none of this is terribly complicated, so you really shouldn't have much of a problem reproducing the effect you want. And if you do hit a road block, come back to SO with the specific question on how to do a particular visual effect, and I'm sure we'd be happy to help.

You could play a video that looks like the app, but that's messy and looks silly if they want to stop it as it is clearly a video. A much better way would be to create your own custom overlay views which point to different buttons and give them info. With this implementation, the user is able to "stop" the tutorial whenever they want instead of having to view a video for 40 seconds with no easy way out; also you could add an option to see the tutorial again much more easily this way.

Related

How are apps with typical menu-bar-style navigation coded?

I’m a relatively new app developer working on a couple of individual projects. I’ve dumped at least one hundred hours into coding using Swift in Xcode, and, as embarrassing as it may be to admit, it seems I can’t fully grasp or find information pertaining to how popular apps such as Facebook, Instagram, YouTube, or Tinder implement non-linear view navigation via a menu bar at the bottom of the screen.
I’ve seen one particular app tutorial series that exemplifies how to go about making this menu bar style possible using a collection view of horizontally-placed views each equivalent to the size of the screen. I understand this gets rid of the issue of loading new views on top of existing old ones that sit in the background (my primary worry, outside of unnecessarily reloading information), but is this the typical method of implementing non-linear menu navigation in an app? I suppose a more pressing question at this point is “How can I go about making something like this using SwiftUI?”
If anyone can offer information, explanations, and/or sources, they would all be much appreciated. Thank you for your time!
So, upon receiving TylerTheCompiler’s comment on my post, I started researching the UITabView. It appears that this is used for creating exactly what I was trying to explain in the initial post. I subsequently searched for a way to implement this in SwiftUI and found the “tabbed view.” The tabbed view seems very easy to implement and is exactly what I’ve been looking for. I still wonder if popular applications have been utilizing the UITabBar rather than something else more practical that I am still unaware of. If you happen to know, please comment on this post — I would love to know, myself. As always, thank you for your time, everyone!

Disable iOS "Perspective Compensation" programmatically?

Maybe I'm just searching for the wrong term, but I've been able to find very little information on this subject, and I think it could be a problem for my app.
A while back, there was an article on the accuracy of the touch screens on iOS devices, and it seemed quite poor compared to other phones. Here is a link a posting about it:
http://forums.macrumors.com/showthread.php?t=1660713
Anyway, many of the commenters referred to "perspective compensation" as a cause for the inaccuracy. Basically, they are saying that iOS intentionally registers touches above the actual point of contact to compensate for the typical viewing angle of the user or for the angle of their finger or something like that. I have found that there is some credibility to that claim myself by doing as one of the commenters suggested and trying to use my iPhone upside down. I did find that it was difficult to touch things in some cases, and I have also noticed this problem in one of the apps I'm developing.
So, in case you want to skip all that rambling above, here is why it's a problem for me:
I am developing an app that is intended to be used by two people at the same time. The iPhone or iPad is placed on a surface between two people who are sitting across from one another, and they are instructed to quickly and accurately touch items on their respective halves of the screen competitively. What the article's comments made me suspect might happen, and what I have also found in practice is that the person using the phone upside down will have trouble touching buttons and dots on their first try. I've also tested slowly with a stylus and found that the touchable area of a button does indeed extend below a button, or above the button for the person using the phone upside down, hence the discrepancy and problem/disadvantage for that person.
So finally, if you want to skip that also, here is my question: Can "perspective compensation"(if that's what it's called) be disabled programmatically, and can it be done for specific views of an app? Have any of you noticed this and dealt with it in an app of yours?
While I have found that "perspective compensation" does seem to be occurring, I have not found any official documentation of it, and therefore have no idea how or if it can be disabled. When I search for "perspective compensation," the only results I find are links to the same article and comments.
I can't help but expect that this may have been asked before or is solvable with a simple checkbox, but perhaps for lack of the correct term to use, I have been unable to find any leads.
Thanks in advance for any of your solutions or suggestions!
This can't be done with the current SDK. All we have access to is the touch location, which is at a single point. Other search terms you might try are "digitizer" or "raw touch data", but there is definitely no check box or simple option.
To implement this, you will have to compensate for the touch location yourself. You'll need to play around with a compensating offset value for the upside-down buttons. Hit testing on views is probably the best place to do this, then your buttons can just respond to events as normal.

Embedding tab bar to top of screen iphone

I want to design a page with tab bar on top of it.In some articles of this site.(i missed urls) i found that this is not a common way and the question gets some down rate.
The question is this: whethere having a design like this may cause that apple not approve the application on his store?
Even if it doesn't make Apple reject your app, think of the users not being used to the tab bar being at the top and how that is going to affect how well the app does in the Store.
Every platform has its own design patterns and there is a reason for that. If you stick to them there is a higher chance that the first-time users have an easier time using your app, which results in a higher chance that they keep using it. If they don't know how to use it or find it hard, they will move to another one.
Take a look at the Human Interface Guidelines and apply them. It will do good.

iPad Music app like interface

I'm making internet radio app for iPad and I was wondering if there are standard or custom implementations of iPad Music app-like interface. I mean thumbnails of albums and when you tap on a thumbnail - cover animation and presenting another controller. Is there something for that? Thanks a lot
Nope. There are bits and pieces of code that don't really work (those are all separate links), but they're a good start for getting something like coverflow working.
Also, you might want to try showing examples of what you have already found in your searching, or any code/UI you've already implemented. Most people on SO are happy to help, but don't take well to 'I haven't put any effort into this yet, please show me all the code I need for my project'. Even if you have put effort in, if you post a 2 sentence question with no demonstrable work, people will assume the worst. Best of luck.

Ti.UI.iPad.SplitWindow update layout or hide/show detailView on orientationchange?

When using the Ti.UI.iPad.SplitWindow what is the best(cleanest looking) way to update the detailView?
The options I can think of are changing the positions of elements in the detailView event or to show()/hide() vs open()/close() on an orientationchange event. I know that using the native UI components on the iPad should dynamically update to the layout width/height of the iPad but in my case the content on each detailView will have it's child objects positions updated on orientationchange. I'm just trying to get the smoothest from your all experiences. Even if I have to build custom animations I just want to start this correct from the beginning so no current code exists yet. Thus none included.
I'm hoping this isn't a duplicate as I searched before I ask but there are no Titanium based questions on this topic I can find. Possible but still different to what I'm asking.
The smoothest experience will be delivered by changing the least. I don't know what animations you are envisioning, but I would nudge you towards keeping it simple.
Here's a quick example of an orientation change in an iPad app I built recently. I had a bunch of images in a view with layout: 'horizontal'. Due to a nice bug, the images wrapped automatically. When the user reoriented the device, I animated the width of the view, and the images automatically and animatedly resorted themselves.
I've also had some clients at a large corporation get their hearts set on really complicated changes to the layout whenever the user reoriented the device. This resulted in a really unsatisfactory app that took 10-20 seconds to reorient. We made a lot of optimizations, and a lot of improvements in both their code and the underlying framework, but the heart of the problem was the complex design.
Take the time to consider if you really need complicated changes every time the user reorients, and how much benefit you are offering to your users. Also consider the cost to the user (not just to the device) of presenting them with a new UI.
Past that, you're probably not going to get too many answers until you put some experimentation in to this. If you come back with some code and some questions to go along with it, I can reformulate my answer to better pinpoint your situation.
Hope this helps! -Dawson

Resources