Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure the future of AR.js #469

Closed
janpio opened this issue Feb 11, 2019 · 94 comments
Closed

Ensure the future of AR.js #469

janpio opened this issue Feb 11, 2019 · 94 comments
Labels

Comments

@janpio
Copy link
Contributor

janpio commented Feb 11, 2019

Hey,

I want to start a discussion on how to keep AR.js alive.

I used it in a project, and the current state of the repo is not optimal for "selling" the usage of AR.js to clients. Even if there is no (big) future development, it would still make sense to get the current working software in a better environment.

There have been initiatives for this in the past, see #253 (Move AR.js repositories to a github organisation) or #374 (Lack of maintenance and inviting to fork).

I just today had restarted this a bit in #376 (comment), but thought it would be better to move it to its independent issue.

So, how can we ensure a stable future for AR.js?

@janpio
Copy link
Contributor Author

janpio commented Feb 11, 2019

Personally I think there are 3 big options:

  1. No change needed, stuff is okay like it is right now.
  2. Fork the repo, continue improvements there. Maybe direct people there.
  3. Move the repo to the independent GitHub org, and continue work there. (Needs initial support from @jeromeetienne)

I absolutely prefer option 3, as it help to not split the community, links, issues, and so on. We "just" have to find out how to go about it, and get @jeromeetienne 's support when we figured out all the technical details.

Did I miss any further options?
What do you think?

@nicolocarpignoli
Copy link
Collaborator

nicolocarpignoli commented Feb 12, 2019

Option 3 for me is the better chance. AR.js is the fantastic work of Jerome, and there's no doubt about that, but the truth is that the library is currently trending, a lot in fact, but he was not supporting it anymore. I was in touch with him, months ago, but now no more.

The only problem with option 3 is the 3. (Needs initial support from @jeromeetienne). I hope this can become possible. Without his support, instead of letting the library at the actual state, I prefer to manage it (and with me, whoever wants to do it) on a personal repository where I can have all permissions - and give them to contributors.

My 2 cents: wait for Jerome. If he's not showing up, let's try independent ways with a fork.

@navanchauhan
Copy link
Contributor

@nicolocarpignoli I think an org would be better, rather than once individual having the rights
( not everyone is Torvalds :p )

Sadly, I am in midst of my exams :( therefore I won’t be able to devote as much time as I want to ( these pesky things will end in March :/ ).

I think we should first change the hardcoded links into relative links. There are about a hundred such links. Once, we do that it’ll be easier to move the repo into an organisation without breaking the links

@janpio
Copy link
Contributor Author

janpio commented Feb 12, 2019

Orf accounts are free, so no reason to use a personal one (again). With Jerome's help it could be the one he created a few years ago.

@nicolocarpignoli What are your current permissions here? You are not an admin, correct?

I investigated the limitations of a move/transfer of the repository in #253 (comment) - the biggest problem are GitHub pages, but there are solutions for that as well - so from a Github/technical side this should be possible.

What @navanchauhan said of course is true - doing preparatory work here in the repository would definitely be a good idea. So "Change absolute to relative links" is a first work item (By the way: Important to consider that the .md files can be shown via GitHub UI and via GitHub Pages - so the links have to work in both).

I think we should do some more preparation here, think it all through and maybe also do a mock transfer of a test repository to see if everything works, and then send a nice email to Jerome with an explanation and all the individual steps he should/could take to make the transfer happen. I don't assume he wants AR.js to just wither away, so if we make it as easy as possible for him to play his part in this, we should be good.

@commentatorboy
Copy link
Contributor

commentatorboy commented Feb 14, 2019

Thank you bringing this up.
In terms of ensuring the future of this.

  1. I suggest using https://trello.com/ to track the work and move/transfer. Or at least have a better overview of tasks/milestones etc. I am willing to take that responsibility.
  2. The README.md should be updated with an "table of contents".
  3. Update: arjs examples (f.x. holographic message is a dead link)
  4. Tango is outdated and is now called ARCore. outdated article. But it would be nice if we could use ARCore with a-frame and arjs. Even this is outdated: https://webxr.io/webar-playground/.
    Point being: We should update them somehow.
  5. At some point in the future arjs should also support webxr.

Another notice:
A-frame now supports webXR.
https://github.com/aframevr/aframe/releases/tag/v0.9.0
It would be nice if AR.js could support it in some way.

Other resources:
https://medium.com/@urish/web-powered-augmented-reality-a-hands-on-tutorial-9e6a882e323e (using ARCore in the web)
https://github.com/chenzlabs/aframe-ar (three.ar.js and a-frame)

I might be able to help a little, since I am currently looking for jobs.
@janpio I am currently trying to sell my own web app using this library. I made the web app in Laravel. It currently supports uploading 3D files and shows them in the front end with animations. This proves that this library has a HUGE potential to be used in business.

@navanchauhan
Copy link
Contributor

@commentatorboy #473 adds an index

@nicolocarpignoli
Copy link
Collaborator

JFY, the fact is, @jeromeetienne is not showing up anymore, sadly. I hope I will, but I do not know when it will be possible ANY action that involves him.

@kalwalt
Copy link
Contributor

kalwalt commented Feb 14, 2019

Hi to all, nice and cool ideas! I hope for nice development of AR.js, it gives me the possibility to do AR with a little effort. It will be interesting the migration to a Org, i vote 👍 for this, if i can i will contribute to the project. I hopeful that everything goes well, and, that the mantainer @jeromeetienne gives his opinion.

@janpio
Copy link
Contributor Author

janpio commented Feb 14, 2019

I think it is fair that we put in some work first.

@nicolocarpignoli, how does the merge process from dev to master work?

@nicolocarpignoli
Copy link
Collaborator

honestly, jerome did leaveme very few directions. I do only know that dev is the branch where to merge all new PRs and features, and do not modify master. I only merged on master README enhancements, so people can see them when first arrive on AR.js repo.

Another thing to enhance is the npm package and set an automatic flow of deploy. But is better to start from easy things :)

