August 2012


The Linux GUI Development Nightmare

For about 2 weeks I’ve been having some fun with Linux development, mainly using Ruby to build command-line applications. My decisions, to create command-line applications using Ruby instead of GUI applications, were made because of a simple factor: GUI development for Linux is a nightmare, since there isn’t at least one good GUI prototyping tool available to help you design your UI without having to do everything manually.

First I tried Glade which is just a nightmare. It’s extremely complicated to deal with and you have no clue about which control you should use or how to arrange things, and most importantly there’s not a lot of tutorials and documentation for new users to learn how to use it, and how to integrate with other languages.

Then I was told that Qt Creator was an awesome thing, so I decided to give it a try. I’ve created a new test project and selected the Qt Quick option so I could use QML, which is a lot better for a developer with Javascript background like me. One of the things that made me like this was the amount of good documentation and tutorials.

When I started playing with the Designer one of the first things that I noticed was the lack of simple controls like Buttons, this was pretty strange and I thought I haven’t installed all the things needed, but when I searched for it I got this tutorial from Qt itself, which explains how to create a button in QML (from scratch!!). QML is one of the most awesome things I ever seen to build the GUI logic, it’s simple and flexible, the problem is that there isn’t any kind of controls to create real world desktop applications with it.

After that I took a look at wxWidgets, which lacks good documentation and a decent GUI designer. Then after all this horrible nightmare I thought about creating all my UIs using HTML5 and wrapping everything around a GTK WebKit window, but I don’t think this is a good approach since my apps would look like an alien to the system.

Where are the Delphis of modern computing? I remember how easy it was to design UIs using Delphi and with a right-click on the control you could easily attach an event to it’s logic. It’s this kind of IDE that I’m expecting, one that focus on the fact that you don’t need to struggle to create a UI, but instead that you should be able to create the UI fast and easily enough, so you can focus on the most important thing that is your application logic.

Linux is a awesome OS, I’ve been using it since 2007, and it needs/deserves better tools to create awesome GUI applications, this is one of the reasons that developers aren’t porting their apps to Linux. On Mac OS X we have the awesome Xcode that includes a incredibly awesome GUI designer, and on the Windows side we have Visual Studio with a designer that is the best one in my opinion, since it’s easy, flexible, and powerful. Isn’t this the perfect time for a great Linux GUI designer?


RIM is Doing it Right

Finally someone got it right! RIM is the first company that understood that there is no way you can be successful without having 4 things (and implemented all of those):

  • A good, stable and professional OS that fills the needs from teenagers to business people.
  • Beautiful interface that is everywhere and is extremely easy for developers to use on their apps.
  • Developer support/excitement.
  • Carrier support.

Impressions from The BlackBerry 10 Jam

I just got back from the BlackBerry 10 Jam São Paulo and what I saw there was just awesome! I’ve been developing for BlackBerry since I got my Torch 9800 (just for fun) in March of this year and as soon as I started developing for it I saw that RIM was really committed to developers. They provide all the tools, SDKs, frameworks and support for you to create the most awesome apps.

They saw that if you don’t have a developer community that is excited about the future they just can’t continue with their business since after Apple introduced the App Store consumers got addicted to apps and if a platform doesn’t have the apps the need/want they just go to another one. Everyone at The Jam was extremely excited about BlackBerry 10 and how innovative it will be.

I talked to some people there, from business mans that were there only to see the next step from Rim, to developers from other platforms that were thinking about migrating to BlackBerry. The business people were really excited about the new UI/UX of BB10 and how great it will be for multitasking. The developers were really excited too about the UI/UX, but a lot more about how easy it was to develop gorgeous apps for it.

One interesting quote that I got there was from a awesome Android/iOS developer that said: “I submitted a FREE app to Google Play. It made a good success there, but in about a month there was a exact clone of my app being sold on Google Play and other app stores for Android.” He was there because he loved how RIM really cared about developers (which is not true for Apple and Google).

The Dev Alpha

Another thing that RIM did right.

I was one of the lucky developers that was able to get a Dev Alpha (What is the Dev Alpha?). The idea behind distributing prototypes for developers is just amazing. I’m the kind of developer that hates emulators and only develop using real hardware. That’s why the Dev Alpha was a must for me, so I could start developing for BB10.

This is really a awesome idea that we don’t see very often: OEMs distributing prototypes for developers so they can start building their apps to make sure that when the platform is really for commercial release there will be a great selection of apps available on day one.

Monetization

One of the most awesome talks from the BlackBerry 10 Jam, in my opinion, was about monetization of apps in the App World and how it’s proven (by those analytics and research companies) that BlackBerry developers make more money than the average Android/iOS developer.

I totally agree with this because everyone knows that the piracy rates on Android are absurd and the fact that for some strange reason the average Android user doesn’t like to spend money on apps (even if it’s just 99 cents). On the iOS side piracy is a bit of a concern too, but less than on Android.

When we compare to BlackBerry piracy isn’t a big concern since RIM is very well-known for having the best security on their products, also as they showed on the conference the average BlackBerry user loves to download apps and think it is ok to pay for apps that are good and fit their needs.

Conclusion

RIM is really making their path into the future and will definitely survive this phase and get the 3rd place on the mobile market, since I really can’t see Windows Phone going forward with all these bad decisions from Microsoft, how they can’t get outside developers into their platform, and how they are having problems with OEMs to get onboard. (poor Nokia, no updates for you…)