Hacker News new | comments | show | ask | jobs | submit login
Link Bubble - A new browser for Android (play.google.com)
230 points by intull on Mar 23, 2014 | hide | past | web | favorite | 106 comments

The general idea of creating overlays for actions that take awhile to complete should really be integrated into the system itself. It's a really good idea that the desktop gets around by allowing multiple windows at once. On a phone with only 1 window, it's a really obvious solution that surprisingly hasn't been used much before.

I think the origin of the idea is probably Facebook's Android app where contacts are little icons floating on your screen. That use case was so-so and only really useful if you were messaging one or two people constantly. This takes that idea a step further - but it could be taken even further by making all asynchronous actions use the system by default. Maybe in Android 5? A good first step would be to generalize this into an easy to use library that app devs can include without fuss. Maybe if I get some time next week...

> The general idea of creating overlays for actions that take awhile to complete should really be integrated into the system itself.

This was the feature of Android that got me really excited when Google first announced it. The whole idea of Intents is that you can have a stack of things you're doing; clicking a link will open a new Activity on the top of the stack and hitting Back will pop that Activity off the stack.

As Android was originally pitched, Applications shouldn't be the fundamental unit of navigating through your phone because you don't usually think in terms of "and now I want to open Chrome", but in terms of "I would now like to open this link". If you're reading an sms and click a link your buddy sent you, then from that webpage click another link that opens twitter you've found yourself in a "Task" with three separate Activities in it. You can then context switch to a different task and eventually back to this one with all your Activities waiting right where you left them.

But it seems Google has given up on that vision. Developers were given too much control over tasks and the "back stack" and too little education on thinking with Activities so they happily went along and tried to make monolithic applications. Like web browsers which tie all your tasks together into one app that has a bunch of tabs. What does the back button in Chrome do? Nobody ever knows. The back button in Chrome conflates your tab history with your Task history and makes them interact in convoluted ways. If it didn't expose tabs open in other tasks and treated every forward navigation like creating a new tab the Back button would be perfectly intuitive.

I mainly blame Google for never making your back stack explicit. To this day it's difficult to tell where the Back button will send you because Android never shows you (Also because some apps try to get smart and rewrite history at terribly inappropriate times, have I mentioned I hate Chrome?). The app switcher shouldn't be a list of the last Applications you've used but a list of your last few Tasks.

So, I don't agree that overlays should be part of Android 5. I think that the App Switcher should be given some real teeth, Intents should be overhauled, and all the default apps should rewritten to show developers how to think using Tasks.