@janpio
Copy link
Contributor Author

janpio commented Feb 14, 2019

Ok, so there is no defined merge strategy for dev->master yet. That's what I wanted to know.

@navanchauhan
Copy link
Contributor

navanchauhan commented Feb 15, 2019

Which board will you guys prefer? Gitkraken Glo or Trello?

Edit: I prefer Glo as I have it’s pro version ( Thanks to GitHub Education )

@nicolocarpignoli
Copy link
Collaborator

Trello for me

@janpio
Copy link
Contributor Author

janpio commented Feb 15, 2019

Same here. Identical username as on Github.

@navanchauhan
Copy link
Contributor

https://trello.com/b/63F7JlvD/arjs

Green: Doxumentation
Yellow: Coding

Just tell your emails so I can add you guys

@raywu
Copy link

raywu commented Feb 15, 2019

Happy to help with keeping Trello organized. I'm interested to see this library grow!

@ghost
Copy link

ghost commented Feb 15, 2019 via email

@commentatorboy
Copy link
Contributor

commentatorboy commented Feb 15, 2019

Mine is [email protected]
I am currently working with using arjs in "business" settings. So I can help experiment to some extent.

@entrebot That is also ok. Everything helps.

@kalwalt
Copy link
Contributor

kalwalt commented Feb 15, 2019

Mine is [email protected], i would contribute if i can.

@CueContext
Copy link

Mine is [email protected]. Will also contribute when I can.

@navanchauhan
Copy link
Contributor

Hi @CueContext couldn’t find you via email please give your trello username

@nicolocarpignoli
Copy link
Collaborator

[email protected] please add.
There was also slack channel but honestly is is better to start over with trello and github. Thanks!

@CueContext
Copy link

Hi @navanchauhan I’ve just updated my Trello profile so bill@cuecontext or bill_sterling should work. Thanks!

@navanchauhan
Copy link
Contributor

navanchauhan commented Feb 17, 2019

I have added everyone here, @nicolocarpignoli if you could somehow contact @jeromeetienne so he could configure the GitHub power up with this repo, we will be able to better integrate all the PRs and Issues

https://trello.com/power-ups/55a5d916446f517774210004/github

1A214824310226

@janpio
Copy link
Contributor Author

janpio commented Feb 17, 2019

I suggest not bother Jerome until we have a state that is stable and finished enough to be transferred to the repo. He obviously has different priorities right now, so maybe we should limit our pondering to when we have something actionable that really needs to be done.

@nicolocarpignoli
Copy link
Collaborator

I agree with not bothering Jerome for now. I also propose, if you agree, to make Trello board public (publicly visible, not modifiable by everybody). we can then link the board here on README master to make progress visible to users.

@andreyrd
Copy link
Contributor

I'd like to be part of the Trello board as well, username @andreyrd

@Simon1059770342
Copy link

Have u guys ever thought about integrating NFT into Web AR / AR.js

@janpio
Copy link
Contributor Author

janpio commented Apr 19, 2019

