Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

iMi

Suspended
Original poster
Sep 13, 2014
1,624
3,200
We are looking for a talented developer to write an iOS/Android app that includes pretty advanced elements, including machine learning (object recognition), photo editing tools, automatic background removal for both still and moving images, etc.

The app will connect to a physical device via Bluetooth and will control various function of said device.

Can anyone recommend someone? Either an individual or a company capable of developing such app?
 

casperes1996

macrumors 604
Jan 26, 2014
7,392
5,463
Horsens, Denmark
We are looking for a talented developer to write an iOS/Android app that includes pretty advanced elements, including machine learning (object recognition), photo editing tools, automatic background removal for both still and moving images, etc.

When you say iOS/Android, do you mean either one or the other, or both?

The app will connect to a physical device via Bluetooth and will control various function of said device.

How much control do you/your company have over this physical device? If it is not fully under your control, are you sure there are API access points of interacting with the device in the ways you want?

Can anyone recommend someone? Either an individual or a company capable of developing such app?

What kind of timeframe are you looking for getting a working version of this app ready for? How much are you willing to pay? Does it matter to you if the development house is local?

If you're not willing to wait quite a long time, I would advice against individual developers, unless you give them the freedom to hire assistants.
 

iMi

Suspended
Original poster
Sep 13, 2014
1,624
3,200
When you say iOS/Android, do you mean either one or the other, or both?

Both.

How much control do you/your company have over this physical device? If it is not fully under your control, are you sure there are API access points of interacting with the device in the ways you want?

Complete control.

What kind of timeframe are you looking for getting a working version of this app ready for? How much are you willing to pay? Does it matter to you if the development house is local?

Timing is less of a concern. Quality is absolutely critical. Ideally we would like to solicit several quotes. The app needs to be developed in the U.S. but does not need to be local.

If you're not willing to wait quite a long time, I would advice against individual developers, unless you give them the freedom to hire assistants.

Timing is flexible to a point. We would want to have everything ready by Q419.

Would you be able to recommend any companies? There as simply so many out there when googled. It seems like everyone makes apps now. lol

We need someone who is skilled. The app is the heart of the product.
 

casperes1996

macrumors 604
Jan 26, 2014
7,392
5,463
Horsens, Denmark
I'm afraid the part about it needing to be in the US means I'm out of knowledge. Through my professors, I know a bit about the best and... Least best... Places to go, but only over here in Europe.
What I can do however, is give you some general pointers when looking for companies like this.

1) Examine their prior work if it is available to you. If they have nothing they can show you, at least if requested, it's probably a bad sign.

2) If you get in contact with a company, make sure they understand that you will be looking at maintainability. A lot of companies hired to produce an app or similar in a freelance kind of way, will do what needs to be done to get it working, but write it in such a way that would make an update changing things, adding features or fixing a bug very difficult, maybe even requiring reworking of everything.

3) Make sure they write a lot of test code. Preferably even run a TDD oriented business, again ensuring you can get work done on the app down the road by them again or even a different company without worrying it'll break everything. If not strictly TDD (which is kinda rare still), at least that they have high code coverage by tests when developing.

4) Make sure you own the code, not just the final product. However, I would recommend also explicitly allowing them to license libraries or using, where legal for the purposes you lay out, open source code. This might be an expense, but it might in the end actually a saving, since the library would be maintained and tested thoroughly under many conditions, and save time and development cost for your contractor as well as potential bugs in the app that you'd then need fixed later.

One of my professors works as a consultant for code companies. One of the biggest problem they face is often that their code is written in such a way that adding just one extra feature grows exponentially more difficult and cumbersome with every feature. Every bug fix becomes a bigger hassle. Often this is even intentional. If the code was written by one contractor, who just needed to get the job done to get paid, they might not care how easy or difficult the code is to work with later on. If an extra feature needs to be added in a few months or a year, and it takes 6 weeks instead of 2, it's also just more time they can get paid for. Pass that code onto a new contractor and they'll be completely lost because the code is such a big mess - That's where the professor I mentioned would come in.
Point of that story; Just attempt to avoid getting that kind of development house

Maybe if you get in talks with one, hiring a consultant to estimate if the code house would be good to work with could potentially be a good strategy. If they're willing/legally able to give code examples of past work and not just show products, having someone look through it to estimate the way they work again might be beneficial.

And finally, I just want to add; Communication is key. Make sure to get one that communicates well. They need to speak your language (and I don't just mean that in the literal sense), and both sides need to engage. It's not just you telling them what you want (though you should be clear about exactly what you want and what you don't). A good code house will also engage in the conversation, like "That can be done, but if the UI is allowed to look this slightly slightly different way instead, we can save about a month and a lot of costs with a native framework" for example. They're the expert about what it takes to do everything technically, you're an expert on what you want. Use each others' expertise to evaluate what is best to do.
 
  • Like
Reactions: iMi

iMi

Suspended
Original poster
Sep 13, 2014
1,624
3,200
I'm afraid the part about it needing to be in the US means I'm out of knowledge. Through my professors, I know a bit about the best and... Least best... Places to go, but only over here in Europe.
What I can do however, is give you some general pointers when looking for companies like this.

1) Examine their prior work if it is available to you. If they have nothing they can show you, at least if requested, it's probably a bad sign.

2) If you get in contact with a company, make sure they understand that you will be looking at maintainability. A lot of companies hired to produce an app or similar in a freelance kind of way, will do what needs to be done to get it working, but write it in such a way that would make an update changing things, adding features or fixing a bug very difficult, maybe even requiring reworking of everything.

3) Make sure they write a lot of test code. Preferably even run a TDD oriented business, again ensuring you can get work done on the app down the road by them again or even a different company without worrying it'll break everything. If not strictly TDD (which is kinda rare still), at least that they have high code coverage by tests when developing.

4) Make sure you own the code, not just the final product. However, I would recommend also explicitly allowing them to license libraries or using, where legal for the purposes you lay out, open source code. This might be an expense, but it might in the end actually a saving, since the library would be maintained and tested thoroughly under many conditions, and save time and development cost for your contractor as well as potential bugs in the app that you'd then need fixed later.

One of my professors works as a consultant for code companies. One of the biggest problem they face is often that their code is written in such a way that adding just one extra feature grows exponentially more difficult and cumbersome with every feature. Every bug fix becomes a bigger hassle. Often this is even intentional. If the code was written by one contractor, who just needed to get the job done to get paid, they might not care how easy or difficult the code is to work with later on. If an extra feature needs to be added in a few months or a year, and it takes 6 weeks instead of 2, it's also just more time they can get paid for. Pass that code onto a new contractor and they'll be completely lost because the code is such a big mess - That's where the professor I mentioned would come in.
Point of that story; Just attempt to avoid getting that kind of development house

Maybe if you get in talks with one, hiring a consultant to estimate if the code house would be good to work with could potentially be a good strategy. If they're willing/legally able to give code examples of past work and not just show products, having someone look through it to estimate the way they work again might be beneficial.

And finally, I just want to add; Communication is key. Make sure to get one that communicates well. They need to speak your language (and I don't just mean that in the literal sense), and both sides need to engage. It's not just you telling them what you want (though you should be clear about exactly what you want and what you don't). A good code house will also engage in the conversation, like "That can be done, but if the UI is allowed to look this slightly slightly different way instead, we can save about a month and a lot of costs with a native framework" for example. They're the expert about what it takes to do everything technically, you're an expert on what you want. Use each others' expertise to evaluate what is best to do.

Thank you very much for taking the time write such a detailed and informative response. I appreciate it.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.