Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Thursday, February 23, 2012

MWC 2012 Parties app is here!

If you are going to Mobile World Congress this year, you probably know that the real action happens in the many networking events and parties held during MWC.

It is hard to keep track of everything, so to make things easier I compiled a list of events into an app - and this year it is available for iPhone, Android, BlackBerry and JavaME. It is a native app, so once you download it you can view all events offline and save some roaming $$$...

Download Links:
iOS: http://tinyurl.com/mwc12ios
Android: http://tinyurl.com/mwc12a
BlackBerry/JavaME: http://tinyurl.com/mwc12j

Note that after downloading it is recommended to press the "Refresh Data" button to get the latest event (Very necessary in the iOS version which is the least updated due to the approval process time)

Enjoy the show!


Saturday, February 26, 2011

MWC 2011 Recap

As every year, it is time to sum up Mobile World Congress, which was quite packed this year. What did we have this show? In one word - Android. In four words: Android, 3D, HD and Tablets. Want some more details? Here you go:

Star of the show: Android

Android did a really great job this year at the show. It started with their pavilion that showcased Android solutions in just about any category you can think of. It was neatly designed so that big green robots (androids) were placed in the pavilion - each android showcasing a different aspect (gaming, productivity, shopping etc.). The pavilion also offered some attractions such as androdifying yourself, some weird tasting slushies and a slide to get from the upper floor to the lower...

Aside from this pavilion, they had presence basically all over Hall 8, and in some other halls as well - overall over 30 companies who use Android partnered with the pavilion and had a smaller green android on their counter. In each such counter there were limited edition Android badges, which quickly became the talk of the show and visitors traded them like crazy. Also, these badges have already made their way to eBay...

The total effect is that wherever you looked at - Android was there. Of course this was true even without the branding effort - Android has taken a bite of almost any device vendor out there, and it's here to stay.

Best 3D device: LG Optimus 3D

Another trend at the show was 3D screens. I've seen several handsets with 3D screens, but of all, I have to say LG's (Android-based) handset was the best. First, I'd like to emphasize that we're not talking about a 3D screen that requires special glasses - you can look at these screens with your bare eyes, and still see the 3D effect in all its glory. Obviously you can't see the 3D effect from pictures (As you are using a stone age 2D screen...) - but it is truly amazing.

The downside is that you have to hold the handset firmly and look straight at it to get the full effect - viewing angle is key here, since it is all based on getting a different picture to your left eye than the one received on your right eye. And that leads to the second downside which can only be described as a "3D headache" - the same type of eyes/brain uncomfortable feeling you get while watching 3D content. However, of all devices I saw, the Optimus 3D was the easiest on the eyes.

The applications for 3D are quite obvious: videos and gaming. And the great thing is that aside of consuming 3D content, you can also produce it - the Optimus 3D features a stereoscopic camera that allows capturing 3D videos.

The Optimus 3D also features a 3D user interface which looks quite nifty, but a tad annoying... But anyway, you can also use it as a regular 2D handset. When 3D content is not available (i.e. browsing the web) the display looks like a high-quality 2D display.

And the best thing is that we're not talking about a futuristic technology that you'll see only in trade shows - the Optimus 3D will be released in Q2 2011 (April 25th in the UK)

Best show in town: Samsung Galaxy S II

And yet another Android based handset that struck some waves in the show was Samsung Galaxy S II. It is a truly remarkable handset, very slick and amazingly thin (8.5mm), and it features a crisp Super AMOLED Plus 4.3" display all on top of Android Gingerbread.

Even though it's a great handset, the Galaxy S II has a lot of competitors starting with the Optimus 3D and countless other slick Android handsets from other manufacturers. However, what I do know is that Samsung did invest a lot of marketing $$ in MWC to prove they have the best Android out there - their launch event (Samsung Unpacked) was well done with orchestra players playing both traditional instruments and modern instruments such as the Android music apps on the Galaxy S II...

The resolution revolution

Once upon a time a QVGA resolution (240x320) seemed like a dream - today QVGA is considered more like a nightmare for most savvy phone users... While the iPhone 4 is still king featuring 640x960 resolution, in most other smartphones we saw up until recently resolutions of up to 360x480 or so. But in this show it was clear that the new standard that most decent 4.3" Android phones feature is 480x800 resolution. That's 5 times the pixels we had in the ancient QVGA and about twice from just one generation ago.

