Tim Bray: Tell the Story, Write the Book, Sing the Song, Ride the Wave
By carlaking on Oct 23, 2007
This morning's Tech Days keynote speaker Tim Bray (Sun's Director of Web Technologies) talked to developers in Shanghai this morning about how to build their dream on the web, to use the new tools -- on top of Java -- to open up their information flow and become successful.
He was encouraging about Java while also encouraging developers to get out there and try all the new Web Next stuff.
"Journalists, novelists, artists, businesspeople . . . now anyone can talk to the world on the web," he told the audience. "These are 'civilians,' not computer experts and -- looking at the history of the web -- we know that both groups can succeed."
Tim pointed out that the leading bloggers who comment on politics, family life, sports, hobbies, investing . . . "have become more or less equally popular to the professional journalists on television and radio. This is a real change in the world.
"But many have found it satisfying to address a smaller audience," he said. "Mina Trott of Six Apart said that it's perfectly okay to blog to an audience of fifteen people -- if they are the right fifteen people. Size does not equal success, if you're addressing the right people."
Who develops today's successful websites?
Amazon and eBay were invented by businessmen while Yahoo! and Google were invented by pure developers, "So you have an equal opportunity to become a contributor," Tim assured the audience.
Up until Web 2.0 the learning curve to creating websites was quite high, complex, "and a definite barrier to entry. That's changed. Now the new tools that are web oriented -- PHP, Rails, toolkits -- these have no other objective than building websites, easier, faster, and the effect is that the number of potential developers is growing."
At Sun we used to say, "The answer is Java! Now . . . What was your question?"
"Look at how many popular Web 2.0 sites are not built in Java: Google, eBay, Amazon use Java, but many are not. Huge numbers of sites are built with Rails and PHP. For us in the Java community, this is a pretty big change. Java has always been very central.
What's coming next?
"Ruby's a little trickier to understand. Rails is a web framework based on Ruby and it's the reason the sales of Ruby books are growing."
What do developers care about?
- Scaling - how to make it run fast when you become popular
- Time to market - idea to website publication (revolutionized now, days and weeks instead of months and years)
- Maintainability - 1/4 of budget is initial construction and 3/4 is maintaince and enhancement
- Integration - biggest issue
Look at PHP: it came from nowhere and now has millions. PHP has two huge advantages:
- It's easy
- It uses a shared database, which results in good performance by default
- But big problems in the security story
"The security story is very bad as it's very susceptible to SQL injection attacks. Maintainability is difficult, because "you've got complex SQL code inside complex PHP code inside complex HTML."
"But mediawiki and drupel are very good. In my opinion, Sun's opinion, is that PHP apps are okay, but I wouldn't recommend using PHP to develop your own applications. There are too many risks in security and maintainability."
Ruby: The other big new thing
Here are the main two principles of Rails that Tim conveyed to the crowd:
- You don't repeat yourself. In Java EE your database structure will be in many places, but in Rails the database is only in one place. That gives you an increase in maintainability.
- Convention over configuration. Rails is not flexible. It's only for web applications with database back ends.
Tim concluded that, "If you want performance, you need to use Java. But if time to market is the most important thing, then maybe you'll want to use another application."
Does that mean that Java is finished?
The question made several hundred people sit up, a couple hundred more cringe.
"Of course not!" Tim said, with a grin. Java is big, still growing. These other things are maybe more exciting. Rails, PHP, will never go away. And I'm sad to say that .NET will never go away either," he added, which got a laugh out of the audience.
The biggest problem for developers is...
"For twenty years Sun has been saying The Network is the Computer, and it is," Tim said. "The network is heterogeneous, and that's not going to change, we have to deal with it. Our job is to live in this world so we have to figure out how to get all these things talking to each other. This has been the biggest problems in our profession for years, now."
He told the developers that they should continue to use the Java platform. It's got:
- The JVM that runs the programs
- The API universe, both official and unofficial
- And the Java language
Replacing the Java Language?
Then he surprised everybody by saying that one item in the list above could be replaced -- the Java language. Here's a couple of images from his slides that should explain what he means:
Biggest problem is integration: REST is the solution
"Integration is probably the number one problem we face and REST is probably the solution," he said.
All the large scale stuff seems to be based on REST, he said, and the network grows a lot at the edges where people want to participate -- write the book, tell the story, sing the song.
Developers want to buy a PHP book or a Rails book and build their own. If you're in a business that is information-centric, how do you deal with this? "The financial industry in particular and government are all about information, they don't manufacture anything, they just get the information, repackage it, aggregate it, deliver it, support it."If you do that you really need to figure out this Web 2.0 stuff," he told the audience, "because the picture is changing dramatically."
Ride the Web 2.0 Wave
"Do not try to fight it, push back, because you will lose," Tim said, adamantly. "It's much more fun to get a surf board, jump on the Web 2.0 wave, and help build the network from the edges up."
- Tim Bray's Blog
- Ruby on Rails
- Ruby on Rails and NetBeans
- Sun's Scripting Resource Center for Developers and SysAdmins
- Getting Started with RESTful Web Services
- Sun's Web Developer Resource Center
- Sun Tech Days
- Six Apart
See the Shanghai Tech Days Photo Album for Oct 24th.