For the past two years, RubyLearning has been promoting the Ruby language world-wide, by conducting its Free Online Ruby Programming Course. 1000s of participants have either completed or are in the process of completing the course. Most Ruby course participants have a plethora of questions related to the language; opportunities in Ruby; Ruby’s future etc.
Satish Talim of RubyLearning, after talking to Bruce Williams, next talked to FiveRuns’ Adam Keys, to get his views and opinion.
FiveRuns is building an ecosystem of tools around Rails, including its flagship monitoring and management tool, FiveRuns Manage, and a free Rails stack, FiveRuns Install. Built on Rails and delivered as a hosted service, FiveRuns’ products enable organizations to save money and reduce operational complexity by managing the entire Rails application lifecycle - from installation to production. For more information or to download a trial subscription, visit FiveRuns.
Satish>> Adam, a warm welcome to you. For the benefit of the course participants, could you tell us something about your self?
Adam Keys>> I hail from the great state of Texas, USA, living with an army of dachshunds. When I’m not coding, I’m probably thinking of something absurd to say!
Satish>> Most of the course participants trying to make a switch to Ruby, come form a Java background. What advice would you give them?
Adam Keys>> Ruby’s syntax is similar enough that it looks like you could write Java in Ruby. For your own sake, resist the urge. Spend a lot of time reading other Ruby code and trying to assimilate the style projects like Rake, Mephisto and Rails use.
Secondly, don’t let the lack of documentation scare you. It might seem like a nightmare, but in reality, you can learn most of what you need to know about a Ruby application or library by reading its code. This isn’t a very practical strategy in Java, but Ruby is more concise and to-the-point so I find it works.
Really, its all about reading code. I can’t say enough about the importance of developing this skill.
Satish>> Which Ruby books should the course participants read or always refer to?
Adam Keys>> I came to Ruby just before Rails came out, so I’m a Pickaxe guy myself. Despite recent criticism, I still think its a fine tutorial and reference.
Satish>> Which sites / blogs do you recommend, so that the participants are always abreast of the latest developments in Ruby?
Adam Keys>> Time spent poking around in projects on GitHub is time well spent. So far as blogs, The Rails Way and Err The Blog are classics, though they don’t publish much as of late.
Satish>> While learning Ruby, what are the kind of projects the course participants should get involved with, to enhance their Ruby skills?
Adam Keys>> I think the best progression, over the course of many months is as follows:
- Simple Ruby scripts
- Small Rails apps
- A small Ruby gem to use across many applications
- A larger Rails app
- A Rails plugin
Once you’re to the point that you’re creating gems or plugins for a project, you’ve sort of “arrived” as a Ruby developer.
Satish>> Which tools / utilities / libraries / applications in Ruby (apart from Rails) should the course participants focus on? Why?
Adam Keys>> Knowing how to make Rake and RubyGems do your bidding is essential. From there, I’d say start with what interests you and work your way outwards.
Satish>> What do you like / love about Ruby? Why?
Adam Keys>> I will not go back to a language that doesn’t have something like blocks. Metaprogramming is also a big deal for me. Beyond that, the community is largely the friendliest I’ve known in my years building software. I think this is overlooked sometimes, perhaps overshadowed by some personalities, but its a really important aspect.
Satish>> What are the attributes of really good Ruby programmer?
Adam Keys>>
- They are well spoken and write well
- They are interested in other languages and other disciplines
- They laugh at my jokes.
The last one is probably optional!
Satish>>How do you keep your skills sharp and keep up-to-date with the latest developments?
Adam Keys>> Chad Fowler’s “My Job Went To India” has the best advice to this question. From his writings, I’ll emphasize exposure to people smarter than yourself, “practicing” and continually reading about what’s going on and writing about what you think (even if you don’t publish it).
Satish>> Is it important to learn Rails for a Ruby programmer? If yes, why?
Adam Keys>> Its certainly useful. Not knowing Rails but doing Ruby is akin to playing guitar but not knowing any Jimi Hendrix tunes. You can do it, but there’s a missing chunk in your vocabulary.
That said, there are more straight-Ruby jobs than there were a year ago, but its mostly around the various Ruby implementations (Rubinius, JRuby, etc.)
Satish>> According to you, what have been the major obstacles in the Enterprise adoption of Ruby?
Adam Keys>> I don’t think the enterprise-adoption hype cycle has really picked up yet. By “enterprise-adoption hype cycle”, I mean ads in InfoWorld, sales pitches on golf courses, etc. This seems like a weird thing to happen with out little old Ruby, but if it follows the Java adoption trajectory, it will happen at sometime.
At this point, Ruby has snuck in the “backdoor” of many large shops. It will continue to grow there, but that probably won’t result in any big news items. If you want to understand technology adoption, Tim Bray’s series on the factors that lead to adoption inside and outside of enterprises is very illuminating.
Satish>> JRuby, Rubinius… so many new areas to explore and know about. How important are these for beginners in Ruby?
Adam Keys>> Beginners who are operating in Java or .NET shops will want to familiarize themselves with where JRuby and IronRuby can help them integrate with existing projects. If you’re interested in how the language is implemented, Rubinius is a great source of information, especially for the core library.
Otherwise, it’s something to keep an ear out for what’s going on in those spaces, but you don’t need to follow it closely.
Satish>> According to you, what’s the future of Ruby?
Adam Keys>> Better runtimes is the current drumbeat. After that, I think Ruby needs another killer app or two. Adhearsion could take this throne or maybe RubyCocoa. Its possible the next killer app will come out of left field, somewhere no one thinks Ruby is currently viable. I would enjoy that.
Satish>> It has been fun interacting with you Adam and thank you for sharing your views with the RubyLearning participants.
Technorati Tags: Adam Keys, Advice For Ruby Beginners, Ruby Beginners, Ruby Interviews
Posted by Satish TalimFor the past two years, RubyLearning has been promoting the Ruby language world-wide, by conducting its Free Online Ruby Programming Course. 1000s of participants have either completed or are in the process of completing the course. Most Ruby course participants have a plethora of questions related to the language; opportunities in Ruby; Ruby’s future etc.
Satish Talim of RubyLearning talked to FiveRuns, to get their views and opinion.
FiveRuns is building an ecosystem of tools around Rails, including its flagship monitoring and management tool, FiveRuns Manage, and a free Rails stack, FiveRuns Install. Built on Rails and delivered as a hosted service, FiveRuns’ products enable organizations to save money and reduce operational complexity by managing the entire Rails application lifecycle - from installation to production. For more information or to download a trial subscription, visit FiveRuns.
We are pleased to have with us, FiveRuns’ Bruce Williams. He would give us his perspective on the various questions facing the course participants - the would-be Ruby developers.
Satish>> A warm welcome to you. For the benefit of the course participants, could you tell us something about your self?
Bruce Williams>> Thanks, Satish. My name is Bruce Williams, and I’ve been a passionate Rubyist since 2001. Since 2004 I’ve used the language professionally, and as the community has grown during the last few years I’ve become a speaker, mentor, tech editor, and general advocate for the language. I’m also a language tourist, continuing to study a number of other languages to make myself a better developer. Like many Rubyists, I’m also a designer. These days I blog at http://codefluency.com; spend days at the office (and Austin coffeeshops) with my fellow developers from FiveRuns, and fly off to conventions whenever I can.
Satish>> Most of the course participants trying to make a switch to Ruby, come form a Java background. What advice would you give them?
Bruce Williams>> If you’re coming to Ruby from Java, you’ve got a great advantage — with experience in a [fairly complete] Object Oriented language some core aspects of Ruby will be very easy to grasp. That being said, idiomatic Ruby still doesn’t look or feel much like the Java you’re used to writing, and you still have a lot of learning (and arguably unlearning) to do.
I think the most important piece of advice is to acclimate. Immerse yourself in the community, do a lot of code reading, write code, take input, and be open minded. The obvious differences in syntax, language features, and code conventions are just the beginning. Parts of Ruby, especially the dynamism, will take some getting used to — and don’t automatically assume your old best practices will translate over to Ruby. It will take time for you to weigh the risks and benefits of different approaches.
Satish>> Which Ruby books should the course participants read or always refer to?
Bruce Williams>> I’d say the core set of books on your bookshelf should include Programming Ruby by Dave Thomas and Andy Hunt (lovingly referred to as the “Pickaxe”), The Ruby Way by Hal Fulton, Best of Ruby Quiz by James Edward Gray II, and The Ruby Cookbook by Lucas Carlson and Leonard Richardson. I’d also highly recommend Ruby for Rails by David A. Black; although it’s geared towards Rails developers it has some really well-crafted material on the Ruby language underneath.
Satish>> Which sites / blogs do you recommend, so that the participants are always abreast of the latest developments in Ruby?
Bruce Williams>> Ruby Inside is the main one that comes to mind as a good news source. I’d also be watching for new developments on Rubyforge, Github, and various Ruby-related mailing lists. In terms of blogs, there are really too many to recommend these days; just look for some prominent names, add them to your aggregator, and keep crawling around looking for new voices.
Satish>> While learning Ruby, what are the kind of projects the course participants should get involved with, to enhance their Ruby skills?
Bruce Williams>> The first thing I’d say is to merely look beyond the web framework; Rails brought Ruby to the forefront as a viable language for commercial use, and since then new web frameworks have been popping up like crazy. That’s great — but if you came to Ruby to work on webapps you owe it to yourself to look beyond the web to widen your horizons and increase your understanding; work on a project completely different than what you’re comfortable with… and after that, pick another one that’s just beyond your comfort zone. Work on a utility library, work on a desktop app, work on anything that keeps you learning.
Satish>> Which tools / utilities / libraries / applications in Ruby (apart from Rails) should the course participants focus on? Why?
Bruce Williams>> I won’t give you an exhaustive list, but I’ll cherry-pick a few. Starting out, know Rubygems; first how to install and manage them and later how to build and distribute them. Understand and use Rake. If you’re doing sysadmin work, pickup Jamis Buck’s net-ssh related tools. If you’re doing web work know Hpricot and open-uri. More than anything, know your standard library inside and out; fileutils, optparse, and yaml are some basic prerequisites.
Do yourself a favor and learn how to test; use test/unit (or RSpec, if it suits your fancy) — it doesn’t matter the tool, just do it, and find out how to do it well.
Know how to [and do] use RDoc to add documentation to your code; it’s just polite.
Satish>> What do you like / love about Ruby? Why?
Bruce Williams>> I like how drastically Ruby seems to take mundane tasks and turn them into fun little challenges of elegance and simplicity. I love how, when finishing up a piece of code, I’m constantly amazed with how short and readable the code is. Every day I’m thankful I work with such an expressive, engaging language; so easy to use that I’m not too exhausted to do important things like test, write documentation, and continue to pursue new techniques.
I love how excited developers new to Ruby can get, just a few minutes after being introduced (and I remember that feeling well).
Most of all I love the community; from the beginning it’s been an incredibly supportive, inclusive group of people. I wouldn’t be half the developer I am today if it wasn’t through the example and mentorship of some much better developers that I met through Ruby.
Satish>> What are the attributes of really good Ruby programmer?
Bruce Williams>> Creativity, flexibility, attention to detail, and a near-obsession with syntax and the expressive flow of language. An understanding that the right words matter, code is a living thing, and software development is more Art than Science. Basic social skills and a fine balance of hubris and humility also helps.
Satish>>How do you keep your skills sharp and keep up-to-date with the latest developments?
Bruce Williams>> It helps, of course, to develop and maintain a large codebase of Ruby code every day at work, and to work on a number of open source and side projects whenever I have the spare time. As with most things, constant practice is vital.
I do my best to read up on new developments daily, and to checkout/clone interesting projects constantly. Code reading is a useful tool I never underestimate.
As I said before, I also dabble in a number of other programming languages, including Erlang, Io, Haskell, and Objective C. I think it’s vital to have some serious experience across paradigms; it’s amazing how useful the cross-polination can be, and the techniques you discover and perfect through experimentation really do make you a sharper (and better read) developer.
Satish>> Is it important to learn Rails for a Ruby programmer? If yes, why?
Bruce Williams>> Absolutely. First of all, in the very least, as a good member of the Ruby community, you’re going to be talking to people that work with Rails every day; it’s still the biggest show in town. Development is a social endeavor, and learning Rails will give you some common vocabulary and points of reference so that you can more easily relate to these people. It probably also makes financial sense to learn Rails too, of course.
That being said, get a good grasp on Ruby before diving too far into Rails. I think the other path is fraught with potholes and peril.
Satish>> According to you, what have been the major obstacles in the Enterprise adoption of Ruby?
Bruce Williams>> Ah, that’s a hard question, and crosses over into my uncomfortable business opinions.
Obviously I’m interested in Enterprise adoption (though I’d rather cut off an appendage before working at a large company again) — adoption means a wider market, a better range of tools, contributers, and expertise. It’s going to happen, it’s just the rate of adoption that’s in question.
There’s no doubt enterprises move slowly, especially approaching new software technologies; no matter how compelling they may be to developers it’s hard to sell them on the financial benefits, especially when the tool and services ecosystem hasn’t grown up around the language. It’s hard for me to see these obstacles as much more than par for the course; it seems more of a systemic issue with the way decisions are made (and the number of layers necessary) and a lack of agility than a judgement on Ruby or Rails specifically.
Eventually we’ll reach a tipping point and widespread adoption will happen more rapidly. It’s all about building the ecosystem of supporting companies around the language. While Rails’ irreverent following certainly didn’t invite enterprises in with a fanfare of trumpets and promises of undying love and support, I think people put a bit too much weight in the emotional environment as a source of blame. I think the reality is more about cold hard numbers, stifling suits, and dollar signs.
Satish>> JRuby, Rubinius… so many new areas to explore and know about. How important are these for beginners in Ruby?
Bruce Williams>> I think it’s very important for beginners to understand what these implementations are and how they differ in terms of supported platform and professed goals, since they are important projects to watch. JRuby might also be of specific interest to Java converts looking for a Ruby “in” at their Java-centric workplace, and Rubinius is an especially interesting approach (and fairly decent source of good code reading).
That being said, use the canonical, standard implementation as your main learning tool.
Satish>> According to you, what’s the future of Ruby?
Bruce Williams>> Hopefully world domination, but without all the oppression, corruption, and nepotism that goes along with it!
More realistically, I expect to see a continued, steady adoption of Ruby by the market, drastically increasing the size of the community. I’m hoping we can avoid skill dilution and commoditization as we get larger (PHP, anyone?), and continue to be a cohesive group of creative, caring, and [reasonably] well-behaved developers.
From a technical perspective I think the next few years will be very interesting; with the advent of Ruby 2.0 and the dynamic of multiple implementations it’s going to be quite a ride. I’ll be there all the way.
Thanks, Satish.
Satish>> It has been fun interacting with you Bruce and thank you for sharing your views with the RubyLearning participants.
Technorati Tags: Advice For Ruby Beginners, Bruce Williams, Ruby Beginners, Ruby Interviews
Posted by Satish TalimFor the past two years, RubyLearning has been promoting the Ruby language world-wide, by conducting its Free Online Ruby Programming Course. 1000s of participants have either completed or are in the process of completing the course. Most Ruby course participants have a plethora of questions related to the language; opportunities in Ruby; Ruby’s future; Rails etc.
Satish Talim of RubyLearning talked to BuildingWebApps, to get their views and opinions.
BuildingWebApps is a project of Collective Knowledge Works, Inc. They create platforms for organizing and sharing the knowledge of a community. The first community upon which they have focused is their own: Ruby on Rails developers..
We are pleased to have with us, BuildingWebApps’: Michael Slater President of Collective Knowledge Works, Inc. He would give us his perspective on the various questions facing the course participants - the would-be Ruby developers.
Satish>> A warm welcome to you. For the benefit of the course participants, could you tell us something about your self?
Michael Slater>> I’ve been working in high technology for more than 30 years. I started out as a hardware engineer at Hewlett-Packard developing microprocessor-based test equipment. I spent several years as a consultant building embedded microprocessor applications, and I ended up writing a lot of assembly and C code. In 1987, I created the Microprocessor Report newsletter and the Microprocessor Forum conference, and that began a 12-year adventure in the publishing and conference business that led me away from engineering. In early 2000, I left this business, after selling it first to Ziff-Davis and then to Cahners, to launch a venture-funded startup in the digital photo space. We sold that company, Fotiva, to Adobe in late 2001. The software we built become Photoshop Album, and then the Organizer mode of Photoshop Elements (on Windows only). I spent five years at Adobe managing a research team doing advanced photo management work. During the time I was at Adobe, I built a resource site for San Francisco Bay. I build this in PHP, and learned a lot about how painful that can be. I learned that I love the interactivity and immediate feedback that the web offers. And the experience with PHP, and with building a fairly complex application without any framework, really set me up to appreciate Rails. I tried unsuccessfully to get Adobe into the online world several times, and eventually left to build web applications on my own. I had started a Rails project at Adobe in early 2006, but it never saw the light of day. When I left in November 2006, I began working as an independent Rails developer. While working with Rails, I became frustrated with the lack of any cohesive on-line resource. The framework changes too quickly for books to remain up-to-date; the Rails wiki isn’t adequately maintained; and although there are lots of great articles scattered around various blogs, they can be hard to find. So with the combination of my experience building Microprocessor Report and BoatingSF, and my interest in the Rails world, I decided to launch BuildingWebApps.com, which I hope to build into the best online resource for Ruby on Rails developers. In mid-2007, one of my Adobe colleagues, Christopher Haupt, left the company and joined me in forming Collective Knowledge Works, Inc. Chris led the online services group in Adobe’s digital imaging operation and is a real expert in web technologies. We’re taking the platform we’ve built for BuildingWebApps.com and are evolving it into a hosted offering for anyone who wants to build similar sites on other topics, combining a rich database of information with community features. Our goal is to create the leading next-generation platform for community sites that are focused around a specific body of knowledge.
Satish>> You run a Free Online Ruby on Rails Course which is complementary to the course we run at RubyLearning. Could you tell us more about this course?
Michael Slater>> One of the first things we did when we were launching BuildingWebApps.com was to create the Learning Rails podcast to help spread the word about Rails. We want to demystify Rails and help web developers, who may not come from a software engineering background, to get started with Rails. For people who don’t have experience with object-oriented programming or model-view-controller architectures, the learning curve can be very steep if you try to learn from the existing books.
When we began adding screencasts, we decided to set it up as an online course. People can sign up to receive the course via email (www.BuildingWebApps.com/learning_rails), and every three days we send them the next lesson. There’s eight audio podcasts, and we expect to have about ten screencasts. We solicit feedback and respond to questions via comments on the lesson pages.
Satish>> Is it important to learn Ruby on Rails for a Ruby programmer? If yes, why?
Michael Slater>> It depends on what you want to create with Ruby. If you don’t want to build web applications, there is no need to learn Ruby on Rails. But if you want to build web applications using Ruby, you should learn Ruby on Rails. It provides a tremendous amount of infrastructure that makes it much easier to build a web application. It really wouldn’t make sense to build a web application in Ruby without using some sort of framework.
There are other frameworks for building web applications with Ruby, of which Merb is the most interesting. But there’s a vastly larger community working with Rails, and much more information available on using it.
Satish>> What do you like / love about Ruby on Rails? Why?
Michael Slater>> Once you’ve climbed the learning curve and are comfortable with Rails, you can be incredibly productive. One person can build an application in a month that would take a team of three people several months in Java. Smaller teams are more efficient, which multiplies the productivity gain. Ruby on Rails makes web development fast and fun, and most important, makes it easier to evolve and meet user needs.
Rails makes it easy to make changes, which is important for iterative development. For example, suppose you want to add another field to your database table. It’s easy — there’s no SQL to write, no XML configuration files to update, and the Rails migrations handle the updating of your database schema.
This flexibility is crucial for web applications, in which the old-fashioned “waterfall” design approach really doesn’t make sense. You need to first build something simple, then use it, get other people using it, find out what works and what needs improvement, and iterate rapidly. Rails is very well suited for this kind of development.
Because Rails includes “helpers” that support the Prototype and Scriptaculus JavaScript frameworks, it’s easy to add Ajax capabilities to your application. You can build sophisticated Ajax interfaces with virtually no JavaScript programming. I like being able to do everything in Ruby.
Although the Rails community is still small compared with that of PHP or .NET or Java, it is now reasonably large and has reached critical mass. There’s more than a dozen Rails books, several very active online forums, and an assortment of conferences and seminars. When you need to do something, there’s a good chance someone else has already done it and written it up, which can save lots of time.
Satish>> What are the attributes of really good Ruby on Rails developer?
Michael Slater>> First, a good Rails developer needs to know Ruby. You can get started with Rails with only a bare minimum of Ruby knowledge, but as you go deeper into Rails development, being comfortable with Ruby is essential. The better your Ruby knowledge, the more you can do with Rails, and the more efficiently you can do it.
Second, a good Rails developer needs to know the Rails framework thoroughly. There’s a lot there, and it takes time to learn. There’s no substitute for experience.
Third, a good Rails developer needs a good sense for user experience. Rails is most effective when the developer can also play the role of interaction designer, at least to some degree.
Finally, a good Rails developer needs to have the testing religion. Rails includes extensive built-in facilities for incorporating tests into your application, but nothing forces you to use them. You need to understand the value of testing and develop good testing habits.
Satish>>How do you keep your skills sharp and keep up-to-date with the latest developments?
Michael Slater>> I read a lot. I’ve at least skimmed most of the Rails books that are out there, and when new books come out, I always buy them. I’m something of a book nut. I also keep up with quite a few blogs (some of which are listed below).
Colleagues are invaluable. I’ve learned a great deal from my partner, Christopher Haupt, and from other developers I’ve worked with. Pair programming is a great way to learn.
I like screencasts too. Geoffrey Grosenbach’s Peepcode.com has produced a lot of great screencasts, and Ryan Bates has produced an amazing stream of short, focused, free screencasts on specific Rails techniques at railscasts.com.
I also go to seminars, conferences, and user groups. I’ve been to the introductory and advanced studios from Pragmatic Programmers, and they are excellent. RailsConf is always a fire-hose of new ideas and inspirations. And I participate in my local Ruby users groups.
The most important thing, though, it to keep building applications. Every time I want to implement some feature, I dig in and learn about what others have done, and experiment on my own. There’s no way to just methodically go through all of Rails and learn it — it takes a back and forth, learning and building, learning and building.
Satish>> Which sites / blogs do you recommend, so that the participants are always abreast of the latest developments in Ruby on Rails?
Michael Slater>> Well, I’d be remiss if I didn’t point out my own site, BuildingWebApps.com! We aggregate the best content from all around the web, as well as publishing our own original articles, podcasts, and screencasts.
In the Ruby world, I like Peter Cooper’s rubyinside.com. For Rails, there’s nothing better than Jamis Buck and Michael Koziarksi’s writing at therailsway.com. Other excellent blogs include Jay Field’s blog.jayfields.com and Josh Susser’s blog hasmanythrough.com. And there’s many more — there’s an extensive list at BuildingWebApps.com.
The Rails Forum site (railsforum.com) is also a great resource, and the rubyonrails-talk group is sometimes helpful (though the level of traffic and noise can be overwhelming).
Satish>> What according to you is the future of Ruby on Rails?
Michael Slater>> I believe Ruby on Rails is poised to become one of the most important web application frameworks, and to hold that position for quite a while. It won’t dominate — there are other worthy frameworks and languages, developers may prefer different solutions depending on their background and experience, and it isn’t the best solution for every application.
But for the vast majority of new web applications, I believe Ruby on Rails is an excellent choice — maybe even the best choice. I expect many developers to shift from PHP (with or without a framework) to Rails, as well as from Java-based frameworks to Rails. There will always be a strong following for .NET, but many developers will follow the lure of open source and end up using Rails.
There’s a tremendous amount of energy and expertise being devoted to the ongoing development of Rails. Look how far it has come in the past two years — and there’s far more people working on it now than there were two years ago. I expect to see steady improvements in the Rails framework, making it an even better solution to common web developer needs in coming years.
Satish>> It has been fun interacting with you and thank you for sharing your views with the RubyLearning participants.
Technorati Tags: Advice For Ruby Beginners, Michael Slater, Ruby Beginners, Ruby Interviews
Posted by Satish Talim
Today’s guest blogger is Sunil Kelkar, a programmer, author, trainer and speaker. A recognized expert in the field of software development with over 15+ years of I.T. experience, Sunil has consulted and trained teams at various companies in India and the US. He has been involved with Rails for the last two years and Java since 1997. He also imparts Free Online Rails Courses for world-wide participants. Sunil is based out of Pune, India. This article is a collection of some of his own thoughts, findings and reading between the lines while surfing using Google.
Hurry, speed, fast cars, fast lanes, fast trains…
……..still it takes 2 hrs to reach office!


