If you’re a point-of-sale (POS) software developer, you may already know Star Micronics puts all its code onto GitHub. It may have even helped you at one point. Maybe you’ve also helped Star by posting your thoughts there and sharing some great ideas. Or perhaps you’re just starting out and want to learn more about what I’m referring to.
Either way, it’s helpful to know about Star and GitHub. As someone new to software development, I wanted to learn more about GitHub – a decentralized, open-sourced platform where developers can publicly post their code and get feedback – and why Star puts its SDK codes on there to help ISVs, software developers, and the tech community in the point-of-sale (POS) space.
Recently, I spoke to Mark Rasho, Joshua Ventocilla, and Oreoluwa Akeredolu from Star Micronics’s Integration Team to get more information about Star on GitHub.
Here’s how the conversation went:
Most of our technology providers already know what GitHub is, but for people new in the space, what is GitHub, and how do you use it?
Mark: So, as far as what GitHub is, I’ll leave that to Josh and Oreo, but I do know the platform is used by developers a lot. They create code in there. If they see any problems with software, they’ll solve them. Guillermo Cubero, our Product Integration Specialist, was the one pushing for us as a company to get on GitHub because he found it useful.
Then Star Micronics started putting our SDKs on GitHub, our CloudPRNT, Native iOS, and Android, so it’s important. It is something a lot of developers use. It’s basically a platform where you can communicate with developers, ask questions, get questions answered, and support each other. So, it’s like a developer community app, right guys?
Josh: Yep. That’s correct. I mean, essentially, in the world of development, this is an essential tool to use. GitHub is one of the bigger Git that they have – there are many different types of Git – GitLab is one of them, I use that also, but GitHub is one of the bigger ones. As far as development goes, it’s like a portfolio, in a way, for a developer to have. It’s where all the code source is pushed. You can edit it.
Also, the great thing about it is you can have other developers collaborate with your code source in case someone needs to edit or improve features on it. They can ask to edit it or suggest edits, and you can approve that. So, it’s one of the most important tools for a developer to have. As Mark mentioned, Star Micronics must be on it because nearly all of our clients who are developing applications use it. We refer them to our GitHub and they can review our code or our SDKs whenever they need to.
Mark: And to give you a scope of how big GitHub is, there are over 94 million developers on it, and over 4 million organizations use it (at the time of this post), so it’s huge.
How does GitHub work? Is it kind of like Wikipedia for code? Say, Josh writes code and puts it on there. Can anyone go on and edit it, or do you need to approve it as the original poster?
Josh: Good question. It’s open source, so almost everyone has access to it. If I were the owner of a code and someone wanted to edit it, depending on how I had the setting (whether public or private: if it’s public, anyone can see it; if it’s private, it’s only allowed by me, or whoever I choose to see it) so, if someone wants to edit that, they’d have to request approval for it. Then, the original poster can review the updated code, see how it works, and if they approve it, it becomes part of the code.
Is the original code still on there?
Josh: Yes. Think of it like the base of a car. It needs wheels. So, if I start with the frame of a vehicle and someone wants to add a wheel they made, they will request to add it. Then, I would need to approve their wheel. Once I approve it, you will have both the frame and the wheel together. You can add to or edit the original code, but it needs to be approved.
Mark: It may not be maintained by the original person who put the code up there, but it’s still there. And viewers can see the changes.
GitHub is safe to use, right?
Josh: Absolutely! It allows developers to collaborate on projects. It lets you upload your codebase so other developers may use what you’ve built. It’s also a platform for sharing self-made projects or projects you’ve worked on. It’s like a portfolio of work, but everyone can build upon it.
So, it definitely sounds helpful and valuable to software developers. But how would you describe the benefits of Star Micronics being on GitHub? Not only the benefits for us as a company but for ISVs and technology providers as well?
Mark: One benefit developers get from our GitHub page is that they can see our source codes and read and participate in discussions about them. So they can reach out to us, ask us questions, or ask about specific features. And, as a company, we get a lot of ideas from that.
We may make changes because of a discussion with a developer, or maybe a developer has an idea – hey, I want to do this, I want to do it in a different way – and that can give us some ideas, too. We can make changes and get feedback from developers, which helps us improve our source code. Many benefits come from these discussions and input from other users.
Oreo or Josh, have you had any situations where a developer brought ideas to you?
Oreo: Yes! One of the greatest benefits we get from GitHub is the ability to fix bugs. While we release our SDKs for iOS, Android, Windows, and others, there are different ways to create applications on those platforms.
Here’s an example using one of our recent SDKs, the React Native SDK. Most people use Expo, which is like a wrapper to ensure the application works on iOS and Android. However, with our React Native SDK, it wasn’t working with Expo. That was a bug that needed to be fixed, and it was a developer in the community who brought it to our attention. After seeing that on GitHub, we tested it on our end and worked with the developers at Expo to create a solution that everybody could use. Then we published that update on GitHub and let everyone know that the bug was fixed.
So, different people use the code in different ways. On GitHub, you can bring up a bug, and we’ll take a look at it, fix it, and update it. That way, everybody can use the solution Star provides however they want to on every platform and framework. That’s one importance of GitHub.
So, GitHub helps make our codes more accessible to people. It allows ISVs and technology providers to communicate with us directly to solve problems for more people.
Oreo: It also makes the developmental process easier because, on the GitHub discussion page, people already put examples of how they got specific things to work. For example, the TSP100 is a graphic-only printer, and the TSP650 supports text. That’s one thing you can find on our GitHub: how to print an image to the printer.
While we have examples in the SDKs, some developers still have issues. However, there’s a good chance someone has already posted a solution on GitHub. So when you have an issue, you don’t have to start racking your brain because someone else has already posted what you need. You just had to look at it and implement it into your application. Having that community on GitHub reduces development time.
Is there anything new coming to GitHub that you may know of?
Oreo: Well, we had the StarPRNT SDK, and now we have the StarXpand SDK. Both SDKs are on GitHub, but we also explain how to upgrade from StarPRNT to StarXpand on GitHub. So, having that easy transition on there is new. The StarXpand supports more frameworks, and there are examples of how to upgrade on GitHub so that most of the functions don’t break when you do so.
Josh: And to add to that, there are how-to’s on GitHub in terms of installations. So, for anyone who wants to go break it down, there are step-by-step instructions on how to use our code.
So GitHub makes things smoother, so developers don't waste their time.
Josh: It’s a collaborative platform for almost everybody to use our code. And in the process, as we go through trials and tests, it also helps to improve our code.
Would most developers know to go to GitHub for Star SDKs and APIs?
Oreo: Usually, when we’re on an initial call with an ISV, we provide them follow-up messages with links to GitHub. We can also send ISVs links to issues that have already been resolved on GitHub.
So, it's part of the onboarding process.
Oreo: Yes. We let them know we have GitHub when we bring them on board.
Mark: As soon as Star Micronics began on GitHub, we migrated our SDKs and APIs over to its one central location where everybody has access. We duplicated what we have on our website onto GitHub, where most developers would go anyway.
GitHub sounds like it's been an enormous help to Star.
My final question is: for anyone thinking about integrating with Star Micronics or anyone about to start that process, is there anything important you want them to know about GitHub and Star?
Mark: We want to let everyone know to please reach out to the Integration Team with any questions, big or small. Instead of ISVs & developers spending time trying to figure something out, our Integration Specialists like Josh and Oreo may already have the answer. Going to our team first will speed up development time, and when you speed up development time, it drops the costs a lot more for the developer and the ISV, and it just makes the process smoother.
So, please always reach out to Star. We’re always available, and we respond immediately (during regular business hours, Monday through Friday, 9 pm to 5 pm EST). We are here for the ISVs. Star’s Integration Team is here to make their job simpler and more cost-effective and to integrate them with our hardware as quickly as possible. So, please remember to reach out to us for any reason.
Think of Star's Integration Team first because this is what it's here for.
Josh: To add something, I recommend looking over our SDKs to see what compatible languages we have written up before developing. Sometimes we don’t have some of the language ISVs use. So that slows down the development process because now they have to review our SDKs and then translate them into their language.
By visiting GitHub, developers can get an idea of “if I’m using JAVA, can I do that with this SDK.” Because there are so many different languages, we may only have options for some of them. GitHub is the go-to platform for seeing what languages we support. If people do that, then development would be a lot smoother.
Mark: For example, we noticed that React was the trend many developers were going to, so we decided to develop React. And we will keep incorporating other programming languages as long as people are using them.
We get those trends from GitHub, from ISVs asking us questions, and that’s how we decide what to come out with next.
Can't wait to see what that'll be! Thank you so much for talking to me today. I really appreciate your knowledge.
Mark: Anytime. And, thank you for listening!
Oreo: Thanks, Brittany.
Josh: Always a pleasure. Thanks!
Check out another article:
Independent software vendors (ISVs) and developers devote time, attention, and resources to developing applications that address their markets’ challenges and pain points. An ISV’s success depends on achieving those objectives. However, it is equally important to determine the best way to deliver software to consumers and take it to market.