Instructor Survey 2022

Let me start out with a big thank you to everyone who responded to the Instructor Survey over the last few weeks! About 200 of you took the time to answer the questions. The results as I watched them come in were remarkably consistent. I would like to break down the results into four sections: Features you value, Features you might be willing to pay for, Contracts and Privacy, and Thoughts on the future.

Features you Value

The following graph summarizes the responses to the first four questions. Recall that 1 is least important and 5 is most important.

../../../_images/features.svg

I was a little surprised by how many instructors said that LTI was really not important, nearly 50% of respondents rated the importance of LTI a 1. Assignments and grading, practice, and tracking student progress were rated a 4 or 5 by 60% That reaffirms that these are our core features that you rely on. Although reading through the open text response it is clear that we can make the assignment and grading pages much better. I’ve started a redesign of those in my head, but I would love to hear from you on what exactly the pain points for you are. I heard words like clunky, cumbersome, difficult, and those are somewhat helpful but some detail would sure help.

The thing that made me the most happy was the overall satisfaction score with over 90% of the responses rating us a 4 or 5! There were so many nice comments in the text section that I will read again and again on the days when I am slogging through the code trying to fix some obscure bug!

Features you Might be Willing to Pay for

I know the question was a big vague, and I think think that it led to some unnecessary panic by some of the respondents. What is clear to me is that there is a section of our user base that values Runestone Academy and would like support us. There is also a sizable number that come from school districts that would not have the budget to support us even though you might want to. This latter group is why Runestone exists, we exist to serve you and we want to be here for you. Recall that 1 is least likely to pay and 5 is most likely. Here is the summary graph:

../../../_images/fees.svg

A couple of things people are clearly not interested in paying for: early access to features, dedicated email support, LTI. But about 20% of respondents would be willing/able to pay for a support fee, access to the student progress features, the practice feature, assignments and grading, PDF copies of the books, and even LTI. Because I’m kind of a nerd I made a correlation matrix:

../../../_images/corr.svg

This does show some interesting correlations that may suggest a way forward. First there is a 0.5 correlation between those who value the practice feature and those that would be willing to pay for it. This is also true of LTI at 0.42. Assignments and Grading and Student progress are at around 0.3. I think it is kind of cool that satisfaction is not correlated with anything. One might hypothesize that the more satisfied you are the more you are willing to pay. But it is probably just be that because 90% of the responses were very satisfied that there is not much to correlate with.

Contracts and Privacy

I have written about this a lot in the past. Processing these contracts that schools want me to sign is a major time sync and a terrible use of my time. Nearly all of them require Runestone to promise to reimburse the school for costs associated with a data breach! For a service they are not paying for! Is it reasonable to charge schools a $100 fee to process these? As the following graph shows the overwhelming majority 85% feel it is fair.

../../../_images/contracts.png

I would love to hear the reasoning of why 5% of the responses do not think a $100 fee is reasonable. I suppose you might think that I should trust your school. They are not out to get me, just to protect their students. But that is no way to run a business. More and more I have become convinced that Runestone Academy needs to have a Cyber insurance policy. I am happy to say that after an extensive search and a LOT of back and forth with underwriters we have finally obtained a policy. But, guess what… They don’t give those policies away for free, they charge a substantial premium that adds to the cost of running Runestone.

Thoughts on the Future

I want to start this section by reminding everyone of why Runestone Academy exists. We exist so that we can make high quality, accessible textbooks available to students no matter their economic situation or physical limitation. Too many students do poorly because they cannot afford (and therefore do not buy) the textbooks they need for class. We exist to provide students engaging books that help them learn more effectively than paper books. We exist to help teachers teach more effectively by providing them feedback about their students. We exist to help authors and researchers do their jobs more effectively by providing a system where they can experiment with new pedagogical techniques and new technology for textbooks. You will notice that not once in that list of reasons we exist did I mention the word profit or money. Making money is not why we exist. The materials we provide will always be free to students.