while in the villages, farmers just need 10 min,
……..that too in their bullock carts!

Well, if you leave aside this contrast (due to traffic and other things), time, and speed is the core in the business/social world. Every problem begins with a need and right now there is a “Need for Speed”. This speed, in turn changes the way we used to do business before.
It’s a networked world.
Sun has been saying “The Network is the Computer.” It’s one of those rare vision statements that is becoming more true over time.
The dot, in the “Microsoft .NET” framework, could be suggesting, lets stop development for a moment and lets network existing technology together!! ?
Internet is a network of networks.
Reed Hastings, founder and CEO of Netflix, stated a simpler formula for defining the phases of the Web: “Web 1.0 was dial-up, 50K average bandwidth, Web 2.0 is an average 1 megabit of bandwidth and Web 3.0 will be 10 megabits of bandwidth all the time, which will be the full video Web, and that will feel like Web 3.0.”
While we are riding Web 2.0 (Web 1.0 is a history now) currently, Web 3.0 is somewhere near but yet to make it’s impact.
What is Web 2.0 really? Is it the technologies like podcasts, blogs, feeds, social community sites like ‘Facebook’, social content sites like ‘You Tube’? that help individual socialize and keep his/her personal identity?.
It’s a collection/combination of these, actually:
- RIA (Rich Internet Applications)
- Social Web
- Web Services
But the fact remains. Any technology developed, for social or for personal use, companies must see how to leverage on these technologies/ideas to take a competitive advantage. In turn we need to see, how these technologies impact business, directly or indirectly.
How do companies get returns on this technology? What are the risks associated in using web 2.0 technologies in the enterprise?
Let’s try and find some answers. Before we proceed, I request you to take a look at the following railway reservations sites: http://www.indianrail.gov.in/ and http://erail.in/. One based on Web 1.0 and the other on Web 2.0 technology respectively.


