keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.91k stars 1.23k forks source link

Publish the Keybase Windows/React Native client to the Windows Store #7127

Closed ghost closed 6 years ago

ghost commented 7 years ago

Putting Keybase on the Windows Store

Option 1: Restricted Desktop application.

The Windows Store now supports publishing Win32 Desktop apps with little or no code change using the Windows Desktop Bridge. Taking advantage of the Windows Desktop Bridge and distributing through the Windows Store also provides simplified options for automated updates, easy install and uninstall, and provides a new distribution path for folks who may have not found Keybase before. The issue with this is that KBFS will be unavailable and the application will not be available on the other Windows platforms (e.g. PC (Windows on ARM, Xbox, or Mobile).

Option 2: Use React Native for Windows

Microsoft boasts official support for React Native for UWP. This will allow use of Keybase on all Windows platforms without issue.

Links / References

sundhaug92 commented 7 years ago

Slight issue: KBFS-support is done using a driver and I'm quite sure UWP-apps, even with Centennial are not allowed to include drivers.

ghost commented 7 years ago

@sundhaug92 iTunes is coming to the Windows Store, with iPhone/iPad support in tow. I'm absolutely sure it can be supported since I've already put it through centennial. The only issue is that the utilities must be packaged as a "bundle" since keybase ships with cmd utils.

FilipeRamalho commented 7 years ago

I would also embrace a Keybase Client for the Windows store. Maybe even an UWP version

AeliusSaionji commented 7 years ago

Seconding a UWP build.

Not a centennial release, a UWP build for mobile/IoT/desktop/etc. This would be comparable to the mobile apps.

ghost commented 7 years ago

@zanderz Do you know who the Windows maintainer is?

FilipeRamalho commented 7 years ago

Keybase currently uses React Native for coding. To add UWP support we could use this framework react-native-windows

zanderz commented 7 years ago

It is unclear what the big benefit of a UWP version would be - what do you all have in mind? Live tile updates? (I thought people hated those?) Running on XBox or your Windows phone?

It is possible to use Keybase without the filesystem driver, and we will be expanding the options for accessing KBFS without it. Still, one challenge of the UWP model is its requirement to remove all traces on ininstall. Our device provisioning model depends on being able to leave device key files even after uninstall. There may be ways around this too.

ghost commented 7 years ago

@zanderz I wasn't aware that there was also a React Native version of Keybase. I feel that would be more appropriate since it would allow running on PC/Xbox/Mobile. The bridge I mention above is only for the PC app, and may be restricted by what you described above.

AeliusSaionji commented 7 years ago

I personally just want Windows Mobile support.

I'm sure some people would appreciate keybase on Windows IoT.

UWP vs Win32 on the desktop is somewhat of an analogue to userspace vs kernelspace, and there are modest benefits in having the UWP on desktop.

The ability to export/backup essential files would need to be implemented for Windows Mobile, because an app's private store cannot be accessed for manual backup.

ghost commented 7 years ago

@Link-Satonaka @FilipeRamalho I've now updated the issue to fit the possiblity of a React Native uWP build.

@zanderz Back when the Live Tile was introduced in 2012, the Live Tile was hated for being a part of the Windows Start Screen. Now that the Start Menu is reimplemented (with Live Tiles to the side), people are much more content with it and many of the new UWP use it, like Facebook Messenger, Spotify (Project Centennial), Fitbit, and many more.

If I were to familiarize myself with Microsoft's solution and pull request in UWP support, would it be merged?

CC: @patrickxb

d1vanloon commented 7 years ago

@rogersachan Have you investigated porting the mobile client to React Native UWP?

ghost commented 7 years ago

I have and it works, but there are a few things that need to be configured specifically for WIndows 10. I also want confirmation that it will be accepted before merge so I know I'm not wasting my time.

ghost commented 7 years ago

No doubt there are also android & ios specific configurations that need to be done in the react-native version, in spite of the write-once run-everywhere style goals.

Another potential benefit of extending the react-native codebase to cater for UWP in addition to android/ios is that you could deprecate windows support in the shared/desktop codebase and save the effort there.

d1vanloon commented 7 years ago

I just really want a Keybase app on Windows 10 Mobile. 😊 It's the one think holding me back from really diving in to Keybase.

Let me know if there's any way that I can help. I'm unfortunately not familiar with the React Native platform.

bb10 commented 6 years ago

@rogersachan Did anyone ever get back to you about this?

ghost commented 6 years ago

@bb10 Nope. I can only assume that they don't want the contribution.

FilipeRamalho commented 6 years ago

@rogersachan can you guess how much time it would need. I just knew of the possibility I would have to look into React Native and the Keybase Client. I may have time during the holiday vacations for the initial work load. This being an open-source project you can deploy the app as third-party in the store. I'm not sure about the branding, but you can just use another logo and name.