Skip to main content

Posts

Showing posts from March, 2015

The Rebirth of Authoring? Making iPad apps with LiveCode

I recently was asked if I'd heard of an authoring tool for creating iPad apps called LiveCode . I don't know if you know, but LiveCode is like the only living grandchild of a tool called HyperCard. And you might not also know, that like the post punk band, Killing Joke , HyperCard is one of those subjects that makes me want to sit you down and tell you stories from days of yore. For EVER. You see, HyperCard was the tool that I first did any programming with, back in 1991. The Apple Macintosh was billed as "The Computer For The Rest Of Us"... and HyperCard, bundled free with every Macintosh was "Programming For The Rest Of Us". But before I can regale you with tales of HyperCard's features, you need to understand the context from which HyperCard sprang. You have to do some homework. Your Homework You have to go back to 1945 ,  a the time when Vannevar Bush outlined how a conceptual HyperText machine called Memex would work, and how trails wou...

I Want To Improve My Spreadsheet

I often get people coming to visit me who have a spreadsheet they want to get more from. They either want to automate certain tasks, or create new sheets with aggregated data or share data with colleagues in new ways. The hope is that with a little bit of code, new vistas will open up. Often the data is in a spreadsheet, it isn't clean enough to do anything useful with. If code is to stand a chance at making a spreadsheet more useful, then the data itself needs to be "code ready". Below is an actual spreadsheet brought to me, with number of areas for that needed data cleaning. As we worked together, we realised, a healthy spreadsheet isn't just about making sure your data is logical, there are also other factors that contribute to how easy your data will be to work with. Use formulas well - A few easy to learn formulas can significantly ramp up what you can do quickly with data. It is worth investing even just a few minutes learning new formulas and wha...

Stunning Student Work in the 3Sixty at York

Sara Perry taught the Archaeology module to design an exhibition for the 3Sixty space at York. This year the students really went beyond all expectations and produced some stunning and innovative work that made full use of the space's abilities. One piece, about Clifford's Tower, made use of numerous live action actors to deliver snippets of spoken word from the time. The presentation had moments where spotlights illuminated the actors in the room ( see below ). When this piece put you in a 3D model of Clifford's Tower, slowly flying around it, it was actually breathtaking. What is shown here is only a facsimile of the real experience ( of course the actors aren't acting for us in it ) but it does give you some idea of how well the piece was choreographed and how professionally the students wove their ideas into a compelling experience. I was involved in helping to take their work and make it viewable using a Javascript 3D library called Three.js . ...

Preparing Media For The 3Sixty Space at York

In a recent student project to create archaeological exhibitions in the 3Sixty space we needed to look at how to easily chop a very wide movie into four separate smaller movies. There are lots of templates to help you present in the 3Sixty space, including Powerpoint files  but we also needed a way to view the presentations NOT in the space itself which would require some form of 3D version of a 2D presentation shown in real 3D. Are you keeping up? We needed a version of the presentation that could be viewed on screen rather than in the room. I found a python library that would let you edit videos using code called MoviePy . It's brilliant! You can do video-in-video effects, split panel videos, animations, freeze frames and all sorts. So, with the code below, we were able to take a VERY WIDE movie generated by the Powerpoint template being exported as a movie... and make four separate movie files, one for each wall. from moviepy.editor import * from moviepy.video.fx....