It has been quite sometime since the first Behind The Code
installment was published. Despite this gap, the continued pursuit for "behind the code" exclusives has not stopped. The developers and other players in the jailbreak community who I have spoken to have been extremely gracious and open to such events. But with conflicting schedules, work, other developments, etc., it has made it difficult to consistently keep in touch and roll out updates of this nature. Nonetheless, keep posted and on the lookout for more "behind the code" interviews in the near future.
For our second episode of Behind The Code
, it is with great honor to host Elias Limneos (@limneos)
. Creator of such tweaks/apps as LSRotator, PagePreview, ScrollingBoard, and SBRotator, Elias has been a successful developer in the jailbreak community and is a highly respected individual. Even though time conflicts arose on both our ends early on, Elias was still patient and ever so eager to get this interview finished and out to the users. It has been a delight getting to know him and I assure you what is said below will be intriguing and well worth your read:
First, tell us a little about yourself: age, location, education. Or anything else you are willing to share.
ELIAS: First of all, Josh, Iíd like to thank you and ModMyi for this interview. Well, Iím 32 years old, born 1979, and originally from Athens, Greece. Although from Athens, Iíve recently moved to the beach side. I have a wonderful wife and an 18 month year old son. I finished school at 18 and entered the University for Computer Science but I dropped it and opened a computer store instead a year later. I had only attended some classes in private schools for computers, which appeared useless compared to the experience I gained over the years as a tech guy. I have a Proficiency degree in ďTeaching English as a foreign languageĒ, and I speak some Spanish. I have also studied some music and I play piano and sing occasionally at some places here in Greece.
How long have you been coding? What was the first language you ever learned to code in?
ELIAS: Iím practically new to coding actually. Iíve only been coding for almost a year and that includes learning the language along the way. Since my main profession was a computer technician, I started making websites for some clients of mine about 7 years ago. That forced me to learn PHP and mySQL at that time. I had tried a few "real" languages but never actually did something serious on them. The only time I used C++ was when I had a project to submit to the University which was a couple of simple programs with calculations. Therefore, I never actually was a programmer apart from the PHP scripting language, which isnít considered a programming language and I havenít mastered it either.
How were you drawn to code and develop for the jailbreak community?
ELIAS: Well, this is a long story but Iíll try to make it as short as possible ;-). Until January 2010, I didnít even have an iPhone or any knowledge on Objective-C and iPhone development. I had received a couple of iPhones at my shop for service or to jailbreak them (I had to Google a lot about it then in order to find how it was done). Thatís how I actually had my first contact with an iPhone and I really liked it. I got a 3GS in January 2010 and started playing with it like the average user.
A few weeks later, I realized that iPhone was missing a feature: rotation of the SpringBoard. So I did my first steps in Cycript (which I really want to thank Saurik for writing because it's an awesome tool) and after doing a lot of searching, Googling, reading documentations etc. on Objective-C and Cocoa, I learned some basics and made the first minimal version of SBRotator in Cycript. Much of my first steps were made by priceless help from a great mentor of mine, Optimo. Since it appeared to work, I had to port it to become a real library in order to publish it in Cydia Store.
This is when I really had to work on it seriously. Within a month, I had to figure out how Objective-C works, its syntax, learn how to compile, everything. I eventually found a very convenient way to compile using the Theos system made by a developer I think very high of, Dustin Howett. I was hasty because I was very excited and wanted to publish it ASAP. The very first versions worked but they were bug-ridden either with minor or major bugs. I started receiving bad criticism and I deserved it since I was actually a careless newbie, so I pushed myself to figure out the best way of coding that would ultimately make my work much better. I spent many nights without sleep, learning, evolving, and getting better. I was pushed mostly by the audience that needed fixes.
Over the months, I made it better and better and started expanding to new paid apps, like LSRotator, PagePreview, Masks, ScrollingBoard and many other free tools. Now, having learned all I know so far, I look back and laugh at the first implementations of my applications. But I appreciate the chance I had to enter this great community and learn so many things from great developers like Jay Freeman, Optimo, Dustin Howett, Ryan Petrich, Grant Paul and many others who I am grateful to.
In light of my first struggles, my paid applications have sold over 60,000 copies. Including the free ones, my application downloads has exceeded 400,000 downloads. I am very glad for both learning this language and joining this great community. The whole journey has been very exciting and the experience I've gained is beyond priceless.
Which of your tweaks or apps that you have created was the most difficult? Do you have a favorite of the ones you have created?
ELIAS: Actually, each application or tweak is a new challenge. Each of them deals with different objects, functions, ways to implement, and they all have a certain amount difficulty at first. Considering that I knew nothing back then, I would say SBRotator was the one that tortured me the most. If I made it now though, it wouldnít be the most difficult. I have made much harder experimental projects since then, but I still consider it a tough one.
That said, SBRotator is also my favorite because it helped me learn, enjoy, and get frustrated to the point of perfection. It helped me push myself and get known with the new iPhone look I was aiming the present.
What tweaks and apps do you use frequently on your iDevice that you wouldn't live without and are from other developers?
ELIAS: Iím not much of a themer or customizer and I like my iPhone simple. For this reason, there are not many. Being a developer, I use many networking tools such as PreventSleep from Tom Zickel, Safari Download Manager from Dustin Howett, My3G, many UNIX command line tools ported for the iPhone by Saurik etc. I do use Music Controls and Shrink by PhoenixDev which I canít do without and DisplayRecorder by Ryan Petrich for my application video previews and general screen recording purposes. I also consider SwitcherMod by Optimo and Ryan Petrich a must-have.
Are you planning on releasing any important updates or features to your current apps and tweaks. If so, can you elaborate?
ELIAS: I just released a major update of LSRotator which I admit I had left aside for a long time. An upcoming update of SBRotator will make the two programs work together better. Finally, I will launch in a few days a combined version of both called iRotator. This will use different native methods for everything and run much smoother that SBRotator; mostly like the new LSRotator does. I also plan to update FoldersInFolders, a tweak I released but never updated since FolderEnhancer entered the scene. I refrained from updating because I didn't want competition at time. PagePreview will be updated too since it doesnít work well on 4.2+ firmwares. All these were delayed due to iRotatorís work but it's time they get fixed too. Iíd like to focus on LSRotatorís update though, which changes everything since the last version. Now it makes the iPhone think it's an iPad in terms of rotation awareness. Everything works smoothy and is natively implemented. I have followed the same approach for iRotator.
You mentioned to me that you have a few projects that you are working on. Although it's not time for you to elaborate on them, can you tell us how far you are on your particular projects? Do you have an ETA on any of their releases?
ELIAS: Yes, I can disclose a few things. Did you notice my latest tweak, AutoAnswer? This belongs to the Security category, letting users, apart from auto-answering calls, to monitor their phone distantly. I can say that Iím working on a couple of tweaks in the same category, only much more powerful. Lets just say that one of them has been highly anticipated since the very first iPhone days.
It has been said that you will be attending MyGreatFest (world's first jailbreak convention) as a speaker. What will you be speaking on? Will you be releasing any new apps, tweaks, or programs and showcasing them at MyGreatFest?
ELIAS: I am very excited about this event because Iíve never had this honor. IĎll speak about the jailbreak community in general at first, the greatness it has become, the doors it opens, the potential of the jailbreak applications, measures that should be taken, and a few security issues maybe. The rest I cannot disclose yet. I will indeed showcase 2 new tweaks and 1 application. This I consider a whole event within themselves :-).
Do you know or see anything coming in the near future that is an exciting new topic or issue of news in the jailbreak community?
ELIAS: No, I wouldnít say I do. Weíll keep seeing new iOS versions which will become new challenges for the talented hackers working on new jailbreak tools. I do see the jailbreak community being very young though and Iím sure it will last and keep growing for a very long time. As long as there are iDevices, the community will keep expanding.
In closing, I'd like to thank you again, Josh, and ModMyi for giving me this interview opportunity. I am open to any further questions you may want to ask. Iíd also like to thank all my followers on Twitter and all the people who support me on this. Iíll do my best to keep up with your expectations.
Keep up to date with Elias
by following him on Twitter.
: Elias Limneos