This week we bring to you a brief conversation with Dave Kearney, CEO, FluidUI.com, wherein Dave shares insights about his experience in the mobile development industry.
Related: Courses on Mobile Development
Hi Dave! Thanks for taking time out to speak with us. Please tell our readers something about yourself and your past experience in the Mobile/Software Development industry.
Hi, I’m Dave Kearney, founder and CEO of FluidUI.com – a tool designed to help people design and share ideas for mobile apps. Due to our position at the earliest stages of getting an app developed, we frequently deal with people who have ideas but not necessarily the technical team or ability to develop the apps themselves. Our service allows people to create – code and technical knowledge free – a visual representation of an app on a phone or tablet.
Prior to starting Fluid UI, I worked as the head of development with a telecoms company providing low cost international calling, SMS and automated voice answering services in the Irish, European and Australian markets. There I managed the UX, development and QA teams just as the transition from SMS and WAP based mobile services to the earliest smartphones with proper browsers and apps was happening.
I’m passionate about combining beautiful user experiences and efficient development practices, in particular about how great design can not only improve the efficiency of use of a product, but also help bring projects in on time and on budget – providing a massive win for client, customer and developers alike.
It would be great to hear your experience with companies in the Mobile App Development space.
Because of the product we are building, we’ve dealt with a wide range of people involved in mobile app development, from Stanford university professors teaching user interface design to large corporates and consultancies investing in their design and requirements capture processes.
One of the proudest moments I’ve had with Fluid UI was when our product was used to teach young students from some of the poorer areas of New York about design and about how, if they stayed in school, they could learn a profession that will raise them out of poverty and make them some of the most sought after and valuable members of the workforce. Knowing that even one child might have chosen a better path is hugely important for me in feeling like I’m making a positive impact in the world.
One thing that surprises me still is how little value people give to the design process and the benefits it has not only in terms of improving the quality of the user experience, but also in the peripheral effects of the design process – such as improving the predictability and overall cost associated with software development. I know of consulting companies with over 200 developers and not a single designer. That kind of company simply cannot create products that are either efficient or desirable from a user perspective and often use software development techniques that result in significant cost overruns in the development process.
We also deal with a lot of small companies, often doing design for their own products – on at least one occasion a founder has raised funding directly off the back of a Fluid UI prototype. Lastly, our product was used to design an app that tracked the spread of Ebola in Africa.
How do you deal with security issues while creating mobile enterprise apps?
We don’t create apps directly, but all of our customers are either designing and developing apps. We have done a number of deployments of Fluid UI inside local intranets primarily to mitigate enterprise security concerns and have learned a good bit about the expectations associated with these types of customers.
When developing secure mobile apps in the enterprise space, the biggest risk is the loss or theft of a device which has access to sensitive corporate data. With the current trend towards bringing your own device (BYOD) working practices, you need to be sure not only that your official office devices covered, but also that any other devices that might be used by your staff are secured (including antivirus etc).
The first part of enterprise security relates to knowing what devices are allowed access your data and comparing it to what should be allowed access. Access to data or services provided over the web should be “default – deny” – meaning any new user access needs to be approved on a device by an IT or security person before access to data on that device is provided.
When a security breach does happen, it is important that you have the ability to remotely revoke access to your data. Thus, it is better that no sensitive data is ever stored on a device – only temporarily loaded and deleted upon logout or closing of the app. Whenever sensitive data is accessed, it should phone home and ensure the information can be accessed on that device. Then, by adding a security “kill switch” that your IT team can flick with a defined data security process and appropriate training, you can ensure that in the case of a device going missing, you can immediately disable access by that device to any sensitive data and reduce the risk of damage occurring to your company.
If you have this process in place, you can then take more detailed steps to ensure the protection of sensitive corporate data such as using secure connections, device tracking or any number of other approaches – it all depends on how sensitive the data is and how much you are prepared to invest in its protection. At the end of the day, if security is a major concern, there are a number of very successful consulting companies who help set up the processes needed and it is worth following up with them rather than going it alone.
How do you choose a development technology while creating a mobile app?
There are three approaches to choose from – I’ve written about them more extensively on our blog here. In short, the three options are Native, Hybrid or HTML5.
For Enterprise, native will give you the best results if you have tight control over the types of devices you are running on – for example if everyone in your organisations is using an iPhone. If you have to develop the same app multiple times for different device platforms (iOS, Android, Windows phone etc), the costs and drawbacks can quickly mount up and hybrid or HTML5 quickly become better options. If you are building a customer facing app where speed, quality, performance and beauty are critical, native will probably be the best choice, despite the higher costs associated with it.
Hybrid is probably the best of the bunch for Enterprise. It’s basically a small shell app that loads a HTML5 website. It means you can remotely update the app on an ongoing basis, and all data can be securely stored on your servers, not on the device.
What are some of the biggest challenges that the developers face while developing mobile apps?
The biggest single problem faced by developers is the level of device fragmentation and platforms that need to be supported. For Enterprise it’s bad, for customer facing apps, it’s horrible. As of 2014 (for example) there were over 19,000 different android devices on the market. Each device can have different versions of Android, a different screen size, a front facing camera, a back facing camera, no camera, 3g/gprs or just a wireless connection, bluetooth, NFC…the variations are endless. When developing, you simply can’t take anything for granted.
Once you have developed an app that supports the myriad of devices (often at great cost and frustration), you still have to get noticed. Just like SEO (search engine optimisation) and online marketing became a field on their own in recent years, the art of app store marketing is itself becoming a required discipline. Often the big players get preferential treatment in terms of app store promotion and breaking this glass ceiling requires luck as well as a great product and reviews to succeed.
Finally, once you get noticed, you have to be wanted. You have a tiny amount of time to sell the user on your product – the market is crowded with competition and if the user doesn’t understand your product, they’ll just as easily move on to the next one as take the time to figure yours out. The quality of your product and the user experience has to be exceptional.
Combine all these things and you might stand a chance. Without them, you are relying on a lot of luck to be successful.
How do you deal with user experience in cross platform scenarios?
Nice question, and one that is difficult to answer. The key, as always, is understanding your user’s goals and delivering the best solution to help him/her achieve them.
The available screen size is typically the most significant design constraint you need to work with. As a general rule, the smaller the screen, the simpler the functionality needs to be. If you are designing for a one size fits all solution, that means you need to design for the smallest screen size in the range of devices you are supporting. At a certain screen size and above, you may wish to allow for additional features or depth. Bootstrap – the css framework created by Twitter to help deal with the screen size problem – allows you to specify 4 different screen sizes by default, mapping roughly to mobile, tablet, laptop and larger desktop screens.
One frequent mistake to avoid is trying to fit all the functionality into too little space. Each UI has a living, breathing feel to it and the rule of “less is more” applies even more so now than when the phrase was first used to create stunning designs in the 60s.
Screen size is far from the only factor. You will also need to decide how much you want to leverage the individual strengths of each platform. For example, if you want to use NFC you are limiting yourself to the set of devices that contain that technology. Often features like this can be used to add additional functionality and improve the user experience, at the cost of additional work to support other devices, or reducing the size of your market by limiting your features to those accessible by your customers.
Delivery of rich mobile content eats up a lot of bandwidth, any suggestions on how to deal with this situation?
This one isn’t in my core area of expertise – but I would share one or two pieces of wisdom about handling infrastructure costs. Typically it’s far cheaper to upgrade your infrastructure (particularly in the world of cloud computing) than it is to pay a developer to optimise parts of system. You can then use that developer time to improve the quality of your product, thus increasing its value to your customer – and ultimately increasing the price you can charge for it.
Also, solve the problems you have now – not the ones you imagine you’ll have in future. Often predicted problems dont materialise, or you never grow enough to have them anyway. You need a lot of scale before infrastructure scaling costs outweigh the human cost of optimising them, and those costs do tend to scale linearly and predictably – meaning once you do achieve growth and success, you can plan your architecture then with a great deal of confidence and a rake of users already engaged with your product/service.
What are the top 3 learning tools do you suggest your developers who are getting into mobile app development?
I’m a great fan of diving right in and getting something basic up and running as soon as possible. Pick the right IDE for your app (xcode, Android studio etc) and get something compiling as soon as possible. There is a lot more to be learned by failing than there is reading about how to succeed.
That said, the one thing that life has taught me though is starting by writing code is the main ingredient in a failed project. So if you are starting out with an idea, it is critical that you design it first and develop it second. There are plenty of prototyping tools on the market (50+) including our own Fluid UI – find one that suits your workflow and make sure to make a lot of the decisions you need to make for your app at the right time – and that time is not after you have wasting a month’s worth of coding time.
Finally, stack overflow. Most code isn’t written any more, it’s copied from snippets on stack overflow. I don’t think any serious developer can work without its wisdom any more.
What are your top 3 go to resources to keep up with the trends in the Mobile App industry?
What are your top 3 go to resources to keep up with the trends in the Mobile App industry?
My favourite content tool right now is https://usepanda.com/ which gathers feeds from a lot of the big industry sites from Dribbble, Designer news, Hacker news and more. Other than that, I’ll occasionally browse wired.com and in work we use Hipchat to share interesting content people find – most of the team will post useful links there each day and our marketing team stays on top of the upcoming industry news and live streaming presentations which we’ll watch and ideate around. I’ve also started blogging pretty actively at blog.fluidui.com and that requires doing a lot of research for each article – forcing yourself to write about something is a great way to make sure you have a deep understanding of it.
Thanks Dave! It was nice speaking with you.
Wish to have a mobile app for your business? Take this quiz to discover which country should you outsource your mobile development efforts to?