Though I know, there are thousands of better Web 2.0 sites available and we shall talk about them later; I just wanted to give you a feel of how transition is happening and to point you to one clear fact that the web browser is getting more and more powerful day by day.
RIA (Rich Internet Applications)
Some RIA (Rich Internet Applications) that give an intuitive experience of simplicity are: www.like.com or www.amazon.com, www.igoogle.com, just to name a few.
The www.like.com site has many interesting search paths into the merchandise, rather than just choosing ‘watches’ or ‘boots’.
Simplicity is a feature.

Under any definition, Web 2.0 applications leverage advanced Rich Internet Application (RIA) technologies (such as Ajax and Adobe Flex), along with enablers such as RSS and blogs. From an end-user perspective, these technologies allow a richer, faster, more interactive experience with browser-enabled applications and services.
The difference is usability, simplicity and speed.
Just visit http://www.jiibe.com/browse or http://twitter.com/home, http://www.flickr.com/ and you will realize what I mean by simplicity.
If you observe all these successful sites, apart from the simplicity and some unique selling proposition, a common platform is also there.
I remember reading an article which said, in Web 2.0, the popular web sites are the ones that help in either:
- Make individual/companies earn money (Media companies like Google/Yahoo/..list goes on)
- Help individuals network and socialize (Facebook/Orkut ..list goes on)
- Help publish their thoughts/work/art (Flickr.com, Wordpress.com ..list goes on and on).
This enhancement of Web 2.0 technology is a result for the need for speed. It does not just impact our networks, it impacts our psyche too! We need everything fast.
Users expect fast responses to the requests made on the web. The study shows that users tend to opt for competitor web sites if the original site takes more than 3, 4 seconds to respond. Users expect a desktop kind of look and feel to the applications which run on web.
The same philosophy if you project further, I feel, resulted in the emmergence of ‘Agile development’ or scrum methodologies, and of course, these have inherent advantages http://en.wikipedia.org/wiki/Scrum_(development of their own.
The Social Web
Companies take advantage of another aspect of Web 2.0, the social web, in two different ways viz., external facing and internal facing.
The internal facing web 2.0 features are:
- Executives blogging to employees
- Corporate communication thro RSS
- Intranet applications etc.
1. The external facing web 2.0 features:
Social Networking for awareness:
Please visit http://my.barackobama.com
An Official Website of Barack Obama’s 2008 Presidential Campaign. The site invites supporters to create a profile, blog their campaign experiences, plan and attend events, find other supporters, and help raise funds for the campaign. Obama already has an official presence on Facebook and YouTube.

