About / News / Store / Contact us
At the end of 2022, George Sokianos announced that he was launching a very ambitious project: to port WebKit rendering engine on AmigaOS 4 in order to be able to display the pages of the most modern websites. He kindly agreed to say a little more...
The interview was done by Glames and published in our (French) Amiga magazine BOING, issue #7 (October, 2023).
Hi George, could you introduce yourself to our readers?
Hello everyone. I am a software engineer and an Amiga enthusiast. I was born in Greece, but recently, I moved with my family to Ireland. In my free time, I like to create my own websites and applications. I love developing Amiga applications because I learn new techniques that keep my mind out of rotting, which I share with anyone who finds them useful. I am trying to spread the Amiga word as much as possible, and for more than a decade I have been involved in organizing Amiga events in Greece, presenting to conferences and sharing as much as I know.
Moreover, I am a beta tester for Hyperion and A-Eon, beta testing AmigaOS 3 and 4, the Enhancer package and AmigaOne hardware like the X1000, X5000 and A1222 Tabor. I am also translating AmigaOS 3 and 4 to my mother language for all the Greek users in our community.
Where does your nickname "Walkero" come from?
Back in '96 or '97, I had to provide an email account to the University, and I used Yahoo to create one. Back then, I loved playing constantly the Walker video game, by Psygnosis. So its title was stuck in my mind and I decided to go with that. But unfortunately, since Yahoo was the most used email provider, this nickname was reserved, so I added an `o` at the end, to make it sound different. From that point on, I used the walkero nickname everywhere, since it was free. I find it straightforward for everyone to say it, and rarely it is reserved.
Do you remember the day when you got in touch with the Amiga?
How can I forget it? But before that, let me say that at the age of 10, my father bought me a Commodore C64, with which I was amazed. After the first couple of years that I spent playing games, inviting friends to my home having fun all together, I started learning Basic and doing some programming on that. I remember trying to create simple games and applications. Never learned Assembly, though.
Back then, every month I read a computer magazine called Pixel, which was dedicated to the home computers. In its pages I found information about the different systems like Atari, Amstrad, Spectrum, and of course, the Amiga. At the age of 14, I started working for the summer at a restaurant where I lived, to collect the money I needed to buy the Amiga 500. I didn't spend not even a penny on buying an ice cream. It took me almost 2 months to be ready to buy the computer of my dreams.
Unfortunately, there was no computer shop anywhere in the area having Amigas for sale, and I couldn't visit the capital city to buy it. The solution was to order it and get it by mail. So I ordered it from the Pixel magazine, I went with my father to the bank to do the money transfer, and then we waited. After two or three weeks, I got a notice from the post office that I had a package waiting for me. The next day, my younger brother and I took the bus that would bring us closer to the post office. After a couple of hours, I found myself holding my Amiga 500 box in my hands. We returned to our house, opened it, and immediately connected it to the TV. We grabbed the joysticks from the C64, and we loaded the one game we had, which was the Kick Off from Anco.
The thing I remember from that was my disappointment at having to leave for work, which I was considering dropping since my goal was achieved, but I didn't. But this wasn't that bad because with the extra money, soon enough I ordered the extra 512K Ram expansion, and then I could play the Prince of Persia game by Domark.
Which Amiga do you have today? How do you use them?
I am trying to be as open-minded as possible about what Amiga means. I am more of a Next-Gen guy than the classic series, although my story with the Amiga computers started back in 91 and never stopped since then. Furthermore, I do not care to collect Amiga computers, nor to have them collecting dust.
My most used Amiga is the AmigaOne X5000/40 which I use for development of my projects and for daily home usage. I have a microAmigaOne and an A1222 where I test my and other developers' software. Those systems are used a lot for beta testing the AmigaOS 4 and the Enhancer package.
I have an A1200 with a Blizzard 030 which I use to play games with and test newer versions of iGame. It is one of my beloved Classic Amigas, and for years I have brought it with me to most of the events I participate in. Last January, I had it at the Amiga Ireland event, where the demo of Reshoot Proxima was loaded for everyone to play and test.
Another A1200 with a Blizzard PPC and BVision is now used by my son, Aristeidis, who started doing his first steps with the Amiga development and gaming. This is the same computer I bought back in 1994, if I recall correct, which I gradually expanded through the years, and was my main Amiga computer until 2005 when I bought the microAmigaOne.
I also have a Mac PowerBook G4 with MorphOS installed, and recently, I got at a good price, a white iBook G4, which I plan to upgrade as much as possible and have MorphOS on that as well. I use MorphOS to develop some of my projects there and test them.
Back in Greece, I have an expanded Amiga 2000 which I plan to have with me at the next AmiCamp event, which some friends of mine and I are organizing every year. This computer needs some more love from me, and I hope to be able to refurbish it and install AmigaOS 3.2.
In BOING #2, we have already talked about one of your software, Mediavault, which notably allows to listen to online radio stations on AmigaOS 4. Do you still update it ?
I am deeply grateful for the good review you did back then. MediaVault is an application I always wanted to have on the AmigaOS 4, but since there wasn't something like that available, I decided to build it myself. This application helped me learn many things about AmigaOS 4 and C development.
So far, it got twelve different releases, with new features and bug fixes. In the latest versions, the user can also discover and listen to podcasts, mark radio stations and podcast channels as favourites for fast finding and more. Unfortunately, its development is somehow slow, but not abandoned. I already have some extra features added that will come in a future release, but since my focus is on other projects, MediaVault's development is slow right now.
I believe that you have developed other software? Can you introduce them to us?
Before MediaVault I developed for the AmigaOS 4 a few applications, like the OWB GUI, the Passmaker and the Comicami. Although these early applications worked as they should, I didn't know exactly what I was doing. They were an experimentation for me, trying to learn how to code for OS4. Back then, I didn't have too much time to devote to learn programming with C and the AmigaOS API properly.
After MediaVault I got myself involved in porting software for AmigaOS 4, such as a few games like the BlobWars Attrition, the BreakHack, The Battle for the Solar System : The Pandoran War, some dev tools like the FlawFinder and the ccpcheck, the LiteXL editor and my own python scripts that help the user stream video YouTube, Twitch, Peertube, Vimeo and other online video providers, called AIOstreams.
I put a lot of time on these projects and I try to update them all from time to time. Especially for the games, I do not just port them, but I also try to optimize them as much as possible to run on lower end computers. That's where my microAmigaOne comes quite handy.
I use LiteXL every day as my main development editor, and I am pleased and proud to have such a program ported to the AmigaOS 4 and MorphOS, which has some unique features for our systems. And I keep updating it to keep up the pace with the rest of the systems it runs on.
|
|
|
BlobWars Attrition
|
BreakHack
|
The Battle for the Solar System : The Pandoran War
|
You seem to create applications mainly on AmigaOS 4: do you think to bring them one day to Amiga Classic? For example, under AmigaOS 3.2 which also uses the ReAction engine for its GUI.
Actually, for the last 3 years I have maintained and continued the development of iGame, which is a WHDLoad launcher used by plenty of Amiga users, coming in almost every AmigaOS 3 based distribution. During this period, I made many changes to the code base, fixed long-standing issues and added new features (and probably bugs). There are versions of iGame for AmigaOS 3, AmigaOS 4 and MorphOS released every time.
The rest of the applications I develop are not easy to port to AmigaOS 3 because they are using libraries that are not available, i.e. LiteXL is a heavy application that uses SDL 2 and lua that makes it crawling even on my Blizzard PPC, and MediaVault uses libraries that either do not exist, or need plenty of resources to make them work with files that are big for the AmigaOS 3 systems. Consider downloading two or three megabytes of a JSON file from an online server and parsing it to show a list of radio stations. That would work well on powerful Amigas only. To make it happen, I would need to spend extra time porting the needed libraries, which might not be that easy to do.
Or, for example, to port AIOstreams it needs python v2.5 at least, a powerful video player to play online video content and be able to stream it in real time, and a fast network connection. Furthermore, to accomplish this task, I would require a more conducive development environment, and to date, I have not been able to find one that is suitable for me.
All these limitations do not exist on AmigaOS 4 and MorphOS, making the development of new application faster and easier, without needing to spend time to reimplement everything. And to be honest with you, I am not convinced how big is the user base that is using AmigaOS 3 systems other than playing games. So, is it reasonable to even spend all this time to make it happen?
You seem to have embarked on a completely crazy adventure, namely to port WebKit to AmigaOS 4 in order to allow applications to manage the most modern websites! How did it all start?
It all started when I was involved in a discussion on the Amigans.net Discord server. I had a discussion with someone, who was telling me that the WebKit port is not possible because there is something missing from the AmigaOS 4 kernel. On the other side, I believe that none is going to implement that requirement if there is no application using it. So, in my mind, it looked like the chicken and the egg dilemma.
Not only that, but there was a thread on Amigans.net with a question, posted by Hans De Ruiter, a well-known developer, already two years ago by that time. He was asking if "Anyone Tried Compiling the latest WebKit?". Unfortunately, no one tried it by then, but a lot was said about possible problems and blockers for doing it.
So I decided to do something to answer that question. In the worst-case scenario, I would answer "Yes, we tried, and we are blocked of that issue". Therefore, I created a new thread on Amigans.net, asking for anyone who would like to contribute to a team for doing exactly that. Answer to that question. Now, if that brings us a better browser or not, this is something that only time can tell.
But you are right. It is a crazy adventure that I didn't even imagine. A lot of low-level knowledge is needed that I do not possess fully yet. But I am super lucky, being helped by awesome people and great developers who have a lot more knowledge than me. I have at least a shoulder to go and cry on when things are going wrong. We are already friends working on a few projects, but more information on that will be shared in the future.
Why did you choose WebKit rather than another Web page rendering engine? Like for example Gecko used in Firefox? Why not start from TimberWolf which was already ported by the Frieden brothers a few years ago on AmigaOS 4?
I actually started from Timberwolf by forking the repository I found available, claiming that it has the latest code. I changed a lot of code to make it compile, but unfortunately, it doesn't work. Asking the Frieden brothers didn't lead to any valuable outcome because they do not have the old code anywhere, and they are not sure if the repository has the final version. Also, they were unable to share much with me because they didn't have any notes on what is needed to be done, and of course, they do not remember any details. So, this is some kind of dead-end.
Newer versions of Firefox are developed with Rust, which is not available for AmigaOS 4 and won't work for us, so I should look to other Gecko-based browsers that use the older user interface, which either are not updated any more or they lack features, or they dropped the PowerPC support. I was checking one of them and some websites were not rendered correctly, like the GitHub. So, for me, it doesn't make sense to try to port something that has already limitations, hoping that the original developer will continue updating it.
On the other hand, the Webkitty project, which is Jacek Piszczek's work on WebKit GTK port, is public and well maintained because Wayfarer, the MorphOS browser, is based on that. Also, MorphOS and AmigaOS 4 APIs are pretty close, with pretty much the same problems needing the same solutions. In my mind, a lot of work that is already done can be useful for us as well. So, for me, it makes more sense to work on the WebKit port than anything else. I might be wrong, but eventually this remains to be proved.
Also, by working on the Webkitty project we have Jacek Piszczek's valuable support, who is always available to help with answering our questions, and guide me to the right course. I am grateful to him for that.
I hope though that our eagerness to bring new software to AmigaOS 4 will inspire other developers to form small teams and work together on other web browsers ports, like the SeaLion. It would be more than great if at some point we had more proper solutions. We might even end up competing on whose project is better. :D :D
Have other people joined you on this project?
Oh, yeah. I am pleased to say that I formed a small team of developers working on different projects. You see, working on such a project, like the WebKit GTK port, there are requirements from the development tools that are not available or are not working correctly. We are working on these things, which we hope to share the news with everyone soon enough. Our goal, along with the WebKit port, is to provide better tools to develop for AmigaOS 4.
We try though to not start many projects simultaneously; otherwise nothing will ever be complete. Fewer projects, with no pressure, and more happiness on working for our platform.
Have you defined a road map?
We do not have a proper roadmap with projects and milestones, but we have a good idea of what we want to do in the next months. But since we work on code bases and projects we never touched before, it is impossible to say when something will be ready. So, any roadmap would easily become a wish list. As long as we keep on working on those projects, we will make a step further to a better future for our platform and community. And that's what we want to achieve.
Also, we keep ourselves away from roadmaps because this is our hobby and not some kind of daily job. It is a good opportunity for us to learn more things, and I wouldn't like to bring any pressure on anyone in the team. So, until we have a better confidence in what we are doing, there won't be a roadmap.
The port of WebKitty is a work in progress : can you explain to us why it is so important?
The Webkitty is the port of WebKit GTK for MorphOS, which includes all the necessary changes to make it compilable and usable for MorphOS. WebKit is the main engine for an application to render website pages, execute the JavaScript and provide a better experience to the users when they visit a web page. Every web browser has a similar engine. WebKit is an open-source engine which is developed mainly by Apple and is used in the Safari and many other browsers. It is possible to be ported to different systems, i.e. Haiku's main web browser uses it. Even the Odyssey and OWB browsers are based on older versions of WebKit.
Porting Webkitty to AmigaOS 4 will help us to create a new and more capable web browser or a better mail client, like we have seen happening with Iris on MorphOS. Have in mind that even if we finish the Webkitty port, a lot of work will be needed to create those applications. And that work is not something that my team has decided to do. Another team might be responsible for the web browser, as everything will be shared and remain open source. But it is too early to decide something like that.
Do you have a precise idea of the work remaining to be done?
We have already completed some milestones like the JavaScriptCore, which compiles and runs pretty well, and we ported all the latest versions of the required libraries.
But a lot of work remains to be done. For the Webkitty I am trying to compile a minimal browser and the code is compiling for more than 50%, but unfortunately, I crashed upon a wall of errors that I am trying to understand and fix. To make you understand my pain, I am getting more than 10K lines of errors that is not clear where the problem is. It might be a problem of something I missed to use properly, or a problem with our development environment and SDK, or even a problem with the compiler.
In situations like that I always say "It doesn't make sense until I find why this is happening.", and that keeps me going. At least I get a lot of support from my team to get things going. Such problems might take a minute to fix it as soon as you discover the error and see the rest of the code compile to 100%, or take months to make it happen.
Do you have other Amiga-related projects or activities that you would like to tell us about?
As I said earlier, my professional work is developing websites. I have already created a few Amiga dedicated websites like the OS4Coding.net, Amiga-Look.org, AmigaBlogs.net, Amiga.gr and a few others. I also maintain the Amigans.net forum, and recently, I got in my possession the IntuitionBase.com which I plan to keep it alive because there is so much valuable information on that website.
Last year, I got involved in creating and releasing a new SDK for the AmigaOS 4 on behalf of Hyperion Entertainment. This was really successful because developers seem to like it, and I didn't receive major issues about it. But there is always space for improvement. I always have in my mind the next one, what should I add that is needed. I hope that I will be able in the future to do a new release for all the developers out there.
Other than that, I and my pals in Greece are organizing the next AmiCamp, the biggest Amiga dedicated event in the country, where we meet every year to share our love for the old and new Amiga computers. We aim a little bit higher for it, changing a few things make it even more fun and exciting.
You have the possibility of testing the A1222: what do you think of this machine which will normally soon be available to the public?
I am really excited that the A1222+ is going to be released because that means that more hardware is going to be available for anyone to buy. We need to increase our user base and new hardware is crucial for this. I still remember the period between 2005 and 2008 where no hardware was available, and although there were many announcements, most of them never realized. Right now, we are in a better situation, thanks to A-Eon and ACube we have hardware available and more coming.
I have the A1222 Tabor since it was first created a few years ago. Since I got it, I have been beta testing AmigaOS 4 on it and I can tell you that the OS flies on that little computer. Most of the available software works fine, especially the software that utilizes the powerful Radeon RX graphics cards, like watching Full-HD videos or playing games that use the Warp3D Nova. The experience is superb.
Of course, it is not that fast like the X1000 or the X5000 and that's logical in my opinion because the CPU is not that powerful and costs much less. There are some situations where the lack of a proper FPU is a limitation, especially for some ported games, but I believe that these problems will be fixed in the future as soon as the board gets into users' hands. More developers will be able to work on optimizing their software, and that will take some time. At least, if the user base for this system is bigger, it will make sense to work on optimisations, right?
Many of our readers use an Amiga Classic. What words would you choose to make them want to use AmigaOS 4?
If you wish to experience the AmigaOS in its full glory, running everything blazing fast, doing proper multitasking like watching online streaming while you write a document on WordWorth or opening many apps on different screens in Full-HD resolutions, without compromising speed and flexibility, there is only one way to do it.
By moving to AmigaOS 4 or MorphOS, you will find that there are plenty of things you can experiment and learn. You can run everything from 68k software, with a much better performance than anything in the classic world. In my opinion, these systems have more potential to replace what we do with other operating systems, than the old AmigaOS 3 based systems. Me personally, I find much more pleasure creating something on my Amiga than my PCs. If you feel the same, then AmigaOS 4 and MorphOS are the only ways.
I use Amiga classic systems as well, and I have a good time beta testing and translating the latest versions of AmigaOS 3. But I see the limitations in these systems. Although I love my classic Amigas, I find them boring. Most people that want to create something good, they turn to emulation to do it fast. That need does not exist with AmigaOS 4 and MorphOS systems.
A few words to add?
Keep using the Amiga way of doing things, being creative and productive. This community is a great place to meet people and have fun. Support the developers who keep the platform alive, and provide them with feedback or send a simple "Thank you" message. It makes us feel more motivated and energized when we are aware that our creations are valued and utilized by others.
Keep using your systems as much as you can. It's not the reason they were created, to collect them just for sharing one more photo or video on the social network of your choice.
Remember that Amiga was always "The computer for creative minds".
|