API roundup – Thesaurus API

This is the first message, of hopefully several, about APIs.

Just wanting to put a shout out in the air, I found a Thesaurus API that will be put into use for a mobile app in development.

Check out http://words.bighugelabs.com/

Posted in Technology | Tagged , , , | Leave a comment

How to start and end a letter or email: Salutation and Valediction

Here’s a topic for a moment: formal and informal greetings in an email, or letter, any form of written communication.

For several years I would not use any form of sign-out at the end of an email or message, except in email I would include

-Tom

Now it seems people don’t do that, they leave it to the automatic insertion of a signature.  But then, it cuts out the option of choosing the emotional tone of the close-out.  Granted, I ignored that by the “-Tom” ending in so many messages.  But I’m more aware of it now.

Today I sent a fax, a task I do less than 5 times a year.  Thinking about the proper use of words to convey meaning, while avoiding the dramatic and excess bubbly emotion, I cut it down to:

Attention RECIPIENT
From Tom Pace

My address has changed as of May 2011:

from:

52-1000 Somewhere St
Somewhereville, SW  S0M 3W4

to:

20-1000 Somewhere St
Somewhereville, SW  S0M 3W4

Tom Pace

I don’t need my name at the bottom, if it’s a short note to announce my change of address.  But I want to close it off, very neatly and cleanly.  Yet, having the name appear by itself seemed an unnecessary duplication of the “From Tom Pace” line at the top.  So I opted for a sign-out greeting.

A sign-out greeting, is called a valediction.  It is the counterpart to a salutation, examples such as “Dear NAME,” or “Attention NAME” or “To Whom it May Concern”.

My emails sometimes include valedictions, and I use valedictions in verbal communication… The one I have used most frequently in written messages came from my adoption of the verbal “take care”.  But several other places and people I’ve seen using “Regards” and “Best regards”.  So I tried it out, and it feels clean but also a bit distant.  So, in the last couple years, whenever I use a valediction in written messages, it will be one I come up with at the moment, to match the tone of the message or the tone of the saluation.

In this above example, I thought about “Yours truly”, “Sincerely”, “Regards”, “Best regards”.

Yours truly is excellent, but feels much older, and it’s mostly a simplification of “Truly, I am yours” or other similar expressions.

So here’s the end result: I chose Sincerely.  It is not a match of the salutation “Attention NAME”  as much as it matches the opening sentence announcement “My address has changed…”.

Sources I referred to for the writing of the valediction are:

http://en.wikipedia.org/wiki/Salutation
http://en.wikipedia.org/wiki/Valediction
http://www.entrepreneur.com/article/180872
http://springboardsconsulting.com/sbblog/%E2%80%98cheers%E2%80%99-or-%E2%80%98best-regards%E2%80%99-sign-offs-that-match-the-mood/

Posted in Activities | Tagged , , , , | Leave a comment

Fight narcissism! Social media can drive self and social improvement

I have lived in several places. The latest arrangement has me living in a nice town house.

And the unfortunate thing about living in this place or anyother townhouse, is the risk of bad neighbors… They are so close by, their quirks are inescapable. So if they like to park extra vehicles all over their yard, when there is perfectly good spare parking 30 second walking distance down the street, or their anklebiter dog barks every 2 seconds for hours straight, every day (no exaggeration), or they play blaring music and their subwoofer sends bass through the wall every day, then you can guess a persons quality of life might drop.

So an idea came to me recently, seems social media may also be taken this way, at times.

I had used Facebook, for the full time I’ve had an account, to spew words that some people would find amusing, but not caring how everyone might take it. And it was more for my own ammusemrnt much of the time. I dare say, mildly narcisistic.

A few months ago, one person on my friends list posted a picture that shocked me. It wasn’t the type of picture that is so totally out of character that forces a person to bring it up, and others probably enjoyed the picture, so I said nothing. But what I did do is reduce my use of the social media for low-quality status posting. And low quality photo sharing.

