Tuesday, 29 November 2011

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.

Posted via email from Isomaly Apps

Monday, 29 August 2011

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.

 

Posted via email from Isomaly Apps

Friday, 11 March 2011

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.

Posted via email from Isomaly Apps

Thursday, 10 March 2011

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.

Posted via email from Isomaly Apps

Monday, 20 September 2010

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.

Posted via email from isomaly's posterous

Friday, 17 September 2010

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..

Posted via email from isomaly's posterous

Wednesday, 25 August 2010

What I Like About Working for Myself

I've spent a fair proportion of my working life designing and implementing software systems. There's a rhythm to it, a process whereby for a week or two you get to think interesting thoughts about how to build a piece of software, then a chunk of time from a few weeks to a few months implementing it, then some other, never long enough chunk of time debugging, testing systematically and generally getting something into a fit state for customers to use. After that it's time to review feedback, solicit follow on requirements, prioritize them and start the same process all over again. Of course there's only a certain number of times you can do this before it gets uninteresting.

But, working for myself on customer projects, a new enquiry can give me the chance to spend half a day in the delightful phase of the metaphorical whiteboard and pens, building the conceptual structure for someone's new app. Of course, there's hard work to be done in implementation and delivery, but the scale of an iPhone or iPad app is such that you don't lose sight of the structure before it is finished. And it's always delightful to see something you've made pop up on your phone, or even better, on someone else's.

Posted via email from isomaly's posterous

Followers