What companies want from an Ionic developer

I’ve recently started a new Ionic project, where we are already using Ionic v4. Through chatting with the team, I’ve realised that being an Ionic developer is a specialist role and by working as a developer in such a specialist role there is more to it than being able to code.

When a company decides that they are going to be developing their new mobile project in Ionic, they are making an investment in a technology that is not yet the norm for building mobile apps. They have spent the time to look into alternative ways for creating their app, they need to be sure that the road they are going down will mean that the app being built can fulfil all the business needs that they have for the app.

With native app development, the path has been proven. There are tons of examples of business apps developed in Swift or Java that show whatever the company’s needs are a native app can be built to meet those needs. But as we know as a hybrid developer, there are a few drawbacks from building native apps. There is cost, there is timescales and availability of development skills. All things to think about when deciding what to use to get their app built.

So when a business has decided that they want their app built using Ionic as the ‘Ionic developer’ who is working on the project you are seen as the expert. Not only should you be able to develop an app with Ionic, but you need to be able to guide the business through the process of having building a hybrid app.

The sort of advice you will need to help the business with could include, how will the app perform in relation to other apps they may have seen? You may have to convince the business that the app is fast, or appears fast to the user. How will you add features that show the app is fast? You’ll have to suggest ways like having loaders when data is being retrieved, showing update messages when a form is being submitted. Do you know how to partially load data into the view, so the user sees something as soon as data has been received.
You have to also show them how an Ionic app will be deployed. What are the various options? Are they going through the App Store or are they looking to use the Ionic Pro tools, do you know what the Pro Tools do? If they are using them you’ll have to help with the deployment stage.

Security is an important part of any business app, so you’ll have to know about the different approaches there are to securing an Ionic app. You’ll have to be able to advise on what Cordova plugins could be used to store data securely. You may also need to what other options they could use to secure an app. Is biometrics an option, could they use the native finger print reader within the app? How would you suggest API tokens are stored and passed with every API call?

If the business has an existing design style, how will that work within a mobile app? Does it work across all platforms and still look and feel as a native app should for the user? You will have to give the business advice on how the app will look in order to work for the user, without trying to tell a professional designer, who knows more than you do, how to design.

There are a lot of questions that a business will have when going through the process of having an Ionic app developed. As the Ionic developer you need to be able to guide the business through this process. It’s not just a case of just sitting behind a monitor with you headphones on writing Ionic code, you need to actively work with the business in all aspects of building the app.

But there is more we can do as Ionic developers. We can write blog posts on how we solved these types of questions. There are many brilliant blog posts on how to create an app with Ionic, but there aren’t many about how an Ionic developer has used the framework and the tools Ionic provides to solve a business need.

I’d like to see more blog posts on how security was built into an app, how data is stored securely in the app. What methods someone used to shows that the app is performing really fast, how was this monitored? What ways was the UI setup to show to the user the app was performing well for them?

There are many examples of posts about the setting up and building of an app and this will continue now we have Ionic 4 coming out with its support for multiple frameworks. I’m in the process of writing a book about Angular and Ionic, where I go through the basics of creating an Ionic app. This is all great for new developers coming to Ionic, the more we have the better.
But I think we also now need to show how we as Ionic developers are using what the framework provides to show businesses and enterprise level companies how Ionic can be a viable option for their next business application.

As Ionic developers we need to be this guide for businesses as well as developers. With Ionic 4 coming soon its time we stop telling each other how great Ionic is and now start telling businesses how great an option Ionic is for their next app.

Slack doesn’t replace a forum

Or how Mike Harington from the Ionic team deserves an award.

The more and more that Slack gets popular, the more it is being used as a way of a team who runs a product to communicate with the users of their framework. While initially, a Slack channel is a great way to speak to the team behind the framework, it can soon become unmanageable and just a lot of noise.
The old fashion forum is still the best way for users to get the help they need.

For example, I’ve been on the Ionic Worldwide slack channel for a few years now. Originally it was just a UK based slack channel, but soon it was opened up to the rest of the world. More and more channels within the group started to open. Channels to ask technical questions, ionic questions, channels for different countries. It soon became a massive community.

I was in the slack group today and I was going through the ‘Technical Questions’ channel. In here people can ask questions about apps or the deploying of apps using the new features of Ionic Pro. In here you’ll usually find Mike Harington from the Ionic team. He’s so helpful, always trying to give help and advice to people who post questions.