My interest is shifting more to the career focus, to increase my leverage of these social media to earn more. So like a good neighbour, I won’t cause a big scene if a neighbour is doing something annoying, but carefully, tactfully bring it up so they can choose to correct the situation. And at the same time, I will use the momentum of social betterment to build up more momentum of self-betterment.

One thing d like to bring up: I really like “the good bike project Toronto”. Google search for that, you will find the story of an amazing real-world social improvement social media project.

Posted in Uncategorized | Leave a comment

How payment systems work, and setting up a payment system – part 1

There are lots of ways to get value for one’s own labour or servicing. That’s the more abstract way of saying “there are lots of ways to get paid”…. Cash, trade/barter, cheques/checks, credit. Most times, money goes into a bank account. That’s if you want to keep the money in a safe place. Also by storing it in a bank, the bank’s communication services can help make it easy for you to pay for stuff. And, for you to be paid, for stuff.

Background of this post
I’m sharing information, trying to make this post a short reference document out of my recent experience.  There are sometimes a lot of fees to chip away at your profit. The fees are most often ignored by people, called “a necessary business expense”. That’s true but they shouldn’t be ignored, or taken lightly. Today I saved one small business client $400, by looking at a different provider of credit card terminals than previously considered. And I’m now on the path to save him another $600 for a separate payment card terminal. I have a merchant account myself, and every month there are more fees, but I’m quickly learning the different fees for everything, so I’ll be saving my own self 400-1000 soon.

What is a payment system
A payment system handles money going from one place to another.  For the purpose of this article, I’m limiting discussion to the moment of payment to the money being in one’s account.

Security and Signatures
Cheques are cheap methods of payment, but the payer has to pay up front for the little pieces of paper, custom printed with security codes and what-have-you, to make the payer and payee/seller more comfortable. And that’s what a lot of the fees go to: comfort. Comfort brought by security. And the security is usually good, but sometimes unnecessary, thus an unnecessary expense. But the most useful security system is the personal identification number (PIN) associated with an account. The account is encoded on a magnetic strip on a swipe card, and read by a stripe reader. I’m ignoring the chip card technology for the moment.

The general retail stores are slowly converting to use a chip with PIN on Visa/Mastercards, and that saves the signature. The signature is being replaced by the PIN at the physical terminal, and the signature is already replaced by the security code on the back of the card, for online transactions. A person can also deposit into a bank account at an ATM/ABM without signing or stamping the cheque because the PIN used with the card represents the signature… that’s the general policy at my bank anyway.

The security is often end-to-end, meaning the merchant is locked-out of the electronic communications between the payment terminal and the payment processor company.

Further sections to be written:

Payment Terminology
Tons of hardware, lots of software, so what is the best approach?
What fees are involved with a payment system?
How is a transaction made?
What are reasonable processing fees of a transaction?
Where the money goes… and how to get it!

 

 

 

 

Posted in Activities, Technology, Thoughts | Tagged , , , , | Leave a comment

Do you really want that job? (aka The Incompetent Client)

Here’s a hypothetical situation for you: let’s say an organization wants you to make amazing new signs for a promotion… and you recommend to the buyers/client that they install these new signs in specific locations, but there was a past track record of incompetence, such as previously installing a series of signs all upside down. Would you do the job? (And how does that even happen? Who knows!)

I love the funny pictures that show ridiculous things like that.  Actually working with or for people who would make foolish mistakes, and NOT admit, correct and learn from them, is infuriating, but part of life.

These are things that crossed my mind today.

How does a person guarantee they will get paid? Or how does a person guarantee that his/her own work is respected and used appropriately? If the work is compensated, but trashed, it is not very good to use on a resume or as a client success story for referrals. And if the work is paid, but used or implemented inappropriately, that could be difficult to use for referrals too. Worse yet, someone could see the client’s poor use of the product and conclude the maker/product was at fault, rather than the faulty use by the user/client.