2. Corporate messaging through blogs:
A blog called fastlane from General motors http://fastlane.gmblogs.com/ where customers can directly communicate with top officials and get their personal views on the developments in the company.

How do companies get returns on technology?
Using Social networking for brand awareness:
VocalPoint is a unique marketing tool designed by the Procter & Gamble Company, http://moms.vocalpoint.com/.
It’s aim is to help companies better design their products by getting feedback from Moms through surveys, product sampling and previews of products and services, while building word-of-mouth among other Moms.
After all, they are usually the ones buying and using the products, so why not find out what they think? They then use the information to generate valuable knowledge and insight for their clients. This branding then helps reach 15 million people worldwide saving millions of dollars in its Supply chain network.

Side note: The power of social web is so powerful that, there is a web browser called Flock, that dubs itself the “Social Web Browser”. It is a derivative of the hugely popular Firefox/Mozilla browser, but with “social network” features added.
How web 2.0 technology can impact adversely?
There was a new product launched by Sony, knows as PS3, “Play Station 3″. Just after the release, a different company came out with a video on YouTube (you can watch it for yourself and decide to buy PS3 or not). More than 2.5 million users viewed the video and the impact on the sale was devastating. This one example says it all about the direct impact of technology on business.

This leads to the next question, about what are the risks involved in using Web 2.0?
- Possibility of Excessive socializing
- Users could spend more time writing blogs instead of their core responsibility
- Duplication of information
- Though, the concept of mashing is available, it’s power is yet to be optimized, so, currently it might lead to maintaining up-to-date information at multiple places
- Inadvertently or intentionally, posting information that’s private could lead to worries
Bottom line: Where there is power, there has to be control.
In my next section, I will just give a brief of the web services aspect of Web 2.0, and where the web technology is heading.
Web Services
Software as a Service (SAAS) and Web as Platform are only two of the larger mantras of Web 2.0. We can go on talking about web services, RESTful web services, but here, I would like to make a note of one specific web service, Amazon, S3. I feel like saying, its not just ‘Amazon’ but it’s, ‘Amazing’ web service. Please take a look at http://www.amazon.com/gp/browse.html?node=16427261, if you have not already done so.
It’s a Simple Storage Service (S3), providing Web Service based storage for applications. Based on this web services, the Amazon team has developed, an innovative search engine: http://www.a9.com.

