Gera: In this episode, we’re going to talk about the role prototypes play in making the software your customers actually want to use. As my guest today, I have Arsen, who’s been working as a software developer for over 20 years. He’s going to give us some insight into how he does this on the Ionic platform. Go ahead and introduce yourself, Arsen. Tell us why you are awesome.
Introduce Yourself. Tell us Why You Are Awesome?
Arsen: Well, I’ve been doing this a long time, as you said, and kind of put a lot of effort into keeping up with the trends, constantly monitoring groups forums to see what others are doing, to see what technologies are picking up steam, what’s trending. So, yeah, right now, I think Ionic is kind of the best offer there is for building prototypes, cross-platform prototypes.
Gera: Yeah, it’s there are so many different platforms out there to choose from. As a developer, I can imagine the kind of making the decision what you want to invest your time, energy, and effort into really understanding on a deep level can sometimes be tricky. But I’m definitely excited about spending some time with you today and really understanding why Ionic is particularly good in the idea of creating prototypes. So tell me about the last prototype that you built on the Ionic platform.
Arsen: So the one that I’m working on right now is the psychology app, OK? And it works pretty well. Ionic has a bunch of built-in components, so kind of these are the out-of-the-box tags that you could use that are ionic specific, and it will compile your Ionic project into a native project. So for instance, you do Ionic build and it’ll generate a project for you for Xcode. So then you open up Xcode and from Xcode, you deploy to the App Store
Gera: Now before getting too deep on the specifics of Ionic. Let’s just talk a little bit about the psychology app in general and why it’s awesome, why people should use it. Then we’ll kind of unpack what it looks like to take that idea and actually prototype it. So let’s talk a little bit about the psychology app. Let’s unpack it a bit as far as why it would be something that someone would want to use.
Tell Me About The last Prototype You Built on Ionic?
Arsen: Well, it’s kind of specific to individuals, right? Obviously, someone who is not interested in monitoring their thoughts and kind of taking a deeper dive into themselves. It’s not relevant, right? But for someone who is it’s, it is relevant. But you know, my sense is like as far as talking about the psychology app itself, it’s I think it’s like a different conversation. It’s not a technology conversation, it’s a psychology conversation. And I would rather steer towards the technology itself, meaning why Ionic was chosen, for instance, in comparison to the other options that are out there. I could give some examples of other competing platforms and why I think Ionic is the kind of the best game in town. Ok, sounds good. Ok, so Ionic’s main competitors are flutter. That’s something that Google has been promoting quite a bit, and that’s picking up steam. And then the other one reacts natively. What I really like there are certain features in Ionic that I really like that are, for instance, I’m not aware if they’re available in React Native. Maybe they are. Maybe I just couldn’t figure out how to get that to work. But basically, the development cycle in Ionic works really well, where you can have code open on one screen and your prototype preview on another screen, in a browser, or in a simulator. And as you’re making changes, it literally takes less than three to five seconds for your updates to reload, refresh on on a running app and that’s called the hot reload right now. That feature is also available in Dart or Not in Dart in Flutter, which uses Dart as a language. But since I’ve, I have quite a bit of expertise with React, I decided to kind of stick to that ecosystem with Ionic so that I didn’t have to learn the intricacies of Dart to accomplish. The kind of things that I’ve kind of knowledge for which I accumulated knowledge using React.
Why is Ionic so Good at Creating Prototypes?
Gera: Ok, so let’s focus on this, why is Ionic so good at creating prototypes other than, you know, you mentioned this kind of hot reload aspect where you’re making changes, it kind of compiles on the fly, so you’re able to quickly see. Here’s the effect that making this change has. Let’s talk a little bit about why Ioniq is great at prototyping specifically.
Arsen: Well, the main reason to use Ioniq is that is the cross-platform aspect of it. So means you write it once using JavaScript or TypeScript and it will compile it to an Xcode project or it or an Android project. So you only have to write the code once it’s not like you need to. You don’t have to go through the development process twice for two different platforms, and Ionic also has a, you know, it works as a progressive app, so you automatically get the benefit of not having to go through an app store at all to get get it installed to get your app installed.
Gera: Yeah, definitely saving time on creating software for all three of those major platforms. I can imagine it’s pretty huge for the development cycle in general, other than that, what are other things that are so for example, like in other types of, I don’t know, ecosystems, there’s prebuilt components that you can get and install into your project. Is there a similar type of like ecosystem where you install entire prebuilt components into your project without having to build them from scratch?
Arsen: Yes. So let’s say you need some sort of a widget that probably already exists that somebody else has built. You could go to npm JS dot org and search for such a component. And there’s there probably is, let’s say, a React component. And so you just incorporate that react component into your project. And of course, that’s great. That saves quite a bit of time. And of course, these platforms that we’re talking about, this is all front end. So you build the front end and then you have a choice of what you want your back end to be. I’m not sure if you want to get into that aspect of development in this conversation.
Ok, let’s say someone is ready to hire you to build a prototype. What would they need to deliver to you to make this process go as smooth as possible and create the best product?
Gera: That’s all right. Let’s go ahead and move on to this next question. So let’s say someone is ready to hire you to build a prototype. What would they need to deliver to make this process go as smoothly as possible and create the best possible product?
Arsen: Mm hmm. So ideally, they would have already spent the time working with a UX/UI designer to kind of think through the user experience. So, you know, thinking through the register page, the reset password page, the login page, whether or not there is a need to do a social login. So like all these basic things that oftentimes are not thought about upfront. And so just thinking through every screen and building a wireframe prototype and non-functional wireframe prototype, that would be the first step. And I personally prefer for someone to go through that process with someone else. But there’s been plenty of times where I would start working with a client and we’d just start brainstorming because a large portion of that is brainstorming is thinking about what the user journey is, is thinking about how the application would be used, what the business requirement is, maybe even thinking through what the business model is for, for building this app. And so a large chunk of that should be done prior to the coding before the coding starts. Mm hmm. So normally that’s somebody else would do that. But I’ve done that part too, and there is a certain value with having me doing it as well, which is when somebody has some sort of a requirement, I probably can guide them in thinking through what that integration looks like. So if they’re building an app and let’s say it needs to pull in banking information, for example, or, let’s say, shipping information or generate a shipping label or interact with some sort of a third party API. Having a developer participate in that process in that thought process is important because. A U.S. person may not have some sense for what’s involved and what that looks like, right, and the intricacies of actually doing those kinds of integration. So a technical person is definitely useful for that part of the process.
Cost? What type of cost should someone expect for 3 types of projects.
Gera: Hmm. Ok. So I know each project is very different. But when we talk about cost, what should somebody expect to pay for? Let’s maybe estimate three different types of projects so that we kind of have a general idea of what a prototype, not a finished product, but let’s say an MVP that you can start testing with a group of beta testers, let’s say a simple, an average and a complex type application. What should somebody expect to pay? And let’s say we’re just looking at the development aspect and assume that they’ve already gone through the UX UI, created the screens, created the business model around the idea. So you’re kind of getting handed a map for this, this application. What should somebody expect to pay for kind of these three different types of projects?
Arsen: Yes. So it’s very kind of subjective. The answer to that is is quite subjective because simplicity means different things to to to different people. So really, before anybody can before a developer can quote somebody with something like that, they should be able to see those screens, all the screens. And even after looking at those screens, depending on what the functionality of those screens are, that’s going to potentially greatly impact the amount of time that it takes to do something. Also, the developer will probably charge. They’ll try to estimate some sort of a time amount that it will take them to do that. So if a developer has experience with the kind of requirement that the client puts out, then he or she will be able to complete that portion of the project, let’s say, 10 times faster than somebody who is doing it for the first time. And somebody who is doing it for the first time could have 20 years’ worth of experience, but they have simply never done that specific type of a requirement before. So those processes take longer. So it’s really tough to do any kind of an estimate on that. Also, there’s the question of, well, where are they going to hire? Are they going to hire us? Or are they going to find developers, let’s say, in Pakistan or India or Russia or Ukraine? And the hourly rate tends to be cheaper that way.
Arsen: But sometimes there’s a communication barrier and the reliability barrier and other potential minuses that you get when you’re working with an independent consultant. Alternatively, you can find an agency that does this sort of thing. At that point, it’s safe to assume that whatever quote an independent consultant will give you an independent and independent agency would probably give you two times to 10 times what it might cost to develop that. Because if it’s a large agency, you know they’ll have a project manager, they’ll have several developers on it. There is a certain kind of overhead for coordinating these sorts of things, and it could, but it could potentially be done quicker. But it’ll be spread across multiple people, and there’s the coordination aspect of them working together to get something complete. And again, what we’ve discussed so far, as far as Ioniq goes, that’s just the front end. So on the back end, how that database looks like, what the business logic looks like, what the security model looks like on the back end, how credentials are going to be stored, all those questions have to be answered as well, and somebody has to build that.
Gera: Yeah. So clearly, it’s kind of like a complex idea as to how somebody would charge for something like this. But let’s define the scope a little bit more. Let’s say you weren’t a developer, but you kind of have a lot of this knowledge and you are trying to get this application built. What steps would you take to get the best price in getting a prototype developed on the Ionic platform? So I’m trying to extract some type of idea so that we can empower our audience to know, Hey, this is generally what you should pay, and this is generally the approach that would be. Take it you’re just dipping your toe into a kind of getting professional help on the prototyping aspect of your business.
Arsen: Gotcha. You know, I think on the money side of it, I don’t think somebody with an idea should invest more than five to ten thousand dollars into a project like that. So kind of what they ought to do is to define their budget and then based on that budget, create a wireframe prototype within Adobe XD or Figma or sketch and then see which present that to try to get quotes from multiple developers or multiple agencies to get a sense of what something like that might cost. And by multiple, I would say like three to five be good. And you might have someone who’s really high, someone who’s really low, and you’ll have to make the assessment. What’s the vibe of what the vibe would be of working with these people and then kind of go from that if somebody says, I can’t implement all of this for the budget that you have, then trim down some of the features that are outlined to try to fit into that to that budget. And then, you know, get that portion complete deployed and then move on to to to the next phase and maybe in terms of how you should pay for it. I would say pay either twenty-five to 50 percent upfront and then kind of as the project progresses, pay, pay, pay it, pay an additional portion of the budget as the project progresses, and then when it’s complete, pay the final twenty-five percent.
Gera: What platforms would you use to find these professionals that both, you know, you mentioned, like Figma and more of, like the visual prototype and Ionic? Which platforms would you use to even find these types of professionals?
Arsen: Mm hmm. Well, you know, Upwork, yeah, there is plenty of opportunities there, and perhaps that’s a good place to start another. Something to think about, too, is these the user experience may be ought to be defined by the person who is whose idea it is, and it might be worth their while to learn these applications like Adobe XD and kind of get their initial layout themselves. So and that’ll save them a lot of communication time to kind of get their ideas across to UX developers, and it’ll save them money in the process as well. And it’ll also just kind of get them to go through their own thinking process of what something needs to look like. So maybe I would say, if possible, take a stab at it yourself. You know, Adobe is free and somebody can install it or spend a couple of hours looking at the tutorials, how to use it, maybe do some trial and error of poking around and then kind of have that be the initial layout of what the product needs to look like. Maybe the next phase of that would be if they’re totally satisfied with what they’ve done, then work with that and get that to a developer. Otherwise, use that as a starting point to talk to a UX person, to maybe fix it, to make it look nicer, to do the alignments, to try to select the proper fonts and colorings for the platform itself, and just kind of polish it. And that might be worthwhile.
Gera: Hmm. Yeah, that’s really good feedback. I think just the idea of defining a lot of these things on your own instead of having to pay somebody to think through those ideas and try to extract that information out of you so that they can implement it. I think we’ll definitely help you control the cost of this project.
Arsen: Yeah, and I’m not suggesting either that there is kind of a wrong or a right way. Maybe it’s totally worth it for you to pay someone to do these brainstorming sessions and to kind of try to pull these ideas out of you. It’s really entirely up to the person that’s doing it. And you know, I guess what? I’m thinking about this too. I’m thinking about this more from the context of an independent person with an idea, kind of a solo producer that’s trying to get this lifted off the ground. They don’t yet have funding no investors. It’s kind of a vision that they have as an individual. So when we’re talking about larger companies, that’s kind of a different thing, right, there are different processes in the corporate context where you have business marketing kind of thinking through some of these things thinking about how they’re going to market the product, how they’re going to sell it. So upfront, it’s kind of a team effort in brainstorming. You might have people coordinating four or five people that are part of the same company who are trying to define a project, a product and then outsource it if they don’t have an internal development team themselves or if they have an internal development team themselves and they’re just too busy, that might be a way to kind of supplement those kinds of development resources by first doing it internally themselves and then finding kind of someone to outsource the technical part of it.
What are some things people should look for when hiring a developer to build a prototype for their business idea? What are the red flags or things to avoid?
Gera: Ok, so let’s move on. What are some of the things people should look for when hiring a developer to build a prototype for their business idea? Actually, both on the kind of like UX UI Adobe XD side, but also on the let’s say they do go Ionic. So what are red flags? They should? So what? What should they look for and what should they avoid kind of like along the lines of red flags that give bad developers away?
Arsen: Right. So the first thing they need to know is what they need to know themselves. What is it that they want, right? So they need to have a clear vision themselves. They need to know what is trending, so they need to know what technology they actually want to select for this. Because if they don’t, they’ll go on Upwork and they’ll search for some for someone, and that someone might be a low-cost PHP developer, for example, right? And they’ll try to build this product in PHP. And, you know, a person that doesn’t have a that’s not a technical person that’s not in tune with the trends. They’ll basically blow a bunch of money on legacy technology that’s kind of trending down and is on its way out, and it doesn’t have a future per say in terms of what can be done with it. And there are certain limitations of such a technology, so they really need to have clarity as to exactly what they want to be built and the trending technology that they will want to use to implement their vision. So at a minimum, they at least need to consult someone outside of Upwork to run outside of Upwork, but before they start searching to really lay these kinds of things out for them. So they benefit from, let’s say, speaking with me on a topic like this, and I can do some or give them some information about how something like this should be built now when they’re actually searching for a developer to do this, let’s say on Upwork or on LinkedIn or on some forms, for instance, then they want to definitely find someone who has done something like that before.
Gera: So if they are a reacted if the platform is going to be Ionic react, then they should find a developer that has experience with Ionic react not in angular, not ionic view, but Ionic react because there’s, you know, if they put in simply Ionic, it’ll find a bunch of developers. But if those developers don’t have expertise with that specific stack, with that specific technology, you know you’ll be the guinea pig. Your project will be the guinea pig, and it’ll take a lot longer for them to build this on this platform. Even though, as I said, they have, they may have plenty of experience. But if that experience is not so like ultra laser specific to your project, then it’s not. It’s not ideal, right? So if since you’re looking for someone who will build this for you, you might as well be very precise about who it is that you hire that matches your needs.
Gera: So I think I hear you saying is things to avoid is somebody who isn’t building your application in the exact stack that you envision it being built in. Like, if I’m just a guy with a great idea, how would I really make that determination if somebody’s stack is going to work for me?
Arsen: Mm hmm. So, so like I said, ideally, if the founder is not a technical person, they should spend some money in consulting and expert kind of a third party, someone who is knowledgeable, who can create those definitions for them.
Gera: Hmm. Maybe somebody who’s outside of like, obviously, if you’re asking the developer who wants to build this for you, what should I build it in? They’re going to tell you you should build it in exactly what they’re good at, right?
Arsen: Right. And the thing is good for you. The thing is, is that they probably even won’t tell you what it is that they’ll be building it and they’ll just build it. This question won’t come up, right? So because that’s not a question that the solopreneur is versed in, you know, they’re not going to ask that question, and the answer is not going to be that relevant. They’re not going to know the difference between C-sharp and PHP and whether or not those technologies actually match the product requirement. So, yeah, ideally it would be an independent party that’s that has a good understanding of the overall trending processes. And it should probably be it could be a person that doesn’t build it at all, but you’re maybe paying them a little bit more to just hire them as a consultant for an hour, let’s say, to kind of lay some of these things out for you.
Gera: What about what are you looking for or what should somebody who’s building a prototype do? What’s going to be a green flag as they’re scrolling through Upwork, trying to find the person that’s going to be the best fit for them? Or let’s say they’re looking for this consultant that you’re talking about that’s going to help them find the best stack. What should they really be looking for or what should they be typing like? How do you find these professional consultants that help you make the best business decisions and create prototypes?
Arsen: Mm hmm. I would try to find someone local in America, right? So this is built in America. I would look perhaps on LinkedIn for someone who is a full-stack developer, perhaps. And again, the point is not to hire them, but to have a conversation with them on this topic.
Gera: Hmm. Preferably in your network.
Arsen: So somebody that it could be someone in your network. And then once you nail down that requirement, then you can outsource someone who’s a fraction of the price to another country where the development rates are much lower.
Gera: Hmm. Would you outsource the like UX UI to another country, or would you get that built kind of like locally here?
Arsen: Well, there are multiple. Like I said, if if, if I was doing it, I would. I would take a stab at it myself to kind of get it to a point of where, where the general layout is there. In that case, if you’re out, if you’ve got that part done, then you could outsource that too, let’s say, India, where the communication may not be that easy between people, you know, but they’ll kind of see what it is, what your intentions are based on your prototype if you’re doing it from scratch. In other words, if you’re not doing it and you’re just trying to kind of get your idea across to a UX developer, I would probably find someone that’s local to us where the communication would be much easier. And you know, the the the ability to kind of get your thoughts. What I think it would be much easier if it’s with someone who’s, let’s say, Americans finding others in America that would help them do that, right?
Gera: Cool. Well, Arsen, that is really helpful. I think you just laid out a really great strategy for getting a prototype built. I think it’s going to save people many, many hours and probably a ton of money going the wrong direction. Arson, why don’t you tell us how somebody can reach you if after listening to this, they’re like, this guy seems awesome like they could consult me on how I should get? My prototype was built what’s a good way for somebody to reach you?
Arsen: So my email is Arsen3d@gmail.com
Gera: Cool. Well, Arsen, I really appreciate your time. I really enjoyed having this conversation with you, and I’m looking forward to talking with you again.
Arsen: Yeah, me too. And this is what we’ve discussed. This kind of I would think that it’s like part one of what it takes to build the product. Perhaps next time we talk, we can get into the back end aspect of the technology, because that’s also obviously very important because all applications just, you know, just about all applications have some sort of a backend database that is also an important critical part in building out a system or an app.
Gera: Absolutely. We’ll have you back on and we’ll talk about more in-depth, nerdy development, things in relationship to prototypes.
Arsen: Sounds good, right?