Today I'm joined by Mark Ritter, a relative new comer to world of development on AmigaOS. Mark is the author of the popular file browser "Workbench Explorer" and the soon to be released developers text editor "struct" as well the gadget class, InfoData.gadget.
1. Thank you very much for taking the time to join us Mark. Can you please talk about your history with AmigaOS and what inspired you to begin developing for it?
Thank you for having me.
I go back much farther than most people know. I got my first Commodore 64 in 1984. Then a C128, then an Amiga 500 in 1988. That was fine for games, but I wanted to start programming in C; BASIC just wasn't cutting it for me anymore. So I upgraded to an A2000. I taught myself C using the SAS/C manuals, a few C books, and the ROM Kernel Reference Manuals. I have always liked programming, even in the humble BASIC days and my Timex Sinclair 1000 (my first computer). It is a mental challenge, a creative challenge.
I wrote several utility programs over the years before I sold my Amiga in 1997. If you go to Aminet and search for "SAKU-V" (minus the quotes) you will find my programs.
2. Have you developed for other platforms? If so, can you talk about the differences between the other platform(s) and AmigaOS?
I met a friend, Troy, who was in charge of Windows Post Install Wizard (WPI). I started coding for it in 2007 until 2011. It was JavaScript/HTML based. I took it to a whole new level and learned a lot more than I thought I would. But I always told myself I would not program in C for Windows. Everything has been done a 1000 times over. What could I do differently? I didn't have a project in mind. Well, I started to get a little bored and looked in to Java for Android apps. I didn't like it very much. Dropped that idea.
3. What drew you to develop for AmigaOS?
Commodore has always been my brand of choice. Never liked Apple. I started programming in the 6th grade in BASIC on the Commodore PET and then the C64. Then I moved to AmigaBasic in high school and started my first file browser program. It was an old school two pane basic browser. I only finished about half of it; I got side tracked with games. But then the A2000 came out with a whopping 40MB hard drive. So I could start C programming now.
4. Workbench Explorer was very well received and garnered quite a bit of attention. What inspired you to write it? Were you surprised at the reception it received?
The inspiration was boredom. I decided to look where the Amiga was at in 2015. I found WinUAE and started to search for my old source code online. I could not find it anywhere. I took a chance and contacted Olaf Barthel who I had sent some code to back in the early 1990s. He found some old floppies in his garage with my source code modules! I couldn't believe it! That saved me a lot of time and work to get started programming again.
My first project idea: a file browser. But more like Windows' Explorer, not a two pane browser. To me those seem outdated. I wanted to make something fresh and new the Amiga had never seen before. So I started writing in WinUAE, and that was painful. I started writing in OS3.9 with SAS/C again. It was so slow at compiling. I could walk away for fifteen minutes when doing a full compile. Workbench Explorer (WEx) got so large that SAS/C could no longer compiler it. I was stuck. Now what? Literally a few weeks later PPC support was added to WinUAE and I moved to OS4.1. And that was when I got really creative and dedicated to finishing it this time.
To me tabs were the way to go, not two panes. I got some criticism, "It's not the Amiga way." My response: "It's not the 1990s anymore."
I was impressed with what I had created and the few beta testers were also impressed with it (Thanks Javier!). I put three years into writing it. I wanted it to do nearly everything you could imagine. One program to browser all your files. WEx can view images, play music, view text files, not just move files around. I wanted it to be a Directory Opus and Filer killer. I think I have succeeded.
I wasn't surprised by the attention it received. I knew I had something good. A couple forums got going with comments, bugs, and suggestions. I did everything I could to add their ideas. I want people to use WEx every day. That is why it has always been free. I would rather have people using it and enjoying it. If they wish to donate, great.
5. As a new developer to the platform, can you talk about your interaction with other developers on the platform? Where did you turn for help when you ran into problems? How would you categorize the level of assistance you received when you ran into issues? What do you feel could be done to improve communication between developers moving forward?
When I first started with OS4 I knew no one. I had to figure everything out for myself. There are no books to help start you out. You have to search for everything online. wiki.amigaos.net became my best friend very quickly. I still reference the AutoDocs page weekly.
When I couldn't figure/find something out I turned to the forums: Hyperion, Amigans, and AmigaWorld. There I met some people that have been around much longer than me. Long time developers know that all we have are each other for help. I got help quickly, usually over night since most developers are in Europe and I am in America. Several times I would figure it out laying in bed or at work, then have to go reply to my own post saying I got it figured out.
Over the years I have made friends with some smart people. They probably get a little tired of me asking questions, but how else are we to learn? Finding good up-to-date source code examples can be hard. You have to really dig deep and be prepared to update old parts of the code to the newer standards.
Most of us programmers are "loners". We sit at home and hack away all night. Communication, at least for me, is not a common thing. I wish we had more developers in the USA so we could get help faster. Since we are all older now, we have other aspects of life that get in the way of our programming time. I am not sure what could be done to improve things.
6. What level of interaction have you had with the AmigaOS user base? What are your thoughts about the interaction you have had with users? What are your thoughts on what could be done to improve constructive communication between developers and users?
Surprisingly, very little. I thought I would have received more emails from users, more bug reports and suggestions for WEx. I have found most of the bugs myself and most new ideas are mine. I would love for people to submit bugs/ideas/suggestions. See the About window and Docs/ChangeLog.
I have started going to AmiWest and have met some great people. I went to the inaugural Northeast Amiga Meetup and met a few more people. Those meeting are probably the best way for developers to interact with users. I have sat down with people and had them show me how they use WEx. No two people use it the same, so it helps me find bugs and add new features.
Seriously, if you have a suggestion, no matter how small, email it to me. I don't think WEx will ever be "done".
7. What is the biggest obstacle you have faced so far in developing for AmigaOS? How have you been able to overcome it? What do you feel could be done to help clear the way for new developers in the future to keep them from facing the same issues?
Finding source code examples. Google has been my go to place, not an Amiga website. There is no real repository of source code to search through. It would take someone a long time to build one, but it would be key for new developers.
8. Would you rather spend your development time on gadget classes and drivers or applications? With a need for all three, what are your thoughts on how development time and efforts are currently being divided in the community overall?
Applications first, then classes. InfoData.gadget was born out of necessity. You can't wait for someone to develop a new gadget class to build your application around. Start your application then post on the forums that you require something new and it may happen.
What is killing me now is the lack of development from Hyperion. I submitted a bug report for the listbrowser.gadget class over two years ago. It was fixed right away. But it still has not been released to the public. It makes WEx look bad, but I can't do anything about it. Driving me nuts. Release it!
I would like to make more gadget classes since I want new/updated features that aren't coming from Hyperion any time soon. The Enhancer Pack, which I am part of their team, is trying to remedy this situation. But as with all of us developers, we need more time.
9. What do you feel would make developing on AmigaOS more appealing, based on current market conditions, realistic expectations, etc. for developers from other niche platforms?
Our tool base is not the greatest. To port games and applications from other platforms requires updated tools. Work is being done on it, but I don't know the status. I am doing my part (see below). Usually the ports have to be built on Windows or Linux with their better tools. Everyone wants a new web browser, well, first we need the tools to build it.
The price of hardware, and the lack of hardware, is also not helping to draw in programmers. The cost of an X5000 is much more than an Intel or AMD box.
10. What advice would you give a developer with non-Amiga experience starting development on AmigaOS? What advice would you give to an Amiga user considering developing for AmigaOS?
As I said above: everything on Windows has been done a 1000 times over. If you have an idea for an application, it would probably be unique to Amiga. You will need to invest in some hardware. Using WinUAE is too slow. Learning C is the same for all platforms; find a book and study it. Programming for OS4 is not bad at all; I am very pleased with it. Finding source code examples can be hard, but forums are very helpful.
If you have ever wanted to try your hand at programming, just do it. Start with a small project to figure things out, then move up from there. It will take some time to get better at, but that is with all hobbies, right?
11. Do you have any plans for future projects that you would like to share?
OS4 lacks a good programmer's text editor. I have always written my code on my Window's machine, save it, turn to my X5000, FTP the code over from my NAS, then compile it. Very tedious and tiresome when there are errors. So I decided to write my own text editor called "struct". I want it to be fast and sleek so it won't have all the features of an IDE, but speed comes first. Things are moving along nicely and quickly. It won't take three years to finish it.
It has the usual features: syntax highlighting; color schemes; multiple files open; find/replace; project support; etc.
I want to finish it up as fast as I can so I can start to use it. It is close to the point where I can use it to edit it's own source code. Then development speed will increase dramatically.
I then have another project in mind that I will develop solely on my X5000. But first things first.
12. Is there anything you would like to discuss that hasn't been covered?
People ask why more people aren't developing and why software isn't coming out faster. Lack of time is number one. Second is money. None of us are out to get rich with our Amiga software. But getting that email from PayPal saying you have a donation is a real boost. It makes us want to add that new feature so we might get more donations. I have received 24 PayPal donations and 6 from Amiga On The Lake in the two years WEx has been out. I have made 4 donations myself. Donations are real motivators if you want something done.
Thank you for your time answering these questions as well as your development efforts.
You are welcome. Be on the look out for struct and updates to Workbench Explorer.
|