Programming for Non-Coders
by Paige Welsh
How Interface Vision Plans to Make You a Programmer
We trust software with everything from connecting our phone calls, to showing a heart beat on a monitor. But how many non-coders understand the life-blood that runs behind the keyboards and touch-screens? Streams of code course through our devices, but the word fragments, numbers, and brackets that write code are indecipherable to the untrained eye. Eric Hosick, founder of the company Interface Vision, believes programming should no longer be confined to the minds of computer scientists.
“The bigger picture is to democratize software development—to make it easy for anyone to program,” says Hosick.
Hosick has a plan to making coding accessible for the rest of us. His new programming language, SipCoffee, can save new programmers from the frustration of bugs and compilation errors. A visual drag and drop approach to assembling programs will let coders “see” how their software’s code comes together.
Matching the Dominos
Code is a detailed set of instructions for computers, which are incapable of generating their own plans. A programmer is like a perfectionist manager training a dull employee. The manager explains every task from refilling the water in the coffee maker, to opening a word processor. Within a general assignment like making a presentation, there are multiple steps whose execution will change depending on the situation. The dull employee, like a computer, needs instructions for each scenario. A programmer can also write a “method,” which is a sort of programming assistant manager that directs lower parts of programming exactly according to the directions of the programmer.
Programming becomes difficult when coders must link different parts of code together. It can be like playing dominos. Linked programs need compatible interfaces like two touching dominos need matching numbers of dots. Connecting code into a coherent piece of software can take days or even years of puzzle-solving and additional programing. Coders also generate unique coding frameworks, which are like independent universes of coding language and rules. Merging two frameworks is costly and time consuming as it may require a third intermediate framework to link them.
“These frameworks literally have hundreds of thousands of methods with different interfaces. You have a set of dominos with hundreds of thousands of dots. What are your chances of getting a domino piece that will ever fit in? They keep adding more and more,” says Hosick.
The tech industry’s need to update old frameworks can be like repairing a house built on a cracked foundation. It spends billions of dollars maintaining and upgrading old frameworks to connect with every new program. Steve Yatson, Head of Design at Interface Vision, believes this is holding back the tech industry.
“If we’re focusing on keeping things running all the time, then we’re not busy innovating and creating,” says Yatson.
Hosick wants to change coding by using parts that are like dominos with one dot on either side. Instead of making programmers create complicated methods to manage the programs, Hosick’s language, SipCoffee, uses just one method to administer legions of “properties.” Properties are like pieces of information with a description wrapped around them. Instead of pushing data through another method that explains the data to the computer, the data is self-sufficient and can already describe its contents.
If a property needs outside information, it uses a built-in part called a “locator” whose exclusive job is to retrieve external data. If a method is like a manager and a property is like an employee, a locator is like an intern. If the employee needs a cup of coffee, she no longer has to go to a manager and prepare a budget, presentation, and plan for coffee retrieval. Instead, the employee commands the intern to get the coffee, and continues her work unburdened by the complexities of the drink run.
SipCoffee prevents the frustrating “compilation errors” that occur when methods aren’t properly linked together because there is only one method to begin with. Programmers can make multiple copies of properties so the computer may multi-task without confusing the simultaneous demands that may be placed on a single property.
Seeing is Believing
Hosick also wants to bring Visual Programming Languages or “VPLs” to the future of programming. The interchangeability of properties makes drag and drop boxes with program parts feasible. Programmers will be able to visualize the instructions they’re giving their computers.
“Everybody has a different way of thinking, and I think a huge drawback in programming as it is today is that it leads to people who think in one way to become programmers. I think we can fix that problem,” says Hosick.
The minute details that go into writing code can be difficult to master for people with different learning styles. Yatson, who is mildly dyslexic, thinks VPLs could be helpful for people who think similarly to him. “It’s really a thought process where I solve problems backwards. I tend to make things more difficult than they need to be. Having an environment like this, where it’s very visual and you don’t have to keep track of all that stuff, is very valuable,” says Yatson.
Santa Cruz Grown Innovation
Hosick and Yatson hope that they can one day open the world of programming to the rest of us, and perhaps change the way tech spends its time and money on software. In the short term, they will work in Santa Cruz, helping corporate departments become more collaborative. With easier programming, product and user interface designers will be able to meet professional coders half-way by doing some of the coding themselves.
Hosick and Yatson plan to grow Interface Vision in Santa Cruz. They enjoy Santa Cruz’s unique tech-development community, especially after participating in local meet-ups and events like TechRaising.
“I don’t feel like everyone in Santa Cruz is trying to compete with everyone else. It’s more collaborative. People have the time and the ability to really think things through,” says Yatson.
Perhaps one day the spirit of Santa Cruz tech will make the world a little more collaborative, and we’ll all be able to drag and drop the future of programming together.
Paige Welsh is a marine biology major and literature minor at UC Santa Cruz. She is a starting journalist that can be contacted at firstname.lastname@example.org.
Sara Isenberg publishes Santa Cruz Tech Beat for the benefit of the extended business and technology community. When she is not volunteering her time for the tech scene, Sara makes her living by managing software projects, web strategy planning, and providing development team services (including account management, vendor management, strategic partner management, beta project management, referrals to qualified technical team members, and more). Please visit her website: Sara Isenberg Web Consulting & Project Management, or contact Sara by email if you have any project management, account management, or Development Team leadership or service needs.