And that's only on-screen resolution, many handsets come equipped with the ability to connect to external screens and show Full HD videos (1920x1080). Your phone can now be your streamer with no compromise on quality.

And if a big screen is not enough for you - some handsets come equipped with an internal projector. Now that's a killer feature: You can show up to a meeting and project slides or movies directly from your handset. These projectors still have a few issues, their brightness is usually very low which means you have to project in a dark room, and they consume quite a lot of battery - but the great thing is that's it's already commercial and I've seen handsets from multiple vendors with this feature (And yes, most were Android...)

Mobile gaming promise: Xperia PLAY

For the gamers amongst you, SonyEricsson's Xperia PLAY should be a real treat. But since previous attempts to combine a mobile handset and a gaming console all-in-one failed miserably (Anyone said N-Gage?...) - we'll have to remain skeptical and let this new challenger prove its promise.

SonyEricsson has a real asset here which is Sony's PlayStation brand. And indeed the gaming controls that slide out of the phone (Instead of a keyboard) look like PlayStation controls, but certainly don't feel that way. The games I tried look great on the handset, but to my surprise PlayStation is mostly used here as a brand and not as a platform: All games are actually remastered version of the original PlayStation games.

The actual platform used here is no other than Android (again...) with some external APIs to allow access to the gaming controls. So if you thought you're getting a phone that knows to run PlayStation games, forget it - it will run Android games, which is not bad at all - but I think we'd all appreciate if this point was made more clear in this phone's marketing briefs.

Tablets, tablets and more tablets

While Apple did not exhibit at the show (They never do...), its impact was well felt again- with Tablets being a buzz leader in the first MWC after the iPad was launched. And in the same way that almost every vendor had an Android phone, every vendor had a tablet - and in fact in most cases, an Android tablet.

Other than the iPad (And its soon-to-be revealed successor), it seems the BlackBerry is getting a good traction with its PlayBook, Samsung Galaxy Tab and Motorola Xoom lead the Android space (Both running Android 3.0 Honeycomb) and there's also HP with its TouchPad based on Palm's WebOS (Good luck with that...)

When Apple launched the iPad, people didn't know what to make of it. Some claimed it'll change our lives while others claimed that the iPad is just a big iPhone... I think that sales figures have proven that a tablet is  more than just a big smartphone, and are here to stay - and we'll probably hear more on the future of tablets from Apple later on this week.

Blast from the past: Device cases

Remember the days we switched our Nokia handsets cases in the same rate we switched ringtones? Well, I'm afraid to announce that these days are knocking on our doors threatening to come back from the dead...

In the past few years the case-switching phenomenon disappeared and people were quite happy with their original phone casing (Also I get the feeling people change ringtones much less than they used to). But now I've seen several companies trying to ressurect this trend. For example CaseMate who markets various covers for Android and iPhones - including completely modular sets that allow you to customize your case in ways you never wanted to...

They're not the only company, I've seen it also in LG's booth and you probably also saw the Angry Birds smartphone cases. This adds up to another trend which is more useful, and that's magnetic charge. There are now adapter cases that replace your original smartphone's case, and hookup internally to its charging port. Then charging is done by simply placing it on a magnetic charger (See Powermat)


Coolest Demo: Sonim Rugged Phone

Sonim produces rugged phones, resistant to dust, shocks, water, oils, extreme pressure and freezing or extremely hot temperatures. It is not clear if the human using this phone should also be as rugged - but at least the phone will survive...

While this is a niche product, they have the best demos - they placed the phone inside an ice cube and also in a glowing green-yellow liquid that has the cozy temperature of -25 degrees Celsius... A "cool" demo indeed - and in both cases the phone survived... They also have other videos you can check of the phone surviving a spin in a washing machine and other forms of phone-abuse...

NokiaSoft and MicroKia

And finally the biggest mystery of them all: With Android's momentum, is there any place left for Microsoft's Windows Phone 7? And what will the new partnership between the two giants mean? Call it NokiaSoft or MicroKia or whatever you like - even though analysts have written many obituaries about past moves of these two players - combined together we may be in for a surprise.

