hivewallet / hive-js

Hive digital currency wallet
http://www.hivewallet.com
GNU General Public License v2.0
81 stars 57 forks source link

Doesn't load on Windows Phone #120

Closed R2D221 closed 9 years ago

R2D221 commented 10 years ago

I just wanted to try the new Hive webapp, but it just shows a splashscreen and then nothing happens. I'm using a Nokia Lumia 520 with Windows Phone 8 update 3.

Splashscreen on Nokia Lumia 520, Windows Phone

mrboatsman commented 10 years ago

Same issue with Windows Phone 8.1 version 8.10.12397.895

weilu commented 10 years ago

@w-hive should we get some windows device for testing?

ghost commented 10 years ago

Yes, let's do that.

ghost commented 10 years ago

I've tried IE, UC Browser, Maxthon Browser, Nokia Xpress - same issue. Perhaps it has something to do with very strict security policy on Windows Phone?

System: Windows Phone 8.1 version 8.10.12397.895

ghost commented 10 years ago

@gutigen Interesting, maybe it is. Do you (or anyone) know any Windows Phone developers who might be able to help us with this?

dabura667 commented 10 years ago

I know 0 Windows Phone Developers. Nor do I know anyone who knows anyone...

Are all Windows Phone apps made at Microsoft?

ghost commented 10 years ago

@w-hive No I don't, sorry. I've even tried contacting http://www.wpcentral.com/ (most popular WP news site) and Rudy Hyun (one of the most skilled and popular WP devs), so far no answer, but I'm just a random user, didn't expect much ;)

Maybe You guys could make an official thread at /r/Bitcoin and/or /r/windowsphone?

EDIT: @w-hive I installed Win8.1 in VirtualBox (I'm Ubuntu user) and same issue is happening in IE11 on the desktop.

R2D221 commented 10 years ago

Are you using window.crypto? I think IE still doesn't have support for it. Maybe the issue is there.

weilu commented 10 years ago

@R2D221 Yes we are. We rely on crypto.getRandomValues. It looks like it's only supported by IE11on desktops: https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues#Browser_Compatibility

We made a conscious choice to not shim crypto.getRandomValues for browsers that don't support it because if we don't have a cryptographically strong RNG provided by the browser, we'd rather not risk our users' funds.

We could do something similar to what https://www.bitaddress.org does for gathering entropy. But it has significant UX implications (and I don't think it works on mobile at all). We are open to comments, ideas and suggestions.

timoxley commented 10 years ago

Why wouldn't it work on mobile?

A better UI would be to give people a virtual turntable and a fat beat so they can feel cool scratching up some entropy.

weilu commented 10 years ago

https://www.bitaddress.org doesn't work for me on an iphone4

timoxley commented 10 years ago

there's no reason you can't use the same concept to gather entropy using browser touch events. they just haven't implemented it

weilu commented 10 years ago

Mobile device has a smaller area for finger movement as compared to mouse movement on a computer screen. Plus, I'm uncertain if the way people hold mobile device will lead to certain patterns of movements. I haven't found any documentation or study on how random such entropy generation truly is on mobile devices. Gathering entropy is a responsibility of the OS, and I believe such things should be transparent to users unless one has no other choice.

ghost commented 10 years ago

How about a little entropy game like at https://mega.co.nz/ ? :)

fonix232 commented 10 years ago

For entropy, I have another suggestion. Camera noise. Pretty easy and non-intrusive.

  1. Generate 6 pseudo-random numbers: 1 in 1/24 seconds (let's call this T), for capture time, and the remaining 6 for frames (ranging from 1 to T*24)
  2. Access Camera API, and start recording into a temporary file for T time
  3. Access recording, and take the 5 frames defined by the 5 numbers generated in step 3.
  4. Choose a mathematical merging formula to derive a random entropy map from the 5 images. It can be simple (e.g. merge images so same colour pixels at same position are darker, while different colours lighten it, the more difference the lighter - getting a black-and-white entropy map).
  5. ???
  6. Profit! No, seriously, the resulting entropy map should be random enough to be impossible to be reproduced manually.
ghost commented 10 years ago

@fonix232 Well, you won't have access to camera on Windows Phone being a web app (it would have to be a native Windows Phone app), so I don't think this would fly.

fonix232 commented 10 years ago

@gutigen On WP8.1, there's a new way of making applications, namely, JS applications. Hive-JS can be easily compiled into a native application, while retaining approx. 90% of the codebase.

ghost commented 9 years ago

Current version of Hive probably won't support any more devices, but we can re-examine this situation for Hive 2.0.