I have a case where the user buys my IOT device and needs to enter the unique identification of which is <MAC-ADDRESS>-<IMEI-NUMBER> on APP screen.

Entering such a big number will be error prone and frustrating. I want to solve this problem and provide a better way for specifying a unique identification for registration.

Are there better ways, which will save time, energy and provide a better user interface?

  • Hi Suresh. I feel like you are in the wrong community as your question has more to do with implementation than user experience. Kindly use the development communities to find a better answer. May 25, 2017 at 11:00
  • Moved this question to stackoverflow.stackoverflow.com/questions/44179106/… May 25, 2017 at 11:12
  • What type of app is this? One for mobile devices?
    – dennislees
    May 25, 2017 at 13:33
  • It's a mobile app. Which will track an IOT device May 25, 2017 at 13:36
  • An app that might reliably be used on a device that had a camera? It's more technically demaning, but the ideal use case here is simply to click a camera icon next to the input field, and point the camera at the number. Google's new 'Google Lens' solution lets users do something like this in order to connect to wifi networks businessinsider.com/…
    – dennislees
    May 25, 2017 at 18:36

3 Answers 3


Does it have to be entered as a number? Can it not be recognised as a pairing or a QR Code or some other method.

I worked on a reference platform for an IOT Client and we used image recognition to recognise and pair devices.

MAC addresses are not user friendly and inputting them is error prone. We all make mistakes which turn into frustration. Mostly because users assume "it's not working" as their first response, rather than check their input entry :)


Even if this question is related to implementation, there is an aspect related to user experience. As it is important to know the affordance of a button, similarly it is important for the user to know what is acceptable for a respective field for input. In this case, you can mention place holders for a text field as "Enter -" Also, validation on user submission can help.

Regards, Aniket Varankar


It is possible to extract a device ID without any input effort from a user. For example, in an iOS app written in Swift:

    let deviceID = UIDevice.current.identifierForVendor?.uuidString

You may wish to investigate the identifierForVendor and the uuidString. From Apple's documentation:

identifierForVendor: The value of this property is the same for apps that come from the same vendor running on the same device. A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor.

UUID: A universally unique value that can be used to identify types, interfaces, and other items. The uuidString is a string representation of that value.

Getting what you want without bothering the user can be a great user experience.

  • This input is for accepting IMEI and MAC of other devices and not for the self IMEI and MAC. Dec 28, 2017 at 6:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.