Dave Johnson on open web technologies, social software and Java
I wrote and illustrated a detailed reference card covering RSS 2.0, Atom, AtomPub and the MetaWeblog API for the DZone RefCardz project. The six page "card" includes diagrams of the elements in the feeds, a synopsis of AtomPub protocol and coverage of ROME -- the same stuff you'll find in my book RSS and Atom in Action.
It's a free download, but you have to register with DZone.com to get it. While you're there check out the other reference cards they have. They've got some great ones, including great one for Glassfish.
Here's the link:
Via Roller web UI. It's not the most pleasant experience, pinching and scrolling around to move from title to content and then down the page to find the post button, but you can post to Roller from an iPhone. Seems like you could throw together a pretty nice iPhone interface for Roller using iUI. Who needs Android, J2ME, etc. when you can just use the web?
Just a gentle reminder that BarCamp RDU 2008 is coming soon. And one request. We've got 209 people registered and 31 on the waiting list so please help us out and if you registered but cannot make it, please remove your name from the list.
If you are interested in helping out with preparations or on the day of the event, then please let us know (dave.johnson at rollerweblogger.org or wayne at wayne-sutton.com)
I'm sorry to say that I participated in the iPhone launch debacle yesterday. I wrote up the frustrating and somewhat embarrassing timeline for a buddy of mine. You might find it interesting, so here it is:
Friday, July 11, 2008
6:45AM I arrive at AT&T store at Triangle Town Center mall (Raleigh, NC)
7:50AM 33 people ahead of me, ~150 people behind me in line
7:55AM AT&T rep tells us that they have 15 iPhones, but they'll take orders
8:00AM I leave for Apple store at Crabtee Valley Mall
8:20AM I arrive at said store, line looks to be greater than 200 people
9:00AM The line moves and is making slow progress
10:00AM line stops moving for over an hour because "activation servers are down"
10:05AM I've got my laptop, so I sit down and start coding (w/free Apple WIFI)
11:30AM The line starts moving again. scoot, code, scoot, code...
12:50PM I stop coding because laptop battery power is dead
1:00PM I attend a half-hour meeting via telecon
1:40PM I finally get into store, Apple rep helps me
1:50PM Apple rep helps me, gets "IRU account not supported error message"
I call AT&T, they tell me that I have a special "flag" on my line and they are not allowed to remove it via phone, and I MUST to upgrade my iPhone at the AT&T store -- i.e. wait 5-7 days for delivery from AT&T.
So, I call AT&T again and get another rep who tells me that they CAN remove the flag over the phone, mumble, mumble and then my cell phone connection drops.
2:20PM Apple puts me in a special AT&T problem line
2:40PM Apple rep calls AT&T, gets them to remove flag
2:50PM Apple rep will hold my iPhone until AT&T calls me to confirm flag removal
2:55PM Cheers erupt as the customer who was 1st in line at 8AM finally gets activated
3:00PM I leave empty handed but with a promise that AT&T will call within 24 hours
I'm not going to try to analyze this; I'll leave that up to you, dear reader.
Update: Saturday, July 12, 2008
10:00AM Call AT&T to ask about status, they blame Apple for problem saying only Apple stores had problems yesterday.
10:25AM AT&T tells me they are now issuing a "billing ticket" to ensure that all flags were dropped from my account. They say I'll have to wait up to 4 hours before it has taken effect.
2:25PM Apple store won't test the activation process over the phone so I make the half-hour drive to store only to get the same "IRU account" error.
2:45PM Call AT&T from parking lot, they tell me sorry things are taking longer than expected, we'll call you ASAP. I drive home empty handed again.
5:00PM Call AT&T to complain to a manager about the broken 24 and 4 hour promises. He tells me problem is on Apple side and if I ordered a phone at the AT&T store everything would be fine (in 5-7 days). He says there is no telling when they'll finally clear the flag on my account, so just keep on waiting.
Update: Sunday, July 13, 2008
11:30AM Still no word from AT&T so I called them and they said the flag problem had been resolved. I asked how I could be compensated for all the wasted time they caused me, misdirection and multiple broken commitments they said "we're not offering any compensation for iPhone problems." The AT&T rep also blamed Apple for all problems and said I should have bought from the AT&T store
12:20PM Arrived at Apple store, got my phones
Check out Tim Bray's Atomic Monday post for a summary of recent developments in the world of AtomPub protocol and Atom format. With the uptick in interest in Atom and especially AtomPub protocol's usage in mainstream APIs from Google and Microsoft, I wonder if if would make sense to update RSS and Atom in Action.
The bulk of the book is up-to-date, for what it covers. RSS and Atom haven't really changed and, though the book came out before the spec was finalized, the AtomPub material is basically sound. The ROME material is still current too.
What's missing are all of the new developments: a dozen or more new AtomPub based APIs from Google (GData and OpenSocial) and Microsoft (Live and Astoria) and new tools like Apache Abdera (incubating). Not to mention Windows RSS Platform 2.0 and ROME 1.0 (which is coming soon). Updating the book to cover all of those topics would be quite an endeavor and I'm not sure it's the right approach to covering AtomPub. What do you think?
On balance, XWiki wins by virtue of having better support for management, searching, page taxonomies, virtual servers, content export and language translation/localization support.
JSPWiki has slightly better support for identifying orphaned pages and accesskey support (XWiki 1.4 will have support for access keys).
Confluence was not considered because requirement #0 is "the software must be free and open source," which seems like a reasonable request when selecting software for an open source community site.
I'm still working through my backlog of Latest Links posts. First up, the OpenSocial links. I'm following OpenSocial closely because OpenSocial support is one of the key features of the new project I'm working on (Project SocialSite).
There were a bunch of OpenSocial related sessions at Google's I/O conference and they're all online. I especially like this one, OpenSocial: A Standard for the Social Web, which includes Google's Pat Chanezon discussing Project SocialSite, starting at 43:07 and on slides 70 and 71:
Here are the links:
I'm also following Google's FriendConnect pretty closely, which is a model similar to Project SocialSite -- but, and this is my opinion, for smaller sites that do not want to build and manage their own social graph. It's conceivable that Project SocialSite could one day implement FriendConnect, thereby allowing folks from a Project SocialSite-backed site to join into FriendConnect based sites. At any rate, here's what I've read about Friend Connect so far:
Here's another link blog post. In this one I'll explain why my del.icio.us feed is full of guitar tabs. I've been spending some time Away From Keyboard and near to fretboard. Since my 11 year old son Alex is learning guitar I've been doing the same and making some good progress. I've noodled around on bass for years, but never spent much time with guitar. I've always known the basic chords, but that's about it. Now I've finally learned how to string and "sing" at the same time and so I've been looking for good, fun and easy songs to play. Here are the ones I've found so far, straight from my bookmarks feed:
You can probably guess my age now
Here are a couple more kinda sorta related links from the feed.
I bookmarked that REM review because we attended that show last week. We took a bunch of kids and had a blast. REM played a bunch of their very early songs like 7 Chinese Brothers and Pretty Persuasion. The kids (from 5 to 11 years old) danced like fools on pogo-sticks the whole time.
And finally, here's something here's something not in my bookmarks feed; the Epiphone G-310 I bought for about $230 last weekend.
It's time to catch up on blogging and I'm going to start by going through my backlog of links and adding some commentary, but not in this post; these are miscellaneous links that don't fit nicely into my other posts.
Nick Lothian tweeted about this JavaOne presentation on LinkedIn because it mentions the ROME RSS/Atom feed parser. I'm really sorry I missed it at JavaOne. What's particularly interesting to me are the diagrams that explain how the LinkedIn architecture has evolved to scale up to 22 million users. Here's an example:
After attending two great BarCamps here in Raleigh, I'm just as pleased as punch to be helping out on the BarCamp RDU organizing committee this year.
We put out the call for sponsors a couple of weeks ago and thanks to some generous sponsors including iContact, Canonical, rPath, Brian Russell, OpenNMS and Montie Design we quickly met 65% of our small budget. Now we need to wrap things up, money-wise. If you'd like to get some great positive exposure among the best and brightest in the local tech community by sponsoring, here's your chance.
If you're interested in sponsoring or helping out as a volunteer, contact me via email for more info (dave.johnson at rollerweblogger.org). If you're interested in attending, you'll have to add your name to the waiting list -- at this point we're sold out.
Looks like we made it to the final round of the Enterprise 2.0 LaunchPad competition and so Project SocialSite will be one of the five projects that will "present their ideas in front of an audience of creators, evangelists and adopters of cutting edge technologies who will provide feedback in real-time and decide the winner." Thanks to all who voted for SocialSite.
As Arun notes in his post, Project SocialSite made it to round #2 of the Enterprise 2.0 conference Lauchpad and so we made another short video. This time we got some help from Sun internal TV studio folks and added a little extra polish. Check it out and rate it up
There will be a OpenSocial Summit: May 14th, at the Googleplex covering the new v0.8 spec changes and all sorts of other interesting things. Wish I could make it, but I'll be happily back home in the old north state. Hopefully, somebody from the SocialSite team will be able to attend.
Struts 2 is my favorite Java web framework these days; it's REST-friendly, simple, easy to use, very flexible and the only thing it has with its creaky old Struts 1.x parent is the fact that it's an action framework rather than a component framework like JSF. As most of my readers probably already know, Struts 2 is based on WebWork/XWork the framework that powers JIRA and Confluence, two of the coolest Java webapps around.
Apparently, I'm not alone in this thinking -- I keep on running into folks at JavaOne who feel the same way. But unfortunately, Struts 2 docs are lacking, so I was very happy to see two new books on Struts 2 at the JavaOne bookstore. There's Struts 2 in Action, a rewrite of the classic Manning book, and Practical Apache Struts 2 Web 2.0 Projects from Apress.
I picked up a copy of Struts 2 in Action on Monday and it looks great so far, but I've only skimmed it. I'll let you know what I think once I dig-in on the flight home.
If you're at JavaOne, check out TS-5739 - Hands-on Struts2 by Ian Roughley (author of the Apress book) today at 10:50 AM in Esplanade 307/310.
One more thing to mention before I hit the JavaOne opening reception: Bobby Bissett submitted a short and to-the-point video on Project SocialSite to the Enterprise 2.0 LaunchPad. Please check it out and help us vote it up
Jamey Wood and I presented our Introduction to Project SocialSite yesterday. We had a much larger crowd than I expected, given the number of concurrent talks -- I'm guessing there were close to 300 people in the room. I hope to be able to post a link to the slides at some point in the near future because right now we've got almost no information on Project SocialSite on the web. Now that we've got permission to talk about the project, I'm going to try to change that.
I spent most of the day in the Sun booth answering questions about SocialSite and demonstrating our widgets and web services in Roller and MediaWiki and talking through some key slides in our deck. At this point, we only have a handful of our widgets implemented and they're pretty bare bones, but folks seemed to "get it" and liked the idea of adding social networking features to existing web applications.
If you're at JavaOne, then please stop by the Sun both and say hi. Look for us under the banner Social Networking for Glassfish. And if you want the full scoop then check out our Birds of a Feather (BOF) session:BOF-5857: Turn your website into an OpenSocial container with Project SocialSite
Jamey and I will be ready with slides and demos and answers to (almost) all of your questions and you'll have plenty of time to make it to the After Dark shindig.
As promised, here's some more information about the talk I and my co-speaker Jamey Wood are giving tomorrow at CommunityOne (2:35 PM in Moscone Hall E 135).
Below is the official title and blurb.
Perhaps a better title would have been, "make your webapps social with Project SocialSite" but we didn't have permission to talk about our project until very recently. Now, we're ready to talk about the Project SocialSite widgets and web services and how you can use them to add Social Networking features to your existing Java, PHP and Ruby webapps. We're not ready to talk about product plans, features or schedules but we are ready to demonstrate our work in Netbeans, MediaWiki, Portal, Roller and possibly some other apps as the JavaOne week progresses.
Here are the slides: socialsite-j1-2008.pdf (1MB PDF file)
And here's an outline of the talk:
Look for Project SocialSite in the CommunityOne demo area and at the Sun booth in the JavaOne pavillion all week.