Resources

Share your data apps and docs easily with Connect Cloud

Turning your data work into applications and documents for others to consume is one of the most rewarding parts of data science. It can also be one of the most complex. You shouldn’t need a systems engineer to deploy your Shiny application or publish your Quarto document. Now, in Public Alpha, Connect Cloud makes it simple to publish and share your favorite Python and R frameworks within a simple cloud environment in just a few minutes. All you need is code in a public GitHub repository. Connect Cloud does the rest. This live event will demonstrate how Connect Cloud fits into your workflow and returns a URL for your deployments that you can share with the world. Try Connect Cloud: https://connect.posit.cloud/

Aug 7, 2024
40 min

image: thumbnail.jpg

Transcript#

This transcript was generated automatically and may contain errors.

Hi, everyone. Thanks for joining us today from all over the world. My name is Alex Chisholm. I'm a product manager here at Posit working on hosted data science platforms. In our session today, I'm really excited to be giving an overview of our new hosted data publishing solution called Connect Cloud.

So what I want to be able to do today is both show you what the tool looks like, get up and running with a few example workflows, and then take any questions that you might be having for those who have already interacted with it. If you haven't played around just yet, I do encourage you to go to Posit.Connect.Cloud. You can create a free account and you can start publishing your work.

This is an alpha release. I think we started promoting this new platform in the middle of July. There's a very specific workflow that we're going to talk about today. And the first thing is like it's all GitHub centric in nature right now. So we're essentially taking code and public GitHub repos, and we're going to be able to deploy or publish the code and the projects that you have. And then you're going to get a shareable URL that is also public in nature.

So the one requirement to create an account right now is having a GitHub account, and that's going to be how you authenticate through the platform.

Supported frameworks

And taking a step back, like I know there are many things that you can build today in terms of taking data, maybe putting models together, being able to put reporting out or building dashboards and applications. I'm curious if anybody on the call builds other things than these that are shown on the screen right now, what those might be. But these are the seven frameworks that the alpha version of Connect Cloud currently supports.

So we have four applications from Shiny, Streamlit, Dash, and Bokeh. And then on the document side, you can publish Quarto documents, our Markdown documents, and Jupyter notebooks. Over time, we will be adding on to what is supported on the system, which is why it's so valuable for us to understand the other frameworks that you might be using in your day-to-day work.

So it is relatively, I think, easy these days to build in a lot of different frameworks because there are so many available. There's so many great tutorials and resources and documentation that are out there. We think that also, though, the sharing of your work should also be easy. And I know for myself and my own data science background, this isn't always the case. And sometimes it can feel pretty complex to be able to get your working application off of your local environment and onto the laptop or the desktop or whatever of somebody who you want to engage with it.

And sometimes it can feel pretty complex to be able to get your working application off of your local environment and onto the laptop or the desktop or whatever of somebody who you want to engage with it.

The three-step publishing workflow

So when we were putting together Connect Cloud and acknowledging that we have shinyapps.io and rpubs and Quartopub, they all sort of have a very IDE-specific way that you're being able to deploy or publish these applications and documents. We wanted to think of something that was unified across both R and Python and that wouldn't require a user to learn about a plugin we might have somewhere, to learn about a new package that they might need to install and work into their actual code potentially.

So we came up with a sort of three simple steps for this alpha release. And this obviously doesn't mean that this is going to be the only way that you can publish forever on Connect Cloud. It's just the starting point that we have right now. And what we tried to set off to do is you have three simple steps. And our hope is that within three minutes, you're going to be able to create a new account, again, through this GitHub authentication. You're going to be able to point the platform to one of your public repos with the source code for what it is you want to publish. And then you're going to press go.

And then if we do our job right, we're going to be able to take your code, your dependency files, be able to spin up a working URL that is public in nature that you can start sharing on LinkedIn or with friends, family, whoever it might be. And what comes at the end of this process, as I mentioned, is the shareable public URL. So this could be an example Quarto dashboard that was put together. We're able to deploy it. There's a URL associated with it. And we'll get into this within the demo in terms of how you as the publisher might interact with some of this.

