Convert Flash version lens calculator into an iPhone app. The calculator requires inputs (select a camera type, select a lens, select field of view) and calculates outputs (image resolution, object distance) and displays the calculated numbers and representative photos. Representative photos are scaled and/or cropped from a set of base photos. The Flash version is at [[url removed, login to view]]. Flash code and math will be provided. Also there is a Droid version of the calculator which can be provided for reference.
This calculator is used to security system designers. They have to choose the appropriate cameras and lenses to cover the area of interest be it parking lot, bank, casino cash room, etc. The calculator tells the designer how much they can see and also gives them an example of the image quality. The designer is not always at their desk so a portable application is a good marketing tool for my company. I have not seen any other lens calculators nearly as useful as this one and I would like to capitalize on the market quickly.
In its current form, the calculator is free-form meaning that the user can experiment with different inputs and see the results immedately. There is no set sequence or "wizard" flow. I would like to maintain that free-form functionality. The main screen shows the key parameters and there are other second tier parameters available through a menu. Key parameters (as you can see from [[url removed, login to view]]) are
1. camera settings: resolution
2. lens: select lens, and lens slider
3. dist to object
4. image resolution
5. field of view
6. zoom-in picture
7. Theia logo
3, 4, and 5 are shown in two places on the Flash version, once as input, once as ouput. They could all appear as input/output fields in the iPhone app, only showing up once.
Second tier inputs are
1. camera settings: sensor size
2. lens: field of view in degrees
3. lens: focal length (mm field)
4. unit system
5. application picture choice
2 and 3 are both inputs and outputs and are related to the lens selection and lens slider in the first tier settings.
All the text should be grouped into one language file (like an XML file or some other iPhone equivalent). The text is put into a variable and then that variable content is written to the screen. The allows the app to be easily translated into a different language.
Flash and Droid source code is proprietary but can be provided.
I've attached some images from the Android version of the app. The zoom picture should behave like this: when you enter some numbers and the calculator gives and answer of 70pix/ft, this number is then recalculated based on the camera resolution and the input image resolution (in this case it would use the up to 80pix/ft image). When displayed at 1:1 resolution, the image shows what a monitor would show at 80pix/ft however we want it to show 70pix/ft so we have to increase the image width by the ratio 80/70 so the new image is not 600 pixels wide but 685 pixels wide (this image selection and scaling is in the flash code in the zoomPicture function). Then we have to crop that 685pix wide image to fit into the picture display box so that 1 pixel in the 685pix wide image takes up exactly 1 pixel in the Android picture box. This means that for different screen sizes, there will be different amounts of the picture shown but the features in the picture will be exactly the same size (1/2" tall e.g.) regardless of iPhone screen size.
Then, the user can "digitally" zoom in. This is what the iphone normally does when you pinch a web page or picture, it is a digital zoom which resamples the image to display on the fixed screen pixel width. However, in this case, the digital zooming should be confined to a picture box, not for the entire screen. The same with the panning, it should pan the picture within the picture box without affecting the position of the controls, etc. I hope this is not too confusing.
Regarding the formatting, here are some desired changes. The background is the [url removed, login to view] file (image top aligned with the top of the iPhone screen is good). The splash screen is simple and includes Theia's logo. The version number shows up in the corner.
The main screen should have the zoom picture on it. I think the mockup image is self explanatory. The first line at the top of the screen will change based on the selected lens and camera (which is selected from the menu). If there is room, the image resolution units should use the slash instead of the fraction ("pix/ft" or "pix/m").
From the menu, the user can select the camera settings, lens settings, or other settings. The camera settings screen (center justify the title) has the camera resolution drop down, size drop down, and sensor size warning (not shown) depending on sensor size and lens selected. (this may not be fully implemented in the flash code, I'll have to check).
The lens settings screen includes the lens choice drop down. Selecting a lens will change the end points of the slider bar on this page and on the main page. Likewise, any change to focal length via the slider bar or text entry into focal length of field of view is also reflected on the main screen. This lens settings screen should also include the lens warning when "other lens" is chosen (not shown).
Finally, the other preferences screen should include the units as "English (ft)" and "Metric (m)" and the application picture choice (outdoor, indoor, etc.)
There is also a "help" and "about" screen which gives our contact info and version history. These are just single textbox screens that I can fill with html.