logoalt Hacker News

Show HN: Gander, an Android file viewer that asks for no permissions

182 pointsby mokshablrtoday at 5:45 AM64 commentsview on HN

Hi HN,

I built an Android file viewer that opens PDF, Word, Excel, PowerPoint, images, video, audio, Markdown and code, and asks for no permissions at all.

I have always been uneasy about opening files people send me. On Android you either install a 400 MB office suite and sign in or use a small free viewer that wants storage access and ends up uploading your file to a server to render it. Also the hassle of having to download different apps for different file formats was really annoying.

Gander holds no permissions, not even INTERNET so the OS itself guarantees the file cannot leave the phone.

PDFs use Pdfium, media uses Media3, and Office formats are rendered by bundled JS libraries in a WebView and so no request goes to any server.

It is a viewer only. Complex PowerPoint decks come out approximately right, spreadsheet charts are not drawn, and old binary .doc and .ppt are unsupported. I'll work on it as issues come up :P

It is 14 MB, MIT licensed and uploaded on Github releases.

Do try it! I would love some feedback especially on files that render badly or need new support.


Comments

TekMoltoday at 7:15 AM

This is interesting.

I thought granting internet access to apps is not avoidable on Android.

When an app does not request internet, is it really guaranteed that it cannot talk to the outside world? Or is it having other avenues like opening a browser or some other component with a custom url or something?

Update: I just asked Gemini, and it does not look good:

An Android app without the INTERNET permission is not guaranteed to be isolated from the outside world. While it cannot make direct network connections itself, it can use several other mechanisms to transmit data externally:

Intent-Based Communication (The Browser) An app can launch an explicit or implicit Intent to hand data over to another app that does have internet access.

That means the app can open a system browser using a URL containing the data it wants to transmit.

It can also load a Chrome Custom Tab inside its own UI task, passing data through the URL string.

There is also Inter-Process Communication: If two apps from the same developer share a User ID (sharedUserId), they run in the same process and share all permissions, including internet access.

There is also the concept of Content Providers: Content Providers allow apps to share data. An offline app can write data into a shared database or a public Content Provider. A secondary, online-enabled app can then read that database and upload the contents.

show 10 replies
aand16today at 12:12 PM

Please add signature to readme so users can verify before installing with Obtainium eg:

5B:5C:F6:4A:94:23:7C:D5:F0:E0:85:76:00:38:BC:1C:EB:DF:18:DA:BA:5C:B3:EA:CA:7C:15:9F:22:A7:E2:4B

dheerajvstoday at 7:25 AM

Tried it and I love it. Good work! Have you considered hosting it on F-Droid?

show 2 replies
adamddev1today at 8:52 AM

This looks great. It seems crazy how we got to this point where this is a revolutionary, unique product.

atmanactivetoday at 1:10 PM

Thanks for sharing. Could it be possible to add optional force-dark mode for documents as well? The feature list mentioned dark mode, but that's for app's own UI. The really awesome feature would be to be able to invert the document colors so that the document itself is shown in dark mode. Thanks.

sgctoday at 7:25 AM

Can you add odt, ods, etc support? I use libreoffice viewer but it would be nice to reduce the number of apps on my device.

show 1 reply
nextaccountictoday at 10:32 AM

Could you publish to a store? Either/or Google Play or F-Droid

show 1 reply
getpokedagaintoday at 3:53 PM

Going to test this out. I've been very happy to see the number of new apps being developed to be installed on android via obtanium and away from the Google app store. I assume it's llms enabling folks to get quick apps out.

Mobeen0119today at 5:53 AM

Since everything is offline, what ended up being the hardest format to support while keeping rendering faithful?

show 2 replies
array4277today at 1:39 PM

The app is pleasingly very responsive. I don't think I've used anything else on Android that lets me open and close PDFs rapidly without getting bogged down. Nice!

collabstoday at 11:14 AM

Two things I really like:

1. Markdown loads as preview

2. Plain text files wrap instead of scrolling to the right

Good job and thank you for sharing

celsoazevedotoday at 4:37 PM

Can this open .rtf files?

I know it's old, but I still receive them from time to time.

tim-projectstoday at 8:09 AM

Sounds great! You'll just need your social security or passport id sent to google to install and use it... sobs

esttoday at 8:59 AM

This is super cool.

> Requirements: JDK 17+ and the Android SDK (platform 35).

Bummer. I am stuck with Android 14 for the moment.

show 3 replies
HelloUsernametoday at 7:35 AM

Seems nice, will check it out. I liked this one as well: "Little File Explorer – File Manager for Android 1.0 and above" 28.dec.2023 https://news.ycombinator.com/item?id=38789958

mathfailuretoday at 11:21 AM

I don't understand the comments to this post. Don't people use firewalls anymore to limit internet access only to the apps really needing it?

show 4 replies
freedombentoday at 11:08 AM

Great work! A tool like this is sorely needed.

How is accessibility? Do PDFs work with screenreaders for example?

nojatoday at 10:16 AM

This is a great idea - but doesn't Android inject network permission into all apks? It did in the past.

carloslfutoday at 1:05 PM

this is cool! It's amazing that it's still such a pain to do something like this with built-in Android app.

chrisjjtoday at 10:47 AM

Well done!

> A tiny, open source, fully offline file viewer for Android that opens PDF, Word,

Perhaps correct Word to DOCX. Word is not just DOCX and DOCX is not just Word. This user needs DOC viewing and would be disappointed having installed this app.

I wish you every success with this.

ashish004today at 10:46 AM

This is cool!

ziaghamtoday at 8:13 AM

Nice idea

jeffwilson75today at 3:09 PM

[flagged]

snootypoottoday at 2:44 PM

[dead]

chesscoachxtoday at 10:52 AM

Great. You built an excellent tool to solve a real-world problem: being able to open files on the fly without granting internet access and without having to install 400 MB bloated suites that track everything.

show 1 reply