One neat thing that we've done on Connect Cloud is this then ties back to a portfolio, in essence, a public portfolio of all the diverse type of work that you've put together. So this specific thing that I might have published called economic trends is going to end up back on your portfolio or your profile. I mean, you can see economic trends here. This is the view for you, the user. So you still have controls over things. But if you were to share this URL out with others, they'd also be able to see what you're working on and find out a little bit more about you.

Dependency files

A quick note before we get into the demo portion of today. So one way that we need to consider the deployment or the publishing of what you're giving us is for us to know what the system needs to replicate what you did locally. So the way that we're able to handle this GitHub workflow, we need a little bit of information about that environment. And starting with our projects or our applications in the example that we'll look at today, we need this manifest.json file to be in that public repo.

I know that many people who haven't worked within Connect before or maybe published from the command line to our other tools might not be familiar with this. Thankfully, it just takes one function, write manifest. You point to where that application, for instance, might be. And it's going to give you this file that we'll look at in one of our examples. And this is going to tell Connect Cloud the right packages that we should be installing and the right versions. And on the R side of things, it's also going to tell us the R version that you were using locally that we're going to be able to spin up on Connect Cloud.

If you're working on a Python application, here we're going to use a requirements.txt file. So this is what's going to be required in that repo. There are a couple of different ways that you can put together this file when working with Python. One, you could just create a blank text file, requirements.txt, and add in your dependencies line by line. So you need pandas, you need matplotlib, and you could leave it like that if you wanted to. Another approach is using pip freeze from the terminal and then spitting this out into a requirements.txt file. This will take all of the packages that you're using to run this thing locally and put that into a very specific requirements.txt file that we can take to upload.

So one difference between the R side and the Python side at the moment is that this manifest file does both the R version and the packages. The requirements file only is focused on packages, and you're going to set that Python version from the UI itself.

Demo walkthrough

So what I want to do today, and we'll probably have another 10, 15 minutes of content looking at these things before turning over to Q&A. I'm going to take you through, I'm going to create an account, then we're going to do a deployment. Our examples today are both going to be from the Shiny framework, one for Python, one for R. In subsequent webinars and demos, we'll look at specific frameworks and specific languages and do more coding from the ground up. And then we'll close with the available resources that are out there today for Connect Cloud.

So let me hop over now, and remember to share my tab. Here we go. I believe now, yep, you should be looking at the homepage for Connect Cloud.

And I've done a couple of things. I, of course, already have an account on Connect Cloud, but I've gone into GitHub, I've revoked the permissions for Connect Cloud to have, and then I've cleared my cookies on this end. So I'm going to look at it and hopefully see what you would see signing up for the first time. So I'm going to go for sign up for free.

We only have one choice, as we mentioned at the moment. Eventually we'll have other auth providers, we'll probably have username and password as well. But for now, because the entire deployment process relies on GitHub, this is the only way that you can create an account. So I'm going to go ahead and sign up.

And then you're going to see kind of like what we are looking for in the handshake with GitHub and what information that is required. Depending on how complex your GitHub setup is, you might have information about organizational access. You can, if you want, ignore all of this. You don't need to grant any of these organizations permission. But at the moment, all we're taking is the ability to read some information, especially in the public repo side, to be able to go out and populate autocomplete, for instance, when you're going through the process, and also any organizations that you might be a part of.

So I'm going to authorize it. And then what you would have is going to redirect you, it's going to give permission, it's going to bring you back to your landing page on Connect Cloud. And if this was the first time that you were coming here, you wouldn't have any content yet at all. We're going to have two buttons for you. One is going to be sort of a quick way to get to publish. So if you already had your code on GitHub, you already have the requirements file or the manifest file, you can just jump right into the workflow. We also have a try one of our sample buttons. That's going to just, you click it, and it's going to put you into the publishing flow, and you're going to see what that process looks like.

So at the moment here, I only have two of these published outputs. One's a Streamlit app, and one's a Quarto document. So I could mess around with these, I could play with these, but we're going to go ahead and deploy two new things during this demo.

Deploying a Shiny for Python app

So I'm going to hop over now into GitHub to show the project that we are going to deploy first on the Shiny for Python side. So this is also a public repo. I believe that Anna's going to drop some of these links in maybe along the way. So this is publicly available. If you look down in the readme, you're going to get a sense of what we're deploying. You're able to put in the countries around the world that you visited. You're able to get a visualization from that.