Please create a new issue for new topics @Simon1059770342. (But to answer your question: Yes, you can find several issues talking about this here like e.g. #227 - it's just not that simple and nobody did the work yet)

@JamesLMilner
Copy link

Just wanted to give you folks and update about THREE AR (https://github.com/JamesMilnerUK/THREEAR). Few nice features added recently:

  • Marker lost and found events
  • Anti flickering using lostTimeout property
  • Forward facing camera mode
  • Fixed a bug with z-fighting
  • Lots of nice demos (including a snake game)

The library doesn't have a large scope, just a replacement for the Three.js aspect of this library. Having said this happy to accept contributions and bug fixes!

@kalwalt
Copy link
Contributor

kalwalt commented May 2, 2019

@JamesMilnerUK thank you! Great development!

@kalwalt
Copy link
Contributor

kalwalt commented May 9, 2019

@nicolocarpignoli @jeromeetienne it would be nice to know what are the news about the migration of the repository or the future of AR.js in general... Have you found a solution? 😄

@nicolocarpignoli
Copy link
Collaborator

@kalwalt still no answer from jerome. I have released a new version of arjs (1.7.0). We are working, although a bit slowly, on enhancing ARjs repo towards a migration.

Maybe we will have to remain on this repo forever. Best thing to do right now is to enhance ARjs where it is.

@nicolocarpignoli
Copy link
Collaborator

A question to anyone, regarding managing issues: does anybody know a way to automatically close issue that has no activity from a specified time?
Big requirements: has to be usable by me, that I got permissions to close issues but I'm not the owner of the repo - so I cannot install Apps like Stale.

@kalwalt
Copy link
Contributor

kalwalt commented May 16, 2019

@kalwalt still no answer from jerome. I have released a new version of arjs (1.7.0). We are working, although a bit slowly, on enhancing ARjs repo towards a migration.

Maybe we will have to remain on this repo forever. Best thing to do right now is to enhance ARjs where it is.

@nicolocarpignoli 😭 ! I saw the latest release, I want also help if it is possible, Have you seen my #515 ?

A question to anyone, regarding managing issues: does anybody know a way to automatically close issue that has no activity from a specified time?
Big requirements: has to be usable by me, that I got permissions to close issues but I'm not the owner of the repo - so I cannot install Apps like Stale.

There are bot tools that automatically close the issue but i have fear that if you are not the owner of the repository that it won't be possible, but maybe other people knows something more...

@commentatorboy
Copy link
Contributor

Maybe this? not sure if you need to be owner? It does not specify.
https://github.com/bstriner/github-bot-close-inactive-issues/blob/master/README.rst

Alternative:
Same as before. It does not specify that you have to be owner.
I know it is not ideal in terms of inactiveness.

But try it out.
https://help.github.com/en/articles/closing-issues-using-keywords#closing-multiple-issues

@javismiles
Copy link

Great to see this thread, been using ar.js for quite some time and I love it, but I was also wondering about its future, there is so much potential and yet it seems to be stuck for quite a while now, so I totally support to brainstorm ways to empower it more and more. In my view AR that uses extra hardware/software is failing to gain enough traction because of the barrier that extra hardware/software entails, and there is a great opportunity for AR.js and similars to continue gaining traction in this environment but we need some momentum with awesome platforms like for example ar.js, there hasn't been major developments here for quite some time, happy to contribute if I can, thank you for creating this thread ;)

@evaristoc
Copy link

evaristoc commented May 26, 2019

Hi everyone,

I like this discussion. I would like to add that this project is not the only one that is good enough but let alone by the creator.

I would like to point out some things I have discovered the last 5 months while learning to use JS libraries for AR:

  1. Some of the creators of several libraries are currently focused on the Immersive Web initiative and its WebXR section, examples 1 and 2. It is a search for a common free standard and the thought future of the web browsers. However, they are still NOT fully independent of the industry frameworks (aka arcore, arkit).
  2. There are a few projects there that could be compatible with this one. I am currently trying a melange of projects. Here an interesting list of abandoned projects that could be evaluated as possible extensions of this one:
  • argonJS: excellent concept. It was an effort for location-based AR. Although not completely successful, the project brings several interesting ideas of how to work an AR with the user device as a center of the Scene World. In my opinion, THIS is one that SHOULD be brought to a different repo immediately. One of the best I have found (when worked).
  • jsfeat : for those interested in image-based / natural feature tracking, this project offers a way around. I have worked a few test with it, particularly 2d images, with relative success. It uses Computer Vision techniques (translated from OpenCV). My tests are a bit hard to use, but are all based on this one. There is also an old video that doesn't mention its use but it is very likely a modification of the same example. Contrary to a respond I wrote in this thread, I might now agree with someone who suggested the use of openCV.js for markerless tracking.
  • openCV.js: The original idea was born in a Hackathon, but for the openCV community this project is NOT priority. However, there would be a lot of things that could be done with what exists of openCV.js and AR.js. Both projects are using same compiler.

Of all the projects I have recently checked the only one I still see moving on WITHOUT any strong link to arcore or arkit and still open source is a-frame, but they are focusing on VR and gaming, and it is a framework based on html components, which is another language really.

One thing to keep in mind is that unfortunately due to privacy concerns companies are getting more pressure to close the access to several components of their devices (accelerometer, giroscope, etc). Example: iOS; I read Google made a similar move recently.

For me that translates like in the near future doing AR (and anything that uses device components, actually) will mean having to pay for licences unless some options are found.

If so, I advise everyone to hurry up and practice as much as possible now that it is still possible ;).

Hope this information helps to enrich this discussion. Please keep me in the loop.

@evaristoc
Copy link

evaristoc commented May 26, 2019

To summarise my message above #469 (comment)

  • I believe that there are a lot of things that can still be done but it is likely that we have to assume a conservative position about its scope; right now I see this project as a way to learn and implement AR demos in JS, with only a very very few features that could be used in production environments
  • I personally think it would be more interesting to skip some aspects of the current API and instead of improving features, extend its capabilities by mixing it with other existing projects (location-based, face-tracking, markerless)
  • It should be a communal effort as it looks like the technology tends to advancing quite rapidly these days while heading to a more prohibited access

@kalwalt
Copy link
Contributor

kalwalt commented May 26, 2019

@evaristoc thanks for your contribution! You share a lot of informations and ideas... For sure you are right on the fact that technolgy change so fast. It's a pity that many open source project goes in the shadow, but there are many factors involved.
I saw ArgonJS and was very interested but as you said it seems blocked with the development. I'm very interested on your test, I will try it for sure!
Maybe, one idea would be to collect all this projects to found an open source organization for the AR development?

@evaristoc
Copy link

evaristoc commented May 26, 2019

@kalwalt

Maybe, one idea would be to collect all this projects to found an open source organization for the AR development?

That is exactly my point :). As long as it is kept down-to-earth, with a very conservative scope, we can get into something nice without being extremely ambitious.