These are all based on a thought of dealing with clients with poor knowledge, attitudes, or behaviour. But again in life, that doesn’t necessarily need to be the case. They could be great people, with good knowledge but the market rejects the work.

Whatever the situation or client, I think the BEST approach is: make a great first impression for yourself and the proposal, be truthful and open and create a very short term plan (a bootstrap plan) and then get up-front retainer fees received and in the bank. Then begin to build momentum, maybe by frequent and productive meetings, and optional ongoing compensation as appropriate.

This is a relatively new business technique to me. But it’s such a great one. The last several clients I have worked with as an independent, I used this technique, to great success. Now in a group with some partners, I am seeing clients coming in who have lots of gusto and excitement to have us do projects, but I’m feeling the risk if their gusto and excitement is not balanced with their budget.

So unfortunately, there is a high risk of loss to the momentum of the business relationship, and to my own business. For example, when loss of a prospective or active client does happen, morale may drop, affecting the ability to get new clients or perform other standard business tasks like proper accounting and invoicing. Really, I am reflecting on an experience that nearly killed my potential right out of the gate, in 2009, a few months before completely dedicating to iPhone and mobile.

Putting a project on hold, or even canceling one for whatever reason, or worse yet losing a client… I cannot let these bother me, and it is much easier to get on with life and other work if I have been paid properly. Then I will just walk on, looking forward to the exciting potential for the next days and the next weeks.

Posted in Technology, Thoughts | Leave a comment

POS (point of sale) custom setup with hardware

Nearly complete is one of my recent projects: setup a new store in town, in whatever ways I can help.

What it has involved, includes website, printed products (loss-leader notepads, business cards, etc), cellular network payment processing, point-of-sale payment processing and inventory and account management, plus media hardware and software, and multiple security systems and redundancy systems.

What that boils down to is: a lot of work, a large amount of little bits that all need to be collected from a dozen sources and assembled into one clean solution.

Most is not too difficult. Security system? well, the business location will have metal bars welded across the windows and doors, and security mesh wire along the warehouse door. But the cameras I’m buying will need to be placed in good locations, installed and wired to the main box, and that hooked into the network. Not so big of a problem.

But getting the point of sale software and hardware is a big confusion. Because there is a lot of unknown variables. Right now I’m struggling to find an Ingenico 3070 device, or a similar product. Also setting up the accounting is not too tricky, but the software being used is Simply Accounting, and it has no built-in point-of-sale functionality, but requires a third-party application.

So this third party application must have all the connectivity to hardware like a barcode scanner and cash drawer. Unfortunately, there is no way to test it because there is no trial version of the software.

So in a nutshell, this post is a bit of a rant (for the moment), about point of sale operations and hardware being confusing, fractured and such.

However, I have found a couple good resources out there.

http://www.possoftwareguide.com/articles/pos-accounting-integration.html

While typing this blog post, I searched for “open source pos software” and found, among others, the following:

http://www.openbravo.com/product/pos/

Posted in Uncategorized | Leave a comment

Chocolate Hallelujah! The search for chocolate nougat in gold wrapper concludes

Have you ever bought a product that you love, then later when trying to buy it again you discover the company that makes it, or else the company that sells/retails it… goes out of business?

What do you do if you threw out the packaging, and were not certain exactly how to get it again? Another supplier? Another company buying the original company and re-releasing the product?

Granted, this is assuming you need the product and are unable or unwilling to take alternatives, because of whatever reason, it just doesn’t seem right.

This is the case for me and the nougat chocolate bar. I only ever bought one, and it was beyond beautiful.  It came in a very nice gold foil wrap, and I bought it with a bunch of other chocolate from a confectionary shop. The bunch of other chocolate was very good, but after the purchase, let it suffice for this story, individuals in the store had nasty behaviours and attitudes.  The merchandise was good, but I didn’t go back. The chocolate stash disappeared over time, including the beautifully gold-foil-wrapped nougat bar. “This chocolate nougat is so amazing, keeping the package is a great idea, for a reference to buy it in the future!  I’m likely to go to another confectionary store soon.” was my thinking, but unfortunately it went in the trash.
And soon after, the chocolate store went out of business, for whatever reason I won’t speculate on.

