Xcode Need guidelines on invented draft for photo gallery manager - xcode

For this question, I don't require a full explanation of all code, but helping me get insight into the process for achieving this result would be very helpful! Some information sources that will lead me to where I want to be.
Don't hesitate to give your opinion or make suggestions on how you would make it better in case you have better ideas - We just want to jump off the regular photo album system.
In the added screenshot I have added a painted image that makes the purpose clear.
Albums are created by tapping the "+" sign. (This shows a popup window in which the user can tag a bar/event to which the picture applies; the bar/event profile picture will appear on the album cover).
Newly taken pictures should appear in a separate band on the screen. They will float there until the user drags and drops them into an album. Note that the picture is also taken from within the app (using the native camera of the smartphone).
When the user added them to an album that was tagged, they will also be displayed automatically in the gallery of the tagged bar/event profile. (Of course in the app, personal profiles will be available as well).
Which technologies / workflow would you advise me?
What I need to create now is just an empty shell for the app that demonstrates the visual workflow (the data flows are not important at this point).
I have read about some libraries such as three20 or UIImagePicker, I don't know if they are easy to customize towards our needs.
Thanks!

I cannot comment on the likes of Three20 as I have never actually used them.
One method I can suggest, is using a number of scrollviews. Based on your example, you would require 2 individual scrollviews. (For ease lets call them AlbumsSV and PicturesSV).
The AlbumsSV would dynamically load content, based on your backing store. One approach I have used in the past, is to load custom views into a scroll view, as this allows for maximum control, you can specify any requirements as properties of the view (i.e Primary key etc), also you can load a 'preview image' based on the data held in your data store.
Assuming you always want the ability to add new items to be last element added to the AlbumsSV, then you can simply add another custom view to the AlbumsSV after all other items have processed.
PicturesSV would simply load content based upon what is in the users camera roll. Again I would recommend using a custom view, as you can set properties such as FileURL etc on the custom view, this will aid when it comes to dragging items into a specific album.
Hope this helps :)

Related

Managing fixed header with anchor/section points

I've read many posts about this, but never found something satisfying and I wonder if perhaps new techniques have been developed since those posts.
Basically, I have a fixed navigation header on my site, and a search bar that will get nested and fixed just under it as users start scrolling down.
Most of my anchor/section links are located on different pages than where the user is getting re-directed to when clicking them (so, no "smooth scroll" is happening).
I cannot add padding or a class manually to each of these points because most of them are generated automatically...
Is there perhaps some jquery I could apply that would automatically show these anchor/sections point lower in the screen?
Help :)

Appium: How to differentiate between two different iOS screens?

I am developing a testing algorithm for our iOS apps using Appium. To fully implement this algorithm i need to identify wither i have moved onto different screen or am still on the same screen after performing some action. I need to know, what makes every screen unique/different from other in terms of Appium?
Going through the pageSource of every screen, i found that most screens have xpath attribute in window element. Can i use value of xpath of window element to mark the screen as unique from others, or do i need to do a trivial string comparison between screen's pageSources to mark them different? Or is there any other better solution?
Not sure if xpath would be the best solution for this. Normally the UIAWindow would remain the same, and developers might use different containers within this UIAWindow to render different screens.
So to verify different screens, you might need to figure out what this container is and see if the container's properties change when you move to a new screen (ie a new container)
If you app user a different header for every new screen, then you can use this header to see if the screen is changed. Example: in WhatsApp, you would see a different persons at the top. So in this case, the person's name can be assumed as the header.
If this doesn't work then you can verify some of the other controls, or say list of all the UIAStaticText on the screen. During screen change the entire list of UIAStaticText might change. So this can indicate a screen change.
For our automation suite at work I've implemented a series of screen check steps. Every time we switch screens I do a find_element command for an element on that screen that is unique to that screen. That way if a button or option takes me to a new screen that is incorrect my test will fail as expected. If it does find the element we're expecting it adds minimal time to the test suite.
Anish Pillai made a good suggestion of using the header text if there is any. Otherwise a particular tab, menu text, resource_id, or whatever is unique about the page would suffice. All you would need to do is a find_element call and a failure message if it fails.

Create multiple page form in Cocoa

