Web Portal Development for Educational Institution

By: Carol Vercellino, CEO & Co-Founder

In our last tutorial, you learned how to conduct the investigation phase of an End-User Needs Assessment. If you haven’t watched parts one through three, pause this one, and click on the link in the description section to watch those videos first.

An end-user needs assessment typically has three phases: the preparation phase, the investigation phase, and the decision phase.

In this video, we’re going to show you how to conduct the final phase, the decision phase.


Let’s recap what you’ve accomplished so far with your End-User Needs Assessment:

What is the decision phase?

The decision phase is where all your hard work comes together. You get to decide on the features your new proposed system or product will have and how you’re going to build it.

To do this, we recommend creating an Impact/Effort Matrix. 

What is an Impact/Effort Matrix

An Impact/Effort matrix is a 2×2 grid that will help you decide which system or product features will have the highest impact with the lowest effort. 

We explain in more detail what an Impact/Effort matrix is and how to build one in our video on Features Prioritization.

Here’s a quick breakdown:

In an Impact/Effort Matrix, Impact is how well the feature will meet your end-users needs. And Effort is the time and budget that will be required to build that feature.

When you create your Impact/Effort Matrix, we suggest doing it as a team exercise with your stakeholders. 

impact effort matrixTo get started, draw your matrix on a whiteboard. 

Take the list of features you created in Part 3 and write each one on a sticky note. Take each sticky note, discuss the feature with your team, and vote on how much effort it will take and the impact it will have on your users based on the decision criteria you chose in Part 2.

  • For features that will have a high impact and high effort, place them in the top-right square.
  • For features that will have a high impact but low effort, place them in the top-left square.
  • For features that will have a low impact and low effort, place them in the bottom-left square.
  • And for features that will have a low impact and high effort, place them in the bottom-right square.


Remember, with an end-user needs assessment, your ultimate goal is to ensure you’re meeting your end-user’s current needs and creating new opportunities for your company to upstage the competition and wow your customers.

So, once you’ve narrowed down your features list and decided how you will build your new system or product – CONGRATS! – you can now move into development!

If you need help deciding if – and how – you will outsource development, head to our blog at oakcity.io for more information. You can also schedule a free 30-minute consultation call with us. We can help you decide whether or not your idea is feasible and profitable.

Open Source Licenses

By: Carol Vercellino, CEO & Co-Founder

When developing software, you make a lot of big decisions. But choosing your open source license is up there as one of the most important decisions you’re going to make during the development process.

So, today we’re going to talk about open source licenses.

What are they? Why should you care? And which one will be the best fit for your project when it comes to commercialization.

Let’s dive in.

What is an open source license?

An open source license is a software license for your open source software. It tells you how it can be used and the rules that govern how you use it.

How is open source typically used in projects?

A lot of times you see labyrinths and frameworks that are open source that you might want to use in a software application.

Basically, the licensing for those comes down to two different kinds. There’s a permissive licensing and a more restrictive licensing. The more restrictive licensing will say that if you use  an open source project in your application, then you have to open source the whole application. The GPL is the main one that you’ll see with those restrictions. 

So, that’s a concern people have when they use open source software in a commercial closed source application. You have to ask, can I use this library – this other piece of code – in my application and still be able to sell it commercially – without giving up all the source code?

What are the top open source licenses? 

There’s the GPL, which is probably the most popular restrictive one. Then, other ones you might hear are, the MIT license and the BSD license. Those are much more permissive –  you can use the software in your closed source software.

There may be details like, if you make changes to the library, then you need to open source those, but you can still have a closed source application you sell, including these open source libraries under the MIT and BSD license.

Apache is another one of those more permissive licences. 

GPL is where you want to check with lawyers because it has some very specific limitations. If you’re using a GPL application as part of your software, and it talks to other pieces over the network, then maybe that’s okay.  But the GPL is definitely something you want to stop and take a harder look at to see if that’s going to work for whatever model you’re distributing. 

Another sort of weird thing about the GPL is it says you only have to open source things you distribute. So, if you’re a big company building something internally, then maybe that’s okay because you can use it internally without having to distribute source code.

Which open source license is best for commercialization? 

The most straightforward one is the MIT license. We have a few open source things and they’re distributed under MIT. That basically says, here’s some software, you get to do with it what you want. There might be a clause about attribution. That’s really the most permissive, so there are no restrictions.

**The above interview has been transcribed for clarity and brevity.**

Ready to learn more about software development? Here’s how to choose a programming language for your product.