I've always wondered about the broken back button. Thanks for shedding some light. BB10 OS sort of implements the application stack as you described, but it's focused on social and messaging applications (so you don't need to drop out of your current app to share)

FWIW, Link Bubble development began early last year before I'd heard anything about Chat Heads.

The old Blackberry OS had something like this. You could "open" a URL even without any network connectivity and it would queue the request and let you know when it completed.

I do this (indirectly) on Chrome Mobile by opening links as background tabs. But I can see this being a more accessible UI for more people to achieve the same goal.

You can't open a background tab when you're not already in Chrome tho...

OK, this is completely and absolutely inspired. Brilliant, especially the redirect handling.

The design needs a bit of polish, but the core concept is just so damn good it's blatantly going to be copied.

> The design needs a bit of polish, but the core concept is just so damn good it's blatantly going to be copied.

Chris Lacy (the author) delayed the release because he was encouraged to patent the idea. Looks to me like that was a good move.

Indeed, patenting ideas is an excellent way to prevent free software from usign those ideas while proprietary software can just get the licensing costs from their profits.

Also, if the browser concept was patented, how could someone else innovate over browsers, if theres a need to pay for the privilege of being inventive?

Patents and free software aren't necessarily incompatible. For example Raph Levien provides a royalty-free patent grant to software licensed under the GNU GPL that implements his patents.


Patenting ideas is also an excellent way to prevent someone else from doing what you suggest; the patent-holder merely needs to grant a royalty-free patent license to everyone once they have the patent.

(See Sections 7 and 8 of GPLv2, for an example.)

> Looks to me like that was a good move

Yeah until a point that nobody will be able to innovate anymore, even being original and inventive, because of patents into nuclear ideas or generic ideas..

Its the difference of "everybody against everybody" to "everybody working for everybody"

I hope software patents became a thing of the past soon.. the concept of property and the concept of ideas do not belong to each other

How can this be patented? It doesn't seem functionally no different than "open tab" and "open tab in the background", except that it opens a round notification instead of a tab-shaped one. Is there something else in it that's novel? Maybe the protocol for coordinating apps for opening the link in the background from a different app?

My immediate thought when I saw the video was "this is basically the same functionality as middle-clicking a link in Firefox".

It looks like a very good implementation for Android, and good implementations are valuable and important, but the concept itself isn't original.

I recommend everyone to check out his Android Launcher: https://play.google.com/store/apps/details?id=com.chrislacy....

Im a big fan of it and find it makes my phone faster to use than any other launcher without having to learn new ui concepts.


For what it's worth, he explains his reasoning here:


"A few casual emails later and my new patent lawyer warned me that I might be unable to apply for a patent in certain important countries if I sell the app before filing an application.."

That's what people that make a living with the patents system will do.. they will convice you how patents are important, and make you fear to not have any patents..

I did'nt see any conceptual explanation for why he is filling for patents.. only that his moved by fear and bad advices from actors that have something to gain for making people like him, entering into this game

Also let my say that this is a bad strategy for a underdog.. because the base crowd for a underdog is the "green" folks.. hipsters, geeks, etc..

This crowd is very sensitive to this sort of things these days.. much more well-educated than the previous generations.. and they are the opinion leaders that can give a sustainable growth to a underdog..

Of course, there are curious people that will download it, and say "cool!!", but then, another app-dujour will beg for attention, and they will just move away..

The evangelizer type is very important, and they probably will move away once they are aware of the patent game.. unless of course instead of a cosmetic innovation you did a really important innovation.. something that everybody needs.. than people can just be arrogant and do whatever they want.. but for underdogs this is a risky game to play

As I said in my post, I definitely thought long and hard about the implications of applying for such a patent. Your points were definitely at the forefront of my thinking.

In the end, I concluded that Loren Brichter's pull to refresh patent proved rather valuable, so I might as well not close the door on such an opportunity myself.

of course, some mogul like google could get interested, and because of the patent, will be forced to acquihire him.. than he can live a confortable life somewhere.. but in the end, this game only privilege the big ones.. so they can have control over innovation and platforms.. :/

So he hates patents and the lawsuits they bring, but he feels it'll be a great asset to have in the future?

It really doesn't sound like he hates them to me.

I think he's just playing the game as the rules are written right now. He doesn't have to like patents to know that they are currently one of the best ways to protect himself. I'm not a fan of the current system, but if I found myself in a similar position, I'd certainly review my options as well.

I'm not sure what you mean by protect himself here. What does he protect himself from?

If you mean he protects himself from people 'taking' his idea, then he clearly doesn't hate software patents because that's what they achieve. What do you hate about them if you want this protection?

If you mean he protects himself from someone else patenting the same idea, filing a patent doesn't do this. As long as he has his ducks in a row to demonstrate that his work constitutes prior art (which he might have to do anyways if, say facebook comes out and tries to patent what sounds like a similar idea). Realistically, the odds that, against a larger competitor, he wouldn't have to go through the same process either way (a legal battle and/or settlement) seem strikingly low to me.

If you mean he can play the defensive patent shell game and cross-license to settle, one patent won't really do that unless you pool in with an NPE that collects patents, and that also seems rather contrary to the idea of hating software patents.

I have not installed this app, but perhaps this app itself copied "concept" from the facebook messenger?

That is like saying the IPhone is a copied "concept" from other touchscreen devices.

Well, to be fair, Facebook was the company that created the always open "floating bubble" concept, to my knowledge.

Link Bubble behaves very similarly to Facebook Messenger in this way (the way the bubbles move, how you interact with them, close them, etc), and I can't help but think that Facebook was inspiration for the project.

This is actually a good thing because I always thought that the Chat Heads were a novel idea, though Link Bubble's implementation of the concept is rougher around the edges than Facebook (e.g. "laggier", not quite as clean in design).

According to the developer, Chris Lacy[1], Link Bubble was in development before Facebook's Messenger was released.

[1] https://news.ycombinator.com/item?id=7454918

Ehh. I'm not convinced this point really matters. If you ship a great idea first, you shipped it first.. no?

>Well, to be fair, Facebook was the company that created the always open "floating bubble" concept, to my knowledge.

I believe Holo in Paranoid Android's ROM was first, beating Facebook's app by a few months at least.

There are a lot of apps that draw over other apps on Android before Facebook Chatheads.

>Brilliant, especially the redirect handling.

That was what got me to click the install button just now. And he used my least favorite example, Instagram out of Twitter with the t.co redirects and yada yada—I've always felt like that was super awkward.

This, as well as staring a Chrome waiting anywhere up to 5 seconds or more for t.co links to resolve is what largely inspired me to write Link Bubble.

I've wondered why the Twitter app doesn't automatically replace t.co links with the final destination URL itself.

I assume because they use the t.co link to verify items have been clicked for their ad services, but I can't be sure. Either way, as I user I couldn't stand that wasted time, so I went about trying to fix it.

My point is that the app can record that click asynchronously. They have full control of everything in the app, and it bothers me in the first world problems section of my brain that they haven't tackled a lot of low hanging fruit for speeding up user interactions.

Yeah, I don't have any Android anythings but this concept is immediately compelling and good. One of those things that should have been obvious, really.

This is one of those ideas that seem so obvious in hindsight. Waiting for a web page to load on mobile is one of the most annoying things to do on a smart phone - much more so than on desktop because of variable network conditions.

I really like the idea of apps that overlay data and interact with the currently focused apps. Over at blekko we have incorporated a similar technique within two of our Android apps. We wanted to add functionality to the Android system that we felt was missing, so I developed an overlay search box that can be used from any app in the system. It takes some coding tricks, but the results are very useful.

The apps are :

izik - our tablet/mobile friendly search engine


rockzi - a discovery app that lets you browser or search within topics.


Video explaining Rockzi:


This is a brilliant idea, and I can't wait to use it.

Quick question for chris_lacy:

Sometimes I open links on my phone to read them on the subway when I'm offline. However, Android Chrome often decides that the 3 tabs I opened yesterday are too much for it to handle and throws them away. I try to open them on the train, it shows me a greyed screenshot of the page and a "loading" bar, then replaces the page with "You are offline." Then I scream inside my head, "No shit! That's why I opened them earlier!"

Will Link Bubble have the same problem? If so, would it be hard to address, or worth it for most users?

Edit: Also, if someone is going to link me an offline article reader, that's okay and maybe appreciated, but understand that I know those are out there and don't think my browser should be throwing loaded websites away.

Link Bubble won't throw out those resources, so the page(s) will still be there.

Hey Chris. Sorry to hijack this thread. Just to say I'm loving Link Bubble and think it's a great idea. However the other day I was listening to a song in the background, using youtube.com in a link bubble, as the youtube app doesn't play in the background. But the bubble closed halfway through the song and it stopped playing. It might be a good idea to somehow detect if music was playing (like Chrome does, not sure how hard that would be) and not kill the bubble. Or maybe not kill youtube/soundcloud/whatever bubbles until the user does it manually. Just a suggestion! Cheers.

Does it store the data on disk, then?

So, "Open Link in a new tab" ?

Functionally, yes. But it makes that functionality available universally on Android. You don't have to already be in Chrome/etc.

Somehow I didn't pick up on this fact from the video.....

Yes, but in apps that don't support it. For example, if you are in an app and want to follow several links, currently nearly every app send you to the browser full screen for each link, which is good if you only want to look at one link, but really annoying if you want to load several at once from the same app, and then read.

It's more of an innovation than an invention, it seems. (nothing wrong with that, to be clear)

Yes, but from everywhere, and more importantly, handles that Android-redirect-through-app nonsense gracefully. If you open something in a new tab, on twitter whose link has been shortened, it will go through a couple of redirects before launching your Instagram app. This is pretty awkward as is, and he made that graceful. (At least in the video, I guess I haven't whipped out my phone to try, yet)

More like Samsung's split screen for loading links, difference being that this bubble thing does not open the view by default and does not let you resize it. It however available to all Androids where Samsung stuff only works in their UI.

This is incredible. This accomplishes exactly the way we browse on desktops: Open links in new tabs and switch to them when they're loaded, and then close them one by one to finally return to the original page. I remember thinking of how to solve this before but didn't come up with a good solution.

Many thanks :)

Nicely executed. The choice of giving one [configurable] app for free and all apps for $5 is also an interesting business model.

Figuring out the line between free and Pro is always a challenge. I think the value proposition is clear from the free version, but I'm always listening to opinions otherwise.

I wish Android had more granular default app settings. I'd love to use Link Bubble for opening links in the twitter app, but I'm not ready to give up Chrome as the default browser for everything else. One option is to not set a default at all, but then I have to click through this[1] all time, which isn't exactly smooth.

[1]: http://i.imgur.com/HrGadaj.png

This isn't really a feature that needs to be added to Android - you could create an app that filters Twitter links to X and other links to Y without much fuss. Given how obvious it is, there's probably already an app that does this on the market?

If you can't find anything let me know, it's about 15 minutes work to make something like that.

Please do. I would like to use Link Bubble for opening links when I'm using Twitter, Reddit or HN app. It's pretty awesome but like what he said, I'm not yet ready to give up Chrome fully.

I already have the code to allow you to specify this via Link Bubble's settings, but I've opted not to enable it so far.

I tend to subscribe to Apple's philosophy of trying to avoid adding configurable options unless absolutely necessary, but frankly, that position can be a tough sell to early adopting Android users.

I bought the app! However, I'm not sure if I was hallucinating when I saw an option before to define certain apps that will use Link Bubble because I can't find it anymore.

Anyway, again, this is a very awesome and useful app.

What is an example of an app you'd rather load in Chrome rather than Link Bubble?

I have a similar situation - domains I'd rather open in my main browser rather than Link Bubble.

I'm trying use Link Bubble in incognito mode, but some sites aggressively check that they can set cookies and fail if they can't (e.g. nytimes.com). I'd like the option to directly kick those links to my main browser, rather than hoping I catch them in Link Bubble before they've redirected to the error page.

This is great, Chris! I bought it right away after playing with it for a few minutes.

Just a few questions/suggestions:

1. It would be good to highlight in the tutorial that the free version only works for links from a single app (usually Chrome). I spent quite a bit of time trying to figure out how it worked - and when it didn't - before I found the correct setting. Perhaps I missed something?

2. Is there a way to close an individual bubble in a group?

3. Is there a way to move a bubble into a new group?

4. The contrast on the number indicator could be much higher; in any sort of outdoor setting it is completely unreadable. Would be great to just use white on black.

Cool app; keep going!

And soon you'll have tab-swell. Causes severe burnout on the long run.

Yes, further optimizations are necessary. It's V1, and I needed to get it out to see if the app would be well received first. That said, I do envisage Link Bubble will be used more to quickly read a few links rather than keep 40 tabs open at once like Chrome.

I was only half sarcastic, and not criticizing your app at all (just in case it felt that way). It's just that sometimes, something that remove friction, thus seems like a win, will cause issues down the road. I love the dynamic floating 'tab' idea btw.

-- sent from my tabfull browser :)

