Jaime, please tell us a little about yourself, first of all!
I started in this project, which is now a formal and established company, about three years ago. I wanted to enter the mobile software industry because I believe mobile is the next big thing. Personally, I consider it to be much greater than the internet itself. With close to 4 billion mobile devices, compared to 1.x billion PCs, you can easily see that it has the potential of changing everything.
Over the last 100 years, the technologies that have changed the way we live are the automobile, airplane, fixed telephone line, TV, credit cards, Personal computer, Internet, PDA’s, mobile gaming devices (PSP, Nintendo DS, etc) and the ubiquitous mobile telephone. From all those technologies the mobile phone greatly outnumbers any other device, plus, if you think about it, can do everything the other technologies do, except for the automobile and the airplane. You can watch TV, pay for groceries, play games, check email, browse the web, write a letter, take a picture, record a video and actually place a phone call plus it lets you virtually be in any place you want, with a phone call, with a video call, much like you use the automobile and airplane.
You can already see big players are starting to realize this, with Google entering the mobile OS industry, Microsoft and Apple as well. At Inode we look into the feature as being one of the top mobile software development companies in a few years. We started out with Entertainment, but we already have plans to develop any other mobile technology and will begin development in the near future for mobile OS software.
I am both a developer and the CEO. I manage day to day activities and provide support for game developers, game designers, graphic designers, etc. My role has recently changed more to one of business manager and I can’t tell you enough about how I miss programming! I try to help as much as possible, but the business process has taken me in that direction and I also enjoy it as well.
Besides gaming, can you describe any other solution that your company develops?
Sure, we are presently developing some tourist applications for governments. Basically, the applications will enable local governments anywhere in the world to promote their states, cities, and country using mobile technology. There will be a friend locator, places of interest, emergency contacts, as well as multi language support and translations. The applications will enable any mobile user to get to know the place he or she is visiting beforehand, the ability to make a reservation, reserve a rental car, hotel, make a reservation at a fine restaurant, find an ecotourism company, etc. These applications will have a very positive impact in the local economies targeted.
So, how did you first get started developing on the NetBeans Platform?
Personally, I first started using NetBeans about 5 years ago. At Inode we began building technology on the NetBeans Platform about two and a half years ago. We started using it to build our own plug-ins, later on to build some of the tools we use for mobile development and mobile emulators.
With the NetBeans Platform I find built-in support for the application structures. We are firm believers in not wanting to reinvent the wheel if we don’t have to do so. With the already proven success of the NetBeans Platform, we can start building our own application in minutes, leveraging all the technology that the NetBeans Platform brings. At first, we looked at similar problems and found that although they might have been able to satisfy our needs, the configuration, plug-ins, or something else, was just too tedious to implement. With the NetBeans Platform, we get a framework that is fairly easy to learn, implement, modify, build upon and yet powerful enough for the tasks we need to execute.
With our development in several computer platforms such as Windows, Linux, and Mac we can easily have a working solution uniform in all the different platforms. Therefore, training costs are drastically reduced, since we only need to train everyone once.
What sort of features were you looking for?
We were looking for ease of use, ease of configuration, documentation, and extensibility. The ability to update just the items, plug-ins, or modules you need without the need to fully update the entire application was a big plus.
We tried out different platforms and found that most handled modules in a way that you had to know which plug-in or module version you needed. The worst part was that the individual modules did not always work well with each other. With the NetBeans Platform we found that all the plug-ins worked perfectly with each other and we could begin development without the need to install additional plug-ins.
Can you describe your experience when you first started using the NetBeans Platform?
I started using NetBeans IDE in version 4.x. What led me to keep using it mostly was its integrated development option for mobility. I did not have to download anything else and it already came with Sun WTK which made it a lot easier for me to start working after I had installed it.
Ever since then I have used it for both desktop, mobile, and web applications. On the desktop side, I found the GUI designer was very easy to use and very powerful. On the mobile side, I liked that it was all integrated within the NetBeans IDE and I could begin working after installation. On the web side, I really liked the support it has for working with JSPs, JSF, but more importantly GWT and Maven. The combination of GWT and Maven has enabled us to develop state of the art desktop-like web applications that are already AJAX enabled.
Jaime, you created several plug-ins and modules for Mobile software creation, can you describe them?
Yes, at Inode we have created several internal plug-ins and modules for mobile software development:
- Mobile Interactive Application designer. This module lets us design an application animation and transition on a mobile device; we like to think of it as a morph between AutoCAD, Flash, Photoshop, Corel Draw and PowerPoint targeted for a mobile device. It lets us produce presentations, animations, sprites, game levels, transitions, etc. It enables us to design objects, copy them, clone them, etc in a very visual way.
- Mobile Resource Packager. This module enables us to package more into less space. It has a custom resource compiler that uses AI and genetic algorithms to find the best possible scenario to package our resources. With the limited file system space on some mobile devices, one needs to think about every byte that goes into the application. This module enables us to package more goodies into less space.
- Mobile Emulator Package. This module enables us to view how the application behaves under certain screen sizes and device characteristics. It enables us to mimic Android, iPhone, Brew, and several other device platforms. It enables us to play with animations time length, FPS, sound quality, CPU speed, etc.
- Mobile Porter Engine. This module is still under development. Basically it enables us to drastically reduce porting costs and time. It ports from Java -> Brew -> Android -> Blackberry and will be adding more support for iPhone an other platforms soon. We have successfully ported a Java application in less than a day and a J2ME to Android in less than a minute. This product is still under development but will be ready soon.
We have developed several other modules for mobile development, but the ones mentioned above are the main ones. We plan on releasing free versions in the near future as well as licensing options for or tools to mobile developers.
How have you been active in the NetBeans community so far?
We are currently developing several plug-ins and modules that will enable mobile developers to speed up development.
How would you like to help in the future?
As I mentioned, we will be releasing free versions of some of our tools to speed up development for mobile. The licensed versions will be much more powerful and will be distributed as licenses.
If you could change one thing about module development, what would it be?
More involvement among independent developers, this will bring more creativity, also I believe there should be a way a developer could easily monetize his/her efforts, much like a store front for modules.
Thank you, is there anything else you would like to add?
Yes, if I may. Today's and tomorrow's mobile world is a fast and fascinating one. The growth and acceptability of the mobile device has already surpasses the acceptance of the internet itself. Mobile technology will help every industry, from agriculture, to medicine, to education. Farmers in third world country can get an updated world market price for their products, giving them an advantage when selling their produce to middleman. Third world countries can be remotely helped by physicians in other parts of the world. Educational institutions can leverage the power of the mobile device to monitor progress of students learning, to administer surveys, to schedule projects, meetings, etc.
We want to become tomorrow\s premium content developer for the mobile device. We've already started. The mobile device is the big thing, just like the internet created several industries around it, the mobile device will do the same and we want to be there for it.
Thank you for your time. I want to finish by saying “Challenge everything you know”, that is how inventions come to place by looking into how to improve things. Why does the automobile have 4 wheels? Why does the airplane fly with two wings?
We are in the beginning of the new century, a new millennium. I can only hope to live as long as I can to see the greatest technological advances that the human race makes. If you challenge everything you know, not only will you see the great inventions of this new century and millennium, you might just be the one who invents it, mentors it, or invests in it.