SDN Chat: Author Talk with Jonathan Knudsen!
We had our first Author Talk in Second Life today with Jonathan Knudsen who just released his latest book, Kicking Butt with MIDP and MSA. It was awesome. Transcript below.
[9:00] You: Hello and welcome to our first SMI Press Author Chat. I'm
Heidi Dailey, Web Marketing Manager for SDN. It is my pleasure to
introduce our guest today, Jonathan Knudsen.
[9:00] Fiona May: woohoo
[9:00] You: Jonathan is the author of several books and more than one
hundred articles about Java technology and mobile robots.
[9:01] You: Jonathan's latest book, Kicking Butt with MIDP and MSA, will
be the focus of today's chat.
[9:01] You: Welcome Jonthan!
[9:01] JonathanKnudsen SunMicrosystems: Welcome everyone. Thank you for
coming.
[9:01] JonathanKnudsen SunMicrosystems: This presentation is about my
new book.
[9:01] JonathanKnudsen SunMicrosystems: I'm going to talk briefly about
the book and then answer
questions.
[9:02] JonathanKnudsen SunMicrosystems: My favorite book was The
Unofficial Guide to LEGO Mindstorms Robots, but I wasn't able to parlay
that into a full time career.
[9:02] Fiona May: lol
[9:02] JonathanKnudsen SunMicrosystems: Some of my other books are Java
2D Graphics, Java Cryptography, and Beginning J2ME.
[9:03] JonathanKnudsen SunMicrosystems: This is the most boring slide of
the day, but it describes the scope of the book.
[9:03] JonathanKnudsen SunMicrosystems: MSA is one of those umbrella
specifications that defines a whole platform.
[9:03] JonathanKnudsen SunMicrosystems: It stands for "Mobile Service
Architecture".
[9:04] JonathanKnudsen SunMicrosystems: MSA is defined by JSR 248
(http://jcp.org/en/jsr/detail?id=248). The MSA subset is for the near
future. The whole enchilada is for a little later.
[9:04] JonathanKnudsen SunMicrosystems: MSA is based around MIDP and
includes all sorts of
great stuff. The book covers all of it.
[9:04] JonathanKnudsen SunMicrosystems: The book's web site
(http://kickbutt.jonathanknudsen.com/) contains a table of contents that
will give you a more detailed idea of the information in the book.
[9:04] JonathanKnudsen SunMicrosystems: For the rest of this
presentation, I'll show you some screen shots from some of the example
code in the book.
[9:05] JonathanKnudsen SunMicrosystems: Here are a few screen shots from
the user interface parts of the book.
[9:05] JonathanKnudsen SunMicrosystems: One of the things that was
challenging about this book was that I tested the examples on more than
just the desktop emulator that comes with NetBeans Mobility Pack or the
Sun Java Wireless Toolkit.
[9:05] JonathanKnudsen SunMicrosystems: I had a Motorola RAZR V3 and a
Nokia 6030 that I used for testing. I also used one of Nokia's desktop
emulators.
[9:06] JonathanKnudsen
SunMicrosystems: The left image shows how raw
image data can be processed.
[9:06] JonathanKnudsen SunMicrosystems: The middle shows two custom form
items. (The gecko is just an image.)
[9:07] JonathanKnudsen SunMicrosystems: One is an animated wait
indicator like the ones in OS X or Firefox. The other is a font chooser.
[9:07] JonathanKnudsen SunMicrosystems: One the right is a scrolling 2D
game.
[9:07] JonathanKnudsen SunMicrosystems: The yellow block is an animated
sprite that represents the main characters, while the green and blue are
background image tiles.
[9:07] JonathanKnudsen SunMicrosystems: You can move the character
around the “board” in the example.
[9:08] JonathanKnudsen SunMicrosystems: These pictures speak for
themselves. This stuff is fun.
[9:08] JonathanKnudsen SunMicrosystems: SVG is a good candidate for
building interactive user interfaces that adapt well to various screen
sizes.
[9:09]
JonathanKnudsen SunMicrosystems: The examples shown here cover
SMS, Bluetooth, HTTP, and HTTPS.
[9:09] JonathanKnudsen SunMicrosystems: My favorite example in this book
is a mobile Flickr client, a little MIDlet that goes to Flickr and
retrieves your latest pictures.
[9:10] JonathanKnudsen SunMicrosystems: You can see it here running on a
Nokia emulator and my RAZR V3.
[9:10] JonathanKnudsen SunMicrosystems: It's a cool example because it
invokes Flickr's RESTful web services API, it parses XML responses from
Flickr, and it's so simple to put together something this exciting.
[9:10] JonathanKnudsen SunMicrosystems: Once faster 3G networks start
getting around, you'll see more of this kind of thing.
[9:12] You: Jonathan is having technical difficulties
[9:12] You: hold tight
[9:12] You: He'll be right back
[9:13] You: Happy St. Patricks!
[9:14] Violet Portola: Thanks Heidi!
[9:14] You: YAY!
[9:14] Daikon Hammerer:
And verily, he returns.
[9:14] You: WHew
[9:14] You: I was starting to sweat bullets
[9:14] You: okay
[9:14] You: back to JOnathan
[9:14] JonathanKnudsen SunMicrosystems: Sorry about that.
[9:15] JonathanKnudsen SunMicrosystems: I only showed you a few screen
shots. The book contains much more, as shown in the list here.
[9:15] Fiona May removes a few chains and secures Jonathan to the stool
[9:15] JonathanKnudsen SunMicrosystems: Thank you all for coming today.
Please follow the links for more information about my new book.
[9:16] You: Okay
[9:16] You: so we will be opening up the floor to questions
[9:16] You: but first, the rules
[9:16] You: If you have a question, please type "@" in your chat line
[9:16] You: I will call your name and you can then ask your question
[9:16] You: Okay? Okay.
[9:16] You: First question?
[9:17] You: Come on folks, I know you aren't shy!
[9:17] Muslima Questi: @
[9:17] pnc
Blessed: @
[9:17] Daikon Hammerer: @
[9:17] You: Go Muuslima
[9:18] Muslima Questi: I am planning to write a multiplayer game that
uses bluetooth, which examples in the book will help me with that?
[9:18] JonathanKnudsen SunMicrosystems: You'll be especially interested
in Chapter 11, The Game API
[9:18] JonathanKnudsen SunMicrosystems: and Chapter 20, about Bluetooth.
[9:19] Muslima Questi: ok thanks
[9:19] JonathanKnudsen SunMicrosystems: I have pretty comprehensive
examples for both chapters, but you'll have to put them together. 
[9:19] You: pnc, you are up
[9:19] pnc Blessed: woot! ok - do you cover using mobile devices with
Glassfish/Sun App server?
[9:20] JonathanKnudsen SunMicrosystems: The example are online, freely
downloadable, at http://kickbutt.jonathanknudsen.com/
[9:20] JonathanKnudsen SunMicrosystems: pnc Blessed, no I don't cover
that specifically. You always have HTTP and HTTPS available, which
gets
to connected to a lot of the world, regardless of the server-side software.
[9:21] pnc Blessed: ok thanks
[9:21] You: Daikon, go ahead
[9:21] Daikon Hammerer: Any words of advice for someone who's been
yanked out of a comfy Fortran project and told "you took a java course
once, write $software_front_end for our mobile phones."???
[9:21] pnc Blessed: Netbeans
[9:22] JonathanKnudsen SunMicrosystems: Daikon: wow, that sounds cool,
even if you're not so comfy any more.
[9:22] Daikon Hammerer chuckles.
[9:22] JonathanKnudsen SunMicrosystems: My book assumes that you can do
some Java language programming already.
[9:22] Daikon Hammerer: I took two years of Java, up to/including data
structures, and have done a bunch of desktop stuff--- I'm not terribly
familiar with the mobile platform, YET.
[9:23] JonathanKnudsen SunMicrosystems: A good way to get started is the
Java tutorial that Sun has online.
[9:23]
JonathanKnudsen SunMicrosystems: Besides that, tons of good books
and articles exist for learning desktop Java.
[9:23] JonathanKnudsen SunMicrosystems: If you have two years and some
desktop experience, you should be really comfortable in my book.
[9:23] Daikon Hammerer: Fair enough.
[9:24] You: Great. Next question?
[9:24] MaryMary Aabye: @
[9:24] You: Go Mary
[9:24] MaryMary Aabye: Could you talk to us about how you chose the
title of the book?
[9:24] MaryMary Aabye: 
[9:24] JonathanKnudsen SunMicrosystems: I tried to think of the thing
that would make Sun's lawyers really nervous.
[9:25] Violet Portola: @
[9:25] You: LOL
[9:25] AvaIsabel Cortes: And it worked! 
[9:25] MaryMary Aabye: LOL
[9:25] pnc Blessed: You should have added "Microsoft's" in front of Butt
[9:25] JonathanKnudsen SunMicrosystems: Actually, I just thought it
would be fun, and also it is a tip of my hat to Scott McNealy, who was
always talking about kicking butts.
[9:25] You: Here you go Daikon: Java Tutorial
http://java.sun.com/docs/books/tutorial/
[9:25] You: So true.
[9:25] You: Violet, you had a question
[9:26] Violet Portola: Will you be at JavaOne?
[9:26] JonathanKnudsen SunMicrosystems: I don't know yet, sorry.
[9:26] Violet Portola: Will your books be there?
[9:26] Laila Rumpler: @
[9:26] JonathanKnudsen SunMicrosystems: I sure hope so!
[9:26] Violet Portola: Cool!
[9:26] You: Laila, go ahead
[9:26] JonathanKnudsen SunMicrosystems: Usually the DigitalGuru shop has
the latest stuff.
[9:27] Laila Rumpler: How long did it take you to write the book?
[9:27] Fiona May: Jonathan if you are not at JavaOne at Moscone you can
always join us at the SL JavaOne
[9:27] AvaIsabel Cortes: Confirming Jonathan's book will be at the
JavaOne bookstore!
[9:27] JonathanKnudsen SunMicrosystems: Longer than anyone could believe.
[9:27] You: Do
tell.
[9:27] Laila Rumpler: yes
[9:27] JonathanKnudsen SunMicrosystems: I think I started in the middle
of 2006 and finished up writing in fall 2007.
[9:28] JonathanKnudsen SunMicrosystems: Every time I finish a book I
swear I won't write another.
[9:28] Laila Rumpler: lol
[9:28] AvaIsabel Cortes: lol
[9:28] You: What made you write the first one?
[9:28] Muslima Questi: hehe
[9:28] Violet Portola thinks SL JavaOne - how cool!
[9:28] MaryMary Aabye: @
[9:28] JonathanKnudsen SunMicrosystems: I got a job as a writer for
O'Reilly & Associates (now O'Reilly Media) and just started writing
books. It was a really cool job.
[9:28] Laila Rumpler: Did you have to change your examples as the APIs
evolved
[9:29] Daikon Hammerer: @
[9:30] JonathanKnudsen SunMicrosystems: Laila, the APIs didn't really
shift that much, but I did have a significant effort near the end to
test and package all the examples. They're
available for the Sun Java
Wireless Toolkit and for NetBeans Mobility Pack.
[9:30] You: Go mary!
[9:30] MaryMary Aabye: Jonathan, what blogs do you subscribe to; sites
do you monitor to stay current on technical develop;ments?
[9:31] Fiona May: ooo good question
[9:31] JonathanKnudsen SunMicrosystems: Hi Mary. I like to write but I'm
not much of a reader.
[9:31] JonathanKnudsen SunMicrosystems: The one site I visit just about
every day is Eliotte Harold's Cafe au Lait.
[9:32] JonathanKnudsen SunMicrosystems: It's been a little quiet because
I think he just moved from NYC to the SF Bay area.
[9:32] JonathanKnudsen SunMicrosystems: Usually, though, it's a good way
for me to keep up with what's happening in the world of Java.
[9:32] You: Daikon, go ahead please.
[9:32] Daikon Hammerer: Are there any features/APIs you'd like to see
included by default in future versions of the J2ME platform?
[9:33] Daikon Hammerer: Any
wishlists, etc?
[9:33] JonathanKnudsen SunMicrosystems: Daikon, if we can get to a point
where the full MSA is supported on a majority of handsets, I think
application developers will be happy indeed.
[9:34] JonathanKnudsen SunMicrosystems: My biggest wish is for
widespread 3G networks.
[9:34] Laila Rumpler: @
[9:34] Daikon Hammerer nods
[9:34] JonathanKnudsen SunMicrosystems: You can already do all sorts of
way cool stuff with MIDlets today, but the network speed is really an
impediment to widespread acceptance.
[9:35] You: Laila, go ahead.
[9:35] Laila Rumpler: How does MSA relate to fx?
[9:35] Chriistopher Carter: /ao off
[9:35] JonathanKnudsen SunMicrosystems: Great question.
[9:36] JonathanKnudsen SunMicrosystems: JavaFX Mobile will run MIDlets
unchanged, which is obviously a great move, to take advantage of all the
great existing software that's out there today.
[9:36] Laila Rumpler: What will it
add?
[9:36] JonathanKnudsen SunMicrosystems: I'm probably not allowed to say
this, but I think the current plans in JavaFX Mobile call for MSA subset
in the initial release.
[9:37] You: It's alright, you are among friends
[9:37] You: 
[9:37] You: Next question?
[9:37] AvaIsabel Cortes: @
[9:38] JonathanKnudsen SunMicrosystems: It adds capabilities, so JavaFX
Mobile will have skills more like a desktop computer as well as support
for JavaFX Script programming.
[9:38] You: Go ahead avalsabel
[9:39] AvaIsabel Cortes: Just wanted to let Jonathan know that I can get
him a pavilion pass, so he can do a signing of his book at JavaOne. 
[9:39] Laila Rumpler: Wow!
[9:39] You: That sounds like a plan to me
[9:39] You: 
[9:39] JonathanKnudsen SunMicrosystems: Thanks AvaIsabel. If I get out
there, that would be cool.
[9:39] You: No pressure or anything Jonathan.
[9:39] Chriistopher Carter: in what way
[9:39]
AvaIsabel Cortes: 
[9:40] You: Any plans for a new book?
[9:40] JonathanKnudsen SunMicrosystems: No technical books on the
horizon. I just published my first book for the Amazon Kindle, which was
an interesting experience.
[9:41] You: Can you tell us a little about that?
[9:41] MaryMary Aabye: @
[9:41] JonathanKnudsen SunMicrosystems: First of all, the Kindle is a
book reader, basically a flat device with a screen. You can browse and
buy ebooks on it, no desktop computer needed.
[9:42] JonathanKnudsen SunMicrosystems: I found out that all you really
need to do is convert your book to HTML and you can put a price on it
and have it show up in the Kindle store.
[9:42] You: Cool...
[9:42] You: Mary, ask your question please
[9:42] MaryMary Aabye: What do you think of Android?
[9:42] Violet Portola reminds folks that all the SMI Press books are
available electronically via Safar Books Online - you can search and
download chapters - very cool!
[9:43] JonathanKnudsen SunMicrosystems: It looks like a great move. Of
course, there's a lot to worry about with regards to fragmentation.
[9:43] JonathanKnudsen SunMicrosystems: I would love to play with the
SDK but Sun's lawyers won't let us.
[9:44] You: Next question?
[9:44] pnc Blessed: @
[9:44] You: Go pnc
[9:44] pnc Blessed: I'm wondering what your opinoin is of the
marketplace in terms of
[9:44] pnc Blessed: how Netbeans will fair against .net etc
[9:44] pnc Blessed: ?
[9:45] Daikon Hammerer: @
[9:45] Violet Portola: Safari Online Books (sorry for the typo)
[9:46] JonathanKnudsen SunMicrosystems: I don't track that market too
closely. NetBeans has made huge strides in usability and is clearly a
world-class IDE now, but it's got a lot of mindshare to re-capture from
Eclipse.
[9:46] JonathanKnudsen SunMicrosystems: Regarding .Net, Microsoft just
doesn't worry me in the
small device space. "Small" is just not
something they can do.
[9:46] You: Daikon, go ahead.
[9:46] pnc Blessed: ty
[9:47] Daikon Hammerer: If I may ask, what was your reaction to the
decision by Sun to bring Java to the iPhone?
[9:48] Violet Portola: ooooo - nice question!
[9:48] JonathanKnudsen SunMicrosystems: It's a great idea. My main
concern is how seamlessly it can be integrated. Ideally, Java
applications should appear no different than any other application.
[9:48] JonathanKnudsen SunMicrosystems: That's actually a problem on
many current phones, where Java applications end up in some
"Applications" folder that's a level down from the main menu.
[9:49] JonathanKnudsen SunMicrosystems: If Java applications look like
first class citizens on the iPhone, then I think that is a huge win for
Sun and for Apple.
[9:49] You: Next question?
[9:50] Muslima Questi: @
[9:50] You: Muslima, go
[9:51] Muslima
Questi: Location tracking - i heard a lot about it, but i
am confused as to what it really is
[9:51] JonathanKnudsen SunMicrosystems: Some phones have GPS receivers
in them.
[9:52] JonathanKnudsen SunMicrosystems: The JSR 179 Location API gives
applications a way to find out their current location.
[9:52] JonathanKnudsen SunMicrosystems: It also provides some support
for a landmark database.
[9:52] Muslima Questi: so one doesn't need to use a GPS anymore?
[9:52] JonathanKnudsen SunMicrosystems: If your phone has the GPS
hardware, then you won't need a separate GPS box.
[9:52] MaryMary Aabye is Offline
[9:52] JonathanKnudsen SunMicrosystems: Imagine Google Maps plus GPS.
[9:53] JonathanKnudsen SunMicrosystems: Chapter 27 covers the Location API.
[9:53] Muslima Questi: cool
[9:53] JonathanKnudsen SunMicrosystems: The full MSA requires support
for the Location API if the phone has GPS hardware.
[9:53] You: I think we
have time for one more question?
[9:54] You: Jonathan, what are you interested in seeing/hearing out of
JavaOne?
[9:54] You: Any sessions you would recommend?
[9:55] JonathanKnudsen SunMicrosystems: I would be especially interested
in seeing how people are integrating mobile applications and RESTful web
services. I think it's a really powerful combination.
[9:55] JonathanKnudsen SunMicrosystems: I haven't started looking at
sessions yet--I'll have to see if I'm going first!
[9:55] You: I sure hope so!
[9:55] You: Folks, we are almost to the hour
[9:55] JonathanKnudsen SunMicrosystems: Thanks!
[9:56] You: And I have an exciting announcement
[9:56] Greylin Fairweather: /clap
[9:56] Fiona May applauds
[9:56] You: I hope y'all have the notecard from Violet
[9:56] You: that today we start our first SL contest
[9:56] AvaIsabel Cortes: /clap
[9:56] You: which is called "Write and Win"
[9:56] You: It's easy to
enter.
[9:56] Fiona May pulls out her pen
[9:56] You: Just write up what you thought about today's chat...either
on your blog, a forum
[9:57] You: or even in a notecard to your favorite SL group and then
send the url or card to Fiona May
[9:57] You: the SL team will pick 10 winners
[9:57] You: and you get....
[9:57] You: and AUTOGRAPHED copy of Jonathan's Book!
[9:57] Violet Portola: Fun!!!!
[9:57] Fiona May: oh cool
[9:57] Lily Stardust: very!
[9:57] You: Many thanks to Jonathan and SMI press for making this happen.
[9:57] AvaIsabel Cortes: very cool!
[9:57] Daikon Hammerer applauds.
[9:57] Violet Portola: Thank you Jonathan!
[9:57] Whoops Babii: Thanks Jonathan
[9:57] You: JOnathan, it has been a pleasure speaking to you today.
[9:58] JonathanKnudsen SunMicrosystems: Thanks everone, I had a lot of fun.
[9:58] You: We hope to see you at our SL JavaOne
[9:58] You: Thanks everyone!!!
[9:58] AvaIsabel Cortes:
Thank you Jonathan!
[9:58] Muslima Questi: Thanks Jonathan, thanks Sun SL crew
Posted at 02:13PM Mar 17, 2008
by sdnblog in Sun Developer Network |