Presuming this is closed source? Although it looks like a neat concept, it would be a more attractive option if I knew something that was dealing with my browsing history was open source.

Yes, it's closed source. I can't see a realistic alternative to this given I'm trying to make a living selling the app.

But FWIW, I can promise you I don't transfer your browsing history. My policy on such data is I simply don't want to ever have a copy of it. If that means I can't sync your history between Link Bubble installs, so be it.

I think an interesting middle ground would be to connect to existing browser sync storage. Personally, one of the (few) disadvantages of Link Bubble is that my Link Bubble history is separate from my main browser history (I don't really want to remember whether I read something in Link Bubble or elsewhere if I'm trying to find it later). Connecting to existing sync services would be a nice way of dealing with that.

What services are you talking about? The history Android permission, or something else? Certainly I don't think there's any such API for Chrome.

As a Firefox user, I thought of Firefox Sync first, which seems to have enough documentation to make a third-party client: https://developer.mozilla.org/en-US/docs/Firefox_Sync

I find it a bit surprising that Chrome doesn't have something similar (or is the relevant sync code just too buried in Chromium?).

Good stuff Chris Lacy, testing now on 2G on my train commute to work. I hope that, in addition to rounding up a few dollars, this opens doors for you.

Any way for you to use Chromium as the engine instead of stock 4.4? Regarding the Apple approach as you referred to limiting user options to cut down on clutter, while that has its merits, I think your target audience with an app like this has a higher concentration of nerds than usual, so maybe reconsider.

