We require six people on a part-time basis to help with our LiveCity and I-GEAR projects. We would particularly like to hear from those with strong programming skills who also have a creative streak.
Please note the current job specs are for UL MSc students only, however this has now changed and the positions are available to any suitably qualified person except where University rules or legal issues prevent that person from being hired.
The slides from my Haxogreen talk are available from the download link below. Haxogreen is a bi-annual hacker camp held here in Luxembourg with at the time of writing is currently ongoing.
The presentation explored some key themes in mixed realities, from design through to specific projects in particular IPCity (that I worked on for a few years) but also more recent work within the I-GEAR and LiveCity projects. It closed by asking some questions about how augmented reality in the future. In particular identity, augmentation rights and privacy.
Acknowledgements: Much of the content in the slides is drawn from work within the IPCity project, therefore my thanks go in particular to the team from Fraunhofer FIT but also the other project members.
“Reducing Congestion Through Pervasive Gaming” by McCall, Kracheel and Koenig – of which I am one of the authors today won best paper award at “The Car as an Arena for Gaming Workshop” which is being held at the MobileHCI 2012 conference in San Francisco later this year. My thanks go to the other authors of the paper for their work.
At the end of 2009 as the IPCity project drew to a close we completed our final study of the TimeWarp Cologne game (please click on the link to find out more information and see the citation from Blum et al below). The study consisted of sixty participants and we identified six key gaming elements, relating to environment, interaction and characters that were in turn spread across physical and mental properties (see the paper form more information). As a result we developed a set of guidelines based around these asepects and the form and content issues associated with designing augmented reality games. This form and content split was derived from the work by Lombard and Ditton (see citation below) on virtual reality environments. Anyway for those who are interested, here is a quick summary of the guidelines that were derived. Please again check out the full paper for all the details.
Encourage players to explore virtual elements
Include short but intensive physical tasks
Allow virtual characters to become meaningful in the real world
Tap into existing emotions of players
Confront players with meaningful decisions
Do not focus on visual realism
My thanks again go to the other members of the TimeWarp team at Fraunhofer FIT.
Title: Gaming Concepts and Incentives to Change Driver Behaviour
Authors: R McCall and V Koenig
Abstract— In this paper we present a novel concept that deals specifically with changing driver behaviour in order to reduce traffic congestion. The project I-GEAR (incentives and gaming environments for automobile routing) aims to understand the motivations that drivers have while undertaking the daily commute and then to provide them with a range of incentives to change their behaviour. A key focus within the project is on ways in which the
problem could potentially be solved without recourse to an expensive infrastructure project. Our solution to this problem was to move the problem of traffic management onto everyday mobile devices. In the following paper we outline the background to the
problem, concepts relating to pervasive gaming, existing explorations of incentives and gaming approaches as well as our basic concept and project methodology.
Image from Google Chrome Store (c) Respective parties
As the “millions” of readers of my blog will know I am currently facing the choice of spending a lot of money or not on a new computer or perhaps even computers. One problem I do face is my rather mixed range of platforms that includes IOS, Android, Linux, Mac OS and Windows, to say the least this poses a number of problems. Not least the problem of compatibility especially when I want to edit Word files under say Android or Linux. While Documents to Go or Libre Office are ok, in the end neither get there 100% of the time.
However, yesterday I discovered perhaps one of the cooler apps which is Installfree Nexus Office for the Chrome Browser. This essentially lets you run standard apps within your browser such as MS Office You can link it to your Google Docs, Dropbox and Box storage spaces and run Office on ALL the platforms I mentioned earlier! Rather neat! Right now it comes with a 60 day trial of Office 2010, and while its not 100% perfect (read stable) it beats having to set up VNC type connections it is VERY easy to set up and install. For sometime I also ran Office 2007 under Wine, this in general worked ok but the installation process was so bad that root canal work at the dentist was often quicker and less painful.
What are the downsides? Well for now it only supports some countries namely the USA and Western Europe and should you be moving around and try to use it elsewhere then it will display an error message. What’s more there are sometimes problems with loading or reading files and opening dialogue boxes, but this could in part be down to me using it on a rather old Atom N270 netbook. Other potential issues include data privacy and security as they require access to your cloud storage accounts – I personally am always a bit nervous about granting this to companies I don’t know to well. That said InstallFree Nexus with Office 2010 is not anywhere near as fast as the original application or even running it under Wine. It is also slightly slower than using Google Docs, well on this rather old netbook anyway.
As I said it’s as yet not stable and right now it’s in beta but is certainly worth trying out. It’s far from being 100% stable or ready however unlike when using Google Docs you get the option to work fully and natively with your Office files, this in itself is a big bonus and installation is very easy.
Are you interested in creating a mixed reality game that will bring the people of Athens and Luxembourg closer together? Well now you can and you will have the development resources to do it! We are offering the lucky winner the chance to pitch a game concept that will go live for a period of one year in both cities.
Image from the Linux Mint Website. Stable and Reliable Even After One Year
Over the years I have used a number of Linux distributions from Slackware, through the awful Linpus Lite that came with this netbook (Acer Aspire One) and Ubuntu. For various reasons I ended up having to get of all of them within a few months. This happened for variety of reasons ranging from the user interface progressively failing until I could only interact with it via the aid of “shift+tab” or the wifi breaking after 60-90 minutes of use and requiring a system reset. In all cases while Linux could do what I wanted it rarely lasted the pace, with the result I was generally left me underwhelmed and not infrequently I wished that I had bought the Windows XP version of the One instead. That’s why I think it’s perhaps an idea to share good news. i.e. when something actually runs as it should for nearly a year! In this case it is Linux Mint 11 LXDE. This is a special version designed for older or slower hardware and uses LXDE rather than other more flashy window managers. This in general reduces resource requirements and helps speed up the machine slightly. Having now run it for almost a year on this netbook for anything from programming to Google Docs, I can safely say it is the most reliable I have used yet. So just in case you are looking to update or even “age” your netbook’s OS I can thoroughly recommend it.
So far almost no problems, except with Opera which does not seem to behave too well with the Window manager
Fast and responsive once it’s up and running for such old hardware
A software repository with many good apps that seem to work without any problems (well the sort of standard ones I use anyway)
So far no problems after any updates (if you stick to those rated 3 or better)
Wifi works without any problems
Lighter weight user interface when compared to other versions has sped up frame rates in some applications
Currently more stable than my iMac
This is not a sexy Mac OS User Interface, it’s basic but does the job
Some early UI issues e.g. duplicate items in the system bar (now fixed)
Some early issues after updates with the audio system (now fixed)
Not the fastest book-up time
Old version of Skype worked fine, Skype 4 works and has more options but there are some graphical issues.
Some issues with apps such as LiveStation, which stutters a bit when playing live video streams
The software manager is painfully slow
This is an old version so perhaps there are better ones around
This is not a long-term support edition so at the time of writing there are about six month of updates left.
I cannot say anything about the more recent versions of Linux Mint but if like me you have this rather old piece of hardware then I thoroughly recommend it. Stable, reliable and as yet no serious issues. I cannot say that this will be the case on all hardware, and certainly one reason for this review is that it works on hardware that to say the least was unlucky with earlier versions of Linux, so hopefully it will be useful for some people.
Tested on: Acer Aspire ZG5 (Linux), 1 GB RAM and 160MB HD. Four years on and for €200 one cannot really complain too much. Also for your information this blog is usually written on the Aspire and not my half dead iMac.
I have to confess I started in the area of computer science, so I really was into stuff like assembler (6502/68k – hmm I’m old), C and more quirky languages such as Prolog and Lisp. However, as much as I like and often quite enjoy these various languages (for different things) when I put on my usability had I often find them somewhat arcane. For example, the fanatical devotion to brackets and semi-colons in C/C++ is something which I can understand but frankly find a bit annoying in terms of usability. While there is no doubt that C etc often offer excellent performance when compared to higher level languages there are often times when lower level languages simply are not suitable for the task. Take for example rapid GUI prototyping, a sane person would never do that in a lower level language, even manually editing Python code for wxWindows (a GUI toolikt) is frankly a pain in the …… So it is with that I thought I’d start a semi regular thread on the experiences of using higher level languages such as Python or LiveCode for daily programming tasks in a usability context. I should say first up in the spirit of openness that I used to work for the publisher of LiveCode until 2005, and as a result have a small stake in the company. However, this stake is so small that it means nothing to me if you decide to buy the product or not. Indeed if you bought me a coffee it would probably be worth several hundred times more to me than if you bought a copy of LiveCode.
Anyway to kick off this thread, I thought it would be good to do a very quick and dirty look at both platforms based on current experiences. We are using both of these tools where I work to do a number of things, firstly to develop a driving simulator (in combination with other software tools), develop supporting tools for our experiements and also to develop mobile applications. It’s important to note that when I talk about these two tools I do so with the following issues in mind:
We are interested primarily in user focused services, as long as they are not slow, unresponsive or crash regularly it matters not what they are written in.
We require a process that allow rapid prototyping of graphical user interfaces, we need to be able to move those buttons and sliders around with ease. Often we also require more than that, but for now those are the important aspects.
Our team consists of more than computer science graduates, for example psychologists and even a political scientist. They must be able to write their own code as it is unfair to rely on a few “computer people” to do that all the time.
Research teams often change quite a bit over the years, hence the code we create now has to be understandable and maintainable by others in years to come.
We want to leverage existing solutions where possible, in particular open source platforms.
We need skills that are usable across many platforms from mobile to Linux.
While the set of articles which follow would appear to be a direct comparison between both platforms, that is not the full intention. At times the comparisons are I think fair, e.g. when looking at the language syntax and available features. While other times they are not, for example one is free and consequently has a larger user base and more libraries than the other. Also Python on it’s own is really just a language, where as LiveCode is a full developer platform. Hence, what I will write about is how these tools played different roles in our work and when they were or were not useful.
What is LiveCode?
A video explaining LiveCode from Runrev (slightly biased I guess )
Cost: from €99-€1,500 (depending on the type of licence)
Livecode is published the Scottish software outfit Runtime Revolution (Runrev), they even eat their own cake and publish another product called Ten Thumbs Typing Tutor which uses LiveCode. LiveCode itself is built on the Metacard programming platform which Runrev bought some years ago. It owes much of its underlying heritage to the now defunct Apple Hypercard, which was an English-like scripting language that let people back in the 80s and 90s quickly and easily create Mac sofware. However, unlike it’s grandfather LiveCode supports all major platforms such as: Windows, Linux, Mac OS X, IOS and Android. You literally build the code once and it should run on all platforms, although you will get issues with screen sizes and GUI standards especially on mobile platforms. Also the mobile development experience is lacking in some respects as you do need to buy MOBGUI as an extra in order to obtain nice native looking Android or IOS apps. Also many features on the underlying desktop platforms are not always available on the mobile platforms, for example sockets or XMLRPC. Although they will argue that sockets are available via externals under IOS. That said it remains very easy to build applications for all platforms, as you have a nice GUI editor coupled with an English-like scripting language. The language is LiveCode’s biggest asset as well as perhaps for some a weakness. It does allow you to almost think it out then type it, the downside is that it can seem a little more verbose than say Python and can take a bit of getting used to. Also, the language is object-based not object oriented. That said creating applications is very easy so you can perhaps overlook the latter. The IDE lets you drag and drop interface components around with ease and add appropriate code under the relevant interface event.
What is Python?
A tutoral from derekbanas on Youtube about Python 3.0
Python is a scripting language, that is it. Unlike LiveCode if you want to do much more than programme command line based applications you will probably need to add additional libraries to support GUI building e.g. wxPython. Although that said it does come with it’s own basic GUI toolkit. However, Python and many of it’s libraries are totally free, that means you can almost achieve what you would like to do in LiveCode at zero or near zero cost. The only downside is that GUI builder tools (especially the free ones) are nowhere near as friendly as under LiveCode and even the expensive ones make the rapid prototyping experience far more cumbersome than under LiveCode. You will for example still have to write some code just to develop a GUI and the editors are nowhere near as “drag and drop” as LiveCode. The other major limitation is the build process, while on LiveCode you can click and create what you want (well most of the time) under Python creating a free standing executable is a messier process although still possible.
Python syntax is closer to more standard programming languages and is fully object oriented. It is also quite readable most of the time but not quite as easily as say LiveCode. It also neatly avoids the problems of other more traditional languages by relying on the code indentation as a way to specify structure rather than semi-colons. However, if you forget to indent or do it incorrectly then error messages start appearing. In that sense Python is somewhere between LiveCode and say C.
Now comes the real pain. While it is possible to run Python (or rather variants) of it on Android and even IOS I am told that writing code for both platforms at the same time is a mess. Even my minimal experience of Python on Android (so far I have not run it under IOS) was not always pleasant. Although I did have some limited fun installing the Kivy multi-touch system on an old tablet. Right now Python in my view is little more than some fun under both platforms and nothing that could be taken too seriously by any programmer – although my view may change as these articles progress.
If you want to build GUI centric apps quickly and easily and share them across platforms then LiveCode is probably the best option. It includes all the tools that you are likely to need. The language is also streets ahead if you are looking for a gentle introduction to programming. If on the other hand you are looking at more back-end programming tasks which require proper object orientation and are keen to avoid the verbosity of LiveCode then Python is a true winner. Also Python has many more third party libraries that support anything from statistical analysis through to games much more easily – they are often also free!
For mobile apps, LiveCode is still better than Python but in my view has a little way to go until I’d say that its either comprehensive or feels professional. However, the one major advantage is that you use the same programming language and tools on ALL platforms. This makes it for now at least a better choice for development when GUIs are required.
Parting thought, this is literally a live or rather as we go along set of articles. As my experience of both programming platforms grows my views may also change!