#9054 closed enhancement (no change required)
Automatically generate QR-Code
Reported by: | dsjonny | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | System/Kernel | Version: | R1/Development |
Keywords: | qr-code | Cc: | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
It would be very usefull if qr-code is automatically generated after enter the KDL.
Because many times the user cannot generate a code (because for example the keyboard not works), he/she can use the automatic generated code instead.
The code needs to automatically generate only when the KDL starts. There can be a message too (for example: "Please send this code to the Haiku team."), becase I think the most of the users cannot use (don't understand) the KDL. The KDL can be more "user friendly", if there would be only a generated qr-code, a message (what to do), and a prompt.
And of course, if the user is at home in the KDL, and can use the keyboard, than the qr-code can generate any other time, when need.
Attachments (3)
Change History (15)
by , 12 years ago
comment:1 by , 12 years ago
Component: | - General → System/Kernel |
---|---|
Owner: | changed from | to
Version: | R1/alpha3 → R1/Development |
comment:2 by , 12 years ago
Keywords: | qr-code added |
---|
This isn't a horrible idea... however:
Pros:
- Simple, better then screen shots of backtrace text
- Most people have smartphones which can read qr codes.
Cons:
- QR code is too small.. to store an entire backtrace would require several *huge* QR codes. (try to generate a qr-code with a backtrace, it just doesn't go well)
- We don't want to just blast qr codes on screen... by that time a backtrace would be more useful when no keyboard is available.
comment:3 by , 12 years ago
That image was created with WonderBrush for example only. The text is usefull in "standard" KDL format too, of course.
I do not know how many character/byte a "normal" KDL error message (what we got of an error when enter KDL), but based on the wikipedia it can contains many data:
Numeric only Max. 7,089 characters (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) Alphanumeric Max. 4,296 characters (0–9, A–Z [upper-case only], space, $, %, *, +, -, ., /, :) Binary/byte Max. 2,953 characters (8-bit bytes) (23624 bits) Kanji/Kana Max. 1,817 characters
But, really, nobody want to use a fullscreen qr-code.
However, the KDL can decide if there is a large amount of data, than do not create a qr-code, just only give some message for the user.
And I've got another idea: if it is possible, than in every kernel error (when entering KDL), save the onscreen error messages as a text file on the Desktop. I know, the most of the times it is in the syslog, but the enduser will not found and read the syslog. So; if there will be the text error on the Desktop or in the home folder, than the user can find it, and can use it in e-mail or in ticket. But: this works only if there is no fatal error, and the KDL can save the file.
comment:4 by , 12 years ago
attached is a qr code for an average size kdl backtrace... one smaller size, one larger size.
My phone won't read either. (Galaxy Nexus 4G LTE)
comment:5 by , 12 years ago
the backtrace text I used was:
PANIC: no space in log after sync (1424 for 2043 blocks)! Welcome to Kernel Debugging Land... Thread 14908 "nsinstall" running on CPU 0 stack trace for thread 14908 "nsinstall" kernel stack: 0xcd536000 to 0xcd53a000 user stack: 0x7efef000 to 0x7ffef000 frame caller <image>:function + offset 0 cd539af8 (+ 32) 80124efa <kernel_x86>:arch_debug_stack_trace + 0x0012 1 cd539b18 (+ 16) 80091d87 <kernel_x86> stack_trace_trampoline(NULL) + 0x000b 2 cd539b28 (+ 12) 8012a366 <kernel_x86>:arch_debug_call_with_fault_handler + 0x001b 3 cd539b34 (+ 48) 80093816 <kernel_x86>:debug_call_with_fault_handler + 0x005e 4 cd539b64 (+ 64) 80091fa7 <kernel_x86> kernel_debugger_loop(0x8016ed57 "PANIC: ", 0x815364a0 "no space in log after sync (%ld for %ld blocks)!", 0xcd539c10 "", int32: 0) + 0x021b 5 cd539ba4 (+ 48) 8009230b <kernel_x86> kernel_debugger_internal(0x8016ed57 "PANIC: ", 0x815364a0 "no space in log after sync (%ld for %ld blocks)!", 0xcd539c10 "", int32: 0) + 0x0053 6 cd539bd4 (+ 48) 80093b90 <kernel_x86>:panic + 0x0024 7 cd539c04 (+ 224) 81527154 <bfs> Journal<0xd602f250>::_WriteTransactionToLog(0xebc6386e) + 0x0324 8 cd539ce4 (+ 48) 81527be5 <bfs> Journal<0xd602f250>::_TransactionDone(true) + 0x00d5 9 cd539d14 (+ 48) 81527a12 <bfs> Journal<0xd602f250>::Unlock(Transaction*: 0xcd539d94, true) + 0x004e 10 cd539d44 (+ 96) 8152ef04 <bfs> bfs_create_symlink(fs_volume*: 0xd02b8798, fs_vnode*: 0xdfbaa420, 0xcd539de4 "nsIInterfaceRequestor.idl", 0xdf50a570 "/use-the-source/bezilla/mozilla/xpcom/base/nsIInterfaceRequestor.idl", int32: 0) + 0x02e0 11 cd539da4 (+ 320) 800e0643 <kernel_x86> common_create_symlink(int32: -1, 0xdf505070 "/generated", 0xdf50a570 "/use-the-source/bezilla/mozilla/xpcom/base/nsIInterfaceRequestor.idl", int32: 0, false) + 0x0073 12 cd539ee4 (+ 96) 800e5adc <kernel_x86>:_user_create_symlink + 0x010c 13 cd539f44 (+ 100) 8012b5d0 <kernel_x86>:handle_syscall + 0x00cd user iframe at 0xcd539fa8 (end = 0xcd53a000) eax 0x73 ebx 0x2d2f14 ecx 0x7ffecdc0 edx 0xffff0114 esi 0x7ffef6aa edi 0x44 ebp 0x7ffecdec esp 0xcd539fdc eip 0xffff0114 eflags 0x3216 user esp 0x7ffecdc0 vector: 0x63, error code: 0x0 14 cd539fa8 (+ 0) ffff0114 <commpage>:commpage_syscall + 0x0004 15 7ffecdec (+8592) 0020259b <nsinstall>:main + 0x0b97 16 7ffeef7c (+ 48) 0020120f <nsinstall>:_start + 0x005b 17 7ffeefac (+ 48) 00106236 </boot/system/runtime_loader@0x00100000>:unknown + 0x6236 18 7ffeefdc (+ 0) 7ffeefec 719937:nsinstall_14908_stack@0x7efef000 + 0xffffec
comment:6 by , 12 years ago
While I'm not for an automatic QR code at KDL entry, I think that KDL can be a little bit less user-unfriendly by having by default a short small "what can I do?" text and a bt2qr command generated a set of QR codes as much as needed to host the whole backtrace that the text can hint toward.
What could be cooler even is that dev.haiku-os.org provides a way to directly report a full screenshot of such QR codes set... Using a fragment number in each QR code could make this a bit easier too.
follow-up: 9 comment:7 by , 12 years ago
I didn't know that this "few lines" generates an unusable qr-code. :( But I think the develpoer need to find some usable solutoin for the very end-users too. Because; like my mother never will know what is that error (and she also cannot read it, because cannot speak english...). As I know Haiku is not only for professional users, so need to find out some user-friendly solution. This is just my opinion...
comment:8 by , 12 years ago
I guess we could imagine a kernel settings enabling an automatic and more user friendly qrcode based report kdl welcome message . The text will invite the end user to capture the whole set of qr codes and somehow post it on haiku web site.
comment:9 by , 12 years ago
Replying to dsjonny:
I didn't know that this "few lines" generates an unusable qr-code. :( But I think the develpoer need to find some usable solutoin for the very end-users too. Because; like my mother never will know what is that error (and she also cannot read it, because cannot speak english...). As I know Haiku is not only for professional users, so need to find out some user-friendly solution. This is just my opinion...
I would not recommend Haiku in its current -- alpha (!) -- state to end user. In a final product kernel crashes should virtually never happen. So I don't think it's reasonable to make KDL more end user friendly (we certainly shouldn't start localizing it or things like that).
Regarding the main point of the ticket, as has been written before, the information density of QR codes isn't that good. Their main use is to relatively easily retrieve a text version of a stack trace (which is more convenient for developers to work with). I don't think they add much user friendliness for the people retrieving the stack trace. Due to the lower data density it even makes things worse, if the keyboard isn't working.
I wouldn't mind a kernel setting and a boot loader option to enable automatic QR codes, but enabling them is not a good default IMO.
comment:10 by , 12 years ago
Resolution: | → no change required |
---|---|
Status: | new → closed |
The discussion seems to have run its course, closing.
comment:11 by , 9 years ago
Just for note: Microsoft implement a similar solution in Windows 10: http://arstechnica.com/information-technology/2016/04/microsoft-adds-qr-codes-to-bsods-in-new-windows-10-preview-build/
Would be it possible to make this solution work on Haiku also (for example for common problems)?
comment:12 by , 9 years ago
What about just fixing the problems instead? No need to waste time on this feature. If you manage to KDL the system, the developers should feel bad about their broken code and fix it so it never happens again. That's it. KDL is not a friendly place for users, and in stable releases, we will probably have a "type reboot to reboot" message there, but we can't do much more.
Generating the message in the above format is not quite so trivial, bear in mind KDL is *extremely* limited in terms of what capabilities one has available.