This was put together relatively quickly, and some of the data sets underlying it are a little bit older. So the important note here is that for this specific example, we need Python version 3.9. But you can see I don't have very much in my repo. I have an images folder, which really just has this screenshot, nothing for the application itself. I have that readme file. I have my application, which is pretty short. We're going out, we're making a sidebar. We have our inputs for what the user needs to provide to make the visualization useful. And then we have the ability to go up and populate that chart, the map of the world, with specific colors associated with which ones that we have visited.

And then the last file is what we were talking about a few minutes ago, our dependency file. And this is a requirements.txt file. If you haven't seen one of these before, you can see that I've got Shiny, I've got Geopandas, and I've got MapPlotLib. They are set to specific versions, again, because the data set that I needed for this application required Geopandas to be under a certain level. So we went with one that we knew would work. It's often common to not have any versions here at all. You just say, I need these three things, and then we hope that our dependency resolution can get the ones that are needed at the right moment.

So this is what we have in our repo. You must remember the repo name, Shiny Countries Visited. Now I'm going to go back into Connect Cloud. And I'm going to change my tab back to it as well. So now we're on the landing page. I'm going to go to this publish icon. And the first thing that we want to do is provide which framework we're working with. So the example we saw was Shiny.

Now it's going to open up the next level of this, like where is your source code? And if I click down here, it's going to show me all of the different repos available to me, either from my individual account or potentially my organization as well, if I get permissions for that. And you can actually see the ones that I've interacted with most recently come to the top here. But if you were to type in something like, if you have a lot of repos, like if I typed in time zones, for instance, that would come up as well. But I want to go ahead and grab that Shiny Countries Visited. This is the Shiny for Python one. It's going to automatically tell which branch. It's going to default here to main. But if I had more branches, I could also click down here, and I could pick a different branch. And then we're going to filter down some potential primary files, or your application file in this case. And the only one that we think that you could publish from this repo would be app.py itself. So we're going to click that.

Now that is all you really need to do. You're pointing to that repo. You're telling me what branch you're in and what your primary file is. We do warn you at the moment you need a requirements file. We already saw that we had that, so we can move ahead. And there is an advanced settings area here as well. As described when we were in the repo, I do need Python 3.9 for this. So here is me, the user, being able to specify the Python version via the UI. I'm going to click 3.9. And that's really all we need to do. We'll have another webinar someday where we talk more about the ability to configure variables and add secrets to your applications in a safe way before the time of deployment. But that's for a different demo. So I think we have everything we need right now. And I'm just going to hit publish.

So what we're doing now is we're going out to that repo. We're grabbing all the code, again, from this public repo. We're going out now installing those three dependencies and their dependencies that we looked at. And then we're going to take that relatively quickly, especially with this example, and turn this into a published application.

So earlier we said three minutes to a deployment between creating an account and getting code. Depending on what framework you're working with, it could be much quicker than that. That was probably a 10, 15-second deployment by the time that we pressed go.

So we have this application. Let's take a look at some things in here. So I actually just got back from a relatively long work slash personal trip. We went first to the Netherlands where we used to live to see friends. Then I actually headed to Spain to see my brother. And then we had a family reunion in Japan, of which we went through first, the United Arab Emirates. Before getting to Japan and then coming back through Vancouver, so in Canada. And if I click all of these, I guess I can add the U.S. as well since we ended back here. And we can see pretty quickly that I visited six countries on this trip. These are the six that I visited, and we have a visualization for this.

Now, this isn't a fancy application. I could add buttons for things like downloading those images or sharing it. You could save it right now or open it in a new tab. That's kind of beyond the point of this. What matters is we had an application. It worked locally. We put it up on GitHub, and now we're able to absorb it into Connect Cloud.

So let's take a look at some of our options here. The first is our title. Maybe we default to using your public repo name. Maybe we want to make this look a little nicer. Countries visited in July 2024. So I'm able to go ahead and change the title kind of like on the same page. I have a share button. At the moment, this just copies a link to the clipboard, and you can share out this URL with anybody else, and they'd be able to interact with the application. We have a link that goes back to the GitHub repo.

