eladnava / applicationize

Converts your favorite web apps into desktop apps with their own dedicated launcher icon.
https://applicationize.me/
Apache License 2.0
494 stars 85 forks source link

Tabs and Link Recognition #11

Closed kyprifog closed 8 years ago

kyprifog commented 8 years ago

This is a cool idea, I've seen similar things in the past. I like this because:

  1. It organizes my screens better. I inevitably end up with a chrome that has a bajillion JIRA's, githubs, circle ci's, all open at the same time. This keeps all the githubs organized together, all the JIRA's organized together, etc.
  2. It forces me to only look at one thing at a time. Since it doesn't have tabs.
  3. It frees up chrome for other things. Since my chrome is not eaten up with tabs consisting of these standard or daily web apps its free to be the more for sporadic tasks. Since i always whitelist these standard things (jira, github, circleci, etc) in Great suspender, having many of these opens eats up memory.
  4. Its a better launching experience. Right now I have Awesome new tab page set up as my default page with links, but its quicker if I can just click it on my task bar.
  5. I use Total spaces which lets me pin certain apps to certain desktops. Since (JIRA, github, facebook) are normally just google chrome pages I cannot do this for them since its the same app.

I like that its not as fully featured as chrome (which can be a memory hog). That being said the following features could be nice (at least as optional components):

I. Browser style forward and back buttons II. The ability to recognize clicked links (for example JIRA) as belonging to the application and opening them in the application (can this already be achieved with some mac configuration?) III. Ability to have tabs. Even though I cited 2 above, it still can end up being a bit inconvenient if I need to access multiple things at once, for example, my JIRA kanban and a particular JIRA task. I suppose the kanban could be made into a separate application, but not sure if that achieves quite the right flow. This also plays against the reason 3 I cited above, so might need to be optional.

eladnava commented 8 years ago

Hi @kyprifog, Nice to meet you, and glad to hear you like the project! =)

I agree with your thoughts about it -- it really does make using your favorite web apps that much more convenient.

Regarding your feature suggestions:

  1. Back/forward buttons - nice idea! I did notice that pressing Backspace allows you to navigate backwards -- however, there seems to be no hotkey for navigating forwards except by clicking on links. Do you think the Backspace button is enough or would you prefer dedicated buttons?
  2. Link hijacking - you mean that external applications (or even Chrome tabs) with links to an "applicationized" app will open in the app's window instead of in a new Chrome tab?
  3. Tabs - I tend to disagree with this -- one of the main reasons I developed Applicationize was to isolate your SPA (Single Page Application) web apps from other websites to increase focus and improve accessibility and convenience, since you tend to use those on a prolonged basis and usually leave them open eternally, unlike conventional websites. Therefore, I feel that Applicationize isn't a good solution for wrapping traditional websites that may require opening several tabs of the website at certain times (e.g. JIRA), and usually, these tabs are short-lived, unlike SPA web apps.

Let me know what you think about this, and thanks again for your interest in Applicationize! =)

kyprifog commented 8 years ago

Nice to meet you too!

Your explanation about the use case mostly applying to SPA's makes more sense to me now. In light of that, I think that 1/3 don't make as much sense. Back and forward buttons already are sometimes an obstacle to SPA's and state. The backspace button suffices. The question is whether or not most SPA's are well designed enough to have sufficient internal navigation (if they are a SPA they should). Most of the web applications I was looking to use it with (JIRA, circle ci, codeship, github - i dont like their native os x app) are not strictly SPA's really.

as far as 2: Yeah thats basically what I meant. It probably should be optional though. I think here it might suffice to have a right click menu option of "Open with ..." this however might require some os x hacking

eladnava commented 8 years ago

Regarding the back/forward buttons, indeed, I'm pretty sure that all SPAs handle them nicely by listening for the popstate event emitted when pressing Backspace after issuing a History.pushState().

I've so far tested Applicationize with WhatsApp Web, Facebook Messenger, Google Keep, Google Docs, and YouTube, without any noticeable navigation issues.

Regarding the link hijacking, I'm not sure this is possible -- since applicaitonized web apps are actually Chrome extensions, I'm not sure that this is feasable (not without at least providing some kind of additional .dmg installer that would perform some kind of hack to get this working). Also, with SPAs, I think that links that lead to them are less common than links to traditional websites (JIRA comes to mind again), so not sure if this may have much benefit for the end user. I may be wrong, though.

eladnava commented 8 years ago

I do think that we should aim to make it more clear that Applicationize is meant for SPA web apps. I'll add it to the README.md for now.

kyprifog commented 8 years ago

Thanks!