 Thank you all for coming to my project briefing. So I'm Jason Bankson. I'm the Assistant Director IT for K-State Libraries. That's Kansas State University. And so today I'm going to be talking about a collaborative project that we're working on at the library with the Miriana Kistler Beach Museum of Art. And it's, I think, sort of an interesting project. Really what they need to do is replace an application that they currently have which displays their artworks digitally in their website, which is nothing new, right? Most art museums have this in some form or another. Some of them use an actual web application. Some of them just have like Drupal or WordPress templates with varying levels of functionality. Now I should mention before I get started that a big part of this process was my boss, Roberta Johnson. She was going to present with me. Unfortunately, she was unable to make it, as was my boss's boss, Dean Getch. So it's too bad a lot of people know those two because they're regulars at this conference. But so they were also a big part of this, a big part of this process. So we'll see if I can use this clicker without making a fool of myself. I'm pretty good at that, making a fool of myself. We'll try. So this was the essential problem that we were trying to solve. So they have a web application right now to display images, but it had really fallen below expectations on a number of levels. On one level was pure aesthetics. I'm going to show you a couple of screenshots of what this looks like. But it's not a very modern looking application. The way it's presented essentially it's just being packed into the Chrome that already exists for their website, which is just sitting inside the content management system for the university. So it's not that good looking of an application, which is very important obviously for artwork when you're trying to get across that sense of aesthetics. But even more importantly, the application was not very reliable. And they actually had a long-term outage. It was to the tune of about three months where the provider that they paid a lot of money to that hosted the application for them was not able to get that application back up and running within that window. And that looks pretty bad. And it looks especially bad for something like this because the money for this application had come from a very generous donation from the Weary Family Foundation. The Weary Family, they're a group that has given a lot of money to the Museum of Art. They funded this project that I'm about to talk to you about here, that I am talking to you about here. And you really don't want to go back to the Weary Family and say, we've been spending your money on this application and yeah, it wasn't working for like three months. That's just not good. Basic functionality as well, and that speaks to that reliability. As we kind of examined their existing application in IT, we found that the search wasn't working very well, filters weren't working very well. So there was a lot of functionality shortfalls. So I'll show you a couple of screenshots here, the current application. This is the search interface. You can see it's just very plain, very old school looking, frankly some of this looks like something that you might have seen several years ago from the search application, crammed into the website Chrome here. This is an example of search results, and then this is an item level. So I mean, it's fine. It's not terrible, but it's just not very visually exciting, and it doesn't do a whole lot to really accentuate the artwork, that kind of thing, and it doesn't provide a lot of other features and options. So we had essentially two approaches that we looked at for this. One was to use an existing application of some kind, preferably an open source application. Now we talked to Beach Museum about D-Space, so we use D-Space for institutional repository. We branded it as K-Rex, and for some reason nobody is using like a T-Rex mascot for that. I have no idea why. Purple frickin' T-Rex would be perfect. Everybody's listening to me about this. We talked to them about possibly creating their own silo within K-Rex, and it wasn't a lot of interest there. We talked about spinning up another D-Space instance, but really it was really overkill for what they wanted. Essentially the application that they have exists in two pieces. They have a back-end database for inventory, holds all their images, all their metadata. You're not looking to get rid of that, at least not yet. That is currently meeting their needs. In fact, it exceeds their needs. But what needed to be replaced was the web client, which was taking regular ingress of data from this back-end database and porting that out to the website. That was the problem. And so replacing that piece with D-Space was just overkill. They also mentioned Omica. Now we had put up an Omica instance for something with the English department back in the days of your, before I came to the library, which is about two years ago. I haven't worked much with Omica myself, but I'll be honest with you, most folks that I know that have used Omica for various things, it's okay, but they're usually not that thrilled with it. Then we talked about creating something new. And I like that option a lot. Part of that's because I build stuff. That's a big part of what I've always done in libraries. But there are some other advantages to that option. We'll talk more about that in a second. One of the biggest benefits of this entire project was just the collaboration involved. We had a very limited relationship with Beach Museum before this project began, mainly because we had no reason to have more of a relationship with Beach Museum. So this allowed us to create this collaboration, this synergy, and then build on top of it. And we're already talking about and have actually moved forward on some other collaborative projects that have come as a direct result of building on this collaboration. We're able to leverage our different strengths. We have these complementary strengths between our two organizations. Beach Museum, obviously, they understand art and aesthetics. They understand their own collections, the history of art. I don't know anything about that stuff. Man, I tell you, if I'm managing your art museum, good luck with that whole thing. But I do know how to build applications. I'm like really good at that. But I have folks who work for me that are also super good at that. I have a great developer team, a Noach, San Giovanni, Marjorie, great developers. I have a fantastic systems team full of people who are able to build the back end for something like this, build it effectively, maintain it, keep it up to date and patched. Fantastic folks. And so by leveraging those strengths together, we can do something amazing. We're creating new momentum for other external partnerships, right? We build a collaboration here that shows other departments on campus and other groups outside of campus. We're open for business. We're thrilled to collaborate with folks. And this also creates a proof of concept for a very different kind of external funding model than what I'm used to. So for a project like this, it's not like I've done a ton of this, but I've had some success in getting grant money and being part of grant applications for other projects. That's what I'm used to for something like that. You have to grant money for it if you need external funding. This is a very different model. We got money from Beach Museum to build this application, but it came from the Weary Family Foundation. Going after donors, going after donations and stuff like that, special collections, those guys have some expertise there. I know nothing about that stuff, but I know a lot more about it now than what I did. And this creates a template for IT in the library, for technology to push forward technology initiatives based on that funding model, which at least for us was a very different kind of approach. And there are a variety of benefits to building a new application instead of using something else. Potential broad use case. So Roberta, my boss, she did a lot of work writing up a memorandum of understanding between us and Beach Museum. And one of the stipulations in there is that we own the code. That gives us the opportunity to reuse this code for whatever we want. And there are a lot of use cases where we may want to put up our own virtual exhibition or something like that using this application. For a revenue stream. This is an interesting one. It's a big one, but it's a tricky one. This is something I talked about from the beginning with administration at the library. We're going to do the library thing with this when it's finished. We're going to push the code out as open source. If other folks want to use it, fantastic. But not everybody's going to be able to. There are a lot of libraries and institutions that do not have the technical back end to stand up a server and install all the dependencies. Set this up. Maintain it. Put all the data into the application. We've got that expertise. We've built that expertise as we've built the app. Now right now a lot of our back end is in Amazon web services. So we spin up another AWS instance. We spin up a box for this. Install the dependencies. Set up the back end. Install the app. Move somebody's data there for them. Maintain it. We come up with version 2.0 of the app. We update it for them. We create a licensed, hosted model with a yearly subscription. That's not a ton of money. And I'm not saying that that is going to happen. It may be that nobody's interested in this thing. But it may be that other institutions are. So if we can come up with our own revenue stream, we're the library. It's not like we're at the top of the food chain for the budget at the university. So if we can come up with our own independent revenue streams, we even have a possibility of that. That's a powerful incentive, a powerful tool. And one that I think other libraries should look at and consider. Salary support from Beach Museum for the project. So it was hard for this to be a lose for us, right? They're providing salary support to develop the application. And enhanced visibility for the library. This is another big one. This is one that gets talked about a lot. But let's be honest, I don't know that it's fully appreciated for what it is. I heard an argument yesterday in one of the sessions about creating a cultural expectation for a certain budget line in the library and using that as a tool to get that budget money from the university. Good luck. Good luck with that whole thing. Because the university doesn't care about the cultural expectations of the library. That is not a viable strategy for getting budgetary funds from the university, at least any university that I've worked at. And I've worked at a few now. I'll tell you what is a great strategy though, because K-States worried about this, they want those students, because right now we rely desperately on that tuition money, because we're not getting it from the state. So if we can raise the visibility of the university and make it someplace that more students want to come to, that more of our talented faculty want to come to, if we can attract other projects and other interests, that changes the paradigm. So when you improve the visibility of the library and show it as an organization that's working on cutting edge stuff, doing cool things, that attracts investment. And it also attracts attention from the institution and to the institution. And that has a visceral value. And if you can demonstrate that value, that's a budget argument you can make. So challenges, obviously we're going to have some challenges along the way. Difficulties in hiring temporary developers. So the idea initially was to hire one freelance developer to build this appliance. Basically they were going to work full time. Based on the salaries that we pay developers, largely we're looking at folks that are on visas. And that's a very difficult, everybody in this room knows right now, it's getting more and more difficult to hire folks that are on an H1B, even for universities. It's even tougher in Kansas because we do not participate in the E-Verify system. So there are whole categories of H1B that we can't even hire for. And in fact, we had somebody basically hired for this position and we had to turn them away at the last minute because they had some kind of stipulation, I believe it was a STEM extension on their H1B visa that required E-Verify for us to go ahead and make the hire on or follow through with and we did not have the capacity to do that because the state of Kansas refuses to participate in E-Verify. So that created some problems. So Roberta, being the awesome Roberta that she is, retooled this into two graduate student developer positions and we hired two remarkable young people, Nathan and Pujita who are graduate students with our computer science program at K-State and they have been doing terrific work for us. But it took a while. It took a lot of finagling to get to that point. And cultural differences and app development between the museum and the library. And even at the library, so I've been there about two years and one of the things that I've done is create more of a versioning process. Right? So we have prototypes, alphas, betas, etc. Getting across that we need concrete specs from stakeholders within the library. That's been a process. Folks at the museum don't do any application development. So it's also been a process with those guys. But we're getting there and some of these are just cultural differences but as a result of that so we have a working prototype for the application now but due to some feedback we're getting at this point we're actually going back to prototype and building a new prototype. So this new design, this new application we've built has a lot of key differences from the old application and for most applications that people are used to. I love playing with new technologies and using cool new stuff and building a new utility. And that's especially important when you're going after grant funding. Right? If you're coming in with an application to do the same thing that the previous 100 people applied for, who cares? Same way if you're going to publish a paper. Right? You need your work to stand out. So we're actually for the data layer we're using for the database use in the academy. Most people are familiar with relational databases like MySQL, Postgre, SQL Server and of course those are great. Relational databases are terrific. They do what they do really well. That's why people use them so much. But they're not all that good at dealing with flexible situations. They're not that good at dynamic changes to attributes in objects and fields and dynamic changes to relationships between tables and stuff like that. What document database is document databases instead of operating on the basis of tables or more accurately relations which is where relational databases get their name from they're populated with documents. In the case of CouchDB, JSON documents, you guys are all familiar with the JSON data storage and transfer language JavaScript object notation. It's a very simple language. You can put all kinds of attributes in a document and it allows us to have an extremely flexible data model for this application. We have one database that has artists and works and collections and various other types crammed in there. We're getting a lot of dirty data from the back-end database that we're transferring data in from. A lot of nulls, a lot of stuff like that. Not a problem. That does not break this kind of database or cause significant problems with this type of database. It's very robust, very flexible. The new application is designed to be visually appealing. It's more so than a bare-bones application that I showed you earlier. It's still designed to accentuate the art, but it's designed to be much more modern in its appearance and leverages more modern JavaScript libraries and presentation layer functionality. It also comes with a few unique features. I'll show you some of that. I like the museum stroll, which I think is kind of cool. As you sort of stroll through your own personal exhibit that you create. As I mentioned, we're currently working on a second prototype for this thing. I'll show you some screenshots here of our current prototype. The second prototype is in a huge sea change. Mostly it's presentation layer stuff, but there are a few minor structural changes that I thought were significant enough for us to go back to prototype instead of saying this was a prototype to Alpha. This is an example of a browse at the collection level. The new prototype will get rid of some of the framing and have a more open look to it, but you can see it's really designed to accentuate even these thumbnails of the art here. It's a more modern sort of open look than what you got from the previous application. These menus up here are actually drop-down menus, on hover drop-down menus, so if you ask for accessibility purposes, I did some JavaScript magic in there so that you can tab through those on hover drop-down menus. I love on hover drop-down menus for the aesthetics, but they create accessibility issues. This is the search interface here. You can see it's a much more modern look. All of this is designed to scale responsibly down to mobile devices as well. You have interface, basic search, advanced search. Instead of everything being input boxes, you've got sliders, drop-downs that are pulling dynamically from the database to get your list of selections, that kind of thing. Just more contemporary. Here we have a look at the object level and in the new prototype, some of this is going to go away. We're going to get rid of this now, but you'll notice that, again, you have a larger image, the whole thing is really designed to draw attention to and accentuate the image. Also, you'll notice these two buttons underneath the image here. And so those buttons are so that you can take individual images and add them to your personal collection in the application or remove them from your personal collection. And the personal collection allows you to do stuff like this. You can stroll through the museum. I've got some CSS awesomage here that's creating the lighting effect behind the image. And you can scroll through this. You can set this on an automated time delay as well. So it'll move between images everything from like ten seconds up to, I think I've got, like a couple of minutes on the upper end for the time delays that you can select. And all that's selected and you can also change what the background looks like, for instance, on this and that sort of thing. You can also set this up in museum view, which there we go. Museum view basically puts this on your whole screen. You hit escape to get your settings back. And beyond the basic aesthetics of this, so if you're at work and you just want something nice on one of your monitors, you put this up, you can set it up practically if you're a museum or a library. So you create an exhibition like this, put it up on a big monitor and set it on auto-stroll. And it will just move through these images for you. You set the background you want and it's just kind of a nice kind of a nice feature and capability for that. I don't know about you guys, but our special collections folks they've got lots of digital applications and things like this quite a bit. And this is just a handy way to set something like that up through this application. That's my big song and dance. Time for stump to chump.