Stuart Bradley is the founder and CEO of not one, but two companies – Carolina Speech Pathology LLC and Altaravision. We caught up with him on a busy Monday afternoon in between meetings, and he was gracious enough to take some time to talk with us about his experience as founder of Altaravision and the interesting journey of their flagship product, NDŌʜᴅ.

Put simply, NDŌʜᴅ is the most portable, high-definition endoscopic imaging system on the market today and an invaluable tool for speech pathologists. It has been extremely well received by the medical community, but its path from concept to market was not without its obstacles.

Where did the idea for NDŌʜᴅ come from? Because it is a very specific product.

It came from a need. Specifically, the need to be able to do machine vision on a Macintosh. Surprisingly, there really wasn’t any software that addressed it anywhere in the marketplace.

Would you mind just briefly explaining what machine vision is?

Sure. Machine vision is the ability for a computer to view imagery or an object, take that information and then display it. Essentially, it is a computer’s ability to see.

And the capacity to do that wasn’t on a Mac? That’s interesting.

Well, no. There was plenty of software out there, but it was all secondary purpose. The bigger issue was that nothing had the capabilities you would need in a medical setting.

It all comes down to video capture. All of the off-the-shelf software could capture images, but they suffered from significant lag. What you saw on the screen might be a full second behind what was happening in real time. That might not seem like much, but when you are dealing with medical procedures that kind of lag isn’t going to cut it.

I played around with off-the-shelf software for a number of years and finally found something I thought might work, but there were a ton of features that I didn’t want or need. I reached out to the developer to make me a one-off, but he was ultimately unable to deliver a final product. That’s what led me to Oak City Labs.

Once you had your software developer in Oak City Labs, what was the hardest part about going from this idea you had to an actual finished product?

By far, the biggest hurdle was doing it in a way that maintains compliance with FDA regulations. Jay Lyerly, the one who was doing the coding, knew that from the start and was able to work with my FDA consultant in a way that we could survive an FDA audit.

The thing is, FDA audits are worse than IRS audits and you’re guaranteed to get one, whereas IRS audits are random. As a medical device company, we are audited every two years by the FDA. Thanks to Jay and Carol at OCL, we’ve been able to pass every single audit with zero deficiencies, which is nearly unheard of.

Was there a moment when you got NDŌʜᴅ out into the world and thought “ok, we did it.”

Yea, there was. With FDA-regulated software you actually do have to draw that line in the sand. Unlike other software development cycles, where updates are always being pushed out, you can’t do that with medical devices. It has to be the finished product from the day it comes out. If you add features, it has to go back through the FDA approval process, which, as you can imagine, is pretty lengthy.

If you could do it all over again, is there anything that you’d do differently?

We bootstrapped the entire thing, with CNP essentially acting like an angel investor for the product. That was really tough, especially when there are people out there actively looking for good products to invest in. If I had to do it again, I would have taken the time to seek out some outside investment instead of just jumping in and doing it all myself.

When you think about where you are today as a business owner, is there anything that sticks out to you as the thing you are most proud of?

Honestly, being able to take on, create, sell and make an actual viable business out of a medical device when I had no prior experience in that industry. I had owned Carolina Speech Pathology for years, but the journey with Altaravision and NDŌʜᴅ was an entirely new one.

What’s your favorite part about doing what you do?

It has to be the satisfaction I get from solving hard problems, and the fact that it’s never boring.

Finally, whenever you have clients or colleagues that are talking about Altaravision or the NDŌʜᴅ product, what do you want them to say or know about it?

I want them to know two things. First, I want them to know it works, and always works. Second, that it is designed to be incredibly easy to use. If you can use Facebook, you can use NDŌʜᴅ.

For more on Oak City Lab’s work with Stuart Bradley and Altavision, check out this article Jay wrote on Computer Vision for Medical Devices via Core Image. If you have an idea and need a software development partner, or if you just have some questions about the development process, we’d love to talk to you. Follow the link below to contact us!

A while back, we introduced you to Amazon Web Services (AWS) for non-technical folks and today we’re continuing the discussion with the AWS cloud based Relational Database Service (RDS). Understanding the basic components of AWS like EC2 and RDS are some of the foundation blocks for most software, including mobile applications. Gaining high level knowledge in these areas can help, whether you’re a new engineer, manager or startup founder. And today’s topic is super important. Why? Because a database typically houses the most important information about your product, customers and business.

A database is at its most basic, a repository for information. With a large software product, you might have multiple databases, but for today we’re going to focus on a single database since most companies start with one. A database could be compared to a fancy spreadsheet.  Instead of tabs like in Microsoft Excel you might have tables and each table contains different bits of information. The way the information in the tables is laid out is called the data model. This is incredibly important as a software product scales because poorly structured data can be a pain in the you know what later on. So it’s not quite as simple as Excel.

