[TABLET Z COMPETITION ENTRY][APP] Lightning Browser [2.2+][OPEN-SOURCE]

Search This thread

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY

cKEcwnO.png
Lightning Browser
cKEcwnO.png

Speed. Holo. Privacy.


About:SourceCode - Source code on github



About:Browser
Lightning Browser...
  • is open-source
  • is HOLO
  • is based on WebKit
  • supports multiple tabs
  • has an incognito mode
  • doesn't spy on you like other browsers do
  • supports Adobe Flash (get it here)
  • has a full-screen mode
  • has a bookmarking ability
  • looks nice
  • is only ~100 KB

About:Screenshot​
(Only one screenshot so I don't clog the thread)
R3Z2cDm.png



About:History
Six months ago, I began work on a webkit based browser when I was asked for help fixing a simple web browser that two forum acquaintances (cammykool and tvall) had built using an online app maker. I looked at the site and disappointingly told them I couldn't help them because the site just generated an apk and didn't actually give you the source code. I told them I could try to build them a simple browser myself...

I started working on Lightning in January, soon published it on Google Play, published the source code on Github, and it became apparent that there was a large group of people that were looking for a light-weight, good-looking, privacy-aware, web browser. People seemed to really like the work I was doing and soon I was adding more and more to the browser. XDA developers kindly gave the browser a favorable review and download numbers spiked drastically.

Recently, I was challenged by the developer of Naked Browser (an excellent bare-bones browser that doesn't track you) about some apparent security flaws in my browser, and I am glad to say that I have fixed them. I've received tons of feedback from users and I have attempted to reply to them all, although I have missed a number of people's emails due to being bogged down with school work last semester. Every bit of feedback is important to me and I strive to fulfill people's desires in the browser.

This is the people's browser.




About:Future
I'm planning...
  • to add a sync with Google Bookmarks
  • on better supporting the Xperia Tablet Z
  • on better supporting large tablets in general
  • on adding better support for external keyboards and mouses
  • to add a lot of other options
  • to add more search providers (duckduckgo and startpage for privacy)
  • to possibly remove the GPS permission for the privacy aware of us.
  • to add anything you suggest and I can code


About: Permissions
● permission.INTERNET - Obviously needed to access the internet :p
● permission.WRITE_EXTERNAL_STORAGE - Needed for downloading files
● permission.READ_EXTERNAL_STORAGE - Needed for downloading files
● permission.ACCESS_FINE_LOCATION - Needed for sites that want your location (you can deny location access)
● permission.READ_HISTORY_BOOKMARKS - Needed for reading the stock browser history
● permission.WRITE_HISTORY_BOOKMARKS - Needed for keeping the stock browser history up to date


About:Me
I'm an Junior in college attending Rensselaer Polytechnic Institute in Troy, New York for Electrical Engineering. I enjoy programming for Android and I'm a gadget enthusiast.


Special Thanks goes to:
  • XDA-Developers: For the publicity they've given to Lightning Browser (and for this contest)
  • Sony: For supporting developers like me
  • The forum at VMRoms.com (You guys are awesome)
  • The Virgin Mobile LG Optimus V community: For teaching me all things Android
  • aminaked: for pointing out where Lightning had some security problems
  • The Android Developers at Google: for bringing WebKit to Android
  • WebKit: for being the back-bone of Lightning
  • You guys here: for giving my browser a chance.
  • cammykool and tvall: for the idea of Lightning browser


Please... Ask any questions you want. Suggest anything you want. You will be heard. This is the people's browser.
 

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
dIZDIgQ.png


Proposed revision to the settings menu (and addition of advanced settings menu).

[note: ui elements will be standard holo elements, not the faux holo ones pictured]
 
Last edited:
  • Like
Reactions: ndwgs

pulser_g2

Admin Emeritus / Senior Recognized Developer
Nov 27, 2009
19,544
11,630
Filed issue on github tracker due to compile issues - looks like some stuff in Barebones class is private, then directly accessed from AnthonyWebView. Not had a look, perhaps going protected and inheriting from Barebones might help...

RE the feature ideas, I'd suggest perhaps Firefox sync is a worthwhile contender to rival Google's sync (since Firefox permits you to store your data on your own server, totally under your control).

Will take a look at search providers, as I have reverse-engineered a number of search engines' query strings and auto-suggest APIs, and found the proper ways to invoke them for mobile and desktop (tablet likely should use the desktop versions, unless user chooses otherwise).

There also appears to be a regression. It's not possible to use the newest version on a device without either the AOSP browser or Chrome. Since Chrome is closed source, and the AOSP browser is often not included on "stock" manufacturer ROMs (like the Sony Tablet Z ROM), this is a bit of an annoyance. There was no issue running Lightning version 2.4.3 without another browser being present, but it now FCs.

Code:
I/Barebones( 4696): making tab
E/ANDR-PERF-MPCTL( 1316): MPCTL client send 3
E/ANDR-PERF-MPCTL( 1316): Received len=92, m=1297100099, v=2, c=1316, s=30, m=992947771 (0x3b2f2e3b) d=0
I/Barebones( 4696): tab complete
E/Barebones( 4696): did not detect AOSP browser
W/dalvikvm( 4696): threadid=11: thread exiting with uncaught exception (group=0x40c0b450)
E/ActivityThread( 2750): Failed to find provider info for com.android.chrome.browser
E/AndroidRuntime( 4696): FATAL EXCEPTION: Thread-303
E/AndroidRuntime( 4696): java.lang.NullPointerException
E/AndroidRuntime( 4696): 	at acr.browser.barebones.v.run(Unknown Source)
E/AndroidRuntime( 4696): 	at java.lang.Thread.run(Thread.java:856)
W/ActivityManager(  604):   Force finishing activity acr.browser.barebones/.Barebones
 
Last edited:
  • Like
Reactions: ndwgs and anthonycr

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
Filed issue on github tracker due to compile issues - looks like some stuff in Barebones class is private, then directly accessed from AnthonyWebView. Not had a look, perhaps going protected and inheriting from Barebones might help...

RE the feature ideas, I'd suggest perhaps Firefox sync is a worthwhile contender to rival Google's sync (since Firefox permits you to store your data on your own server, totally under your control).

Will take a look at search providers, as I have reverse-engineered a number of search engines' query strings and auto-suggest APIs, and found the proper ways to invoke them for mobile and desktop (tablet likely should use the desktop versions, unless user chooses otherwise).

There also appears to be a regression. It's not possible to use the newest version on a device without either the AOSP browser or Chrome. Since Chrome is closed source, and the AOSP browser is often not included on "stock" manufacturer ROMs (like the Sony Tablet Z ROM), this is a bit of an annoyance. There was no issue running Lightning version 2.4.3 without another browser being present, but it now FCs.

What's strange is that it compiles fine for me. I'll change the private variables to public that are accessed in the webview.

The issue with the stock browser not being present is also something that I know about, but alas... I forgot to test it with the latest build. I'll see about fixing that.

Thanks for pointing this out. I often forget about browsers with a stock provider.

What's strange is that it's giving me none of these on my Tablet Z which is still on stock...... Hmmm. At any rate, I'll fix this stuff pronto.

Sent from my Nexus 7 using Tapatalk 2
 
Last edited:

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
I just fixed the crash issue. Silly, but all it required was a simple if(cursor!=null).
Also, the binary was updated and the code has been reverted to public to make it easier to compile.

Sent from my Xperia Tablet Z
 
Last edited:
  • Like
Reactions: pulser_g2

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
I added a change I'm planning to make to the settings menu to make it more n00b friendly and a little cleaner. See second post.
 

hasenbein1966

Senior Member
Aug 9, 2011
1,129
337
The bookmark menu is crap (sorry, but it is).

Much too big items, not sortable, not configurable.

At this state Lightning unfortunately is not suited for me.
 

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
The bookmark menu is crap (sorry, but it is).

Much too big items, not sortable, not configurable.

At this state Lightning unfortunately is not suited for me.

Suggestion taken. Sortable and editable I can do... Size on the other hand is an issue I am having difficulty with.

As you probably noticed, the bookmarks are an html page which the browser loads, and for some reason the text changes size in landscape and portrait.

Portrait size of the bookmarks is fine, but the landscape I agree to be unusable.
Also, I may consider a more icon/tile based thing like chrome... Whatever people want
 
Last edited:

kalel90

Senior Member
Aug 26, 2010
180
25
Is there anyway you can add the ability for the browser to ask what video player app to use when clicking on a direct link to a video file instead of just downloading it? Chrome and stock browser can do this for mp4's that alone would be acceptable but It would be cool to to do it for any video file link.

Sent from my SGP311 using XDA Premium HD app
 

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
Is there anyway you can add the ability for the browser to ask what video player app to use when clicking on a direct link to a video file instead of just downloading it? Chrome and stock browser can do this for mp4's that alone would be acceptable but It would be cool to to do it for any video file link.

Sent from my SGP311 using XDA Premium HD app

Sure I can add that!

Sent from my Nexus 7 using Tapatalk 2
 

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
Is there anyway you can add the ability for the browser to ask what video player app to use when clicking on a direct link to a video file instead of just downloading it? Chrome and stock browser can do this for mp4's that alone would be acceptable but It would be cool to to do it for any video file link.

Sent from my SGP311 using XDA Premium HD app

Just added it, check out the updated apk on github

Sent from my Nexus 7 using Tapatalk 2
 

cjdalessio

Senior Member
Feb 4, 2010
318
33
Suggestion taken. Sortable and editable I can do... Size on the other hand is an issue I am having difficulty with.

As you probably noticed, the bookmarks are an html page which the browser loads, and for some reason the text changes size in landscape and portrait.

Portrait size of the bookmarks is fine, but the landscape I agree to be unusable.
Also, I may consider a more icon/tile based thing like chrome... Whatever people want

Are you generating the HTML for this? It's probably missing a meta tag or two, or they need a tweak from the current setting. I'm assuming CSS could be used to further refine its look, just not sure how that has to be built into the app.
 

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
Are you generating the HTML for this? It's probably missing a meta tag or two, or they need a tweak from the current setting. I'm assuming CSS could be used to further refine its look, just not sure how that has to be built into the app.

Yeah I'm generating the HTML and I am using CSS to style it to look like holo cards, the issue I found was that the WebView blows things up and uses a weird zoom thing so I just disabled a certain setting when on the bookmarks page and the bookmarks are the same size in portrait and landscape now.

If you want to look at some of the pre-generated HTML, it's located in the source in the BookmarkPageVariables.java file.
 
Last edited:

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
I have updated the play store version of Lightning Browser to reflect the beta version. Beta also has been updated for those of you who do not have access to the Play Store.
 

anthonycr

Senior Member
Mar 14, 2012
617
819
Albany, NY
Just a reminder to forum members that voting for the competition is now open here.

Please vote in the contest to help move things along for xda.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 5

    cKEcwnO.png
    Lightning Browser
    cKEcwnO.png

    Speed. Holo. Privacy.


    About:SourceCode - Source code on github



    About:Browser
    Lightning Browser...
    • is open-source
    • is HOLO
    • is based on WebKit
    • supports multiple tabs
    • has an incognito mode
    • doesn't spy on you like other browsers do
    • supports Adobe Flash (get it here)
    • has a full-screen mode
    • has a bookmarking ability
    • looks nice
    • is only ~100 KB

    About:Screenshot​
    (Only one screenshot so I don't clog the thread)
    R3Z2cDm.png



    About:History
    Six months ago, I began work on a webkit based browser when I was asked for help fixing a simple web browser that two forum acquaintances (cammykool and tvall) had built using an online app maker. I looked at the site and disappointingly told them I couldn't help them because the site just generated an apk and didn't actually give you the source code. I told them I could try to build them a simple browser myself...

    I started working on Lightning in January, soon published it on Google Play, published the source code on Github, and it became apparent that there was a large group of people that were looking for a light-weight, good-looking, privacy-aware, web browser. People seemed to really like the work I was doing and soon I was adding more and more to the browser. XDA developers kindly gave the browser a favorable review and download numbers spiked drastically.

    Recently, I was challenged by the developer of Naked Browser (an excellent bare-bones browser that doesn't track you) about some apparent security flaws in my browser, and I am glad to say that I have fixed them. I've received tons of feedback from users and I have attempted to reply to them all, although I have missed a number of people's emails due to being bogged down with school work last semester. Every bit of feedback is important to me and I strive to fulfill people's desires in the browser.

    This is the people's browser.




    About:Future
    I'm planning...
    • to add a sync with Google Bookmarks
    • on better supporting the Xperia Tablet Z
    • on better supporting large tablets in general
    • on adding better support for external keyboards and mouses
    • to add a lot of other options
    • to add more search providers (duckduckgo and startpage for privacy)
    • to possibly remove the GPS permission for the privacy aware of us.
    • to add anything you suggest and I can code


    About: Permissions
    ● permission.INTERNET - Obviously needed to access the internet :p
    ● permission.WRITE_EXTERNAL_STORAGE - Needed for downloading files
    ● permission.READ_EXTERNAL_STORAGE - Needed for downloading files
    ● permission.ACCESS_FINE_LOCATION - Needed for sites that want your location (you can deny location access)
    ● permission.READ_HISTORY_BOOKMARKS - Needed for reading the stock browser history
    ● permission.WRITE_HISTORY_BOOKMARKS - Needed for keeping the stock browser history up to date


    About:Me
    I'm an Junior in college attending Rensselaer Polytechnic Institute in Troy, New York for Electrical Engineering. I enjoy programming for Android and I'm a gadget enthusiast.


    Special Thanks goes to:
    • XDA-Developers: For the publicity they've given to Lightning Browser (and for this contest)
    • Sony: For supporting developers like me
    • The forum at VMRoms.com (You guys are awesome)
    • The Virgin Mobile LG Optimus V community: For teaching me all things Android
    • aminaked: for pointing out where Lightning had some security problems
    • The Android Developers at Google: for bringing WebKit to Android
    • WebKit: for being the back-bone of Lightning
    • You guys here: for giving my browser a chance.
    • cammykool and tvall: for the idea of Lightning browser


    Please... Ask any questions you want. Suggest anything you want. You will be heard. This is the people's browser.
    3
    Lightning beta has been updated with the ability to open a closed tab by long pressing on the "New tab" button. Code and apk have been updated on github.

    Sent from my Xperia Tablet Z
    2
    Filed issue on github tracker due to compile issues - looks like some stuff in Barebones class is private, then directly accessed from AnthonyWebView. Not had a look, perhaps going protected and inheriting from Barebones might help...

    RE the feature ideas, I'd suggest perhaps Firefox sync is a worthwhile contender to rival Google's sync (since Firefox permits you to store your data on your own server, totally under your control).

    Will take a look at search providers, as I have reverse-engineered a number of search engines' query strings and auto-suggest APIs, and found the proper ways to invoke them for mobile and desktop (tablet likely should use the desktop versions, unless user chooses otherwise).

    There also appears to be a regression. It's not possible to use the newest version on a device without either the AOSP browser or Chrome. Since Chrome is closed source, and the AOSP browser is often not included on "stock" manufacturer ROMs (like the Sony Tablet Z ROM), this is a bit of an annoyance. There was no issue running Lightning version 2.4.3 without another browser being present, but it now FCs.

    Code:
    I/Barebones( 4696): making tab
    E/ANDR-PERF-MPCTL( 1316): MPCTL client send 3
    E/ANDR-PERF-MPCTL( 1316): Received len=92, m=1297100099, v=2, c=1316, s=30, m=992947771 (0x3b2f2e3b) d=0
    I/Barebones( 4696): tab complete
    E/Barebones( 4696): did not detect AOSP browser
    W/dalvikvm( 4696): threadid=11: thread exiting with uncaught exception (group=0x40c0b450)
    E/ActivityThread( 2750): Failed to find provider info for com.android.chrome.browser
    E/AndroidRuntime( 4696): FATAL EXCEPTION: Thread-303
    E/AndroidRuntime( 4696): java.lang.NullPointerException
    E/AndroidRuntime( 4696): 	at acr.browser.barebones.v.run(Unknown Source)
    E/AndroidRuntime( 4696): 	at java.lang.Thread.run(Thread.java:856)
    W/ActivityManager(  604):   Force finishing activity acr.browser.barebones/.Barebones
    1
    dIZDIgQ.png


    Proposed revision to the settings menu (and addition of advanced settings menu).

    [note: ui elements will be standard holo elements, not the faux holo ones pictured]
    1
    Cannot believe this isn't more popular. Awesome work, man. Thank you.