Coding is the New Latin ?

BBC Technology , and with it the interwebs, has been buzzing with the realisation that Computer Science Education in English Schools is woeful, and that while in Scotland we have got as far as recognizing some of the deficiencies (see Ewan Macintosh and The Curriculum for Excellence) things are still far from rosy even north of the border. I profess to ignorance of the situation in Wales and NI.

The NESTA Next Gen report recognizes that Computer Science is intellectually fundamental, but spoils its point by focusing on arguing for very vocational "industry relevant" "specialist training". In other words, it argues as a special interest group asking for public support to make its life easier.

What Computer Science (NOT just coding) is, is closer to physics or biology. It picks apart the fundamentals of how computing systems work, and builds a coherent theory of how they work, and what you can and can't do with them. Once you know that, thehn you undertand what you can do by coding. For analogy, physics picks apart the physical universe and builds a coherent theory of how it works and what is or isn't possible (well, it's trying anyway). It also happens that Computer Science benefits tremendously from the underpinnings of diverse branches of mathematics to build its theories. And these theories aren't just intellectual frippery. They allow us to build robust, large scale computing systems, and to demonstrate with confidence that they do what we say they do. That's Software Engineering. A shout out here to Britain's presiding genius of the 20th Century, Alan Turing, who basically figured all this out about computers as a thought experiment, and then set about inventing and building them.

Lest the NESTA authors get cross with me, I completely agree that the fields of computer science and art and design are complementary, and that building great products in the modern age requires enormous crossover between these areas. But the fact that art and design can be appreciated and understood by an educated lay person making an effort, makes it easier to promote and support than a field which demands that you go away and study some ostensibly pointless maths for a long time before coming back and understanding how it all connects together.

So to the extent that the Latin analogy has merit, it is that the rigorous study of the abstruse has ultimately unexpected and wide ranging benefits in the everyday. I'm not convinced that Latin is particularly special that way, but that's the folkloric belief about it in the kind of places that study Latin.

Mathematics and Physics and Engineering. Oh my! Now we get it. These are subjects which in the UK are not fashionable. They are not the bread and circuses of X-Factor talent, nor the true routes to power and influence of The Law and PPE. So it's perhaps not surprising that young people being asked to stump up large sums of money to purchase a higher education aren't buying the rhetoric about how nice it would be for them to study very very hard to become trained workers with industry relevant expertise, when the rewards to them don't quite seem commensurate with the effort required.

So if this country wants to take on Silicon Valley, and become part of a thriving knowledge economy, it's going to need to rebalance itself in ways which recognise how important it is to support and sustain the people who find the subject sufficiently interesting to want to study it. That way at the margin it will produce sufficiently greater numbers of future generations of Computer Scientists and good Computer Science teachers (at all levels of the education system) which will make such a knowledge economy self-sustaining and self-replicating. And at present we are an awful long way from that societal shift.

A Busy Summer

The last few days have been spent attending the Turing Festival on Friday, and a quick trip to meet up with some OSM folks at State of the Map Scotland on Saturday.

Earlier in the summer, Sustrans release their iPhone App, which we were very pleased to develop on their behalf. The app distinguishes itself in using the Ordnance Survey derived Sustrans mapping; for many applications in the UK, the accuracy and clarity of OS mapping is unsurpassable.

Having built a framework for presenting OS mappings within iPhone apps, we're now very pleased to be working on a similar framework for Android, and our first customer project using this is planned for release later in 2011.

The Turing Festival has been covered widely, it's a valiant attempt to integrate the Scottish Tech community with the Festival of Festivals that is Edinburgh in August. I only had time to attend the business track on Friday, and while there were some excellent talks, as well as one that annoyed me immensely in its techno-utopian shallowness, it came off much more as a conventional biz conference event that happened at the same time as the festival than a "festival" per se. I think it would be hard to be more on a first attempt, but I'd love to see someone try. Could one address the work of Turing or Gödel in something of the way of Copenhagen ?

State of the Map is the annual gathering of people interested in the OpenStreetMap project. Over the last decade, this project has mapped large parts of the world co-operatively and openly, producing an array of data and tools which provide geographical insight and some amazing possibilities. The CycleStreets project and its smartphone apps are in large part possible because of the existence of OSM as both usable data and as a map for overlaying route images. Whereas the database that goes to build Ordnance Survey maps is proprietary, in OSM it is free in the sense of open.

 

Some wrinkles with XCode 4

So I've run across a couple of problems with XCode 4 that others may possibly care about.

The conversion process of a project would appear to turn off "Application requires iPhone environment" in the .plist file. With the result that you get told that embedded.mobileprovision already exists, when you attempt to copy an ad hoc distribution .app file to itunes. You need to re-enable that.

Second, it would appear that some build configurations don't pick up the right project dependencies. So I can build my ad hoc and release builds under XCode3, and yet they miss the output libraries for the subprojects under XCode4. In related news, I can't quite get my head around the new schemes, as it seems unfeasibly hard to just build an ad hoc build; it wants a complete scheme.

I'm sure some of these problems are just the result of my general ignorance. YMMV.

The Quantum of Appiness

It's funny to see the term app having entered the general lexicon. The first thing that happens is that it loses any precise meaning. So I will try to dig into it along several axes.

From a purely technical point of view, an app is a piece of software explicitly installed on a mobile phone, usually because the user has found it in a, or the, store. There's lots of things here.

It's a piece of software. So's everything. but the clearest contrast is with a static web page which just presents a piece of data.

It's explicitly installed. So it's not like a link that you happen to follow, there's an awareness that the app is a separate thing.

And the fact that it comes from a store ? Well, things come from stores. You don't get non-things from stores, or if you do you get cross, even if your only investment was the time you spent. Conversely, you tend not to get things from places that aren't stores. The posh word for that is discoverability.

So once the magic has been established that there is a place to get things of value, and things of value come from a place, then the app and appstore ecosystem is all set. Let's ask, what do people not want from a store ? Answer, brochures. And to take it a little further, promotional material that is just that and no more. That's what websites are for. I google something, I get your website, I read what your site has to say. Now comes the interesting part. Your website tells me about a thing that I want. It is of value to me, whether or not it costs actual upfront money. How should I get hold of it ? Well, I trust the store, so when you send me to the store to get it, and this just works, I'm happy. But if your site tells me about a thing, and I acquire that thing from the store, and all it does is tell me about you, I'm sad.

So, things from stores need to be of value, and things of value are best got from stores. Got that one, Google ? Excellent.

Now comes the hard part. How to make things of value, or in this case, apps of value. I could say real programming languages, and leave it there. But I'm not writing for Computer Scientists, and much as I'd like to have a war about languages and tools, it's not the done thing here. So I will observe that it's perfectly valid and practical to build an app with web development tools, if those are the tools that you have to hand. What you need to ensure is that you are building enough value into the app that it clears the thing hurdle. From a technical point of view, if you're building something large and complex, it's a much better model to use a programming language together with appropriate APIs to access the data you need from the network. You almost certainly cleared the thing hurdle already.

Happy hacking.

RoutePics Promotional Codes

It's been a few days since i released RoutePics (AppStore link), my app for exploring GPSies routes and flickr photos on OpenStreetMap maps.

RoutePics has had it's initial new release bump, sold copies across the world, and I've received my spam from the "help to market your app better" snake oil salesmen. But I'm not ready to retire on the proceeds yet, so here's a few promo codes for any readers who'd like to try it out, or become brand ambassadors. Please comment here or tweet @isomalyapps if you use one, so I can take it off the list.

Enjoy.

---Alan

TWT6MY74X4MH
R3P7RFWHTMF9
NMAPHMK3RAXX
AMRL9FNXXTWE
P9AYJMENR9EA
TMPRMFWWRT7W
443J6HFXE4F3
JJF4JMHNJPH9

 

RoutePics Future Plans

We’ve just released the new RoutePics app.

We would like to improve and enhance RoutePics in future, in the ways that would best please our users. Which of these features would you prefer to see ?

  • GPS route tracking (in the iPhone) version, and uploads to GPSies, strava, Endomondo or any of the other route repositories ?
  • More control of how the photos are selected (e.g. by tag) rather than just selecting the most recent ?
  • More details of routes ?
  • The ability to track your position while following a route ?

If these or other features interest you, please review the app on the app store, comment here, or speak to us on twitter @isomalyapps.

 

Why OpenStreetMap is better than Google Maps

My son was invited to a party in a part of the world we don’t know well, with instructions that the house (newly built last summer) was “not on the map.” Not on Google Maps, it wasn’t, but I tapped the address into the namefinder on my CycleStreets app, and the OSM-backed namefinder found it. Cue a stress free trip to party.

So my thanks to whoever surveyed new parts of Bonnyrigg recently, and once again to all the great folks who contribute to OSM. It’s an example of great technology which makes life that little bit easier.

I'm looking for a little bit of web design/build consultancy (paid)

Let me explain.

My business is developing iPhone apps, which I've done for myself, for direct contract and for subcontract. My background is as a software developer, using old-fashioned things like programming languages. When I were a lad, a website was a bit of HTML markup with text in it. My current business website (http://www.isomaly.com/) is generated with some clunky 3rd party point-and-click system and hosted by the same system. It is about to get very out of date when my latest work reaches the app store (http://www.cyclestreets.net/mobile/), so I want to do something about it, and I want it to look good and convey the relevant information.

My problem is that there are more web frameworks and tools out there than you can shake a stick at. Although something like Django is very appealing as a piece of technology it has the complexity to do far more than I need, and I could spend lots of time I don't have learning it and playing with it, and still end up with something that isn't particularly visually appealing or effective. What I want is to talk to someone who knows their way through this minefield, and can point me in the direction of a system I can set up and manage myself with a small amount of effort. I'd rather not host anything myself, or pay the ongoing costs of something like linode, so my preference would be for a lightweight hosted solution or something canned that I can run on Google App Engine.

Most important to me is if I can be led through the basic conceptual elements of site design, helped to sketch out my site, and pointed at a solution that allows me to do simple structural updates, e.g. adding a new section/tab for a new app, updating the text for another app. So it needs to be database backed, driving the site from the structure, and being me I need to be able to conceptually grok and be able to access the underlying database. I believe that is more or less what the kids nowadays call a CMS.

If anyone thinks they are the person to help me, or knows who is, I expect to pay for this somewhere between an hour or two of someone's time over coffee pointing me in the right direction to half a day with the laptop getting the rudiments set up, leaving me to fill in the blanks.

Fun with the festivals innovation lab API

The Edinburgh Festivals Innovation lab built a little API round the listings for the forthcoming Storytelling Festival. So for a wee bit of fun, I have written a demo app around it. I've provided a few screenshots. It is an extremely plain and simple interpretation of the listings, but for 3 hours work it does show that you can have something usable without too much work. Of course in the iPhone world, visual artifice is a given, and to release such an app to the app store would require quadrupling the development time with some design-y touches..

(download)