The database for your application needs somewhere to live (like AWS or other cloud providers) and an engine that runs it (like Microsoft SQL Server, PostgreSQL, MySQL, Oracle, etc).  For most of our clients, we use AWS and PostgreSQL. In AWS we have a few hosting options, one is that we could spin up an EC2 instance and install PostgreSQL on that instance and then go from there. However, when we do that, we need to worry about making sure it’s highly available (always up), backed up (disaster recovery) and updated (latest version). If that single EC2 instance were to stop working, then we lose access to our data…and with most applications, that’s not a good thing.

That’s why Amazon introduced the Relational Database Service (RDS). RDS is not a specific type of database or database engine. It’s a managed service running in the AWS cloud for databases that is easy to set up, deploy, scale and update a database with the click of the button. No need to worry about high availability or keeping the database versions up to date. RDS will take care of it for you. Need to have everything backed up? No problem, it’s built in to RDS. Instead of building out everything necessary to have a highly available, durable and updated database, it’s already built into RDS.

On the cost front, RDS can look expensive but consider most companies would need to employ a dedicated person to setup and manage the infrastructure. And instead of days to setup a database, it took a few minutes. That’s time to be used elsewhere. RDS has simplified an incredibly complex process and should be considered as part of any scalable software infrastructure.

We’ve covered what a database is, why it’s important and why you should consider RDS as an easy way to setup a highly reliable database running in the AWS cloud. If you have any questions about how this might fit into your project, send us a note.

Amazon recently announced over 100 new cloud services and products at the latest re:Invent conference. While there are tons to be excited about, there are four cloud services that we look forward to using in future projects. Most we’ve had to build from scratch at some point or have had clients ask for them only to be disappointed in the high cost of development. All four services introduce easier ways to integrate machine learning into your cloud based software or mobile application, without significant added cost.

Amazon Personalize

When shopping on Amazon.com, have you noticed the recommendations based on your latest purchases? That’s all created by a recommendation engine that is based on things you like, and things other people like you have purchased too. Amazon is now making similar recommendation models available to developers. Imagine you have an app, like CurEat, that curates local restaurants and lists.  You can now make more personalized recommendations using Amazon Personalize instead of developing something from the ground up.

Amazon Forecast

Remember using spreadsheets to forecast sales for your company, or maybe for a school project? Ok, so maybe not everyone had to do that, but at some point in your career you’ve likely been asked to forecast sales, inventory, or some sort of business or application metric. With Amazon Forecast, you can now feed your data into deep learning algorithms based on the same algorithms Amazon uses for their own business. Amazon says their forecasts are 50% more accurate and are completely automated. Say goodbye to continuous feeding and care of spreadsheets for forecasts. As developers, we can use Amazon Forecast in all sorts of features and components, from predicting product usage to in app features like forecasting production material needs or equipment breakdown in IoT devices.

Amazon Textract

Amazon Textract is like an OCR service except it goes a few steps further and can extract data from fields and tables, and do so very affordably. This is great news for startups or really any company needing to integrate some level of OCR into their product. Imagine quickly building a mobile app that scans old school paper copies of insurance claims, medical records or any paper form. Then taking that data and uploading to a CRM or EHR system, quickly and easily. That’s just the beginning of what’s possible with Textract and there are sure to be more complex, more exciting uses for something that is now incredibly inexpensive and accessible. How inexpensive? Try $1.50 per 1,000 pages for the Document Text API. Read more here.

Amazon Comprehend Medical

Finally, for our medical device and healthcare clients, we’re super excited to see Amazon Comprehend Medical, an expansion of Amazon Comprehend. Amazon Comprehend Medical uses Natural Language Processing to process text in documents and files. Say you have years of medical records that weren’t exactly filed away correctly. Now you can use Amazon Comprehend Medical to process those files and look for patterns. For example, maybe you have an archive of unstructured documents, like physician notes, and you want to extract documents pertaining to a particular medical condition. You can use Amazon Comprehend Medical to look for the medical terminology that coincides with that condition, making it possible to comb through archives in a matter of minutes without manual intervention. It also has the ability to detect Protected Health Information (PHI) which could be used for organizing data or in some cases, avoiding parts of data that may not be necessary for a specific use case.

These are just four of the new services that will be available via AWS in the next few months, and we’re excited to help our clients introduce new features that are now more affordable than ever. If you’d like to hear more about what AWS can offer, contact us or read all the latest announcements from re:Invent here.