Struts2 Documentation
Where is it? Clearly I’m missing something here. There’s a wiki with some good getting started overview stuff and some other chicken scratching but I’m yet to find an actual reference telling me what’s actually allowed in struts.xml. Shouldn’t that be pointed to in a big neon sign? The struts.xml page on the wiki isn’t exactly comprehensive and while the DTD is listed on the examples page it’s not exactly commented..
Oh and did I mention that wiki’s are a horrible way to write documentation?
Pandora And Internet Radio Fees
Robert Scoble posts about saving Pandora:
…Tom talking about how the business of Internet Radio is under pressure due to coming changes in how the music industry wants Internet Radio stations to pay for the distribution of music (basically the costs will triple, if the proposed changes go into effect). After we talk about the challenges that Pandora’s business faces if the fee changes go through Tom gives me a preview of their new Sprint/mobile service.
Two Finger Scrolling Rocks
Every so often something comes along that completely changes the way I use a computer. My new MacBook Pro has provided one of those: two finger scrolling. The concept is just so simple; to move the mouse you slide one finger across the track pad, to scroll you slide two fingers across the track pad. You can scroll vertically or horizontally so it beats a scroll wheel mouse hands down.
Safari TextArea Bug
So for the record, if you have a textarea in Safari that is set to display: none; You can’t set it’s content via JavaScript unless you show it first. So:
edCanvas.style.display = "inline"; edCanvas.innerText = body; edCanvas.style.display = "none";
Really annoying. For those Ephox people using the latest version of our EditLive! WordPress plugin in Safari, that’s where your content went. Pull an update from subversion soon and the issue should be fixed.
Some Good News For The Week
I’ve been in our San Mateo office the past week working with the sales and marketing folk which has been great, but also challenging and often frustrating. The challenge is in getting a grip on my new job as product manager, the frustrating from the initial objections we often get from clients as they try and guess what the reaction will be from their users instead of actually finding out. It’s fair enough, that’s all they have to go on but it’s frustrating to have to try and share the experiences that we’ve seen with users giving our software rave reviews. It’s also frustrating to hear negative things about software you’ve written – I always get so attached.
Why You Should Use A Good Editor
While most of the Ephox folk use EditLive! to edit their blog entries, there are some poor saps who are using a blog hosting service and can’t (we’ve got some interns working on a standalone blog editor with EditLive!, but that’ll take a while yet). This morning Antony learnt the value of a great editor the hard way when he copied and pasted from Microsoft Word into Typepad’s default editor:
Now I understand why so many of our users think our Microsoft Word filtering is so good…
Playing With Alfresco
I’ve spent the day doing some work with our Alfresco integration to make it easier to install and a bit more maintainable. Fortunately the Alfresco team were kind enough to point me at their Module Management Tool which while being a bit rough around the edges is really quite cool. Basically, it takes the alfresco.war and a zip file containing the module you want to install and shoves the module into the war file, ready to be deployed. What’s particularly cool is that it actually has version management so it knows if it’s previously installed a module or if the installed module is more recent than the one you’re installing etc.
Wikis For Non-Technical Users
I’ve been doing a lot of thinking lately about how to make wikis accessible to the common man – in other words, how do we get wikis to spread out of the technical departments and make it not just usable by non-technical people but make them actually want to use it and advocate it. Certainly there’s been a lot of movement in this area and a lot of good progress made, but I suspect there’s a lot more than can be done.
Fireworks From The Marriot
One of the things I’ve often found annoying about Brisbane, and to a degree Australia in general, is you just don’t get enough chance meet ups with interesting geeks. So since I’m over in San Francisco at the moment and Robert Scoble invited everyone and anyone to join Tom Conrad and him on the top floor of the Marriot hotel to watch the fireworks, I figured it was worth the walk.
Turns out that only a few people thought of that particular vantage point so when I got there Tom and Robert had secured the best seats in the house. Conversation was great, both Tom and Robert are very down to earth and easy to get on with. We were saved from getting too geeky by Robert inviting over a couple of girls who hadn’t secured good seats but it was good to see some of the stuff put in perspective and get a non-geeks view on things as well.
In The Wake Of Open-Source Java, What Dies?
I mentioned that I was chatting to a reporter after the Java Libre panel yesterday. The article she wrote is now online and it’s a pretty good summary of the key points of interest in the discussion (it skips all the bits where everyone agreed in true reporter style though). I think she did a pretty good job of understanding what I was attempting to say (I elaborated more on that yesterday). We even got an actual link to ephox.com which is unusual.
The Benefits Of Open Sourcing Java For Developers
There was an interesting panel discussion at JavaOne today about the open sourcing of Java. The panel was made up of folks developing open source JVMs and a representative from Sun. Compatibility is obviously a common theme to these discussions and there were a number of mentions to just how bug for bug compatible the alternative JVMs are trying to be. It occurs to me though that if all the implementations wind up behaving in precisely the same way, there’s not really any point to having multiple implementations. Yes multiple licenses are nice for particular niches but for the average Java developer, what’s the benefit?
Extreme GUI Makeover
The session was a lot more fluff than useful stuff and often went for showy graphics instead of actual usability which is a shame. There were some good ideas though.
- Use a modern L&F – they suggested Nimbus. Gosh it’s ugly and gray. I suggest using the system native L&F (except on Linux and Solaris then anything is an improvement)
- Add a splash screen, can do this with the -splash argument in Java 6.
- Supports alpha transparency so can be non-rectangular
- Should provide a progress bar.
- They used a sepia image fading into color to show progress which looked cool but didn’t really show progress at all effectively.
- Validating Data
- Give feedback immediately.
- JGoodies can provide a small icon in the corner of the component. You can do this yourself by painting the icon in the layered pane’s popup layer.
- Custom Components
- You can improve GUIs by creating custom components.
- This is where they messed up usability in some places. Make sure your custom components are significantly easier to use than the standard components otherwise it’s better to go with what the user is used to. Also need to consider accessibility which they didn’t mention at all.
- Improve interactivity by updating search results immediately as the user changes values.
- Use cyclic gradients for improved performance, even if you don’t need the cyclic property (just paint one iteration).
- Measure text with:
- g2.getFotnMetrics() then stringWidth and getAscent
- JList has a setLayoutOrientation method which lets you use it as a multicolumn list.
- You can span text across all the cells in a row by clipping the text with a JViewPort to show just the section inside the cell currently being painted.
- You can animate the changes made when sorting by painting the animation in the glass pane over where the table is.