One of the things that we find powerful about Connect Cloud and data science in general, open source data science in general, is that you have working code, and you have a working example sort of side by side, and we think that that is a really helpful way to use Connect Cloud and GitHub in this case.

You probably also notice that we have a little control panel on the far right side. I can hide that after launch, but this lets me see a few things. I can click on logs, and I can see how we were able to deploy this, and now these turned in from those build logs into runtime logs, and if there was any interaction within my app that would come back to the logs, I could see it here and close that out. How do we add environmental variables? We could change these here. We could add new ones. We could republish, and then we could also just do a pure republish, and what a pure republish is going to do is just go back to your GitHub repo, get any new code that might be there, and then deploy your application once again.

So this is essentially it for the Python version of the demo, and if I click now back to content, we're going to see how my portfolio has grown. So now in addition to the two that we saw initially, we can see countries visited in July 2024. I can access that. I can edit it. I can add things like a description, country map filled in. It will say that automatically and start populating it. So we're able to build up this portfolio. This is still just an alpha release, right? We will be adding sort of better navigation to this page, things like filtering and sorting, so you're able to navigate and get through if you start having a lot of content here more quickly. We can also delete it, and we can do other things like copy the URL again.

Deploying a Shiny for R app

So this was our Python example. Let me jump in now to looking at a Shiny for R example. For the Shiny for R example, we're going to do a slightly different app. We're going to build this, which is essentially a meeting time converter in which we're going to take a given meeting time in one time zone and see maybe what our other offices around the world might have to endure if we hosted that meeting at that time.

Just like the Python demo, we have an images folder in here. Really, that's just for showing this image. We have a readme, which is just that. And I just have two more things. I have my app.r file where we're going to bring in the libraries that we need. We once again sort of have user inputs in our first column there where we're saying tell me the meeting time, tell me the time zone, and then we're going to have on the far right side the calculations that go out for the time zones of interest to us.

So relatively simple application. And then the thing that might be new to some of you, this manifest.json file. So this is going to look quite long. Unlike requirements.txt, you're not going to go through likely and do this by hand. This is where you use the RSConnect library function write manifest and point it to that application. So most of these things that we're showing here are different packages that we know were used to build this app when you did this in RStudio IDE, let's say. Unlike the Python requirements.txt file, you can also see here that we have a specific version of R being called out, so 4.3.2. And we're going to take this from the manifest file and then make the deployment on Connect Cloud with this.

All right, so we have this set up now. Let's go back into Connect Cloud. We're going to click on publish just as we did before. We're also going to pick Shiny as we did before. And we are going to look at the Shiny R time zones repo. Once again, it's grabbing my main branch. The only file it sees that's publishable in this directory is app.r. We're going to remind you for that manifest file. And there's nothing we need to set within advanced settings, again, because we're taking that R version from your manifest file.

So if I go ahead and publish this, it's going to follow a similar flow to the Python installation. The first thing we're going to do is go out and grab all the code that you have in your public GitHub repo. Then we're going to turn over to installing the dependencies, all the packages that are required to build that. And then the final step is going to be publishing.

So that happened pretty quick as well. And then we find ourselves again with this new application. Through talking with many people over the last six months, I know one of the first things you do when you have a deployment anywhere is to make sure the app works. So I think our meeting here today started at 11 a.m. Eastern time. I think New York is in here for that. So if I were to change this to New York, we can see right away, well, that's 4 p.m. in London. So if you're calling in from the U.K., still manageable. Istanbul gets a little bit further into the night. Singapore is pushing it, and Sydney is really, really tough.

This app also has the ability to add kind of a new destination as well. So maybe we're adding an office in Hong Kong. We can add that time zone, and we can see kind of where Hong Kong fits within this as well, which comes across as the same in this case as Singapore.

Republishing after code changes

So that's the application. Last time I showed you the different ways you could navigate around this application. They're the same for R as they are for Python here. But I do want to draw your attention to this republish button one more time. I want to show you how easy it is to then do a subsequent republish.

