I am doing some research on SmartTV development right now and the topic seems very very fragmented.
I mean:
If you want to develop a android app, you get eclipse and the android sdk.
If you want to develop for iphone, you get xcode.
But SmartTV?
There is a Samsung SDK, a LG SDK, Google TV, a SmartTV Alliance SDK...
So what should I choose?
Especially if i want to
If you want to write once... you should choose the "The App Engine" but it's not free, it costs 48.000$/year with a max of 8 apps developed. The second option is the SmartTV Alliance SDK. The most mature SDK is the Samsung one, the LG one is good too but support from the manufacturer is not so good.
HTML is surely the best promising technology but we should consider that the market is very fragmented now. The first manufacturer/platform that obtains an important role will own the entire (and growing) market.
Actually the best options (in my opinion) are: - PlayJam: they have a big experience and they're the most advanced platform today, they're partnering Steam too - Google TV: it could become the Android of TVs... indeed, it's an Android-powered OS and LG, Samsung, Sony and Vizio already have a GoogleTV-device, Philips will add itself soon to the list.
So far the only two options are Adobe AIR and HTML, what do you have to develop? We're developing some casual games and we use Adobe AIR http://www.youtube.com/watch?v=0e8cmy1Vmic http://www.noriste.com/lg-smarttvs-adobe-air-3-0-and-app-test/
Some (maybe obvious) links:
Samsung SDK - supports Java, HTML, Adobe AIR - samsungdforum.com
LG SDK - supports HTML, Adobe AIR, Unity - developer.lgappstv.com
Google TV SDK - supports Java, HTML, Adobe AIR, Unity - developers.google.com/tv/android
SmartTV Alliance SDK (LG, Sharp, Philips) - supports HTML - smarttv-alliance.org
NetTV SDK (Sharp, Philips) - supports HTML - yourappontv.com
Roku SDK - supports C++, Unity - roku.com/developer
PlayJam SDK - supports Adobe AIR, runs on LG and Samsung (they'll support HTML) - playjam.com
TV App Engine - supports HTML and converts apps into native ones - tvappagency.com
Marmalade - supports C/C++ and integrates the PlayJam APIs - madewithmarmalade.com
Yahoo Connected TV - supports HTML - connectedtv.yahoo.com/developer
Opera TV - supports HTML - dev.opera.com/tv