Thus an insatiable craving has harassed my sweet tooth for several years. Of course, hershey’s kisses come and go, sweet tarts/mini-pies from specialty shops and the like… 30 LBs of chocolates from World’s Finest chocolate factory outlet store in Campbellford, Ontario including several pounds of delectable mint meltaways… and so much more.

But I keep looking for this one product, that gold-wrapped foil nougat bar.

Now I knew this: the nougat bar had a gold wrapper, it didn’t have any diacritic like the two-dot diaeresis/umlaut above the u, and it was not white candy, rather it was chocolate brown… and chocolate tasting. Oh! And it tasted quite a bit like Toblerone, but I was much more enamoured with this nougat chocolate than Toblerone bars. And yes, one last thing: it was not manufactured in North America… Europe somewhere. I did read the back of the label, and I think it was the UK.. but not certain.

So there isn’t much to go on.. a lot of vague notions of the product, and that’s all anyone in a chocolate or confectionary store would get from me, as I sought the candy.

Finally, tonight, something clicked… I thought “Google is your friend.” Yes! Yes it is! Try “nougat gold wrapper” in a google search and see what comes up.

WOW!

One of the first pages is Mondo, and behold, the description for their Vanilla Soft product ends with: “Yes, this is the original and famous nougat in a golden wrapper”.

My search had ended! But reading the description of the main products of Mondo nougat concern me, the description of the nougat products makes no mention of chocolate except their explicit “Chocolate Nougat” bar, and yet the word chocolate was extremely absent from the Vanilla Soft product.. And the pictures of the Vanilla Soft wrapper were small but unfamiliar, so another search for some better images was important.

At this point I think it’s important to say, I want to try out several of these Mondo Nougat products, they do look very tempting.  Cherry.. mmm. Cappuccino, Vanilla crunchy!

Clicking back, I decided, before doing an image search, to just check out the rest of the search results from “nougat gold wrapper”.

Another in the list caught my eye… and made me laugh. The part of the google search results that displays an excerpt of text containing my search words contained the following:

” this one with its classic gold wrapper caught my eye”

Hey! So lets check this out…
the page is http://www.seriouseats.com/2009/08/german-nougat-chocolate-bars-from-wendler-of-nurnberg.html

This article shows up-close pictures of a gold-wrapper product, and my taste buds and eyes danced a duet. The wrapper looks just like I remember it (as long as memory isn’t totally failing with a fake memory) and it’s from a German company called Wendler.

Another search for “Nougat Chocolate Bar from Wendler of Nürnberg” lead to the product page on germandeli.com where some product reviews included:

the best chocolate ever!!! (by dom&tay) We bought this at a german fair in Chicago and we took it back home and ate it in class and it was just AMAZING!! We want some more please!

and

Awesome chocolate
(by Marianne) This chocolate bar is the best you will find. My grand mother lived in Germany and sent me these ever since I was a child. I am so excited to find them here online. I couldn’t find them in any store in our area and Milwaukee has a lot of German items for sale. My son has been asking me to find them for him, too and now he will get a couple along with his b-day gift, I know he will be thrilled. Enjoy!

This has brought much happiness to the sweet tooth, and it is waiting, salivating for the chance to order some of these.

Posted in Activities, Thoughts | Tagged , , , , , , | Leave a comment

Back in the Land of the One-eyed Bloggers

After a long while of struggling, this blog is now properly secured by SSL. This has been a major goal since returning from Banff and area, Alberta, in October.

Lots of goings on, lately: finished a job made up of a long series of small jobs for a client, got another new job like that for a local building supply store, setting up point-of-sale and inventory.

Working on a few iOS projects and very soon I hope to revisit android too.

There are so many things that go on, blogging about everything is a bad idea unless there is something useful and valuable to say.