Yet the hard facts of the world are that nothing is for free. We have hosting fees and legal fees and credit card fees and paypal fees in 2021 we had about $28,000 in fees. That is before I even try to pay myself a salary for working on this full time. What happens if I disappear? Is there someone else willing to devote full time to keeping Runestone running for little or no pay? I haven’t met anyone yet, which means we have to get to the point where we can pay someone and keep Runestone sustainable.

There are a few immediate decisions from the results of the survey.

  1. Runestone books will continue to be free to all students. We will not charge the students for access to our books.

  2. For all schools with courses beginning after January 1 2023 that want Runestone to sign a contract we will require a $100 contract fee. If your school cannot afford that fee we have options for you to continue using Runestone without a contract.

  3. I think that there is room for a “freemium model” to work. We will work on defining a set of features that will remain free to everyone, for example assignments, grading, and student progress remain free but features like LTI integration, practice and peer instruction may cost a small fee. I am being transparent about this because donotpanic I don’t want people to panic, I want to open a dialog to get your feedback and I want to reassure everyone that if we do have to charge for some features you will get plenty of notice. I also want to reassure you that we will do everything we can to find grant money so that everyone who wants to use any book on Runestone Academy can continue to do so regardless of the financial position of the school.

Pathways to enable Open Source Ecosystems

Early this year my friend, colleague, and Runestone board member Paul Resnick forwarded me a copy of a new NSF program called POSE, the solicitation said: “The purpose of the program is to harness the power of open-source development for the creation of new technology solutions to problems of national and societal importance.” The solicitation continues: “The POSE program aims to support managing organizations that will facilitate the creation and growth of sustainable high-impact OSEs around already-developed open-source research products.” Cool!

This is not a solution to all of our funding needs as the solicitation further explains: “Importantly, the POSE program is not intended to fund the development of open-source research products, including tools and artifacts. The POSE program is also not intended to fund existing well-resourced open-source communities and ecosystems. Instead, the program aims to fund new managing organizations that catalyze community-driven development and growth of the subject OSEs.”

Well, I thought to myself if that isn’t a program specifically designed to help Runestone and PreTeXt in their joint mission I don’t know what is. On September 9th we learned that indeed we had been funded as a Phase I project! The work begins immediately!

We say PROSE

Our proposal which we called the PreTeXt – Runestone Open Source Ecosystem (PROSE) says the following:

We propose an Open-Source Ecosystem (OSE) which will support such a community. This is timely because software for creating OER is just reaching a mature state, in particular, PreTeXt for authoring, and Runestone for publishing. The governing organization for this OSE, which we will call the PreTeXt-Runestone OSE (PROSE), will be built upon the following principles.

  1. Students and instructors should have no-cost access to high-quality OER that supports STEM learning without the equity issues inherent in for-profit educational publishing.

  2. Authors should have a no-cost mechanism for creating high-quality and accessible OER that is not locked into one specific format or vendor.

  3. Authors should have a no-cost mechanism for disseminating their OER as part of fully- featured courseware that provides rich usage and learning analytics for students and instructors.

  4. Researchers, authors, and instructors should have access to high-quality student data to inform research and development efforts related to OER, and improve student learning.

  5. OER must be accessible to everyone, regardless of background, demographic, or disability.

I like to think of these things in terms of a virtuous circle of improvement. Educational Research makes good Open Educational Resources better, which in turn helps teachers teach more effectively, which improves student learning, which drives even more interesting educational research…

../../../_images/VirtuousCircle.png

This way of thinking is part of the DNA of both the PreTeXt and Runestone projects since their earliest days. Every time we add a new feature and study how it effects students and teachers we learn something new! New knowledge inspires new ideas for new features. My TODO list has never run low in over a decade of working on the project, and in fact it is longer today than ever. Recently I’ve had to admit to myself that the list is too long. There is too much to do and Runestone Academy has grown so much that it is more than one person can manage. More than that, is the feeling that we are on the cusp of something disruptive, transformative, and sustainable. That is why this grant is so important and timely.