Focusing only on marker-based is nice for some projects but still restrictive. I see more opportunities for this project to focus on extending features rather than trying to perfect those that already exists.

I think looking for a set of minimal requirements and capabilities that would make it work for a wide range of devices would be enough. But then it should be possible to do more than just marker-based.

In principle is more about exploring the potential of AR rather than trying to create fully capable UX experiences. Unfortunately there are projects that are way forward, and that because they charge A LOT (eg. wikitude).

Therefore I see this project as a way to get exposure to AR development at a very low cost for those who cannot pay, and likely make some low-poly projects available to some small organizations and individuals.

Personal opinion.

But having a clear idea of "for what?" can help to decide priorities.

@kalwalt
Copy link
Contributor

kalwalt commented May 26, 2019

@evaristoc strange that this kind of organization still does not exist...! There are many people here that can make it possible.

@evaristoc
Copy link

@kalwalt the current organization that might reflect that is Immersive Web. But again, they are IMO under the supervision of the Mighty Industrial Sector.

Not that I have something against, but unfortunately the trends are to make harder the access, as I see it.

@evaristoc
Copy link

(@JamesMilnerUK I referred your article in a recent post for this thread, nice to see you are active here too)

@commentatorboy
Copy link
Contributor

commentatorboy commented May 27, 2019

Hey to add to this I have found an open source SLAM project. I have already posted this in Trello.

https://github.com/xdspacelab/openvslam

The SLAM technology allows us to implement ground tracking and possibly evolve AR.js to be truly markerless.

Someone on Trello already posted a js alternative https://github.com/XingMeansOK/slamjs_samples

@nicolocarpignoli
Copy link
Collaborator

nicolocarpignoli commented May 27, 2019

@evaristoc I thank you so much for your contribute on this discussion. You showed a very broad vision of Web AR state-of-the-art that is gonna be very useful for this discussion.

We could start an organization for Open Source Web AR, including all projects you reported.
In fact, such organization can be the one we have already in mind as the 'future owner' of AR.js.

As for know, AR.js has been leaved alone by his creator. We have to decide when to create a new repo and forward people to it.

@evaristoc
Copy link

@nicolocarpignoli can I get an invite to the Trello, please?

@ecccs

@nicolocarpignoli
Copy link
Collaborator

@navanchauhan please add @evaristoc , which email?

@evaristoc
Copy link

@rebornDw
Copy link

I'm glad to see so many like-minded people here. My personal suggestion is that if ar. JS wants to have a better influence, it needs more help in real life. So I can't wait until natural picture recognition comes out.

@Carnaux
Copy link

Carnaux commented Jul 26, 2019

@nicolocarpignoli @commentatorboy As soon as i finish the web tool for creating NFT markers, i will start the research and porting of slam to AR.js

@JoseHervas
Copy link

JoseHervas commented Nov 15, 2019

It's so cool to see you guys giving your time and effort on keeping this project alive.

I want to help. Can you add me to the trello?

email: [email protected]
trello user: jhervas

@nicolocarpignoli

@commentatorboy
Copy link
Contributor

I have added you. For future reference I will react to the post if I have added them to trello.

@nicolocarpignoli
Copy link
Collaborator

closed, see related PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests