Andre Garzia
unread,May 24, 2011, 11:55:29 AM5/24/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to revto...@googlegroups.com
Folks,
I know this group has been silent for a while but I have information to share, unfortunately, I think the information is too OT for the use-livecode lists, so it will go here.
I know own all the tree big OS for mobile development, I have:
iOS: iPhone 3GS and iPad 1
Android: Nexus S
WebOS: Palm Pre 2
Now, from fiddling with all these devices, I've reached some conclusions. I will first talk individually about each OS and then some conclusion.
=======
iOS
=======
iOS is the most active market right now. The iOS operating system is a minimal OS, just the minimum set of features to be usable. It is like when you want to level a platform and you level it from the bottom. iOS operating system is kinda dump, has no REAL multitasking, no matter what his steveness says, the current concurrent task thing is not what true multitasking is.
The official development environment is Objective-C with CocoaTouch frameworks. You use XCode to build it all and if you are using their own tools, the overall experience with quite good. XCode is a powerful development tool and has all the features expected from an programmer editor. Interface builder works great and you can create great standard looking and behaving interfaces by drag & dropping.
LiveCode deployment for iOS is the most advanced of all the mobile offerings from RunRev. Right now, most of the hardware features are supported. The lack of support for standard controls is the major problem. It is really hard to create applications that look like iOS apps. If you are creating a custom a custom UI then you can go as high as your talent but if you are design challenged like me, then, you are lost. You can't create standard looking and behaving apps. You can fake it to a degree with some third party offerings but this is faking, they look almost true to the apple HIG and look and feel but the don't behave as expected.
The app store is very easy to use for the customer. For the developer, the app store process is less than good. Apple acts like the big brother and we know how things can suddenly change for the worse. The iOS platform is the most closed of them all. You basically don't own your iOS device, you are only allowed to do what apple allows you to and when apple allows.
=========
Android
=========
Android is the fastest growing platform out there. Many hardware builders are shipping android devices and you can basically get them in any country or carrier. The android os, at least 2.3.4 version, is very pleasurable to use. It has more features than iOS and one can quickly see the advantage of the android "hardware" buttons such as back, menu, search and exit. The system is very polished and the UI is very modern. Android is moving really fast and I think is the most future-proof of all the platforms.
The official way to develop is using Java. You install eclipse with the Android SDK and build you java stuff. Java development has a lot of overhead and in the end there are tons of strange xml files to write and lots of noise and boilerplate code needed before doing your actual business logic. Java developers don't seem to be able to see how bureaucratic it is to develop java software.
LiveCode deployment for Android is the new guy in the block. Most of the hardware stuff is supported but the lack of support for the other "hardware" buttons such as menu, search and exit is a major pain. Also the fact that the native UI is not supported makes us suffer from the same problem as the iOS deployment where it is really hard for the non-designer oriented developers to produce something that looks good but since the Android platform is more "free" than apples, developers experiment more with custom UIs and most software has their own custom controls so your custom software will look like home. The major issue for Android, IMHO, is the lack of support for activities. Android apps are composed from one or more activities and apps can launch activities from other apps. For example an email application might have an activity called "email lists" and one called "compose email" so other apps can launch the email app compose new email activity. This is very powerful and shows the platform integration. The back key for example, will get you back to your previous activity, so if you from your app launch an compose email activity and the user press the back key, your own software activity is relaunched. Java apps have support from this built-in, we haven't and thus we loose a lot of possible integration. Also there is no support for notifications and other android goodness. Android deployment need to advance further before it reaches the same level as we have in the desktop.
The android market walks loops around the iOS market. From being able to choose a software from the web and have it installed on your mobile app, much like Amazon delivers kindle books directly to your kindle from the web itself, the android market is a pleasure to use. For the developer, the process shows how easy it can be and once you become an android developer, you realize how broken the whole iOS provisioning and process is. Android is going places and their market experience is very good.
========
WebOS
========
WebOS is the child of Palm and now is on HP. HP is releasing new devices HP Veer, HP Pre 3 and HP Touchpad and will also ship WebOS on desktops very soon. The WebOS system is a surprise. Its usability is far greater than both iOS and Android combined. The system feels very organic. The gesture area is better than android hardware keys. I will not explain much about WebOS but basically I grew so fond of it that even as I own a Nexus S (one of the most advanced phones available right now), I am using the Pre 2 as my personal phone.
The official development suite is great. WebOS is all javascript and html based. All apps are build with Javascript and you have access to the source of all apps that ship with the phone. It is a developer machine dream come true. Things work great
Unfortunately there is no LiveCode deployment for WebOS and it appears that is not on the roadmap but if HP pushes it really hard, then, it might change.
The app catalog is very good but your device is locked on the app catalog based on the carrier you use when you first activate your device. Even if you change carriers later, your device will still be locked (it locks you by your IMEI). This is horrible but HP developer relations says things will get better soon. I am waiting to see. I am right now locked on the app catalog, I can only see free apps because my brazilian carrier is not on the partner list. This sucks but the platform is so good that I am still using it.
============
Conclusion
============
Mobile is changing. LiveCode is a real contender but it needs more if one wants to deliver true native apps. The current official development suites for each platform are very different from each other. WebOS is great because you can simply transfer your web knowledge directly to the phone. Both iOS and Android knowledge are not that transferable except for the fact that iOS developement knowledge can be used for Mac development and this is great.