I want to create a form with iOS like transitions (in a Cocoa desktop application) between the form input. For instance, the user would input information to the form and click next to continue to input the remainder of the information. On the last form, the user would click submit. Upon clicking next, the form would have an animated transition, like on the iPhone before displaying the next set of forms. Sort of like how Turbo Tax ask a ton of questions before allowing you to submit that grouped information.
What would be the best approach to achieve this goal?
This is commonly referred to as a wizard.
You basically have two options:
Use a tabless tab view, following Apple's sample code in AnimatingTabView from http://developer.apple.com/library/mac/#samplecode/Reducer/Introduction/Intro.html
Manually swap the views in and out yourself.
There are pros and cons to both approaches. Which you choose will probably depend on your requirements. One issue with Core Animation on the desktop is lack of subpixel rendering for layer-backed views. This is mostly an issue with text display but some people find it not to be an issue.
I've needed this functionality a few times. I used this tutorial to get started.

Descriptive label names in a desktop application

I have an application that displays a dialog when the user needs to enter information. The reason for this, is to keep the main form readonly, and only when you need to add/edit data will a dialog appear.
The problem I'm wrestling with is what to display for the label names in the dialog. The application is a WPF desktop app and traditionally desktop apps are very short on label names (usually one or two words). I want to make the dialog user friendly and be more descriptive about the information that is required. Web developers seem to be catching on to this and are much more descriptive with their label names, but most of the forms I've looked at are forms that are only filled in once, whereas I will have data that can be edited.
An example: If I had a label that asked a user if an employee smoked, in most a destop apps the label would normally be something like 'Smokes?' with a checkbox, whereas I want something like 'Does the employee smoke?'. My issue with this is, that the first time you come across this dialog and enter the data, then it seems OK, but what about when you are editing data that is already there. Does this label now make any sense. Past tense and present tense seem to be getting in my way and I was interested in what people think or ways they have approached this. The application I'm writing is a WPF app and I feel that traditional label names are a bit old in the tooth now.
Another example would be entering contact details for a person. Do I just have labels that say Phone, Fax, Email or something more descriptive. i.e. a label that appears before the textboxes stating 'Enter the contact details below' and then the single word labels?
Maybe I'm just being pedantic about all this, but I would like to take a step forward so that my application contains more than single word labels that are sometimes unclear to the user about what is required.
Why not make use of the concise labels and use Tool tips for a longer explanation.
The longer explanation is only required when a user is unfamiliar with the application anyway.
Also, you could re-word a label to make it sound more like a question such as "Is a Smoker?"
Since you are using Stack Overflow, take note of their use of tooltips, I think Jeff Attwood has a blog post or comments in a podcast about the use of tooltips in SO. I can't remember where I heard / read it.
Have you thought about creating a "quickstart" flow or wizard for entering data for the first time? This would give you the opportunity to guide the user through the process, using labels with descriptions, so that they learn to associate the description with the label you've chosen (hopefully something succinct but intuitive). Then when they need to edit data, they have learned the application taxonomy.
If you are running into issues with tenses, steer clear of using verbs or only use the present tense. I would try using nouns - "smoker?" instead of "smokes?"
When you're asking for common data like phone numbers, email addresses, you can probably assume that the user will understand what you mean. Just be clear as to whose contact information you are asking for - using a title for the field set that is explicit is a good idea ("Employee Contact Details"), adding a short description above the field set will help too.
Of course, you should always do some level of usability testing on your application before you launch it to uncover any issues with the interface.

SketchFlow Export to Word File and the Order of Objects

i have made a prototype in SketchFlow which is found in Expression Blend 3. As my designer can not use the published .exe version (Due to being on a Mac) I have to export the application to Word. This works great apart from the order being somewhat odd.
What determines the order in which objects get exported into the Word document and more importantly how can i change this order to what i want it to be?
Thanks,
Kohan.
Yes, the order of pages in the word document is indeed: Map, Navigation screens in alphaetical order, component screens in alphabetical order. Currently, the only way to force a particular order is to prefix the screen names appropriately.
Adam is also right that a good way to give anybody access to a prototype is to make the prototype in Silverlight rather than WPF. This lets you post the prototype on the web, and lets users on a Mac review them too.
It appears that the Word export is set to output the Sketchflow Map first, the initially generated screen second and the custom-made screens alphabetically. I'll ask around and see if there is a way to modify that.
As an alternative, you could create the Sketchflow prototype as a Silverlight app and then your designer could view the ouput as a .xap hosted on an html page.

Resources