Brilliant stuff. I'm too attached to chrome to let it go completely but this is brilliant when quickly opening links from other apps. Nice stuff

I see Link Bubble as an additional application rather than a complete replacement for your existing browser. Drive the Prius (Link Bubble) around the city during the week, take the truck (Chrome) out on Sundays.

On the stock android browser (4.2.2), holding a link opens a context menu, within which you can choose to open it in a background tab. There's a settings options to not switch to that tab yet (under Advanced).

Also, a setting to preload links in the background (very appropriately under Bandwidth Management).

I always used to open a link on Chrome, switch to the previous app, keep the page loading and then after a few seconds I would open Chrome and see the fully loaded page - however this is a more elegant solution than my "hack".

Installed and already using it.

Browsers could take note of this and clear the previous page only when blocking resources(CSS) finish downloading instead of current: First byte. This should make us see less of those white pages.

One of the most useful apps I've purchased in a while as I'm constantly clicking on Links from Twitter, HN App, Facebook and this just makes the whole process more desktop"ish".

This is amazing! Now I am actually starting to notice how much I have to wait when I click on a link from apps. Save to pocket, etc is a nice feature too.

It really is a great feeling when an app solves a problem you hadn't even recognised you had and makes your experience even better. nice work Chris!

Thanks :)

Used it once and loved it. Upgraded to pro straight away :) This is going to make Reddit is Fun a lot easier to use.

