{"id":18812675,"url":"https://github.com/anuejn/browser","last_synced_at":"2026-05-02T02:32:01.260Z","repository":{"id":83457273,"uuid":"89875153","full_name":"anuejn/browser","owner":"anuejn","description":"A browser that uses a non mainstram tabbing concept","archived":false,"fork":false,"pushed_at":"2017-04-30T20:27:18.000Z","size":118,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-30T00:17:07.637Z","etag":null,"topics":["browser","design-study","electron","experiment","js","tabs"],"latest_commit_sha":null,"homepage":"https://gitlab.com/nein/browser","language":"HTML","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anuejn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-30T20:25:59.000Z","updated_at":"2022-06-28T21:41:35.000Z","dependencies_parsed_at":"2023-04-17T06:15:51.805Z","dependency_job_id":null,"html_url":"https://github.com/anuejn/browser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuejn%2Fbrowser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuejn%2Fbrowser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuejn%2Fbrowser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuejn%2Fbrowser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anuejn","download_url":"https://codeload.github.com/anuejn/browser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239748302,"owners_count":19690236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","design-study","electron","experiment","js","tabs"],"created_at":"2024-11-07T23:34:45.135Z","updated_at":"2026-01-12T00:30:17.009Z","avatar_url":"https://github.com/anuejn.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Browser\n![Screenshot of a clickdummy version of the browser](documentation/clickdummy.jpg)\n\n## Goal\nThe main aim of this project is to develop a browser that fits a browsing workflow with many tabs.\nThe main idea behind it is, that you never have to close a tab again. **Never**.\nBoth in the UI and the browser backend should be usable without the need to close tabs.\n\n## Design\nOn the UI side, this should be reached by having a vertical bar of tabs, \nwhich consists of two parts: \n1. On the one hand, it consists \nof tabs, the user opens from time to time in his daily research. Those tabs are no longer important \nafter a few minutes. This group of tabs is called the \"tabstream\". Tabs who are in the tabstream\ncan be unloaded by the browser to save resources. At this point of time, a screenshot is taken and\nthe browser should try to serialize the state of that tab to make it restoreable for later usage.\n2. On the other hand, there are the \"pinned\" tabs. Those tabs mustn't be unloaded by the browser.\nExamples for tabs you may want to pin are music player apps, instant messengers or \nissue boards. The pinned tabs are pinned at the bottom of the tab bar and are quickly accessible at any\ngiven point of time.\n\nThe forward and backward buttons be able to control the browsing history not just in the current tab.\nThis is the intuitive behavior, but not the behavior, that is implemented in current browsers.\nSo when you click backward on a tab, you opened from an other tab, you should get\nthe tab shown, from whom you opened the tab, you are looking at.\n\nIn the default view, every tab is represented by the favicon of the website.\nWhen no favicon is present, some alternative icon should be generated to identify the page.\nThe problem with representing evey tab with an icon is, that the icons are sometimes not unique enough:\nLets assume you have 5 tabs of `wikipedia.org` open. How could you differentiate between the different articles?\nFor this case there should be another View: The \"OverView\" ;). In this view, the tab bar will get \ninflated and the page titles should appear next to the corresponding icons. The current rendered tab\nshould get smaller and in \nthe case of hovering over an tab the browser should show an image of the rendered tab.\nIf the tab in no longer loaded, a screenshot of it will be shown.\nMoreover there should be a search bar with which you can filter your tabs by the title, the url,\nthe date, etc...\n\nAlmost all the things, you need to use a webbrowser in your daily life are not specified here.\nThose things should be also implemented, to make it usable, but maybe less complete and less\nadvanced than in mainstream browsers to save development time and be able to concentrate on the\nnew and exciting things about this project.\n\n## Technology\nThe browser will be written in webstack technologies using [electron](http://electron.atom.io/).\nThe main reason I believe, is that it is easier to write a webbrowser in web technologies than in any other\ntechnology stack. This saves much development time but trades it for a worse performance. That\nmeans, that keeping the performance and resource amount used at an acceptable level is a great challenge.\n\n## Current Status \u0026 Contributing\nCurrently a clickdummy and the beginning of a first version of the browser are excising.\nWhen you want to get information about the current issues and the progress of the project, just have a \nlook at this repo and the [issue tracker](https://gitlab.com/nein/browser).\n\nAll the thing described in this document are only ideas and can change during the further development.\nFeel free do bring in your own ideas and thoughts :). Moreover feel free to fork this project, develop on it,\nhack it, and submit pull requests.\n\n## Try it!\nTo run the browser you just need to run:\n```\ngit clone https://gitlab.com/nein/browser \ncd browser\nnpm i\nnpm run\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanuejn%2Fbrowser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanuejn%2Fbrowser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanuejn%2Fbrowser/lists"}