I experienced a Windows Phone 7 first hand, and the UI is quite smooth and very friendly. It has all you expect from a new age smartphone and more. Is it enough to triumph Apple fans/cult-members and Android's soaring figures? Unlikely - but only time will tell. Though it looks like a difficult challenge, I believe this move is great for Microsoft which was a niche mobile player until now - and it's a big bet for Nokia that is not going for Android like all other vendors - but one that may pay off if they play their cards right.

That's all this time - See you next year in Barcelona (And the year after that perhaps in Munich, Paris or Milan...)

Tuesday, February 8, 2011

MWC 2011 Parties app - for JavaME and Android



As in last year, I have written an app that aggregates most interesting free networking events, receptions and parties happening in the week of MWC 2011 in Barcelona.Get it here while it's hot!

The app has all the info offline, so if you download it before coming to Barcelona, you'll have all the info in your pocket, without the need to go online (while roaming...).

You can download it here: http://budurl.com/mwc11app

And the good news is that it's available both for Android and for JavaME (Which should also work in most BlackBerry devices and Symbian phones for those of you who still have it).

For the iPhone fans, there's no app - but there is a slim mobile web version in the link above that can save you data, and also I'll make an effort to add HTML5 caching tags, optimized for iPhone, so that your browser can see the info even when you're offline.

For the techies, I can share that the app was made with LWUIT, Oracle's UI framework that allows rapid development of rich UI mobile apps. LWUIT is mostly for JavaME, but some community contributors have made porting libraries for BlackBerry and for Android - I must say porting this app from JavaME to Android was a snap!

Enjoy!

Friday, January 30, 2009

Top 8 rules for mobile entrepreneurs & application developers

If you are a mobile entrepreneur or on your way to become one, you probably know that there is something different about being in the mobile space... And if you don't know, then you are about to be surprised...

So as an entrepreneur that has been surprised a few times, and to save others the surprises on the way I tried to compile here a list of rules that are unique for the mobile space. I tried to be as thorough as possible but if you have any additional rules you're more than welcome to post them as a comment. Anyway, here goes:


Have a solid operator / carrier strategy

When asked about their operator strategy, a lot of good startups will say: "Operators? We don't need them! Our product is going to revolutionize the value chain, in fact the whole idea is that with our product you can bypass the operators...". VCs love hearing that sentence, or to be more accurate loved this sentence, as it is definitely easier said than done - the fact is that most startups might begin with these statements, but down the road, they and their VCs find out that working without the carriers is quite difficult.

You have to do the marketing on your own, you have to overcome a lot of business model/technical issues and the walled gardens of the operators don't allow you to really bypass them, at least not without losing 90% of your potential customers. So after being a "brat" for a few years, these startups mature and start to cooperate with operators which are a natural partner for mobile startups.

Now don't get me wrong, I think operators still hold too much power and are too afraid letting go, which makes things very difficult for application developers (read my post on launching an app in the US). A more open environment will probably boost the eco-system and in turn benefit the operators themselves. And someday this will happen, but that day is not today, and in the meantime you have a startup to run and a product to sell...

So instead of wasting precious time and resources, establish an operator strategy from the beginning. It doesn't mean that you have to go hand in hand all the time, by all means take advantage of off-deck opportunities if you have the resources to market on your own, or if you find a suitable partner - you can also launch something offdeck to make some noise and grab the attention of the operators - but in the end operators are still one of your best chances to get to the mass market.


Mind the data costs (or: forget about the viral effect)

If you provide your application for free and expect it to have the same viral effect free web apps have, you're in for an unpleasant surprise. Nothing is really free in mobile, which is both good and bad for you... It is bad because users who want to download your app will have to pay the data costs for the download. If your app also makes subsequent use of the network - data costs will strike again... In fact virility in mobile takes a real blow from data costs, which makes it harder to provide viral experiences such as Facebook, YouTube etc.