When is this coming to tablets, Chris?

Interesting, though I'd prefer a choice of deferred reading services. I use Readability and have a considerable library there.

Change the Settings -> Left bubble value.

Thanks. Glad it's there.

Is this app just a wrapper around the default Android browser? 904k seems to be a bit small for "an all-new browser".

Link Bubble uses the Android WebView for rendering, yes. But the API is pretty deficient in a few key areas, and I will likely have to switch to a custom modified version of Android 4.4's WebView at some point.

If the app uses Android WebView for rendering, then its description on the Play Store as an "all-new browser" is a little disingenuous. The article by The Next Web[1] that is quoted in the description on the Play Store starts off by comparing the app with Chrome, Firefox, Dolphin and Opera, which seems to reinforce the wrong impression.

[1] http://thenextweb.com/apps/2014/03/21/link-bubble-reimagines...

I'm talking about the interface that presents the web to the user, not the underlying method of rendering the web.

I'm using this for over a week now and can't imagine being without it. Something so obvious, yet so profound :)

Seems a nice idea, I hope they'll release it on other app stores, so that I might be able to try it out on my phone

What stores do you mean?

I don't know how anyone couldn't think of this before. Is so simple and needed.

Chris, do you plan to release this on iOS? Are there any restrictions from Apple?

Pretty sure there is no way to do this on iOS. For the same reason the Facebook Messenger app doesn't have persistent floating windows.

Did the (now defunct) Facebook mobile app chat bubbles inspire this idea?

Why do you say defunct? Did that feature disappear? I still use it.

iirc only the desktop Messenger got shot. Dunno if Jabber survived, though.

As I said above, Link Bubble development started before I was aware of Chat Heads.

The app is incompatible with Galaxy SII ?

It requires Jelly Bean or later.

I'm running 4.1 (API level 16) - it should work I guess. Although, I can't download it. Might be location restricted?

Definitely shouldn't be. DM me on Twitter (@chrismlacy) if you like and I can take a look at what might be going on.

Google needs to acquire and integrate.

Please no, I like to see what companies can do without being bought by large lumbering giants.

Big companies integrating things like this are the best kinds of acquisitions. There's no reason something like this should be standalone. Everyone should have a better browser, not just the handful of people that find this app.



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact