passbook on the apple watch - watchkit

Somewhere in the near future, an application I'm working on is going to its own pass to be stored in the user's passbook.
Since you cannot really test the passbook app from the watch in the simulator, and my watch will be arriving next month, I was hoping someone could shed some light..
I had a few questions about passbook for the apple watch..
Is it safe to assume the passes in passbook will automatically be
synced and added from the phone to the watch?
Are there any sort of visual guidelines when it comes to showing
passes on the apple watch? Does text automatically shrink? are things truncated? Are only certain fields appearing on the watch to conserve space?
Is it safe to assume if the user turns their wrist, the screen will
not shut off if a pass is currently being displayed?

Yes it automatically syncs.
Thus far I've noticed that the Pass is added to Apple Watch Passbook quite quickly after added in iPhone; although if you reorder the passes on the iPhone the order takes a little longer to sync on the Apple Watch view. (I haven't timed this under different scenarios but I'll test that and get back to you). Please note, I have >300 passes in Passbook so a 'typical consumer' may not experience the same.
Visual Guidelines.
The logo image remains at the top left of the Watch view of the Pass and automatically scales.
The strip or thumbnail image are removed from the Watch view. A background image (on an event ticket type) remains visible but is not scaled.
The header fields moves below the logo image (i.e. it is not to the right of the logo as it appears in the phone).
All other (text) fields appear on the watch view, but they are not side by side. The are presented in a 'list view' - separated by a fine line between each field. I have experienced some situations where the text length runs over one line (e.g. an email address i.e. no spaces between words) and it doesn't look so beautiful as the text does not resize to fit all on one line.
The pass automatically scales width-wise so it fits in the watch view but it is "longer" than the watch screen so you scroll the Pass up and down.
The pass length in the Watch app is dependent on the number of fields used in the Pass.
As you scroll to the QR code and tap on it, all other background colours and the 'close' link disappears and only the barcode is displayed. The square barcodes look significantly better. Of course redemption/scanning still works with the PDF417 barcode but it just doesn't look as nice in the watch view. It is presented in vertical format in the centre of the watch view, with black to the left and right of the PDF417 barcode.
Please note that there is no 'back view' on the apple watch pass. i.e. you cannot flip the pass to access the back of the pass as you can on the iPhone.
Screen shut off
The screen will not shut off only if the barcode has been selected (as described above). If you are just viewing the pass and have not selected the barcode the watch screen will shut off after time of no activity or if you turn your wrist.
If the barcode is selected, the barcode remains on the screen irrespective of wrist position and does not shut off over time.
Other - Lockscreen notifications / convenience.
Works the same as iPhone when in proximity to an associated GPS location or beacon or following a push update.
The pass can be accessed by tapping on the notification (i.e. no need to open the Passbook app on the watch) and can also be accessed by a swipe down to notifications. A 'small pass' is displayed in notifications. The 'small pass' is the same width as the watch face, and about half the height (same as other notifications). It consists of the logo image, inherits the background colour of the Pass, and includes the pass description field (when in proximity) or the updated field (when pushing an update).

Related

Windows Band Tile GeoFencing

We are going to be developing Tiles for the Microsoft Band 2. Is there anyway to Geo-Fence certain Tiles based on GPS that are created for business use so they only work within the confines of the company area?
It depends on what you mean by "work within the confine of the company area". You cannot run code on the Band itself (only read from or push to the Band via an application running on your mobile device), so you cannot prevent the user from arbitrarily opening a Tile if it's present on the Band. There are also no geo-fencing features related to Tiles on the Band.
If you don't want custom buttons within a Tile to function when outside of a given region--that's easy. Button press events are sent to and handled by the application on the mobile device and can simply be ignored if the user is outside that region.
If you don't want the user to see any content in the Tile outside of a given region, you may be able to use the Tile opened events to give your application an opportunity to clear the content of the Tile if the mobile device is outside that region (and then to re-send it if inside that range). Still, pushing content to the Band over a Bluetooth takes time so the user may still have the opportunity to see the content before it's cleared/updated. Even if were fast, you can only connect to the Band when both Bluetooth is enabled and the Band is within range of the mobile device. If the user were to turn off Bluetooth on the Band or just step far enough away from the mobile device, the user will be able to see all existing content within the Tile.

Prevent Apple Watch from turning off the screen

I'm writing an extension for the Apple Watch which aim is to guide the user through a set of steps. I don't have the watch to test the extension but I need to be sure that the screen will remain always on until all the steps are completed.
Does anyone can tell me when Apple Watch display is turned off or if there any way to prevent the display from turning off (similar idleTimerDisabled from UIApplication in iOS)?
There is currently no way to programmatically prevent the display from being turned off. Otherwise, we can speculate that as long as the user is interacting with your app, the screen will remain on. Worst case, you'll receive a didDeactivate when the app is suspended and a willActivate when the user wakes it up to continue (assuming the Watch app isn't terminated in between).
As of watchOS 4 you can use this boolean to keep the display on, and this will rotate the UI when the arm is turned.
https://developer.apple.com/documentation/watchkit/wkextension/2868464-isautorotating
Consider HKWorkout.
it ensures that your app appears whenever the user checks their watch
https://developer.apple.com/documentation/healthkit/workouts_and_activity_rings
It seems when the system is using the mic, it forces the screen to stay on — I’ve noticed this even in third party apps that allow sending voice messages. Here is the view that the user sees when screen idling is disabled in this way:
Note that this is a third party app and the screen didn’t turn off even after 2 full minutes!

