Chris Roos by Chris Roos

Show and Tell 24

James and I were joined by Amy, Pablo, Riccardo, Rob C, Rob D, and Tom S for our 24th Show & Tell.

Show & Tell 24 at Forge & Co

We hired a meeting room at Forge & Co for the event which worked out really well.

Ext JS

Pablo talked about Zendone: A GTD app he, his brother and some friends have written, run and maintain in their spare time. It sounds as though they have a moderate number of paying customers which is great!

The first version of Zendone was written using a Rails backend and a variety of JavaScript frameworks and libraries (e.g. Backbone.js, jQuery UI and Underscore.js) on the frontend. Not only was this hard to maintain but it was also difficult to get it working well on touch devices. The lack of touch device functionality became a real problem as more and more of their customers were asking for Android and iPhone versions of the app.

They realised that they weren’t going to be able to support the demand for a touch version with the current software and set about investigating their options. They tried both AngularJS and Ember.js before deciding to go with Ext JS. It sounds as though one of the main advantages of Ext JS is the cross-platform components you get out of the box.

They’ve now finished version 2 of the app and are really pleased with how it’s turned out. It’s much easier to maintain and they’ve been able to satisfy the demand for native apps for Mac, iOS and Android.

While they’re very happy with Ext JS, Pablo pointed out that it might not be for everyone. The company switched from open source only to a dual license, making Ext JS available under GPL and a commercial license. It sounds as though this caused some upset in the community and means that you now have to pay if you want to use Ext JS in a closed source app.

In the discussion afterwards, Riccardo mentioned that the Ionic framework offers something similar to Ext JS for Angular JS.

Day of the Mad Man

Rob D spoke about Day of the Mad Man: an Android game he and a friend developed about 4 years ago.

The game is a first person shooter using live action video in the same vein as Mad Dog McCree. It’s currently a playable demo that has you trying to shoot Rob and his mates. It contains three locations and about 2 minutes of gameplay.

They resumed working on it about 4 months ago and are in the process of creating a Kickstarter campaign to see if they can get some funding for continued development. Rob was mostly interested in whether anyone had any experience with either cross platform game development or of Kickstarter campaigns. Unfortunately, I think we all came up blank. Sorry Rob!

They’d like to hire a proper stunt crew, film using better cameras and turn it into a full game with about 4 to 6 minutes of gameplay across 8 locations. One of the ideas they have for the Kickstarter is to reward people by allowing them to star in the game which I can imagine being quite popular.

Rob explained that they were pushing the limits of what Android devices could do 4 years ago but that the game should be much easier to write now. He showed us how they used a spreadsheet to record all the details necessary to tie up the various film clips and locations of people. Apparently Android devices now support subtitle tracks in videos which means that they should be able to encode most/all of this information in those tracks.

Work visa for USA

Tom spoke about his experience of getting a visa so that he can teach a Practical Object-Oriented Design Course in New York with Sandi Metz.

There were two visas that looked as though they might be suitable: the B1 and H-1B. Unfortunately neither of these were quite appropriate. The B1 is relatively easy to get but doesn’t allow you to be paid for any work while the H-1B allows you to be paid but is really quite hard to get.

Tom was considering turning the opportunity down when he came across the B1 in lieu of H-1B visa. The use of a B1 for “aliens normally classifiable H1 or H3” is documented in the Foreign Affairs Manual and sounds just about perfect for Tom’s needs. It would appear that these visas are relatively rare (fewer than 1000 issued in 2011 according to Wikipedia) due to them being hard to obtain. Fortunately for Tom the US Embassy in London is one of the few places that they can be approved.

Although he had to wait at the embassy for a while, the actual interview was pretty painless and Tom is now the proud owner of a B1 in lieu of H-1B visa that allows him to teach in New York.

Tom finished by pointing out that the US Embassy in London are allowing people to register for Global Entry for a 60 day period starting 26th September. It sounds as though this would benefit anyone that travels to the US frequently and wants to avoid the queues at immigration.

Lambda calculus

Tom showed us some more work he’s done on his ongoing Lambda Calculus visualisation project.

He first showed us a version of this visualisation written using Backbone.js in week 268 and then again in Show & Tell 8. By Show & Tell 9 he’d rewritten it using React.

Most recently he’s rewritten it using Ruby in preparation for an upcoming Computation Club meeting about Lambda Calculus. The act of writing it in Ruby has helped him understand and solve some of the problems he was having when using JavaScript and doing it in the browser. He’s written a REPL that allows him to construct functions and then to interactively modify those functions. It all looks very impressive even though most of it went over my head.

Education for Engineers

Rob C (congratulations on the Principal Teaching Fellow role, Rob!) presented a couple of slides from the “Education for Engineers” talk he recently gave at SwanseaCon.

He showed us a slide that illustrates a traditional university course outline: lots of lectures upfront, a big gap before testing the students and then another gap before publishing the results. This all feels at odds with the agile software development approach he’s trying to teach; so he’s been tweaking the course structure accordingly.

One of the first things he tried was to shorten the feedback loops by testing more frequently throughout the year, rather than leaving it to the end. This sounds positive although it did greatly increase the time required to mark all the tests. They’ve tried to reduce this time by encouraging pair programming (thereby halving the number of submissions) and by automating the process where possible. They would automatically test that the code would compile, the code coverage met a certain threshold and that any application tests would pass. Passing these automated tests should give some confidence that the code is in a reasonable state to be checked by a human.

He’s also experimented with getting rid of lectures completely. He made all the course material available online and made himself available as much as possible. Unfortunately it sounds as though this didn’t quite work out as many students didn’t make use of his availability.

He’s planning more changes for the coming year. He’s thinking about ensuring that each student/group uses some kind of project management tool that he can use to check progress. There was even a suggestion of taking screenshots of this software over time to visualise how things are changing.

I think it’s great that Rob’s tweaking the courses to try to give students a more realistic understanding of what to expect when developing software in the commercial world.

Show and Tell 25

Get in touch if you’re interested in joining us for the next Show and Tell on Wednesday 12th October.

– Chris

If you have any feedback on this article, please get in touch!

Historical comments can be found here.