So now I’ll say: take care of your eyes. Seriously. Unrelated, sure, but i was striken with a severe case of iritis this week. That is inflammation of the iris. It’s something making me more caring of my vision. Thinking of all those people with sight in only one eye, or fully blind, I am more compassionate to them and others suffering this Christmas season.

20111220-025109.jpg
This is just a pic of my eyes, one dilated with some drops. This is to attempt the breaking-away of, or prevention of, the lens becoming sticky and adhering to the iris. When such a thing does happen, cells can get pulled away from the iris and remain on the lens.

The following accurately depicted my sight on the worst of the days:

The sight from my left eye, with contact in, 20/20.
20111220-025913.jpg

The sight from either eye on any given day WITHOUT aid by contact or glasses
20111220-030026.jpg

The sight in my right eye, clouded and less sensitive to blue light so things become more yellow/orange in color
20111220-030150.jpg

When this is over, I will try to remember the pain and frustration, so the memory keeps me more proactive!

Posted in Activities | Tagged , , , , , | Leave a comment

Best Techniques for 360 Panorama on iPhone

360 Panorama is a revolutionary app.  It is made by Occipital (occipital.com) and has been under constant improvement, both the app and the web-site since it was released in late 2010.  Check out the 360Verse web app!

A short history of my use of the app:

I got the app in early December 2010, and captured several Christmas light panoramas.  They were amazing, and the ease at which I could just stand and spin around made me so happy.  Having experience stitching dozens and dozens of photos into 40-80 megapixel panoramas, this made me so happy to save such time. And for better or worse, I am a perfectionist.  Despite how amazing and excited these christmas light panoramas were, I found them flawed. All my attempts were challenged by light intensity, and were full of tilting, so I felt either I needed to figure out some techniques to improve, or the app needed updating or both. And the app has been updated several times with several new features, and greatly improved image blending/stitching! Awesome!

 

Getting a satisfying 360-degree photo is so easy (wahoo!!!), but to add that little extra bit of quality, I’ve come up with a handful of techniques that can be used to improve the finished result.

Quick Bonus Tips! 

  1. Keep the iPhone as close to you as possible, right in front of your face.  Holding it at arms length can confuse it for certain near-by objects.  This tip came directly from Occipital after I finally asked for help in late February 2011.
  2. Also don’t lower it down to your chest or waist when capturing the ground, and don’t stick it way up above your head when capturing the sky.  Only rotate it up and down, right in front of your face, and spin your body to get the side images.

The Best Tips

The following are the most important techniques to solve the most significant problems I found occurring in most panoramas:

  1. Achieving the best camera exposure levels in the first shot
  2. Moving around so the images to blend together properly, primarily to fix broken horizons
  3. Moving so the internal gyroscope does not start to go sideways, resulting in tilted-looking buildings like Leaning Tower of Pisa.. or the horizon on a lake doesn’t tilt.

1. Get Best Exposure for the Environment’s Light

Determining the best exposure is often a bit of a guess, but the best way to get it is aiming the camera toward the brightest point in the 360 environment for light or average environments … obviously the sun, if you’re outside, or some light wall inside, etc.  In a darker environment, aim the camera at the darkest place so it compensates and the rest of the 360 view is easier to see, not all black.  And then, start capturing, and quickly spin around and find any places in the environment that you really like and want to see in the panorama, and if they appear way too dark or too light, then you might want to restart, and aim the camera a bit off from whatever you aimed at initially.  Then you can either assume the camera has a good initial exposure and continue to make the panorama or you can do a quick spot check again.  I usually do one single test and then do the panorama.. Although, I would have done a third on Lake Louise if I had the time (I was annoying family members who were also in the canoe, requesting them to spin the boat around! haha..)