One search result on ‘Ruby on rails’ gave me the following result:

Of course, the Google ‘BigTable web service‘ is not behind at all. BigTable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in BigTable, including web indexing, Google Earth, and Google Finance.
Now that they are opening these web services to general public, I am sure many applications will maximize this opportunity.
Mashups
A Mashup is a new service, that combines functionality or content from existing sources. These existing sources can be Web Services (through the use of API’s), RSS feeds or even just other Websites.
We see a growing trend of adding ‘maps’ to our web based applications. If you try and generalize the behavior, what we see is two or more diverse applications getting together (through web services) and sharing data for obvious advantages. http://flickrvision.com/, http://chicago.everyblock.com/crime/ and iGoogle are some examples of Mashup applications.
WEB 3.0, an age of Images and still… Imaginations, More Interactivity - More Personalization - Visual - Speed
We learnt that Web 2.0 is known as a social web and as per Wikipedia, Web 3.0, is called as semantic web. How is the transition, just due to speed? Definitely not.
For that we just take one step backwards and observe Web 2.0 content. Millions of blogs, podcasts, web pages are being put up everyday. The information, though related is being put-up in a piecemeal fashion. If this is collected, collated and mined properly, new details could emerge, most probably, that’s why the word, semantic web!!
Please take a close look at the site http://www.eyetools.com/.
Eyetools can test your homepage, website, email campaign, landing pages, or shopping cart. They can also test your competitors for you.
By supplying them with a URL or A/B mock-ups, along with a description of your demographics, they can deliver to you eye tracking data on those pages, typically within 10 business days.
Expert interpretation and advice is included - they review your data with you to combine their expertise in Eyetools data with your expertise in your business.