The good side of things is that users are okay with paying for services on the mobile, unlike the web 2.0 standard which is everything for free, just come and use our app... But then again, trying to make a non-free application viral is much more difficult, and here is exactly where the problem is: Even if you do make a free application, the carrier will still charge data costs, which still means no money for you (which you're okay with for virility puposes), but no users as well...

It is true that there is some movement towards flat data rates which can help things, but as it stand now data costs are very high around the world, and the billing structure is not transparent enough or understandable to users, so a lot of them are simply afraid to use data on their handset. And don't get me started on roaming charges (which kills a lot of applications).

There is no simple solution here, but here are some thoughts: Partnering with an operator can sometimes take the data costs off your back. If your game/app is on-deck, a lot of operators allow free access to their portal, so at least the download itself will be free. Same goes with network use inside the application, you can try to negotiate a zero-rated network use for your application - the chance of that happening is highly dependant on the specific operator and the region. However, note that even in cases where the data is free for users - some users have had bad experiences and do not want to take a chance, so they avoid any network use.

If you don't have a (good) deal with the operator, which will be usually the case, just make sure you communicate (in your web site) to your users all the info related to the data costs, so there will be no surprises. Also if possible, try to lower as much as possible network use inside the application - use data compression to lower the amount of data sent, and make your protocol as minimal as possible.


Mobile phones are not PCs!

This is a very important rule which is overlooked too often. Mobile is a different media than the Web/PC. Not everything we do on the web we would like to do on mobile. This point becomes more important as technology advances, since in the past you couldn't do much on mobile, but today you can. However, this still doesn't mean you should...

One of the biggest differences between mobile and PC is the screen size. While PC screens get bigger and bigger, handsets feature small screens, and will stay that way, since one of the key elements of a mobile phone is that it should be mobile... So, while you enjoy watching TV on your 42" TV at home, or even at your 22" PC screen, doing that on a mobile phone is not that comfortable and can be described as a "second best" in a good day. You have to adapt the experience to the medium. For example even if you wouldn't watch a full length movie on your mobile, you still might enjoy a 5-minute funny clip.

Another difference is the input method - handsets have limited space for keys which leads either to a numeric pad or a very dense qwerty keypad. Neither is very comfortable for writing long documents (but short emails are okay). Also while I would enjoy playing a complicated game on my PC or console, doing that in mobile is simply impossible, which leads game developers to follow "the rule of thumb", meaning you can play their game with one thumb only...

On the other hand, mobile has some clear advantages in some areas, and they can be utilized to give a more in-sync experience. The most important feature of a mobile phone is again its mobility. This led to the replacement of many MP3 players by handsets, and the same cruel fate happened to some really good digital cameras... Another area that is about to flourish is location services. You can give the user info and offers on where he is when he needs it (But of course, mind the data costs...)

Of course, every once in a while something comes along and changes the rules, and with the input mechanisms this was the iPhone with its touch screen that opened a lot of options to make things that were not suited for keypad phones to become mobile.

In anycase, just remember you are running on a handset, even if you can do anything you can do on a PC on it (And we are not far from that day). For more on that refer to one of my first posts called Mobile is a different medium than the Web/PC/TV.


Choose your Platform

Web 2.0 entrepreneurs have an easy life, don't they?... They have to support one platform only called the web browser. Now it's true that there are some nuances between IE and Firefox/Safari, but again these are nuances which can be overcome by good coding practices. Different operating systems? Not really, with Windows dominance on the market this is a non-issue (Plus the browsers serve as a VM for that purpose). Server-side platforms are also a non-issue - you can choose whatever you want: Java, .NET, PHP etc. as long as you serve HTML pages, your application will work on any browser without any special installations. Perhaps the most difficult and significant issue is Flash vs. Java (client-side) for those making extremely interactive content such as games.

And what about us in the mobile space?.... Well, not looking too good... A multitude of operating systems and VMs: J2ME, Windows Mobile, Symbian, Brew, Linux, iPhone, Android - all cannot be ignored and have a significant market footprint somewhere in the world and for some type of applications (or will have one in the future). Unlike the web-world, the differences here are not nuances: Applications written in one platform will simply not work in the other (or in some case like J2ME on Symbian will work poorly).

As a startup usually you don't have the resources to develop to all these platforms and you have to "choose your poison"... This is not a very easy decision and can make or break your success. There's also a lot of hype to the newer platforms such as iPhone and Android, and this can be confusing since though it does seem they have a bright future, their actual install base is quite small compared to more mature platforms (See my post on that).

The important thing to do is to choose the platform according to the users you are targeting and the play you are looking to make. If you're a game developer and your target market is Europe then no doubt you should start with J2ME. This is by far the de-facto platform in this GSM continent. Your games will also run on Symbian devices with Java VM (i.e. Nokia series-60) though will probably be slower and more buggy, but it's an okay compromise to make until you have the funds to issue a Symbian version.

If your target market is the US on the other hand, your decision is more difficult. J2ME should be a good way to go, but since US J2ME devices are some years behind Europe, you might be limited in VM resources which will lead to reduced overall game quality. On the bright side there's a good play to make in the US with BlackBerry (which can run a slightly modified J2ME code).

Also there are a lot of Brew devices in Verizon which is the biggest operator in the US, a Brew play might make sense especially if you have some good connections in Verizon, as Brew is basically a walled garden, no way getting something on the air without the operator. But again - just make sure you start with one platform, and advance to the others. And of course there's the iPhone - a play on its own where you can maximize your innovation and get a pretty good market in the US, but again this is not the mass market.

If you're going to the Eastern markets, you have to carefully learn the situation there. Starting with developing countries with very basic devices up to the mobile power nations Japan and Korea, which have their own platforms (i-mode, WIPI and more).

I can go on and on here, but you get the picture: Choose one platform and focus on it. Just make sure you choose the right one for you.


Establish a porting strategy

After you choose a platform, your troubles have not ended, they are just getting started... Even within the platforms themselves there are a lot of variations in the handsets. Starting with operating system/VM versions which are not always backward compatible (i.e. Windows mobile version, J2ME MIDP1 vs. MIDP2), going through unsupported or buggy features or APIs in some devices and ending with the simple fact that devices have varying screen sizes, processing power and input mechanisms (For the issues in J2ME take a look at my J2ME Porting 101 post).
This requires porting of your code to hundreds of different devices. The cost of porting within the same platform is not as high as porting from one platform to the other (which is basically a code rewrite of the entire app), but still when talking about hundreds of devices, this aggregates to a very nice sum... And bear in mind that porting is not a one time thing, you have to maintain or redo the process every time you issue a new version...

The key to survive porting is, again, to know your target market. It is okay not to support every device in the world, or even in your market. You can start with key devices and progress overtime to additional ones. Just make sure to find out which are the key devices are for you - i.e. what devices most (or a big share) of your potential customers hold. Obtain metrics from metric providers and reports on the web, and don't rely on hype.

Also, give some preference to easy targets (For example SonyEricsson devices are known to be pretty portable when it comes to J2ME), and forget about devices that give you too much trouble (unless they're critical) - it is not worth it spending 2-4 weeks just to port to some stubborn device...

As for the porting itself, some prefer to do it in-house completely, some using 3rd parties tools and some outsource it completely, usually to offshore porting houses. There's no right way here, it depends on your needs.

Obviously porting houses in India, China and Eastern Europe can provide with competitive pricing and some already have a well-structed process for porting - this is all they do, so they must be good at it... But as with all outsourcing processes, it has some overhead and the distant communication also doesn't help, but still it takes a huge load of work from your employees that can focus on the development of the product.

If you plan to issue new version frequently (and have the resources to do so), meaning you do frequent porting, then porting might be something you keep in-house - you can either use 3rd party tools to manage the process, or build your own framework, which is not as hard as it may seem.


Make sure users can actually use your app...

Everyone who deals with usability in mobile will tell you it is simply hell... If creating web applications that are easily understood by users is a difficult task (and it is...), then doing the same for mobile is simply a disaster... Crunching all the info on a tiny screen while trying to let the user to interact with a limited numeric pad is a hell of a challenge.

Usability is a major factor that will determine if your application gets adopted. Don't test users' patience - they don't have a lot of it - if they can't understand you app in 2-3 minutes they will never use it again. This also stands for the distribution of the application, there's a lot to improve in the download experience - some of which you can't affect and is in the domain of handset vendors and operators, but there are some things you can make easier for the user (i.e. SMS with a link to the app, sign your app to avoid as many installation questions as possible etc.)

As for the application itself - the key to success here is not to get wild. Remember that the average user is not a super-geek like you (or your CTO...), in fact the profile of mobile users in terms of technical capabilities is even lower than PC users. So keep things very simple. Also, it is very useful to see what others have done - don't reinvent the wheel, look at other mobile applications - some of the biggest UI challenges have already been solved in some way that users have gotten accustomed too, so you should probably follow the same guidelines.


Use the power of convergence

Being a mobile entrepreneur doesn't mean you have to stay in mobile only. There's a whole eco-system around us, and sometimes your success can come from connecting with non-mobile services or applications. This can sometimes be fruitful for both parties.

Now, don't get me wrong, sometimes a mobile-only play is the way to go, for example if you develop non-multiplayer mobile games, you don't necessarily have anything to do out of the little screen - your games look great on mobile, but don't compete even with PC titles dated 5 years back... On the other hand, if you're a mobile VoIP provider, connecting to PC VoIP providers can do you only good. If you're in the social networking space, communicating with the online networks and fetching data from there can do wonders to your app. And how about saving data to known portals, syncing calendars with online calendars etc.

Also, if your service is a success on mobile, you can try to see if opening the same for non-mobile users makes sense. Sometimes it doesn't because the service you offer is unique in the mobile space but too crowded in the "regular" web. But sometimes you can bring something different to the mix, relying on your mobile strength. This of course is more relevant to more mature startups, as focus is very important, so you should expand only after you gained some traction in one medium.

In any case, the key here is to try to see the full picture. Can your application or service connect with online services in a beneficial way for your users? Will a non-mobile version of what you do now can work? If the answers to any of those is yes, go for it (Just make sure that the answer to "Do I have enough funds to make it happen" is yes as well...)


Don't listen to rules...

The last rule is simple: Don't listen to rules... Mobile is a new space and there's still a lot of practices we haven't found. Some of the things that look like Axioms today, might change along the way and open new opportunities. Perhaps you'll be the one to discover them when not following any rules...

Thursday, July 24, 2008

The battle of the mobile platforms

I have been hearing a lot lately from various people, especially those who are starting now new ventures, but also established companies about their tendency to develop their apps to the new kids in the platform block (iPhone and Android) while abandoning older and more established platforms, especially J2ME.

The claim is that J2ME is too much of a hassle, first because of its porting problem, then because of the carrier related problems, and in the end the result on devices doesn't look too good anyway due to the platform limitations.

I agree that J2ME hasn't been very pleasant for developers in the past few years, and same goes for other platforms such as Brew, Symbian, Windows Mobile to some extent - each with its own problems (Flash Lite is somewhere in between it's relatively new and promising but didn't make as much noise as iPhone/Andorid). But things are changing and it would be a shame to drop these platforms just when they are maturing and go to new and shiny platforms that is still in its boot camp...

But let's go back a bit, and ask first the very important question: Who is your target audience? This marketing 101 question will lead to the next question: What devices does your market audience use? (or in other words: What are your target devices?)

I believe asking this question, while ignoring technology aspects for a second, is very important since it makes the distinction between which devices your target audience uses to which devices you would have liked them to use...

Yes, there are new shiny platforms like the iPhone and delayed but soon to be launched Android, and yes, you can do great things with those. Things you wouldn't have dreamed about doing in J2ME. But, your users are not necessarily using them. To be exact, whatever your target is, 0% use Android currently.... And as for the iPhone it is true that it has gained a very nice chunk of the smartphones market share in the US (27%), but its global marketshare when you take into account all phones (not just smartphones) is 0.14%...

Also actual handset market share data may surprise you sometimes. For example in the US you will find that the top phone is Motorola V3, which really doesn't have a strong J2ME virtual machine, and my guess is that its Brew version strength is similar... Other phones in the top places are not that strong either. Note that I am not talking necessarily about currently selling phones, but about handsets that are currently in the hands of the American people, and until iPhone/Android will crawl up to the top of the table it will take time.

The reality is that sometimes your target audience uses low-end devices. Take gaming for example. I believe that the true promise of mobile gaming is bringing games not just to those with the newest smartphones, or niche gaming devices, but rather get them to everyone - to those "dormant" gamers, that would love to kill 5 minutes on their way to school/work/senior citizens house... And experience has shown that you do not necessarily need a game with killer graphics/FX - in fact the most simple games such as trivia games (who wants to be a millionaire, wheel of fortune) and puzzles such as Tetris have been the best selling games, you don't have to take my word for it - check out Jamster's top mobile games list.

So my bet is that J2ME will stay a solid platform for gaming and even the first choice as it is today, even if the new platforms offer more stuff.

On the other hand, if you are developing business applications that require anyway devices with good internet connectivity, big screens and maybe even full qwerty keyboard and/or touch support, naturally your first choices will be smartphones platforms like those who've been around (Symbian, Windows Mobile) and also the newer iPhone and Android.

In any case, don't forget that all the childhood sicknesses that J2ME has been having in the past few years are still waiting to happen on iPhone/Android... It is true that iPhone is less problematic in the same way that Mac hardware and drivers was less problematic than what we used to call "IBM-compatibles" (now known as PCs...) - simply since in the PC world there were hundreds of hardware suppliers and in the Mac just one... However, Apple might also release several devices for different profiles - even now we already have 2 devices: iPhone and iPhone 3G. Now what about the rumored iPhone Nano (Some say it's a hoax), or the other iPhone flavors that will be launched in the future? (iPhone Air?...)

One of things the mobile market has proved is that people like to differ themselves with cool new gadgets... The iPhone definitely hit that spot, but you can't do it twice - people will be looking for the next cool thing, and I have no doubt Apple will know how to provide it, but once you issue different screen sizes and different capabilities, you break somewhat the promise of no porting problems (And don't forget the iPhone look alikes coming soon from all the major handset vendors, each of those have the potential to become a hit, but they won't have the same platforms at all..)

And the irony is that just now when people have given up on J2ME, it is finally getting stabilized... it is not there yet - but definitely going in the right direction. For example, many developers can tell you that porting to the new breed of devices is not that hard as it used to be. In fact MIDP 2.0/CLDC 1.1 devices actually sport reasonable if not good VMs that are less buggy and less quirky. This led to the one-JAR-fits-all approach, that could have never worked in the past, but surprisingly enough, it works now. It may not fit 100% of the devices, but it fits a very large proportion of the newer devices.

In addition, capabilities that in the past were non-existent in the Java world because of the sandbox approach are now available on most new devices: Starting with bluetooth, advanced networking (Not just HTTP), which were here for a long time now, going through addressbook and file system access, location based services, 3D graphics, vector graphics which are available on most new devices and till newer features like content handling (your java app can be registered as a handler for a content type, so you can write a video player that automatically launches when the user clicks on video file even outside of the java context).

And the best thing is that all those capabilities are better standartized than before. And also Sun is actually taking a proactive role both in the standartization and also in introducing new frameworks that makes things easier for developers such as their new UI toolkit, LWUIT.

To sum up - don't get me wrong, I believe that iPhone and Android are both great and promising platforms that open new possibilities for mobile developers, and we can already see its effects on the platforms market. There's nothing like a competitor "breathing on your neck" to get you finally going faster... But: Don't focus all your energy there. Pay attention to the platforms that are currently in the hands of your users, and that in spite of how things look like now, will probably stay there, at least enough to make you get used to them...

Wednesday, November 7, 2007

Google's Android

After a lot of speculations, some of the mysteries around the so called Google Phone or gPhone have been solved.... Google announced last Friday its Android software platform for mobile phones. The technology behind Android was invented by a company by that name which was acquired by Google 2 years ago.

Basically it's an OS for handsets, that is supposed to make things easier for application developers, be portable etc. Of course the proof remains in the unreleased pudding... But soon enough developers and analysts will be able to get their hands in the technology, as an early look SDK is said to be released on November 12.

By the way, the Android initiative has another name you might know and that's the Open Handset Alliance, and as the name suggests it's not just Google that is in it, but also several mobile operators (T-Mobile, NTT DoCoMo, Sprint), handset manufacturers (LG, Samsung, Motorola), platform vendors (Qualcomm, Esmertec) and other mobile companies (You can find the full list here).

So Google is trying to make an industry play here and so far so good. What remains to be seen if it will be truly open or Google oriented.... In any case the word on the blogosphere is that Google services would probably be easily accessible...


P.S. - Check out Luca Passani's new comment in my Porting 101 post regarding a new mailing list for J2ME developers. Luca is the driving force behind WURFL, and moderates that list, so if you want to tap in to his knowledge and influence WURFL for J2ME, you should join.