<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/cranalerts-get-email-alerts-when-a-cran-package-gets-updated/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://deanattali.com/blog/cranalerts/"> Dean Attali's R Blog</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>Have you ever found yourself asking “how can I make sure I don’t miss the next version release of package X”?</p>
<p>That’s the exact problem I set out to solve with <a rel="nofollow" href="https://cranalerts.com/" target="_blank">CRANalerts</a>. Simply provide your email address and an R package name, and every time the package gets updated on CRAN in the future, you’ll get notified.</p>
<div>
<a rel="nofollow" href="https://cranalerts.com/" target="_blank">Check our CRANalerts</a>
</div>
<div></div>
<div>
<a rel="nofollow" href="https://cranalerts.com/" target="_blank"><br>
<img alt="CRANalerts" src="https://i2.wp.com/deanattali.com/img/blog/cranalerts/screenshot.PNG?w=456&ssl=1" data-recalc-dims="1"><br>
</a>
</div>
<p>It all started in January, when <a rel="nofollow" href="https://github.com/jimhester" target="_blank">Jim Hester</a> was getting ready to submit a new version of <code>readr</code> to CRAN. The new version would have broken my code, so Jim submitted a <a rel="nofollow" href="https://github.com/daattali/ddpcr/pull/21" target="_blank">PR</a> to my package that would ensure my code will still work after the update. I didn’t want to accept the PR until <code>readr</code> was actually on CRAN, so I just started checking CRAN every few days to see when <code>readr</code> is updatd already.</p>
<p>Over the next two months, I received the usual emails asking me when various packages of mine are going to be updated on CRAN. This happens often, but I never paid much attention to it. Usually when I got asked “how do I know when shinyjs is updated on CRAN?” my response was “check the page every week”. Yup, very helpful, I know!</p>
<p>But now that this problem became relevant to me, I eventually figured that manually checking a website continually is no good, so I sent out <a rel="nofollow" href="https://twitter.com/daattali/status/977200184043044864" target="_blank">a tweet</a> asking if there’s any service that will alert me when a CRAN package gets updated. People gave some suggestions, but there was nothing specifically for my purpose. So, since the weekend was coming up and I had a lot of actual work to do, what better way to procrastinate than to build this service? And so that’s exactly what I did last weekend.</p>
<div>
<a rel="nofollow" href="https://xkcd.com/1319/" target="_blank"><br>
<img alt="relevant xkcd" src="https://i0.wp.com/deanattali.com/img/blog/cranalerts/automation.png?w=456&ssl=1" data-recalc-dims="1"><br>
</a>
</div>
<p>For those wondering—yes, of course I had to make this a Shiny app. I actually started building it with Node.js initially, but I quickly thought “nah, go Shiny or go home!”. To be honest, I think this is a case where Shiny was not necessarily the absolute best tool for the job, but I did want to see if I could build a decent-ish service with Shiny. And so be it. <a rel="nofollow" href="https://cranalerts.com/" target="_blank">CRANalerts</a> is fully a Shiny app.</p>
<p>You’ll hopefully agree that this website doesn’t <em>look</em> like a Shiny app. UI/UX is always very important to me; I make sure that whatever I build is not only functional, but looks good and is intuitive and user-friendly. But getting it to look pretty was not a trivial task, here is what CRANalerts looked like after 1 day of work:</p>
<div>
<a rel="nofollow" href="https://cranalerts.com/" target="_blank"><br>
<img alt="no css" src="https://i2.wp.com/deanattali.com/img/blog/cranalerts/nocss.PNG?w=456&ssl=1" data-recalc-dims="1"><br>
</a>
</div>
<p>Beautiful, right? In the everything-is-beautiful-in-its-own-unique-way kind of beautiful. A draft version of CRANalerts was ready after a day, but it actually took me another full day to just come up with a design and implement it to a point where I thought it looked good enough. Literally half the time was spent on coding, and half on making it pretty.</p>
<p>while it is important for me to make my tools look nice, I also realize it’s not my forte—it doesn’t come quickly or naturally to me, and it ends up taking up a lot more of my time than I would like. <strong>If anyone has a good eye for design and would like to help me on my next projects, I would really appreciate your help, feel free to <a rel="nofollow" href="https://deanattali.com/contact/" target="_blank">send me a message</a>!</strong> (You don’t have to be a graphic designer by profession, I think a lot of people in the R community have much better artistic skills than myself.)</p>
<p>Keep in mind that this entire service was built in a weekend and did not have the resources get properly thoroughly tested, so it’s possible you’ll encounter problems. If you do have any feedback, feel free to let me know. And if you’d like to support my work on this project and future projects (including supporting server costs, AWS fees, maintenance of tools, etc), I appreciate any donations <img alt="🙂" src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" class="wp-smiley"></p>

	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="https://deanattali.com/blog/cranalerts/"> Dean Attali's R Blog</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/MLMSDa2DwxI" height="1"></a></div>