How you can help?

Over the next months we will be hosting a series of online discussions around areas where we need help. Everything from cybersecurity and dev-ops to community building and training. We invite you to participate in these discussions to share your ideas. We also invite you to consider if there is an area of interest where you can actively participate and contribute some time to the project. Both Runestone and PreTeXt have operated on a BDFL model. That is Rob and I act as Benevolent Dictators for Life. In order to grow and ensure that these projects are sustainable we must move beyond the BDFL modus operandi to become community driven. Check out the calendar of events and sign up on our new PROSE Website

We have many questions to answer in the coming months:

  1. What will the PreTeXt / Runestone ecosystem look like in 5 years? 10 years?

  2. How do we transition from our current organization(s) to a community driven model?

  3. Is our goal to be the preeminent publisher of online textbooks for STEM or are we more focused on being a catalyst for change by serving the research community or both?

  4. How do we fund an organization like ours to provide stability for the future? How do we retain the ability to support teachers and students yet pay for support staff and servers?

  5. What organizations can we partner with to facilitate future growth and provide mutual benefits?

  6. How can we recruit new authors? Particularly authors in STEM fields outside of mathematics and computer science?

At the end of all this process we will have the opportunity to submit a Phase II grant to help us achieve the goals we will have set. The POSE program is a wonderful opportunity for a project like ours, but it will only achieve its full potential if we can convince people like you to join us in making it a success.

NSF PROSE is supported by NSF Award #2230153.

A Practical Introduction to Databases

I am pleased to announce the availability of the new textbook A Practical Introduction to Databases on Runestone Academy (book id: practical_db).  The purpose of this book is to provide a free, open textbook on material of practical interest for students going into computing professions.  The text at present is suitable as the core of an introductory course on databases, and may also find use as a gentle introduction to the topic in more advanced courses on databases, web applications, or software engineering.

In this first release, the book covers three core topics: SQL, data modeling, and relational database theory.

SQL

The chapters on SQL (part 1 of the book) take full advantage of the Runestone platform to provide live, interactive examples with a real database.  Students can see the examples in action, test themselves on the challenge questions, and experiment with querying the provided tables.  As the database is an in-memory copy that is replaced whenever the browser page refreshes, students can freely try out data modification and DDL statements.

For students or instructors who wish to use something other than the SQLite engine built into Runestone (perhaps wanting more persistence), scripts are provided to create the book’s database in PostgreSQL, MySQL, Oracle, and SQL Server.  The text also gives appropriate guidance for these systems where they differ from the SQL used in the book’s examples; an appendix provides a SQL reference that similarly supports these systems.

SQL coverage includes: basic SELECT, INSERT, UPDATE, DELETE; joins (both explicit and implicit); data types and DDL (CREATE TABLE); keys & constraints; subqueries; grouping and aggregation; and set operations.  The chapter on joins includes coverage of one-to-one, one-to-many, and many-to-many relationships and their typical implementations (e.g., cross-reference tables).  There is also a very brief explanation of views, CTEs, and window functions.

Data modeling and theory

Part 2 of the book covers ERD (Chen notation) and translation of the ERD into a relational database, with a complete worked example.  Crow’s foot notation and other alternatives are also covered.

The third part of the book covers the relational model, relational algebra, and normalization (through 4NF), and has a short chapter on the differences between the relational model in theory and as implemented in SQL.

Future work