So if I go back into my GitHub repo, and, you know, maybe we went out, we showed the application off, we got some feedback, likely you'll be doing this from your IDE, and then pushing it, we're going to save some time and just do it directly from GitHub. But if I went into this, I'm going to edit my file. Maybe we, you know, no longer have an office in Singapore at all, so I'm going to delete that. And maybe my boss thought my comment about when do I need to wake up to be a little bit too starky for using it more probably at the organization. Let's commit those changes. Remove subtitle and one office location. I'm just going to commit this to this main branch. We can go back to our repo. We can see that we just updated just this file.

Now I can hop back into Connect Cloud. So I'm back on this. Eventually we will have the ability for, like, when you do that push to GitHub, we will automatically have the ability for you to have that automatic redeploy, so you can come back here and probably work already. For now you're going to go in, you're going to press republish. I'm going to hit okay. And it's going to go through the same steps, probably a little bit faster this time because we already have everything, and you can see how quickly that happened. We're down to three cities around the world where we could find times for. We lost our subtitle for the application itself.

So you have seen, like, if we go back to our content here, you have seen essentially, like, everything from this first alpha version of Connect Cloud, right? You're creating an account through GitHub. You're coming in here. You're finding repos that have the right code. One little tip is it actually doesn't need to be your public repo. It can be any public repo that's out there that has, you know, the sufficient files to be able to deploy. We're starting to fill in our content gallery here, and we can share this link. I don't know if you can see the top here, but my link is just connect.posit.cloud, front slash Alex Chisholm, my GitHub handle, and anybody else will be able to see both our content and our portfolio.

Profile and resources

The last thing I'll show before we turn to Q&A, if I go into my profile here, you can update things. So we're going to grab initially from GitHub, you know, any of this metadata that you might have over there, but you can come in to Connect Cloud. You can change your location, your organization, your bio. You can add different social accounts. We also do have from day one the ability for you to completely delete the account on your own without intervention from someone on the support side of Posit.

So the two other things, the two last things I want to show you are resources related to the product that you might find useful. The first is community. So I'm going to open this up. I know you can't see that tab yet, and I'm also going to open up the documentation in a separate tag.

As you're going through this, there are a few different ways to give feedback. You probably noticed within the tool itself, there's a button on the bottom that says feedback. If you click on that, you can tell us what issue you're experiencing. You can add a screenshot. That'll automatically turn into a GitHub issue for us to follow up with you on. The other way you can sort of ask for help is through the community. So this is only a couple weeks old as well, but come in here, ask your question, make recommendations for future. However you want to use it, we'll be keeping an eye on it.

The second resource that I wanted to show you is our documentation. So if you go to docs.posit.co front slash connect cloud, you'll be able to see our user guide or how-to guides, get a link back to that community forum or sign in. The user guide is a little bit more technical, but it walks you through the flow that we just went through from creating an account all the way through publishing and sharing along the way. The how-to guides are a bit more specific. So if you were trying to put together a Quarto document, right, we've got the ability to walk you through all the way from the beginning. Like you're going to create a new GitHub repo. You're going to start a new RStudio project. We're going to bring in a bunch of code. We're going to have our simple examples. We're going to push this to GitHub and ultimately bring it in to Connect Cloud. So we really encourage you to check out one of these how-to guides for whatever framework you might be working on.

Let us know if you run into any issues. At the top of each one of these, you might notice this Connect Cloud publish image, both in the how-to guides, but also within our public GitHub repos. This allows you to publish this asset to your Connect Cloud account with just one click. So it'll put you into the process. If you don't have an account, it'll prompt you to create an account. If you do have an account and you're logged in, it'll automatically go into it, it'll deploy this application, and you can play around with it in your own account.

Product vision and roadmap

That was 25 minutes or so and a fair amount of information covered. We looked at two deployments, one for Python, one for R. We took a look at the available resources. Lastly, before we get to Q&A, I just want to talk through a few different aims for what the product is looking to do. But it starts with the recognition that you and your team, as we know, work across these diverse coding frameworks, multiple languages. We don't think you should need to have multiple microservices or platforms for each type of this. So we want to build Connect Cloud into our next generation hosted publishing platform. That makes it easier for you to do this both individually and eventually with your team through some collaboration features that'll come into the tool in the coming months and year.

