Programming, Thoughts and Ideas

Education is the end game for Apple’s Swift Language

Apple SymbolAt the Apple Worldwide Developers Conference 2014, Apple announced a new programming language called Swift. The reaction from most of the internet was either “cool!” or “why do we need another programming language?”

I have to say that my reaction was “why?” and why compare it with Python? The comparison piqued my interest as Apple’s core market for Swift is existing Objective-C programmers and new app developers. Some of these programmers will have used Python and may be able to relate to its ease of use, but apart from this there is little to warrant the Python comparison.

If you look at this from another angle, Python is used on the popular Raspberry PI, which is aimed at Schools to help teach programming. Apple already has a substantial presence in the education sector; many schools in the US make use of iPads and Apple is already dominant in the school text book area.

So is Swift Apples play for the hearts and minds of the next generation of programmers?

How does Swift fit into this theory? If we look at the demonstration of Swift at WWDC it shows an interactive programming environment with real-time feedback and the ability to show how a program runs over time. The graphics used also seemed to be aimed at the younger generation; Tim Cook even mentioned that the youngest member of the audience was 13 years old. Apple usually have a reason for everything in their presentations.

In my view Swift is a genius move to engage the younger programming generation. If they use Swift at school they will want to use it at work, a strategy that has worked well for the likes of Microsoft. Swift provides a fun environment in which to program and I am sure Apple will throw in a few iMacs to ensure Schools adopt Swift for teaching programming.

Thoughts and Ideas

From a red or green light to a multi coloured interactive element via a shaded excel cell

My journey through working life has been long with a few detours and some unconventional routes, the journey is still on going and below is a summary of the story so far; “From a red or green light to a multi coloured interactive element via a shaded excel cell”.

The journeys direction was set early on with the dismantling of a Stars Wars digital watch and the inevitable failure to reconstruct said piece of technology (tiny springs have the ability to vanish). It turns out that this is pretty much the default start position for most technology people.

Phase 1 of the journey started as an operator on a semiconductor test floor, which entailed pressing a button and waiting for the red or green light to appear. 21 years later I was a Global Product Manager responsible for key pieces of software in the semiconductor industry, this primarily involved trying to make all the excel cells go green rather than amber or red, along with talking to customers, industry peers and engineers across multiple continents.

Phase 2 is still a work in progress and involves taking Room 108 from a two person digital agency to a five person business through the delivery of online solutions to start-ups, medium sized enterprises and other creative agencies. This part of the journey still involves excel spreadsheets with red and green cells, but also entails working with cool online technologies to make websites and mobiles do amazing things like multi coloured interactive elements.

Phase 3 is just about start and involves exploring new opportunities to push forward my knowledge and understanding of the online technology industry.

Thoughts and Ideas

Rackspace, Jungle Disk and the Acquisition Dilemma

Rackspace Cloud Files is effectively down for some Rackspace customers, in this case it is customers who use Jungle Disk and moved their data to Cloud Files. I was one of those customers; my primary reason for using Jungle Disk was its acquisition by Rackspace so when Cloud Files support was announced I moved my data (This is still work in progress, which has been halted). The reason for the move was that it is Rackspace who talk about fanatical support and 100% network uptime etc. and we use Rackspace for Hosted Exchange and have had good support and no downtime.

This brings up one of the perils of acquisitions; Customer Expectation. Customer Expectation is something that no company has direct control over, although they set the tone of the expectation. So when Rackspace acquires a company, existing Rackspace customers will have the same high expectations of the acquired company as they do of Rackspace. Customers will also completely ignore statements like “our sister company” and “things will be the same”. From the customer point of view you are one company which is called Rackspace and all customers know things will change.

Why do companies say the things highlighted in the previous paragraph? The main reason seems to be the fear of losing customers, which is completely irrational as an acquisition does not change the benefits of the products or the value propositions so why would customers leave. Granted you will get some customers who leave on idealistic grounds and these customers will blog, tweet and post about why the acquisition will bring down civilisation but these are a minority.

Another reason is the acquiring company wants to create a distance from the acquired company just in case some major disaster happens, this is a vain attempt to protect “The Brand”, but as previously stated customers do not care that it is a small part of the acquiring company or that it is “separate entity” it is still part of the acquiring company and therefore will impact the “The Brand”.

How do you mitigate the problems? Honesty is the key, if you are honest with customers they cannot argue against it, they may disagree but if they still believe in the products they have purchased they will understand. The acquiring company also has to treat all customers equally, as soon as it looks like the new acquisition is losing out to the established acquiring company customers you are going to create problems which will be difficult to overcome.

Most of these issues are symptoms of people’s behaviour and resistance to change. Managing change and specifically the people aspects of change is critical, the key to this is talking to each other and not blaming the other person for problems.

This post is just my current thoughts as someone who has been through many acquisitions and whose day job is a product manager for products which have been acquired, so I know how difficult this dilemma is to solve. Hopefully Rackspace will sort the issues out quickly and stop blaming each other as Jungle Disk and Cloud Files are currently doing.


#char[140] – 140 characters to write a useful bit of code

My thought for today is:

What is the most useful piece of code you can write in 140 characters?

Inspired by Twitter, which started me thinking back to when using less code was better. In these days of software bloat and descriptive languages it is easy to forget what we use to be able to achieve in very few lines of code. So if anyone is listening, what are your thoughts or examples of useful code in 140 characters.

#char[140] Guidelines

  1. Any language allowed
  2. Can call external applications and APIs but external call should not replace core logic on the 140 character program
  3. Must do something useful, Hello World although useful as a learning tool is not in the spirit of this challenge

I will try to think of something and post an example.


PHP Frameworks investigation

It has been a bit longer than a few days but here are the key criteria that I want from a PHP framework.

  • Allows designers to use standard HTML and CSS with minimal impact from framework
  • Takes care of the basic security requirements
  • Provides extensable modules for user management
  • Helps build dynamic navigation
  • Provides modules for things like sitemaps
  • Needs to be installable on shared hosting

These are just the initial requirements and I suppose I am using ASP.NET as my benchmark.

My initial investigations have not been that promising. I am not looking at things like Joomla, Drupal etc I am looking more for a programming framework as this is for custom projects. The designers can handle the off the shelf CMS type systems without input from the technical team.