Future releases are planned, covering software programming with databases, NoSQL, and other topics of practical interest, and some expansion of existing topics.  The book is licensed under a Creative Commons (CC BY-SA 4.0) license.  The github repo is public (https://github.com/cpainterwakefield/practical_db_textbook), please feel free to fork and adapt as per the license terms.  Suggestions, corrections, and pull requests are all welcome!

Christopher Painter-Wakefield, Colorado School of Mines cpainter@mines.edu

WeBWorK Hosting Fees

In case you missed it, check out the annual WeBWorK report from last December.

Starting Fall 2022, we are raising the fee for WeBWorK hosting for most (but not all) institutions. The goal is to bring a little more support to WeBWorK and Runestone developers who still do the majority of code development as volunteer workers. All of the additional revenue will go to those nonprofit organizations (once the additional taxes are accounted for). For example, I’m not going to paid more starting in the Fall. In fact, we’ve streamlined some things and will be reducing the per course alottment that I am paid.

Who is not affected?

Secondary schools will continue to pay $100 per course. We appreciate that it is generally more difficult for secondary school faculty to get expenses approved.

Also, if your institution has many courses each term/semester, the hosting fees are effectively not going up.

OK, what is the new fee structure?

  • Secondary (and primary) institutions: $100 per course

  • Higher ed: $120 per course. But every 6th course is free. For example, 13 courses would come to $1320.

The 6th course discount for higher ed applies at the time of invoicing. So for example there is no discount for ordering 4 courses in the Fall and then 4 more in the Spring. But you are welcome to preorder courses for a future term/semester, as long as it’s not more than 8 months in advance. Since this hosting service is only promised annually, we can’t accept orders too far into the future.

How long will it be until it could go up again?

We will stick with this through the 22/23 and 23/24 academic years and reassess at that time. Who knows, if there are more subscriptions or public funding, we could even reduce the cost.

-Alex

PreTeXt Runestone Workshop

Happy July 4th Weekend! I am glad to be home after almost two weeks in Ann Arbor Michigan. But it was a great two weeks. Here are a few of the highlights.

../../../_images/ptxwc.png

The week of June 20 – 24 was the first joint workshop with the PreTeXt team. We had 28 attendees including authors, developers, educational researchers, and instructors representing the Runestone and PreTeXt projects. One of the main goals for the week was to give everyone a chance to get to know each other and learn more about the two projects.

The PreTeXt Runestone Partnership

After spending an entire global pandemic working on integration Rob Beezer and Brad Miller presented the integration of Runestone and PreTeXt. PreTeXt now has the ability to natively author most of the Runestone Interactive exercises including multiple choice, Parsons problems, Matching, clickable area, short answer, fill in the blank, activecode, and CodeLens! Rob has built a very nice annotated sample book (alternative link without source annotations) that illustrates these questions in action. Runestone Academy can now host books written in PreTeXt and fully supports using questions written in PreTeXt in our analytics and assignments.

Going forward PreTeXt will be the primary authoring language for books hosted on Runestone Academy. We will continue to research and develop new interactive components but we will not have to worry about inventing markup. If you are a current Runestone author I think you will really like the consistency and expressiveness of PreTeXt. It may take a bit to get used to the more verbose XML style of writing, but is well worth learning for future development. There are many advantages to using PreTeXt as an authoring language.

  • PreTeXt books are highly accessible

  • PreTeXt books that are interactive on the web can also be rendered in various static forms including pdf, ePub, Kindle, Braille, and more. We make two types of PDF, one is meant specifically for print/print-on-demand. If you want a bound copy of a book, you can get it!

  • PreTeXt books are highly structured, which will allow for more customization in the future. We spent a lot of time during the workshop talking about various ways we can make the textbooks more customizable.

One big topic of discussion at this workshop is how to grow the PreTeXt Runestone ecosystem. With our combined forces we need to do more in the following areas:

  • Developing champions for each textbook to develop community around each textbook.

  • Developing instructor materials for each book

  • Improving videos

  • Doing more blogging

  • Creating a new home page for Runestone Academy that is more informative about what we are.

  • Being visible at conferences and workshops.

New Titles Coming to Runestone Academy

Starting this summer we are converting many of our current books to use the PreTeXt markup language. The first of these is also the first textbook to be converted to Runestone. How to Think like a Computer Scientist: Interactive edition. We are finalizing the conversion, but I encourage you to take a look at what we have done so far on our development server I am super excited to see this all come together and you will see many other textbooks undergoing the conversion soon. In addition we will have a lot of other new titles available for the Fall.

  • Ordinary Differential Equations

  • Discrete Math: an Open Introduction

  • Active Calculus

  • Apex Calculus

  • Elementary Algebra

  • Intermediate Algebra: Functions and Graphs

  • Trigonometry

I am also pleased to announce that the classic Java Java Java: Object Oriented Problem Solving textbook is now available. Although this textbook was originally authored in LaTeX we have the scripts to convert to PreTeXt. If you have a open source textbook in LaTeX or practically any other format we can convert it to PreTeXt just like this one. Of course the conversion is only part of the work. What we talked a lot about at the workshop is how interactive textbooks that support active learning are structured quite differently than a traditional book. Our research shows that students jump straight to the questions or activities and only come back to read the text when they don’t understand the material. This makes for much more engaged readers.

New Features

One of the features of the workshop was a sharing of a lot of research done by the PreTeXt team as part of the UTMOST project sponsored by NSF. We also got a demo of a new feature of Runestone Academy that allows you to do Peer Instruction in your classroom. This peer instruction feature was the focus of the second workshop the week of June 27.

For Runestone authors it is also exciting to know that Sage and the R language are both supported natively by PreTeXt.

Starting a new book

It is easy to get started writing a book with PreTeXt using the PreTeXt command line tool. This tool allows you to quickly start a book, build books, and see updates to your book as you write. In addition there is also a great extension for Visual Studio Code!

We are working on an editor designed specifically for PreTeXt that will make it super easy for anyone to edit a PreTeXt textbook, more on that another day.

The future

One of the biggest goals for both PreTeXt and Runestone is to ensure that these projects thrive for many years into the future. This means growing the combined team, finding funding and many other things. If you are interested in getting involved in any way we would love to have you join the team. You don’t need to be an expert coder, you don’t even need to know how to code at all. We need willing proof readers, editors, testers of new features, community builders, bloggers, and authors. You don’t need to be a mathematician or a computer scientist either, great open source textbooks are a benefit to students studying any topic!

Summer 2022

Summer time is often when instructors of all kinds can help out with Runestone Development. Since June marks the beginning of summer I thought I would highlight what is on my list for development list for the next few months. If something sounds interesting to you then please get in touch!

PreTeXt

PreTeXt is now the official authoring language for Runestone. There are a host of reasons why this makes sense, and I’ve written about them before. It has taken some time but we have finally arrived in a place where it is a reality. I have converted our first Runestone book ever How to Think Like a Computer Scientist to PreTeXt and Rob Beezer has added markup to support our interactive elements. This is a huge step forward and we now begin a process of converting our current books. Like any conversion process it is not 100% so each book is going to take some manual work to perfect the conversion.

  • select questions

  • toggle questions + A/B testing
    • I think the correct way to do this moving forward is to make toggles tasks and have Runestone show the tasks as dropdown

  • Convert select books to PreTeXt for Fall 2022

  • Build APEX Calculus for Runestone

  • Build ORCCA for Runestone

  • Build Yoshiwara’s Algebra book for Runestone

  • Finish up the SAGE Cell integration

  • Jaas - Jing as a service - Jing is a validator for PreTeXt

  • Make a PR to store traces with a hash of the input.

Peer + Grant Work

This work is funded by an NSF Grant for Barb Ericson at the University of Michigan.

  • Grading - 2 interaction Qs plus chat (maybe) - update autograder

  • Add async peer instruction page

  • Get tags working with question bank searching - what we really want is prereqs and reqs - add to web UI and make use of some taxonomy - someone please give me a taxonomy!

Automatically Create Parsons problems

This work is also funded by an NSF Grant for Barb Ericson!

  • Get Overcode working in python3 - this may also be a good task for Celery

  • Generate parson’s problems from the selected

Github Integration for Custom books

This work is funded by a grant from Elliot Houser and UT Austin.

  • Add simple interface to connect a Repository

  • Add simple interface to publish draft/published

  • Integrate the web hooks to auto build when pushed - this may be a separate server

Runestone Internal Projects

  • Updates to student progress page - replacing d3 stuff with pandas

  • Allow instructors to download LARGE classes on their own - using a celery task with an email followup - maybe create a special role for trusted teachers / researchers to allow them access
    • celery could also be used to do build on demand of Runestone / PreTeXt books

  • Finish redoing the login process

  • prototype an author/researcher dashboard

  • Convert other books

  • Does PreTeXt support hidden pages? Somehow we will need a workaround for how barb has been adding problems to the database but not on a page that is linked to a TOC

  • Create a bibtex file with references and generate a web page of references from that.

Peer+ Webinar

Today, Barb Ericson and I hosted a webinar on Peer+. Peer+ is an NSF funded research project on using Peer Instruction in a Runestone eBook. Click the link to see a recording of the 1 hour zoom or feel free to just look at the slides

I won’t try to repeat the information here, but just emphasize that Peer Instruction is a well studied way to increase your students engagement and success in your class. Please check it out, and don’t hesitate to give us feedback on this exciting new feature.

The New New Academy

This is a big announcement that changes some things very little and some things a lot!

We have incorporated Runestone Academy and applied for 501(c)(3) status. Creating the new corporation is done and official. Eventually, Runestone Interactive LLC will cease to exist as a corporate entity. As of January 1, 2022 the server that you have come to know as runestone.academy is operating under Runestone Academy LTD.

Why the change?

The reason for the change is really quite simple. We want to keep Runestone free for all students. Period, end of story.

However, the reality is a bit different. In an ideal world every school that used Runestone would send us $10 per student. This would allow us to hire support staff and incentivise new authors to add more books to runestone for very little cost to the school and no cost to the students. But that does not happen. I know that many school districts do not have big budgets, and my goal has never been to “get rich from Runestone.” Don’t even get me started about the legal fees we would have to pay to have the “contracts” from school districts reviewed!!!

But We have big goals! I would love to see Runestone helping two million students a day instead of fifty thousand. To do that we need more authors, more books, more servers, more support people, and more programmers! I am greatful to all of the schools and teachers that send us support! Although I feel bad about teachers that send me money from their own pocket! I am from and education family and I know how little teachers at public schools and small colleges make!

So, what to do?

The more I researched this problem the more convinced I became that Runestone had to become a non-proft. This opens the door for us at many corporate and family foundations that care deeply about STEM education. We have several grant applications outstanding, but like everything else, this is a process. New groups have to prove themsevles, and that takes time. In the meantime we will be rolling out new programs that make it possible for individuals or schools to help us financially. More about that soon.

Academy Update

Thanks to everyone for your patience over the last three weeks! As a recap here is what has transpired.

  1. I took Runestone Academy offline on Christmas day and started up my script to migrate the database to a new machine dedicated to running Postgresql. That script took just over 25 hours to complete. It modernizes the database and adds many new constraints to make sure that when we store something in the database it is good and consistent and valid.

  2. On January 27 I brought up two “worker bee” servers and our load balancer. This allows me to add as many “worker bees” as we may need to serve the traffic going to runestone. I changed our DNS entry to point “runestone.academy” at the new load balancer. Unfortunately I did not delete a previous DNS entry so now some people were getting the old address and some the new. Chaos ensued for a few days.

  3. By Monday January 3rd I was patting myself on the back and thinking “this is going better than I thought” LOL – Many problems – to numerous to count ensued as soon as classes actually started again.

  4. LTI - or what I call the “community supported feature” was just supposed to work. But did not. Thankfully I think that as of yesterday it is now working great!

Today was the first day since December 27 that I have not had a new bug report. I know there are still problems out there, but at this point they are outliers not the norm. That does not mean I don’t care, I do, but it does mean that I need a lot of detailed information to try to figure out what is wrong. Major widespread problems are easy to figure out because I hear from hundreds of people. I’m not hearing from 100’s anymore!! So details are important.

If your students are having trouble

  1. Logout - clear browsing history, and log in.

  2. Try incogito mode

  3. Open up the Javascript console on their browser and send me everything! No detail is too small. And Its not your fault! at this point I am trying my best to debug the odd cases. I am even willing to do a zoom with you and your students to debug the problem.

I cannot emphasize how useful it is to do #3! So much of what happens in Runestone is delegated to the browser. If we did not delegate this work to the browser we could never scale to as many students as we have!

Thanks for sticking with us through this transition. Major shifts like this are always painful, and I know we are not through yet. But this new architecture sets us up for a very bright future!

Academy Downtime

Runestone Academy is undergoing some major upgrades this holiday season! Unfortunately these changes will result in some downtime. Here is our schedule of events so you know what to expect in the coming weeks.

  1. December 25 - 26 Runestone will be offline as we move our database server to its own machine. In order to ensure that we don’t lose any data we need to take all of the books offline while we move the database. This is also a great time for us to do some maintainance on our data in preparation for our new servers.

  2. December 26-27 Bring Runestone.academy back online. In this initial period the old servers will come back up but use the database in its own location. There may be some unexpected crashes during this period as we have added a number of protections to the database to keep future data problems.

  3. December 27–January 1 Migrate away from the old server and onto the new servers. If all goes well this is mostly just some DNS changes, but it will still likely cause the appearance of some downtime as you may not reach the new server and / or the old server may look like its certificate is expired.

  4. January 3 and onward Back to business as usual. Although there are likely to be some hiccups as traffic picks up with students and teachers getting back to school.

A Few Details

For those that are interested, this change is pretty big. Here is what Runestone has looked like in the past:

../../../_images/oldserver.jpg

Runestone.academy runs the web2py application server as well as the database server (postgresql). This server has been in service since 2017. I haven’t had to reboot it for 695 days as of this writing! It is definitely showing its age, and can definitely not keep up with all of the traffic. Our stopgap measure to alleviate the pressure on this machine was to add csawesome.runestone.academy and route all traffic for the csawesome book to that server. It still used the database on academy. And it used most of the cpu power of the five jobe servers that compile over 100,000 Java programs each day. If it looks like this is a “Rube Goldberg” contraption its because it is.

../../../_images/NewServers.jpg

For years we have wanted to move to a new architecture. And this change is our first step in that direction. This new architecture is all based around Docker containers and gives us the ability to add more capacity in just minutes. It will also let us scale back during the less busy summer months, thus saving us money as well.

All traffic will now go to runestone.academy. It will be routed to one of N docker containers that run the old server which is now just for the instructor dashboard. Page requests for books will be handled by our brand new bookserver. This new server is built using a very modern web framework and will have a ton of benefits for developing new features going forward. Each container also houses a JOBE server for handling java and other compiled languages not supported in the browser.

Warning

Any big change like this is bound to come with some setbacks. I’m sure there are things around the edges and in the corners of our new server that will break over the first couple of months. Please be patient, and please please report problems on our github issues page Don’t assume that someone else will report a problem or that it is your own fault.

It will also take us some time to tweak the performance of this new setup. We have had almost five years to squeeze as much performance out of the old system as we could. It will take some time to get the most out of this new one as well. So again please be patient and let us know of any particular bottlenecks.

Please Support Runestone

As long as I have your attention, and we are at that end of the year time when we think about supporting the organizations that matter to us, please consider a small donation to keep runestone solvent. You can donate directly on PayPal Thanks!

Enjoy the holidays!

Brad