These are my (personal) thoughts on 'Building Mobile Apps For A Global Audience In An Agile Way' - a meetup organized by Sky as part of their LeedsTechHub concept.
I found the event to be generally fantastic. Being based in Leeds it is certainly great to see tech investment coming into the city. There were four talks, each of which I have briefly outlined below.
Silent Running - Dark Launches, Feature Toggles & Avoiding Technical Debt – Tim Antrobus - Mobile Developer at Sky
A polished presentation that got me thinking. Given Apple's drawn out review process, I was intrigued as to what Tim might have to say on ways of ensuring that bugs don't creep through the net.
Unfortunately this was very much a 'these are things to consider' as a resolution for 'this list of problems' kind of presentation. It was (I assume) intended to be a very basic catch-all (levels of engineer) introduction to issues with continuous deployment.
I would have liked to have seen more hands on examples of usecases within products.
Tim did mention that he had played around with writing Pachinko, a wrapper of sorts around feature toggles for utilisation in iOS apps (using Swift). This looks very interesting - I am going to have a play with some ideas that I have had in relation to this as/when I get a chance.
Feature toggles, and dark launches are interesting concepts and I am glad that Tim bought them to the forefront of my attention. Unfortunately within the small team here at Double Negative, there are very few patently obvious practical benefits.
I had naively hoped that Tim might be able to provide a resolution to the situation whereby you notice that an in production iOS app has a visually disastrous constraint issue on the smaller screen of the 4s (this happened). Unfortunately he did not.
Mobile Agility – Thinking Beyond the App – Nikunj Patel - Head of Mobile Assurance at BJSS Ltd
Nikunj scoffs at the idea of releasing an enterprise app to the app store through a developer computer. I found this rather amusing. If anything, the constraining nature of Apple's review process means that this is 'kind-of' OK in my opinion. After all, you have ten days to notice any issues and resolve them. That said, I do appreciate his point.. as a general rule it is perhaps not sensible to release in such a manner.
Again, this presentation was what I would describe as an overview (understandable given the short time constraints). It did however draw attention to some home truths that I had not really considered previously. For example the idea that nowadays "Slowness and unresponsiveness is no longer acceptable" - it is weird to think that not too long ago slowness was OK. Not only was it OK, it was the norm !
There were some very interesting tidbits of information contained within. For example the fact that by 2020 Cisco projects that there will be seven times more networked devices than people !
His "Solution level approach to delivery" was interesting. Conceive, Design, Develop, Deploy.. with significant energy being allocated to the Conceive and Design stages.
Personally I feel as though I follow this approach with my development projects but I have never formalised the process - I can absolutely see merit in formalising this approach to prevent issues down the line.
Continuous Integration in the Cloud for Mobile Applications - Jagdeep Nagpal - Engineer in The Sky Store Android Team
As a developer it is a little strange the extent to which the word 'Gradle' stresses me out. Stating the word Gradle, and then showing me a Gradle configuration file is definitely not the way to make me smile.
The long and the short of this talk was that continuous integration and deployment can, and should be done in the cloud. Sky does (using CircleCI).
This presentation seemed a little outdated in that I cannot imagine any engineer in the room would be considering setting up their own Jenkins rig. Even if they were.. surely any agile engineer would be smacked around the head with a keyboard by another member of their team should they genuinely and sincerely make such a proposal..?
The need for a modular approach when
delivering global cross-platform apps. - Tom Cooke - Scrum Master for Sky Sports Mobile Apps Team
This presentation again highlighted some interesting points, and showcased problems and progress in mobile app development.
The long and the short (the title gives it away) was that modular design is good. Consideration of the future and the ability for reuse is important. Time is money, so get it right first time.
I was completely bemused that in reference to cross platform frameworks, React Native was not mentioned. I don't personally use it but I do love Facebook's open source efforts. I feel that React Native has a lot more potential than some of the awful frameworks that he did mention.
It was especially strange given the in depth analysis of Facebook's engineering strategies in regards to mobile over the years discussed earlier in the presentation.
That said I am very much a fan of native app development.. as in development for each platform. As such it is somewhat irrelevant (to me) :)
This presentation posed some initial questions, which it then went on to answer. I liked this approach - it works well in relation to software discussions. The number of times that Tom said the word 'modular' indicates to me that he is very passionate about modular design :)
Some general thoughts.
Of course, given the nature of the event there were time constraints, but I found that the talks focussed on the general and ignored the exciting, new, and tough (yet relevant) subject matters.
My notes at the end amounted to a list of buzz words - concepts, and product names which had been mentioned but not discussed. I then proceeded to investgate them myself..
I had never heard of Zeplin (meh) or JustInMind (looks interesting - I am pretty sure Nikunj must be on their payroll ;) ). Nor had I heard of Realm (this looks especially awesome).
There was mention of the need for testing yet nothing on the 'how-to' side of testing mobile apps (something which I have personally found notoriously tough).
Likewise whilst saying modular code is good but hard is.. true, it does not help me develop more modular code.
So.. overall, a very interesting set of presentations, just not what I had expected. They certainly got me thinking, and hopefully my observaions can serve as ideas for future events.
I would love to see an event with one talk focussing on one tough problem - "How to unit test effectively on iOS", "How to continuously build an Android app (hands on)" etc
For me it was a great first event. The few small shortcomings were very much made up for by the abundance of free pizza provided afterwards (although my diet would certainly disagree).
If you are considering attending the LeedsTechHub in the future.. I would.