Ar.js: Ensure the future of AR.js

Created on 11 Feb 2019  Â·  94Comments  Â·  Source: jeromeetienne/AR.js

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 https://github.com/jeromeetienne/AR.js/issues/253 (Move AR.js repositories to a github organisation) or https://github.com/jeromeetienne/AR.js/issues/374 (Lack of maintenance and inviting to fork).

I just today had restarted this a bit in https://github.com/jeromeetienne/AR.js/issues/376#issuecomment-462277271, but thought it would be better to move it to its independent issue.

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

critical

Most helpful comment

@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

All 94 comments

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?

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.

@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

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 https://github.com/jeromeetienne/AR.js/issues/253#issuecomment-462303826 - 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.

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.

@commentatorboy #473 adds an index

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.

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 :+1: 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.

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

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

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 :)

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

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 )

Trello for me

Same here. Identical username as on Github.

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

Green: Doxumentation
Yellow: Coding

Just tell your emails so I can add you guys

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

my email is [email protected]

I don't know how good I'd be at contributing code but I could help with
documentation

On Fri, Feb 15, 2019 at 6:52 AM Navan Chauhan notifications@github.com
wrote:

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

Green: Doxumentation
Yellow: Coding

Just tell your emails so I can add you guys

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jeromeetienne/AR.js/issues/469#issuecomment-464057612,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGU1tDCkfztDqbx96uOe_GJABrwXRRSiks5vNruzgaJpZM4a0AeY
.

--
Micah Tinklepaugh

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.

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

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

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

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

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

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

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.

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.

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

For those of you are interested I have been rewriting the Three.js (dropping support for AFrame) part of this repository as a standalone library written in TypeScript. It's main aim is to support installation as module via npm, bundle via Webpack/Rollup/etc and also to explicitly use and bundle artoolkitjs as the core (dropping Tango/Aruco).

One of my big hopes is that by integrating with modern web development work flows it will be easier to get people using the project. I also hope to auto generate docs and overall improve the documentation story going forward.

It's still early days but you can see it here: https://github.com/JamesMilnerUK/THREEAR. I am happy to take questions and contributions over there :)

Hello all,
It's great that you guys are stepping up. I'd love to help where I can. @navanchauhan (or whomever else is managing the board) -- please add me to the trello board whenever you have a moment. Thanks! @ShawnOakley, contact [email protected]

I'd also appreciate to be added to the trello board (wavewash)

I'm looking at ways to extend AR.js to do more performant nft.

I invited all the people that asked for it. The board URL is: https://trello.com/b/63F7JlvD/arjs

And I created a Google spreadsheet that we can use to collect better browser/app compatibility information:

https://docs.google.com/spreadsheets/d/1e5YimbF_D1Sou2bx2vdBH58s1WdB_LgzBVYYD_uQLJk/edit?usp=sharing

I prefilled it with all the devices and apps I own and could think of. When we have enough data, we can rewrite the "browser support" section of the README.

I will gladly help in any way I can. :-)

@janpio Would you be able to invite me to the trello board?

Leave your username or email address here, and someone with access to the board can invite you.

Could someone add thorbrickman to the Trello board, please?

I see Jerome submitting things in to another repo as recently as January...and from LinkedIn, it seems he's busy with Amazon Sumerian ( Which is awesome for him! ). Has anyone tried reaching out there to see if he has any input?

I tried but no luck at all. For now we just have to set things up, prepare for an eventually migration to a github org. The trello board is a great start, I see so many people willing to help. If we can make things on the board done, then we can see if it is possible to reach jerome again, or if we are forced to act without him (hopefully, not :) )

Just wanted to give you an update on what I've been up to on THREE AR:

  • artoolkitjs is now bundled in and doesn't need to be floating around on window
  • Reduced and simplified API, uses promises rather than callbacks
  • Inline camera_para by default rather than fetching it
  • Working examples for pattern and barcode markers, along with image/video/webcam sources
  • Working as a UMD module on npm, meaning support for Webpack/Rollup etc as well as with a CDN

Cheers!

Hey, guys please add me to trello board too @gauravrozatkar

I used AR.js on a project before. But at the time I felt like it was abandoned. It is a good thing to see so many people want it to get better.

I've been using AR.js on a current project and I decided to build my own lib because it was getting pretty exaustive use AR.js. My lib is using only jsartoolkit and threejs with web components. I can help this iniciative with the knowledge I acquired building this lib (:

I've checked out @rodrigocam work with AR, https://github.com/rodrigocam/ar-gif looks like a pretty solid iniciative to build some projects with AR and GIFs o/

@rodrigocam If you want you may explain your project with 2 lines or so and a link, and make a PR to add it to AR.js Readme. I will be glad to merge it :)