But going through the questions being asked and how people are using the channel I do feel sorry for Mike. He’s trying to help and he keeps getting people mentioning him directly with their questions, or screenshots of errors posted by people who expect an immediate answer from Mike (I’m sure that helping on the slack is his full-time job).

It’s this demand for an immediate answer is what is wrong with Slack as a way of support. Some developers hit issues, then take a screenshot of the error message and throw it on Slack and then demand an answer almost straight away. They need to spend a bit of time understanding the problem, what is the error message actually saying? Could stepping away from the computer screen for a few minutes help you see the cause of the problem?

A forum allows the developer to write a clear description of the problem (well hopefully) which sometimes by writing out a description of the problem actually helps clear up what the problem is. It also allows others to get involved, Slack is more of a conversational thing than a forum.

While Slack is great for teams working on the same project to communicate, I don’t think it should be used as a way for a community to get support for their own projects.

So do Mike Harington a favour, when you have an issue with your Ionic app, go to the forums, search to see if others have had the same problem and then write a clear explanation of the issue. Then sit back and wait for the fantastic Ionic community to help.

Are Mobile Apps Doomed


Photo by Adrien on Unsplash

I recently read an article called ‘Mobile Apps Are Doomed, I Repeat All Mobile Apps Are Doomed’ a very provocative title. In the article the author Rajat Saxena, who is an Android developer, says that if you are planning on releasing your own apps to the app stores then he has news for you, you’ll hardly any downloads. The reason for this is that no one downloads apps anymore. According to him there are only a few apps people use now, Facebook, Snapchat, Twitter and Instagram.

It’s a very interesting article to read, to get a developer who has a few apps in the stores, perspective on how hard it is to make a living or money from the App Store.

Does this mean as mobile app developers we should stop building apps? As the title says, mobile apps are doomed!!!!

Well the author goes on to say he doesn’t think so, instead we should be apps that have more value to the user. Apps that use AI in order to give the user an app that works for them, has great value to that user. And it’s this user engagement that will make you, as an app developer, successful.

I also think there is another reason why app developers shouldn’t give up just because apps don’t sell so well in the App Stores. More and more businesses are developing apps internally for their own business needs. As mobile is now everywhere, businesses are building apps for their staff in order to help them carry out their jobs. I myself have built a number of internal apps.

So if you are either a hybrid or native mobile developer I don’t think it’s a bad time to be an app developer. It’s just that the dream of making it big through the app store is no longer so easy or so common.

Does it matter what an app is built in?
Well not really?
There has been a big argument on Twitter about NativeScript vs Ionic or NativeScript vs Hybrid and how you can upgrade to NativeScript from hybrid.
Of course the hybrid people weren’t to keen on that idea.
But really in the end it’s all about the app and what it can do and how it performs. I choose to create Ionic apps because I like how Ionic works, and how you go about developing Ionic apps.  I think the team at Ionic have done a fantastic job creating a framework and SDK that allows me to create cross platform apps.
It only matters how apps are being built if you have something to sell about how apps should be built, whether it’s a book or a course. Me, I like to build apps that perform well, look good and do exactly what the clients what the app to do.
The Rockd app really does rock

I recently read a great post on the Ionic’s Medium blog highlighting a new Ionic app called Rockd. I’m not a geologist, but this app looks really good.

What I like most about it is that is shows that mobile apps can be more than just games or productivity apps (which I do like). Mobile apps can be used to support a hobby or learn about a new skill. As we move into a more remote work place, mobile apps can help organisations and their employees work better.

I think that Rockd allows users to discover more about geology, it’s good to see an app developed for something else.

Progressive Web Apps and the enterprise

I’ve recently been watching talks from Google’s PWA Summit while watching the various videos I could really see how Progressive Web Apps (PWAs) can really help in an enterprise arena.

For example a few months ago I was working on contract at the UK Houses of Parliament, for a team that built apps using web technology. We started building mobile apps using jQuery mobile, Bootstrap and eventually Ionic all great technologies (though Ionic is my personal favourite). While we could easily develop these apps it was the building and releasing the apps where we encountered problems.

The main cause of the problems was IT security. As you would expect security there was very tight, this also included IT security. So having access to tools like NPM or GitHub was restricted, both tools that modern web developers take for granted. We even had to download the Ionic framework ZIP folder in order to create a Ionic site/app.

So in order to release an app we uploaded the ‘site’ to an external host (a mission in itself). Then when a user went to the site they were told that they could add a link to the this mobile site on their phones home screen. Using the fantastic AddToHome JavaScript library. Then when the user clicked on the newly created icon the mobile site opened in a full screen browser.

