This website uses cookies to ensure you get the best experience. By clicking or navigating the site you agree to allow our collection of information through cookies. More info

2 minutes to read Posted on Wednesday November 19, 2014

Updated on Monday November 6, 2023

Who's Using What - Joe Germuska Developer Profile

main image

In this new series "Who's using what?", EuropeanaTech Community Manager Gregory Markus from the Netherlands Institute for Sound and Vision, will be profiling the use of open source software within the EuropeanaTech Communty and the greater digital cultural heritage world at large. Softwares will range from storytelling tools that enable reuse to OCRs or libraries and everything inbetween. Enjoy!

Joe Germuska

Joe Germuska is (Chief Nerd) Director of Software Engineering at Northwestern University’s KnightLab. KnightLab specialises in technologies that take journalism and digital storytelling to a new level. The majority of its tools are open source and TimelineJS, a user-friendly timeline software that has been used by numerous media outlets including RadioLab, TIME Magazine, and Le Monde. Before starting at Northwestern, Joe was on the Chicago Tribune News Apps team, co-founded OpenGovChicago, hosts a weekly radio show on WNUR-FM – Conference of the Birds.

What open source tools are you currently working with?

I’ve been working with Zach Wise on a new version of TimelineJS. The old version of TimelineJS loaded a full copy of jQuery, which was kind of heavyweight, and sometimes lead to version collision problems when people embedded a Timeline in their own webpage. For the new version (and for StoryMapJS which we developed last year), we instead copied a small portion of code from the Zepto library, just to handle all of the cross-browser, cross-server complexity of AJAX.

What open source tools have you used in the past to develop larger applications?

We always prefer open source tools, so the laundry list is long, and in some ways maybe not surprising: we use python for all of our server side code, including Django or Flask for web applications as appropriate. We also use the Fabric python library for build and deployment management, including with our javascript tools. We use lots of python libraries like requests, tweepy, Beautiful Soup, and on and on. We use Ubuntu for our servers, and on them we run Apache HTTPD, PostgreSQL, MongoDB, and ElasticSearch. We use common node tools like LESS and uglifyjs for the javascript libraries. We don’t want people who want to use our software to have to buy other stuff to use it.

What are you currently developing?

We are hoping that the new version of TimelineJS is slightly better factored to support community code contributions, although it’s also just hard to clearly communicate design intentions and priorities to a wider community. I know it’s frustrating when people develop a useful enhancement to an open source project which doesn’t get accepted by the core developers, but we’ve also found that a lot of people want to make TimelineJS do things that bend it away from our considered design choices.

In a pretty different vein, we’ve been working on a toolkit for monitoring URL sharing on twitter, inspired by Nieman Lab’s Fuego. Over the summer, we worked with one of their developers to create a new engine that does collection and indexing. People will still need some development skills to use that to publish a website. We’ll have a more formal announcement pretty soon, and we are looking forward to seeing what people build with it.

What would you like to see developed?

I’m not particularly looking for any tool or library. Rather, I’m interested in helping people become more fluent with information technology. It’s going to be cool when we can “read” computers like we read books, with almost no friction. Anything we can do to reduce that friction is interesting. I’m inspired by people like Bret Victor, who push us to imagine media for thinking the unthinkable, but I think there are a lot of incremental steps to get there. I’ll be happy if I can keep being part of thinking about that problem and making small steps forward.

If you'd like your work profiled in this column contact Gregory Markus at gmarkus@beeldengeluid.nl.

For more open source tools see the EuropeanaTech FLOSS Inventory

top