"The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it."
Terry Pratchet, Diggers
Have a new, exciting idea? Looking to stand out from the crowd? Think carefully about who you choose to bring your idea to life.
When you're developing a new idea for an app, system or product it can be daunting to know where to start. The number of software packages available for use is growing every day! Most of the average problems you're looking to solve will generally have an open source solution out there somewhere, but when it comes to new concepts, it can leave you vulnerable to sloppy development practices.
What will your Web Developers do with a new idea that's never been done before?
When it comes to developing a new idea that needs specialised software your average Developer may not have the skills or experience to help.
The unfortunate truth is a lot of Web Developers are unwilling or incapable of developing the specialised software you need. They'll try to steer you in a simpler, easier direction where they can lean on available software. If you settle with this option, you'll end up with something that looks similar to what you were after but fails to stand out.
Here the team at BlueSky like a challenge, which is why we make the bold claim -
If you can imagine it, we can develop it!
And our clients love to put us to the test!
A recent property sales client did just that when he asked us to create an automated feature to determine whether a builder's plan fits within a developer's lot. At this point, the task for us translates to “Test whether one shape can fit in another shape”. If the shapes were always rectangular it would have been trivial. If the shapes were only tested with one orientation it would still have been a fairly easy feature to implement. Packages exist for running these calculations and we wouldn't have needed to reinvent the wheel.
The fact that the shapes could have any number of sides (i.e the shapes are polygons) and were able to be rotated, translated or reflected to achieve a match, made this request much more unique!
The key challenge with developing a solution for our client was that brute force methods are inefficient to the point of being impossible. Which meant we needed to use advanced, efficient algorithms to produce a practical result.
And here's where it gets complicated..
Our research told us that there weren't any existing solutions to springboard from. However, we did unearth a research paper that contained the mathematical modelling to address our problem. From here we constructed an algorithm and ran the calculations to enable us to convert the formula from paper into clear, concise, maintainable code.
There's no doubt it was a challenge, but one that we are especially equipped to tackle here a BlueSky.
If you've got a problem you think will challenge the team, we'd love to talk!
For the more mathematically minded who are curious about the exactly how we implemented our solution, read our article 'Mind Melting Calculations to Solve a Shape Sorting Conundrum' which includes an in-depth description of the process we adapted from The Polygon Containment Problem, (Chazelle, 1983, 1-33), as well as a description of the calculations that were needed that weren't included in the paper.