For offline support we used appCache and if we wanted to record offline data we used localStorage, though it does have limited amount of space.

Now after reading about Progressive Web Apps, I can see where they would be extremely useful in situations where teams don’t have access to the modern build tools or app framework tools that are now common place in the web.

For the apps we built at the House’s of Parliament, Progressive Web Apps would be so useful. Using service works for offline support, IndexDB for data storage, push notification and the install on home screen features that are part of PWA are all features that we used at Parliament. And being able to release apps without having to build them or release through the apps stores, both of which access to them could be blocked due to the security settings.

When I told the team at Parliament about PWAs they were really excited. I for one look forward to seeing what they make with them.

I really think that Progressive Web Apps are a fantastic technology and I really look forward to working with them.

Ionic 2 links

I’m starting to look into learning Ionic2 (and Angular2) so here are some links to articles and resources I’ve been reading about Ionic 2:

Here are some great videos:

These are just a few of links I’ll add to them as I find more. I’d also recommend the Building Mobile Apps With Ionic 2 book from Josh Morony

Can you call yourself an Indie Dev

As I’ve mentioned before I’m a big fan of indie devs. And one day hope to be in a position where I can make a living being an independent developer. One question that does cross my mind is can you call yourself an indie mobile developer when you don’t write native apps?

The obvious answer is yes, it really doesn’t matter if the apps you build are built using Objective-C, Java or JavaScript. As long as they sell and are good quality apps then it doesn’t matter.

But all the indie devs I know of seem to just build native iOS app. This is probably because the iOS market and app store were the first so developers went and joined the iOS market building native apps. There is a Slack channel for iOS developers, which I belong to. In this channel there are a lot of developers who are building apps for themselves either full time or part time. But all of them seem to be native developers.

I think that being a hybrid app developer would be a good thing for indie developers. When they create an app they can target both major platforms (and now Windows with Ionic 2).

I suppose the question is not what programming language you use to make apps but more how successful you are at shipping apps, marketing them and expanding upon them. I’ve posted a question of the Ionic slack channel to see if any developers there are independent it’ll be interesting to see the response.

Free Work, does it pay

Recently I was contacted about a small project, which is fine. It’s nice when someone reaches out to you about a project. The project is a small mobile app (using Ionic) with probably a tight deadline. This is all I know so far, but from the tone of the message I received it does sound like it would be a ‘do this for nothing so we can see if we will send more work your way’ type of thing.

These type of projects do seem to come up more and more for mobile apps, just ask Jason Keen he’s a AppCelerator developer who I follow on Twitter, who has discussed this issue many times.

Now I like the sound of this app, it would be another example to add to a portfolio, something it the app store. I also have time while looking for a new full time contract to do the app, but is free work ever a good thing? (This ending a sentance with a ? reminds me of when my wife watched Sex in the City, terrible program)

So what to do when something like this comes up. It’s a bit of a gamble, especially if you are starting out. You like to have some work coming in and if a new project could lead to more regular work (though there is no guarantee of this).

Well there are still plenty of more questions than answers so it’s worth seeing where this goes.

What do others think? Is free work ever worth it? (Dam!! I have to stop finishing sentances with question marks)

SyncHerts mobile development event

I went to my first SyncHerts event in a while. It was about mobile development, a favourite subject of mine, so I was keen to see what others in the local area are doing.

This was the second part of a 2 part event. In the first event people broke into teams and wrote user stories and made UI designs. In this the second part they needed developers to actually make these apps.

so again we split into teams and as the developer in the team I started making the app with Ionic. We only had 20-30 minutes before we had to demo to the other groups, which isn’t long enough to create a fully featured apps. But with the power of Ionic I was able to build an app that loads in a JSON file with a list of pizzas (it’s a pizza ordering app) then when you select on a pizza you get to see the full details of the pizza. Finally we added a Order button, so people could chose which one they wanted ordered for the next meet up.

We weren’t the only team using Ionic, another team had created a Ionic app that used a carousel to go from one pizza type to the next. Another team used Xamarin, and another team used Bootstrap with ASP MVC.

It was interesting to see how quickly people could get something together in such a small space of time. It was also interesting to see what technologies people would use.

I was impressed with how quickly you could build something that looked OK and worked using mobile web technologies like Ionic.  I was also able to load the app on my phone to demo using Ionic View.

I might add to the app and get it on GitHub