This is a hosted service. It's a multi-tenant solution. If that's okay for you, that is fantastic. Start using it right away and grow with us as we go. But we know that some organizations might never be able to operate in this type of multi-tenant SaaS solution environment. And for those people, there's obviously an enterprise solution right now. I'm sure some of you already use this at your organizations. But the self-managed version of Connect gives you complete control over a lot of those things that you can't guarantee on something like a hosted solution. So go check out Positive Connect at the link there as well.

Q&A

I think now we've got enough time for Q&A. And I think Hannah is going to come join me in the chat to walk through what might have come in already.

Yeah. Hey, everyone. Thanks, Alex. So I'm just going to help moderate the Q&A. So there's still time to submit questions, if you have them in the YouTube chat, or if you feel better doing it anonymously, we have that Slido link that is pinned to the chat as well. But I'll just start from the top and we'll work through the questions.

So the first one we have is from Central Stats, and they ask, how does Connect Cloud relate to PositCloud and the general roadmap for each? Yeah, that's a good question. So you might remember last year, around this time, we had some webinars talking about the nascent early features of publishing within PositCloud. And through some feedback from a lot of you, and also the ability to position PositCloud in a clear way, like who is this tool for? We decided to deemphasize publishing in PositCloud and really have Connect Cloud where we recommend people to go.

And one thing that we found with PositCloud, a lot of people like doing their data science work in that cloud environment. Like on PositCloud. But a lot of people might be on their desktop in an IDE, or a lot of people might be using a text editor on their desktop. What we want Connect Cloud to be is a very simple destination or endpoint for people to be able to push their, to begin with, their GitHub repos and code in their repos. But eventually, like in all these other destinations as well, really easy, put it in one place, allow the world to see what they're working on. Eventually, of course, we're going to add in things like private sharing and more compute power and team collaboration. I know that'll come over time.

But we like the singular view of what Connect Cloud is turning into and how it can benefit teams that are looking just as a destination point for what they've created.

Next question is from Chad, and they ask, Yeah, that is also a great question. And we were debating when we first started this, like we were thinking initially of going to renv lock file as opposed to manifest.json. Manifest.json is already tied in with some of our publishing workflows through Connect. So that was like a quicker way for us to get kind of our support in there, you know, in time for this alpha launch. We do have a couple of other things that we're working on. One of the things that we're working on right now, you know, in time for this alpha launch, we do have on our roadmap, you know, RN block capabilities where it slates in specifically. I'm not sure at the moment, but we've also had conversations this week about actually the ease about going back and forth between one to the other. So we will be evaluating that.

And Chad, like feel free to reach out to me. I think my email's up here. Like I'd love to have more conversations about like, you know, how you'd anticipate using this versus, you know, purely doing it through something like publisher and VS code or positron or eventually the push button in our studio ID. Like which one, which one would be most support the workflows that you're working on?

Next question is from Jeff and they ask if I have a mono repo with multiple apps with the primary file selector, let me select a specific app file. It would. I'm glad that you asked that question. We started off with testing on the platform of, you know, having a model repo, because it was easier for us to test many different applications in one repo. So yeah, you can, when you looked in that primary file list, it'll auto complete all the things that we think look publishable. And that can be both within route and also within sub directories. And you can pick from there. The other interesting thing about mono repos is like, we, we will look up the tree to find your requirements file. So if you have a requirements out TXT file on a Python project, let's say in route, and you don't have it in that sub directory, It'll eventually find it in that top one and allow you to, to publish from there.

Next question. Dennis asks, is it possible to connect with positron somehow? Yeah. Great question, Dennis. We are having conversations about this. So right now within positron, there's a publisher extension. That publisher extension lets people who have self-managed connect, be able to go ahead and deploy these things to, to connect. We will eventually become sort of another arm that can come out from that kind of extension. But at this, at the moment, all we can really do is ingest code from GitHub and then deploy or publish these, these, these assets. We don't have the ability yet to sort of take files or to take bundles. We're working on both of these things simultaneously, and we do hope to get in there. I would hope, I don't want to put any actual time in there, but I would hope by the end of the year that we have sort of an alternative publishing flow in addition to the GitHub workflow.