@nicolocarpignoli would you be willing to do that for THREE AR also? Thanks!

The easiest way to to this would probably be via a Wiki page (which unfortunately seems to be limited to administrators or commiters?) or an additional .md file (e.g. alternatives.md). The most important aspect of such a list of course would be to make clear what exactly the project _is_ and how it relates to AR.js. Is it a modern rebuild? Or additional functionality? Why does it exist?

@JamesMilnerUK yes of course :)

@janpio yes, I can write on wiki but not add anyone else or make it publicly editable

Shame :/ Let's go with a new .md file then for now.

@janpio would you please add me to the Trello board? I am inspired to see so many people want to help fill in the gaps and I'd like to help out where I can.

Not without a username or email address.

@janpio Apologies. The Trello username is dejaviewdujour.

I've just tested @rodrigocam's ar-gif examples, and they're working pretty well: https://github.com/rodrigocam/ar-gif/tree/master/example

@rodrigocam If you want you may explain your project with 2 lines or so and a link, and make a PR to add it to AR.js Readme. I will be glad to merge it :)

Thank you for the support @nicolocarpignoli, I added in this PR https://github.com/jeromeetienne/AR.js/pull/489
If someone could add me at trello would be great! My username is rodrigooliveiracampos

Hello,
I'm very happy with this thread, I'd like to contribute. Can anyone add me on trello? @pharmak0n

In the last year our design studio has performed tests for some jobs using ar.js.

@janpio In January we did tests for a postcard and we collected some useful data for compatibility:
https://docs.google.com/spreadsheets/d/1BQqaxQ4DavKQFd_xU3_tRKkgwvCyPi1GLM2E3upCCGI/edit?usp=sharing

The tests were conducted on these examples:
https://lab.intornodesign.it/test/ar/postcard/

Im so glad I found this! I believe that the future of AR is closely tied to the web, and this will be an important project. Please add me to the Trello Board
un: jamieskinner

Please add me to the trello board . Thanks!
@ryan655

@ninth-mind and @raynt I have invited you.

@commentatorboy hi, can i join the party in trello? @markokhman

I added links to this thread and to public trello board on the readme, this way it will be more visible. Maybe it's time we can finally build a community around AR.js :)

Guys, where can we discuss things?
I have a few things that i need from AR.js:

  • image-based marker
  • wrapping into Ionic native builds

Im ready to pay some freelancers who can do it, but maybe we can have a discussion aroung this first?
I would even suggest a skype call or something

@markusila
1) https://jeromeetienne.github.io/AR.js/three.js/examples/marker-training/examples/generator.html : You can upload any image, the ratio controls the size of the black borders

Thank you, the problem is i cant afford black borders - i need image as a marker without borders
So i was thinking that if someone explains me or my freelancer what needs to be done to fix it - that would move us from dead point

Guys, where can we discuss things?

Definitely not here, but in new issues.

(Spoiler: Both is not possible with AR.js because of technical reasons)

Thank you, the problem is i cant afford black borders - i need image as a marker without borders
So i was thinking that if someone explains me or my freelancer what needs to be done to fix it - that would move us from dead point

@markusila maybe you mean NFT Natural Feature Tracking there is a old testing branch with the jsartoolkit5 lib https://github.com/artoolkitx/jsartoolkit5/tree/nft but it has a very bad performance in fps...

Hi!
Awesome that there’re so many people wanted to pick this project up!
Could you please add me to the Trello?
I would love to help around :)
My username is:
@ron_houben

Hey! Amazing to see so much love in this thread <3 <3 I tried cleaning up AR.js a year ago in a fork but made the mistake of going at it as a lone effort. Exciting to see so many people working on this.

Would love to help around. My trello is:
@changbaili2

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

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. https://github.com/jeromeetienne/AR.js/issues/227 - it's just not that simple and nobody did the work yet)

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!

@JamesMilnerUK thank you! Great development!

@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? :smile:

@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.

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 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 :sob: ! I saw the latest release, I want also help if it is possible, Have you seen my https://github.com/jeromeetienne/AR.js/pull/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...

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

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 ;)

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.

To summarise my message above https://github.com/jeromeetienne/AR.js/issues/469#issuecomment-496018088

  • 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

@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?

@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.

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

@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.

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

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

@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.

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

@ecccs

@navanchauhan please add @evaristoc , which email?

@nicolocarpignoli @navanchauhan [email protected]

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.

@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

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

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

closed, see related PRs.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nicolocarpignoli picture nicolocarpignoli  Â·  3Comments

ghost picture ghost  Â·  4Comments

evaristoc picture evaristoc  Â·  5Comments

kurai021 picture kurai021  Â·  6Comments

pvnr0082t picture pvnr0082t  Â·  4Comments