Here are two pairs of panoramas with separate light/dark versions, Lake Louise and Grotto Mountain Pond:

  • Lake Louise light (the water texture is much more detailed than the dark version, but the Fairmont Chateau Lake Louise is farther and harder to see here… the dark one is closer)

 

  • Lake Louise dark (the trees on the mountain are harder to see, and water is darker compared with the light version, but the two landmarks Mount Victoria and Chateau Lake Louise are easy to see)

 

  • Grotto Mountain Pond light (easy-to-see large mountain on left, almost bleached-white mountain on right)

 

  • Grotto Mountain Pond dark (easy-to-see mountain on right, almost total black mountain on left)

I felt rushed for time at Grotto Mountain Pond, so I couldn’t get a well balanced 3rd panorama.  .. Ahem.. Actually, these were the 3rd and 4th. The 1st and 2nd were each destroyed by separate incoming SMS text messages. Bah!! Airplane mode fixed that. hahaha!

This technique was important for the panorama in the field with mountains in Canmore (http://360.io/HkKLEB)  I did 2 or 3 spot checks before I finished the field-with-mountains, because there is a huge amount of dynamic range.

First I aimed at the sun, so the sky was darker and all the clouds were detailed, but the mountains turned totally black.

Then tried lighter a bit, once or twice, until I liked the balance between bright sky clouds and the dark mountains. This was used by Occipital in the 360verse, and a viewer commented on it, inspiring me to write all this information.

 

2. Preventing Broken Horizons

 

Watch the grid when starting, and try to get the horizon in your first image, rather than a total sky image or total ground image.  Then slowly angle the device up and down to get the sky and ground for this initial horizon image, then return to the horizon and start slowly turning around in a circle. The camera decides to take a picture when there is enough new uncaptured environment in the camera view.  When the camera decides to snap a new picture, try to make it so as much of the new image is overlapping the captured images as possible…. so spinning your body slower helps.  Doing this, will greatly reduce the chance of a broken horizon… except in the final stitch-together when you complete the 360 spin.  It’s much more tricky to get the horizon at the end of the 360 spin to be unbroken.  I think it’s a bit of luck, but it’s partly about keeping the iPhone as still as possible, while spinning.  But as I describe in #3 below, the internal gyroscope can get thrown off so sometimes.  Finally, completing the spin around, hopefully there has been very little broken horizons, and there are no trees or buildings or horizon tilted.  Then start spinning slowly again, capturing the sky and ground in the same manner.  I haven’t determined if it makes a difference to capture only the sky in a spin, and only the ground in another spin, or if the second spin can capture both sky and ground perfectly well simply angling up and down as you spin the second time around.

3. Calibrating the Gyroscope Mid-Capture

The fix for the gyroscope, as described above, is important to limit lines both horizontal (like the horizon especially obvious on lakes/oceans) or vertical (like buildings or trees) from tilting left/right.  It’s best, while keeping the iPhone perfectly untilted left or right, to watch the grid on the screen.  If it starts to tilt, then the gyroscope needs calibration.  So, the best way to do that without ruining the panorama is to keeping the iPhone pointed at an image you’ve already captured, and moving the device rapidly back and forth.  I have found various motions work at different times, either outward and inward around 12-24 inches out from your face, or moving the phone in a circle about 12 inches in diameter, or a figure-8 shape, in front of your face.  Alternatively, quickly spin a bit back over the panorama you’ve captured already about 90 degrees, then return and repeat as needed until the grid is straight again.  That is the best technique for calibrating, and at the same time preventing the camera from snapping a new picture for the panorama that you don’t intend.

Now I’ve created almost 30 panoramas, some uploaded and public, and feeling great confidence in the app, and my own improved use of it.  Hope this info can help you get even more enjoyment from the app.

If you want to see some more of mine, click to view my public panoramas occipital account page.

Follow @360panorama on Twitter to hear about the latest news and additions in the 360verse web app.

Posted in Activities, Technology, Thoughts | Tagged , , , , , , , , | 1 Comment

Make your iOS apps support public types (like .zip)

It will happen once in a while, when using an iPhone or iPad, a person may get an email with an attachment to be opened, but can’t because there is no app on the device to open it. Or similarly, surfing the web using the Safari mobile browser, and suddenly there is a file to be accessed/downloaded but it isn’t supported in Safari on iOS.

And for app creators/developers, we solve this issue by allowing our apps to open those types of files, to make up for the lack of Apple having an app that does so.

There is much info around the internet about this, but mostly the info is about supporting custom file types (for random example: .my3dimage) it all comes up short for supporting public file types. I mean, types of files that are out there in the world, but the iPhone doesn’t have an app that supports them. A really obvious case is PDF files.  They used to be not supported, but now they can be viewed in Mail or Safari.  One popular type that is not supported in mail or is the zip file type.

An app developer simply adds the CFBundleDocumentTypes key to the app’s Info.plist file, and fills it in with info, and then builds the app to handle the file when another app tries and fails to open a file.

CFBundleDocumentTypes is an Array of Dictionary objects. Each dictionary has a set of keys (and values) and following is a list of recommended keys from Registering the File Types Your App Supports in Document Interaction Programming Topics in the iOS developer library:

CFBundleTypeName specifies the name of the document type. (ie. Zip archive)
CFBundleTypeIconFiles is an array of filenames for the image resources to use as the document’s icon. (could be a picture of a folder with a zipper, like Windows Explorer uses, or anything else)
LSItemContentTypes contains an array of strings with the UTI types that represent the supported file types in this group. (an array of the UTI types.. this is the confusing part for quickly supporting public types that I deal with in a moment).
LSHandlerRank describes whether this application owns the document type or is merely able to open it. (This is another interesting part that I talk about)

More can be added (and SHOULD be added), and they’re found in Table 2 Keys for type-definition dictionaries, of the CFBundleDocumentTypes section, in the Core Foundation Keys page of iOS Information Property Key Reference.  But BEWARE!  Several of these keys are not for iOS, but Mac OSX, and some are deprecated, while still remaining in the list.

There is more information on the meaning of each specific value that can be assigned to each key. Check out below Table 2, in CFBundleDocumentTypes section, for Document Roles and Document Icons.

After Document Roles and Document Icons sub-sections, is a relatively section of some importance, Recommended Keys.  I say “some” importance because it’s a very important section naturally, but contains out-of-date recommendations.  This list contains 1 valid key for iOS and 3 that are Mac OSX only, plus those 3 are deprecated:

LSItemContentTypes
CFBundleTypeExtensions (not in iOS)
CFBundleTypeMIMETypes (not in iOS)
CFBundleTypeOSTypes (not in iOS)

The following are strongly recommended, but optional:

CFBundleTypeIconFile
CFBundleTypeName
CFBundleTypeRole

These 7 recommended keys, partly overlap with the 4 I listed above from the Registering the File Types Your App Supports section. The overlapping items are:

LSItemContentTypes
CFBundleTypeName

It can be confusing then, which to use… I think this is just a case of some instructions not being updated with the latest best-practices. So try support as many non-deprecated keys as possible!

Now for a list of the strings that can go into the all-important LSItemContentTypes section:

System-declared Uniform Type Identifiers (UTIs)

 

The table on this page lists a whole bunch of system and public file types that aren’t necessarily supported in the iPhone or iPad.  Zip is in the list, and happens to have the com.pkware.zip-archive valiue.

I won’t discuss the icon, but please see Document Icons  within Custom Icon and Image Creation Guidelines for info about them.

Info about the Role is in iOS library.

There is a possible issue with the Rank, if two apps declare themselves as the Owner of a type, then one of them is given precidence for the button that appears on the right-side in Mobile Safari, as seen in this picture:

 

 

 

 

 

 

 

 

 

I don’t know much about dealing with this yet, but it should not be a huge problem because a user can click on the “Open In..” button and see other apps that open it, like in the following picture:

Hope that helps someone.

Posted in Technology | Tagged , , , , , , , , , | 2 Comments