You will observe how the same web page can be analyzed with advanced biometric technologies like the one above or by companies like http://www.iristech.com/.
I just want to bring these things to the notice of the reader, how companies are working and taking things forward. Let me give you one more example.
For a naked eye, differentiating between the dog and a girl below, is not at all difficult. But can an image processing software, do the same?

That’s why on http://www.fliker.com without the ‘tagging’ feature, it is just not possible to search the right images, but just wait, technology companies like http://www.numenta.com are working on these lines and we can expect a new paradigm getting evolved in the near future.
So, there you are!! Generating, keeping, cleaning, collating, (mashup-ing ?),analyzing and progressing.
Read, http://arstechnica.com/journals/microsoft.ars/2007/1/28/6781 an article of what visionaries such as Bill Gates see the future as. I liked a comment somebody put, as a feedback to the same article which read:
“A good internet/computer experience is software that removes the limitations and annoyances of the real world, while taking advantage of the things that only a computer can do. Start with a real world metaphor, but don’t be chained to it!”
Sometimes I imagine, like the one below:

Well, everything is possible in dreams and even in reality!
Credits:
Images from www.flikr.com
Farmer - 121383081_007d2e0499_m.jpeg
Train - 127166990_fd23fd4e45_m.jpeg
Train 2 - 2323062830_235b92884e_m
Darren Rowse, as usual, has come up with a lovely idea “Today is Blogger Appreciation Day [UNOFFICIAL]” - that certainly fosters the sense of community, which I love about blogging. In Darren’s words:
We’re in it together, blogging is about collaboration and together going further than we can by ourselves - so why not help another blogger today by shooting them a word of encouragement, a pep talk, a congratulations, an idea to help them improve or some other positive constructive message. Better still, do it publicly on your blog and tell the world about another blogger who you appreciate.
In keeping with this spirit, I’d like to appreciate (in no particular order) the Ruby related blogs of:
- Fabio Akita
- Peter Cooper
- Pat Eyler
- Obie Fernandez
- Dr Nic Williams
- Ola Bini
- Peat Bakke
- Jamie van Dyke
May their tribe increase!
Technorati Tags: Bloggers appreciation day, Ruby bloggers, Ruby programming
Posted by Satish Talim