Air application with two screens with different content

I've been asked to build a pretty simple application using Air, which runs on one PC but uses two monitors (laptop screen and second monitor / projector).
The idea is that there will be two distinct elements - a Controller window (laptop) and a Display window (second screen). For example, a dude will press a button on the laptop window, and it'll change the Display window - or information typed in the laptop will show on the second display. It sounds odd, but its for a game that someone wants to set up...........
I've been messing about a bit, and I've managed to default stuff to a second screen, but I'm not sure how to get it to show different content on each and how to define where the content lives.
is this possible, or is life just too short?

Flex - invisible text until mouse pointer moves outside textInput

We have an application running flex sdk 4.5 and have recently encountered an issue with textInput fields which we have not been able to reproduce on our end for the better part of a month now.
Here are the symptoms:
Users opens an input form which contains several input fields (combo boxes, calendars, text inputs, etc)
User clicks inside a text field
Users types (obviously!)
** Nothing appears in the text input - we have validators on some of these fields and they do kick in properly (ie. user sees red box around textInput disappearing)
User moves cursor outside of text input field and text appears
Give or take, this is the test case we've been provided. We have been unable to reproduce this and I'm reaching out to see if anybody has heard of issues like this in the past.
They are running our flex application in the following environment:
Windows XP SP3
IE 7.0.5730.13 (locale = en-gb)
Flash Player 10.3.181.14
Upgrading either of these components is not an option. Installing the flash player debugger is not an option either.
Now we've setup a pc exactly the same way as they have on their end and still haven't reproduced. So we're really stuck at this point :)
Any suggestion is greatly appreciated. I'll provide any additional info needed.
-Marc
Feb. 2nd 2012 - Update
As I noted in my comment reply to shaun, it seems our customer was more or less precise in their description of the issue. We ran a webex session with them this morning and actually saw the issues first hand.
Here's what happens:
- User loads our application via its url
- User is able to input data and pretty much do any function for a 'random' time period
- All of a sudden, the issues start (there are more symptoms than just the one I originally mentioned):
1. Users type in text input fields and they won't see the text appear until they move the cursor out of / into any other component (could be entering an hbox, exiting a text input field, etc)
2. Combo boxes behave more or less the same. They can drop them down, but then the mouse wheel no longer refreshes the list. It actually scrolls in the background, but until the user moves the mouse, the list does not refresh
3. We also communicate between the server and client via an amf channel. The events make it to the client, but again, they won't see the screen refresh until they move their cursor.
So basically, the application still seems to work, but the screen is no longer refreshing. Could it be something to do with an invalidate / update of the display list that doesn't kick in? We'd like to get them to install the debugger version of FP, but that doesn't seem to be an option.
Another thing to keep in mind: they have a VERY bad internet connection. They average around 1-1.5mbps (megabits) which is enough for our app, but I just thought I'd let you know.
We learned that they also use a Citrix presentation layer to deploy IE 7 to the end users. We've received confirmation from the end user that even if they launch IE on their workstation (not through citrix), they get the issue also.
Another note is that we've seen no errors in our web server, jboss or application logs...
So that's the update I've got... anyone have more thoughts on this? We've more or less discarded the fonts being an issue at this point since the issue affects more than just 'fonts'. Is everything on the screen not updating anymore.

Download Image From Site

This site is claiming to prevent the download of images and preventing screenshots. Is this truly possible to stop and can anyone crack it in their demos? What tools can be used to download an image set as a background?
http://www.iptlock.com/how.php
It isn't possible, no.
If the client can see it on their screen, then it exists on their computer. Even if that weren't the case, there is always the whole analog thing (people can literally take a picture of their screen).
If you have chrome: Just go to one of their demos, press ctrl+shift+c, and an inspector will show up, showing you all individual parts of the page. Then select the image from the list (servedemoimg) , right mouse click on it, and you can save the jpg. It is not possible to prevent people from downloading those files. And this company doesn't even make it particularly difficult.
Their scheme "works" by hiding the content whenever a key is pressed or the main window loses focus. They also attempt to detect that something has been copied to the clipboard and they replace it with some text ("It is prohibited to copy distribute or in any way alter these copyrighted images").
That means that if you press any key to copy the content, you'll just get the "locked" graphic. The same goes for switching to another app (like a screen capture app) because the screen capture app will have focus instead of the browser, causing the lock graphic to show. If you do manage to copy something to the clipboard, it immediately replaces the content with the text I mentined above.
Furthermore, their content is a background image so you can't easily print or right-click to copy the image by disabling JS.
However, it's pretty trivial to defeat. My first attempt using IE8 was trivial. When I went to the "protected" page, IE asked me if I wanted to allow the page to access the clipboard, and I clicked "Don't Allow". Then I pressed PrntScr and was able to paste the content into another program. This worked because that particular key isn't captured by the browser and I didn't allow the page to see my clipboard.
Then I tried again, this time allowing clipboard access. This time I used a screen capture program that automatically captures the foreground window after a set time delay. This worked because I was able to give the browser window focus, and the screen capture utility just saved the image as a file instead of putting it on the clipboard.
Lastly, I just saved the source as a file and saw background:url(servedemoimg.php?filename=IPTbusiness_graphicdesign_ITB). Just putting http://www.iptlock.com/servedemoimg.php?filename=IPTbusiness_lawyer_ITB into my browser's address bar made the complete "protected" content show up for me to download, print, email, etc.

Resources