I was excited to go because if you’ve been following me for a while, you know I’m trying to learn and grow as an entrepreneur. I find that when I go to conferences, I’m more inspired and ready to focus on this topic when I leave. This event was no different, in fact, it gave me a lot more confidence in what I’m doing and motivation to keep going and keep growing.
Unfortunately, I learned about this event very late. My mum had bought a ticket only to find that she want able to go because she was flying back from a trip at this time. So she offered the ticket to me. I didn’t know what to expect from this event, but looking back, I’ll be sure to be buying a ticket for next year and telling all of my friends (no matter what their ethnicity) about the event.
There were lots of motivational words from all the speakers and inspiring individuals on the day but, I want to write this post to capture the points that were key to me. I want this to post to remind me of the key ideas and thoughts that spoke to me through the day so that over the next six months I can refer back to it and relive the thoughts that inspired me that day.
Talks and Notes
Andrew Ramroop: A Journey from Pillowcase to Buckingham Palace
What makes my products or services stand out from others?
How is my product standing out for something that’s different?
What makes my service/products better than the competition?
Why should customers engage with your services?
What makes you outstanding?
Train all year round not seasonally.
To make a world class company, keep in mind that you need:
World class standards
Make the customer your top priority
Your mission statement should state who you are and what your do
Olutayo Arikawe: Making An Impact: How to Use Your Profession to Benefit Your Community
Give to your community and your business will thrive
Take care of your staff and your community
Fredi Nwaka: Journey to Hollywood
What is for me is for me
Network to get work
Ronke Lawal: Why Marketers & Brands Need To Engage Black Women
£300 Billion black spending power in the UK – IPA
Don’t under value yourself
Think about the money
The love of money isn’t a bad thing
Rashada Harry: Creating Diversity in Technology
It’s not what people listen to but what you answer to
You have two hands, one to help yourself and one to help the person behind you
Kubi Springer: How to Take your Brand Global Marketing
Be an expert
Be known for one thing
Tell people what you can offer
Go in with the numbers and stats to investors. Let the money, numbers and stats talk
Get IP in place
Stop doing a business for the short term
David McQueen: Building A Legacy in Business
Give back to the community
Stop comparing yourself to others. Work as hard as your want to work
Not enough people build for legacy
Build businesses that run without you
Think bug. Stop thinking small
Why are you building a business?
What are your values?
Ideas are crap. You need customers
Stop giving things away from free
Stop selling out. Think about how to take it to the next level
UKBBS Dragon’s Den Pitching Advice
know what you’re talking about
Work your time
Where are you right now
What have you done so far
Where are you going in the future
How to get more customers
How are you going to build a company & legacy
Look at the numbers
How are you making money
Make that money
Make your people feel that you deserve the money that you ask for
Give the business talk first, then the passion talk second
For those that don’t know, Appium is a mobile testing framework built upon the Webdriver technology. It was created in 2013 by Dan Cuellar. He was an Test Manager at Zoosk who was finding that the length of the test passes on the iOS product was getting out of hand. Appium allowed him to write automated tests for iOS as easily as Webdriver was used for automating websites.
Five years later, Appium has a massive community building up a successful open source project that can be used on Android, iOS, Windows in a variety of coding languages.
This year was the first Appium Conference.
There was only one track which was great because I got to see everything and didn’t have to pick between two talks that were probably going to be beneficial to me.
Interesting Things to Note
There was a lot of variety of languages being used with Appium (part of the appeal of using the product I suspect).
Lots of people were using Jenkins with it as their continuous integration/continuous delivery tool. There were a couple mentions of Circle CI but none about TeamCity. Because of this, I think I’ll be looking into Jenkins more than TeamCity for my app projects.
All the talks were highly interesting and not too difficult to follow for a beginner like me. So I want to share my biggest takeaways from each of the talks.
Keynote – Appium: The Untold Story
The day began with a keynote from Dan Cuellar and Jason Huggins. They spoke about the history of Appium, where it is now and briefly touched upon where he wants it to be in the future and mentioned their vision of StarDriver.
They want to see Appium grow it’s users and the platforms it can test particularly to the internet-of-things and various hardware.
The best takeaway for me from this keynote was the phrase “Challenge everything you see”.
Appium: A Better way to Play the Game
This first talk was given by Charlene Granadosin & Charlotte Bersamin. What I found interesting within their talk was how they were integrating their release and exit reports within Jira using Xray. They used a curl command to upload their latest test results to Jira so these results are clearly visible to the Product Owners or Managers of the team.
My biggest takeaway from this talk was to investigate whether the tools we were currently using for test case management was able to integrate with Jira to give such detailed reports and to try and get the automation up and running.
Deep Hacking Appium for Fun and Profit
Daniel Puterman‘s talk explained how he had contributed to the Appium project by creating a new endpoint to gather native application screenshots.
Because the company Daniel worked with was Applitools, my biggest takeway from this was to figure out whether visual testing tools would be useful for testing virtual reality (VR) applications as much as they would be for websites of mobile applications.
Why the h# should I use Appium with ReactNative?
Wim Selles delved into a comparison talk about why they chose Appium (which was extremely useful as I’ve also been debating what automation tool to use for mobile apps).
Out of all the frameworks he mentioned, they went with Appium because it fit with a lot of his requirements for testing ReactNative apps.
There were a lot of takeways for me from this talk.
Consider your own project requirements when you pick your automation tools
What are your requirements?
What should your app do (now/future)?
Which tool supports your needs/expectations?
Do a proof of concept test
Do research into competitive tools
He also gave a couple of good ways that you can speed up app testing:
Remove animations on screens
Utilise deep-linking to get directly to screens
Layout Automation Testing (GUI)
Prachi Nagpal explained how she was using Galen to perform her UI browser based testing for mobile and desktop devices. Galen does this by measuring the distance between elements that are being tested. You can also produce heatmap results from this tool.
It was a good talk and interesting to see a tool that I had never heard about.
Can you please provide the full Appium Server logs? A Brief Tour of the Logs
Isaac Murchie next walked us through the Appium logs and the takeaway here was that he pointed out that some lines are bolded to highlight their importance.
He also noted that the following are ways to know which are requests and responses in the logs.
This is a request:
This is a response:
Interaction with Native Components in Real Devices
In his talk, Telmo Cardoso told us how he tested native components of mobile operating systems. He explained the challenges that he faced (some tasks were difficult on one platform but easier on the other) and ways he and his team had got around them.
The areas he found challenging were:
Pushing files to a device
Simulating low battery
The biggest takeaway from this talk was that he used Cucumber for his automation framework along with with Appium successfully to test the native applications and features of smartphones and not just the applications running on them.
Using Appium for Unity Games and Apps
Because of my daily work with Unity projects, I was particularly looking forward to Ru Cindrea‘s talk on how she used Appium for her Unity games and apps.
She first explained how she used OpenCV an image recognition tool with Appium to try and test her Unity games.
The positives were:
Works for simple scenarios
No changes to game required
Found issues like performance issues or out of memory crashes
The negatives were:
Wasn’t fast enough
Not for games with lots of text
So she decided to create a component called AltUnityTester to help her with her issues.
AltUnityTester is created with Python bindings. It opens a socket connection and waits for a response on a specific port.
When the AltDriver is added into the Appium project it gets a list and knows everything about that Unity scene’s objects. It can then send a command to that port to get information back from the scene to perform tests e.g. checking the end position of elements or text output.
This solution is useful because it’s real-time but it does require changes to the project and it only works with Unity.
So my biggest takeaway was to investigate whether this AltUnityTester could be extended or something similar made in order to test VR applications using Unity.
Docker-Android: Open-source UI Test Infrastructure for Mobile Website and Android
Budi Utomo next talked about his Docker-Android image to test Android projects and websites on Android devices.
His plan for project development was to:
Create UI tests for Android devices
Write unit tests on Android
Create UI tests on Android apps
Implement Monkey/Stress tests
The biggest takeaway was the demo that showed how Appium can be used easily within Docker containers.
Application Backdoor via Appium
Rajdeep Varma explained how you can use Appium scripts to call development code methods from test code.
He used Appium in this way because he was having a number of problems when trying to write tests:
System pop-ups were called and were not needed when running tests
Driver limits e.g. mocking the device has been shaken or changing time limits
Tests were slow to run
This is where he is using backdoors and where he thinks they could also be used:
Changing backend URLs
Changing app locale
Getting session ids from the app
Disabling “What’s new” pop-ups
Disabling client side A/B tests
Faking SIM card for payments
Get analytics data from the app to validate it
The biggest takeaway from this talk was to be careful not to use backdoor for every test case and call incorrect methods in order to make tests pass.
Mobile Peer 2 Peer Communication Testing
Canberk Akduygu gave us a talk about his challenges when automating the BIP app (it’s like the Turkish Whatsapp).
He was building an extended grid solution to change to the right version of Appium and set the desired capabilities within their testing framework according to properties set in a JSON config file.
His demo was the biggest takeaway which showed two phones messaging and even calling the other. It was one scenario that was running two different steps on each device. It showed that the test steps needed to be synchronised.
From a Software Tester to an Entrepreneur: What I’ve Learned
Kristel Kruustuk next came on stage and walked us through why she founded Testilio and her struggles with the company despite being so successful and growing at a fast pace since she began.
My takeaway from this talk to was investigate and get in touch with the Testilio team and see if they had any future plans for expanding from manual and automation testing to VR testing.
Appium: The Next Five Years
Jonathan Lipps gave the final talk and began again with the history of Appium but then spoke more in depth about the vision of the product over the next five years and hopeful milestones. Some of these things were:
Node js base classes and libraries for easily writing new drivers
Lastly, we were treated to a performance featuring Jonathan Lipps, Appium and Selenium. I believe four or five instruments were being played by Appium, Selenium was outputting the lyrics and Jonathan was singing and playing the ukulele.
My biggest takeway from this is that Appium can be used in a variety of ways to perform a number of impressive tasks.
The after party was held at a bar a short walk from St Paul’s Cathedral. There I managed to talk to Ru Cindrea in more detail about the project I wanted to use the AltUnityTester for and whether she thought it would work. I also, managed to talk the ears off of both Charlene and Charlotte who were the speakers from the very first talk of the day.
I had a great day, met loads of wonderful people (including attendees and speakers) and I hope that next year, I’ll have begun using Appium for something that I do so I can share my own experiences with the community.
The Xamarin Dev Day was held at Microsoft’s building near Paddington. It was a modern building, very bright and filled with light.
What Was Covered on this Xamarin Dev Day
Short presentations were made to start the day off. The presentations given were:
Intro to Xamarin
Cross platform Xamarin
Cloud Xamarin (Azure)
The Hands on Lab session began after lunch where we worked through setting up a Xamarin Forms app and connecting it to an Azure mobile backend.
What Did I Learn
I learned more about Xamarin Forms and that Azure should be an option when I’m developing mobile apps, especially using Xamarin, as you can connect with it by following a step by step guide. And the Xamarin team have made a GitHub repository of example code to help just in case I forget.
Using Azure, I was able to spin up a mobile backend in minutes. And although you have to pay for the use, you only pay for what you use.
I need to look into how compatible Azure is with Unity, but it seems like a good option for a backend solution.
The best thing I think was learning about Azure. The downside of the day? Building my project seemed to take between five to ten mins at times, and that was before it got to the iOS emulator. Not sure if this was just an issue for iOS and not Android. Unfortunately, I was behind on the latest version of Android and couldn’t build an Android project.
Before going to another one of these Dev Days, I need to:
Make sure I update Mac OS
Get the lastest version of Xcode to get latest iOS SDK
Update Android Studio to get the latest Android SDKs