Okay. From Jeff, we've got what sort of content and user access controls are on the roadmap. Yeah. So I think from a content perspective, I think when you look at a list of what self-managed connect hosts, like that goes beyond what we've included in this first iteration. So things like voila, I know is, is, is on there. As one example, API support, like when we were working on positive cloud last year and thinking of APIs, like you could, you could work with APIs in the publishing, but like, if they're not going, you need to be authenticated on that system to bring them in. Like we don't have a great story yet for like how people are going to manage like 24 seven, always on APIs. But I think APIs are something we're thinking of. And then there are other frameworks that we'd love to hear more from all of you about in terms of which ones you're really using. But I think of like panel, I think of like adding interactive support for, for shiny radio is something that we've heard from, from other people as well. So like we're considering a lot of these and the more that we hear from you specifically on which one, like the easier it makes it for us to sort of prioritize bringing some kind of solution into the, into the tools.

In terms of user access controls we do anticipate again, by the end of the year that we're going to have kind of like individual accounts where you can have private content. And the one thing that is, is for certain in a similar way to shiny apps.io, you're going to have the ability to sort of like have a given email out. That person will then create an account on connect cloud and be able to interact with the application that you gave someone permission for. It's not collaboration. They're not going to be working with you. They're not part of your account. They're just going to be able to see what you want them to be able to see. And then getting into next year, we're going to start looking more closely at organizational support. A lot of that collaboration, you know, different roles, different permissions. So I expect a lot more of that to start happening in early 2025.

The next question we've got is how do we stay up to date about future updates and new feature releases or connect cloud? Yeah, I think right now we, we don't have sort of a good push story for that. I think that the documentation I'm seeing that change and looking at the updates there, I do have a what's new page for the docs that is gated, but it will eventually go line. We'll start adding when we start to start to see new things hit. My anticipation is that sometime in the last three months this year, so in Q4, we'll start having that, that private content sharing, you know, greater compute configuration, you know, things like this. We'll start, we'll start being added. That's probably a couple of months away in the interim. It's more about like UI improvability, making that content list look nicer, giving some features for you to filter down the content that, that you do have.

I would also say when you do create an account, you do have the option to opt into a general sort of positive communications. We can start leveraging that as well to say like, yeah, this is a pretty big release, a pretty big update for connect cloud and maybe shoot you an email via that mechanism as well. I would also say if you aren't already follow the posit LinkedIn account, we'll be sharing information as it comes out with new features there as well.

Next question is from Brenda and she asks, can I select which repositories that connect cloud can access? Yeah, right now we are only asking for public repo sort of access. So we're able to go out and fill out the auto-complete for you to do this. Some of you who might've created an account in the last week might've seen some, some, some comments in there about private repos. This is us beginning to work for those like those private sharing routes that has now been revoked from production. So like if you did that and you were like uncertain about how you felt about giving access to like all your private repos at one time, you can go into GitHub, you can revoke that authentication and then just log in again. And it'll give you like the more refined one where we're not asking for that level of permission. Our hope is we can find a way when we get to private sharing that you'll be able to tell me specifically which private repo you want connect cloud to have access to and be able to share it from that one and that one alone.

Question from Umair. They ask how many projects can we publish to connect cloud for free? Are there any limits to the size of GitHub repos? Yeah. So two thoughts on that. One is we anticipate documents being unlimited, you know, across, you know, across the board, even when we're starting to add in some, some paid plans here after that, similar to Shinyapps.io and other services will have sort of a cap on the number of applications that you, that you can have. I don't know exactly what that number will be right now. The other, the other good news is historically, at least we've never sort of taken away what you've already put up during an alpha stage. So like, if you want to put things up now, those are probably fairly safe. And then any limits to the size of GitHub repos? Good question. Probably in terms of performance there, there would be, I don't know if we have any hard caps beyond what GitHub itself puts in there for, for things like including data files or whatever in our GitHub repo. If you reach out to me, I can follow up with the specifics of that after checking in with the development team.

Last question we have right now, if you have any more questions, feel free to keep submitting them and we'll stay on for a second after this one. But we've got from Central Stats, they ask, can you create a Connect Cloud profile based on an organizational GitHub account instead of a personal one?