Posted by Timothy Fisher
Fri, 28 Mar 2008 04:59:00 GMT
Today, social networking, and user-generated content web sites are among the
most popular sites on the Internet getting millions of hits every day. Sites
like MySpace, Facebook, Flickr,
and Google Apps allow users to share user-generated
content and collaborate with each other like never before. Smart organizations,
enterprises, and product vendors are now realizing the potential for
Web 2.0 technologies inside the enterprise.
There are some fantastic web applications on the Internet that would provide
tremendous value inside of an organization. I’ve spent the last several years
working for large professional services organizations. These large service organizations
have perhaps the most to gain from harnessing the concepts of Web 2.0 internally.
Consider for example an internal Intranet version
of an application like LinkedIn, allowing employees to keep current resume and profile
information online that can be easily updated by each employee. This would provide a huge value to
professional service organizations whom are always looking to staff the next project or fill
a clients staffing requirements.
For the developers of a large organization, think how useful an internal Code
Snippets site would be. Public snippets sites such as DZone Snippets,
allow contributors
to share small snippets of code that solve commonly occurring problems. The value
of such a repository is even greater inside of an organization where different
teams often encounter similar problems. Essentially, a snippets site provides
another outlet for code reuse.
In a development group, every project should be maintaining a wiki site. A wiki
can be updated by every member of the team to include links to the latest
documentation, schedules, and technical data related to the project.
Social bookmarking sites such as del.icio.us also provide examples of a
technology that could be very useful internally. If you are in a large development
organization, every developer will usually have his or her favorites sites for researching
and looking up technical information. A social bookmarking site would allow your
organization to harness collectively those favorites and categorize them with a content tagging
system. Content tagging has become the preferred way or organizing large amounts of information
in the Web 2.0 world.
Even some of the fringe social sharing sites such as Shelfari
and LibraryThing
implement concepts that would fit well inside an organization. These sites allow users to
share information about their personal library of books. Users can contribute book reviews,
book ratings, and comments about the books. Software developers are some of the largest
purchasers and readers of technical books. Some organizations will even reimburse employees
for technical book purchases. A social site allowing employees to share reviews and comments about
technical books could be a very useful addition to an Intranet. These types of value-added
applications that allow employees to actively contribute content to Intranets will encourage
employees to view your Intranet and participate in sharing knowledge and information. This is much
better than the centralized content controlled sites that most Intranets are today.
One of IBM’s newest products targeted at the enterprise is
Lotus Connections. This is
a product that aims to bring Web 2.0 and social networking into the enterprise. The product
includes blogging, social bookmarking, wikis, communities, user profiles, and social networking features.
IBM is not alone in thinking about the value that these products have. Smaller vendors in this space include
HiveLive, SocialText,
and Thought Farmer.
There are new and different types of Web 2.0 and social networking sites coming online nearly
everyday. Every time I come across a new site, I always imagine how much that site could contribute
to the collaboration and knowledge sharing environment and ultimately to the productivity of
teams inside of a company. I believe that we are on the brink of seeing more and more Web 2.0
technologies entering the Enterprise. These applications can allow an enterprise to capture more
of the ad-hoc and tacit knowledge that typically is not well managed in a large organization.
If you are in a position of influence, you should start
thinking now about how these technologies can make your own organization more productive. If you
are interested in learning more about Web 2.0 in the enterprise, an excellent blog to follow is the
Enterprise 2.0 blog from Dion Hinchliffe.
Tags development, enterprise, web2.0 | no comments
Posted by Timothy Fisher
Mon, 17 Mar 2008 01:11:00 GMT
Heroku is a web application that provides a complete environment for writing Ruby on Rails powered web applications. With Heroku you get both a development environment and a hosting platform. Each application that you create with Heroku is also assigned a unique URL that you can use to access it.

Heroku has plenty of gems and Rails plugins pre-installed and available to any Rails application. However, if you want to use a gem or plugin that is not already installed, you can do that also. It is simple to install any gem or plugin into your Heroku Rails application. You can also upload a complete Rails application that you developed locally, into the Heroku environment. The opposite is also possible. You can export an application that you developed inside of Heroku and download its source to your local computer. As you write migrations, they are automatically detected and run without any manual intervention. You also get a built-in console for running any rake tasks that your application has. A built-in Rails console is also provided in a browser window.

Heroku also recently added an API that allows you to develop your Rails application locally on your computer and deploy to Heroku remotely through the Heroku API. The source code version control system that Heroku uses to store your source code is also exposed. The version control system used is GIT. If you have GIT installed locally you can directly access your application’s source code and make commits against it. When you want to deploy back to the Heroku servers, you do that through the Heroku API.
Heroku is probably not the host you’d select for deploying a production Rails application, but it can be a satisfactory development environment, and an excellent platform for learning. In a training environment, students would be able to develop a complete Rails application using only the Heroku web application without having to install any software on their computers. It is also easy to collaborate on an application using Heroku. Once you create an application, it is easy to add other users as collaboratorsruby who also have access to the application’s source code. Overall, I think this is a great tool that can help more people get exposure to the Rails platform.
Tags rails, ruby | no comments
Posted by Timothy Fisher
Sun, 09 Mar 2008 03:54:00 GMT
I tend to read a lot of technical books. My current passion is with the Ruby programming language and the Rails web application framework which is built on top of the Ruby language. I’m also a published technical author myself. The book that I am currently writing is the Ruby on Rails Bible which will be published by Wiley this spring. However, since that is a few months away still, I thought I’d share some reviews of some current Rails books that I find to be excellent learning and reference resources. The three books that are reviewed here are:
Two of the books RailsSpaces, and The Rails Way, are in the Professional Ruby series. Obie Fernandez, author of The Rails Way is the lead editor for that series.
Rails Space

This is a book that walks through the complete implementation of a social networking web application developed with the Rails framework. A hosted version of the application developed throughout this book is available online at www.railsspace.com. The authors of this book are Michael Hartl and Aurelius Prochazka.
This book is essentially an extended tutorial that
is developed throughout the book. Some of the topics touched on while developing the Rails Space application are user
authentication, image uploading, geo data, email integration, Ajax, and Restful development. As the application is written,
tests are also written as each component of the application is finished. This provides excellent practical material on writing
tests for your own Rails applications. You’ll find many of the techniques that the authors show you for creating tests and
testing various pieces of the code to be very useful in your own projects.
Overall, I found this to be probably the best book available of its type, that is a book which serves as a tutorial focusing
on the development of a large sample application. I highly recommend this book to any developer getting started with Rails.
Even experienced Rails developers will enjoy this book.
The Rails Way

This book provides probably the most complete coverage of the Rails framework of any book currently out. This book is also the first book that I am aware to provide coverage of Rails 2.0. The author of this book is Obie Fernandez whom is one of the most respected Rails developers in the industry. Obie recently started his own Rails consulting firm, Hash Rocket.
The book provides excellent in-depth coverage of a wide range of technologies related to Rails development
including Rails core technologies like Controllers, ActiveRecord, ActionView, the Rails routing system, Helpers, REST,
Ajax, Session Management, Authentication, ActionMailer, ActiveResource, Rails Plugins and Testing. Technologies that are
complementary to Rails are also covered in-depth including: testing with RSpec, Capistrano, background processing,
plugins, and production configurations. The chapter on production configurations provides an excellent overview of what is
necessary to get a Rails application running in a production environment. It includes example configurations for Mongrel and Nginx
for serving your application and Monit for monitoring your application.
Unlike some other Rails books, this book assumes a knowledge of Ruby and does not waste pages with a long Ruby introduction.
In my opinion, that is a good thing. If you are interested in learning Ruby, this book is not the best choice for you.
The book’s afterword is titled What is the Rails Way (To You)? Be sure not to skip that if you read the book. This
chapter provides a collection of thoughts from a bunch of Ruby and Rails developers, quite a few of whom you will have
probably heard of if you keep up with the Rails community. I found it to be a very interesting and insightful chapter.
The Rails Way is also a nominee as Best Technical Book in the Jolt Awards competition.
Overall, if I could buy only one book about Rails, this would be the book.
Practical Rails Projects

This book takes the reader through several practical examples of web applications that showcase the features of Rails.
The book provides a very practical way of extending
your Rails development knowledge once you’ve mastered the basics of Rails development.
The author of this book is Eldon Alameda. The applications that you will build over the course of the book are:
- To-Do list manager
- Exercise/Fitness tracking application
- Blog
- Gaming community site
Like the other books I’ve included in this review, no pages are wasted on a Ruby introduction chapter. Instead this
book assumes a knowledge of Ruby and jumps right into building each of the sample projects.
Throughout the course of implementing these applications, you’ll use several popular Rails plugins as well as some
features from popular JavaScript frameworks, YUI, and ExtJS. These JavaScript frameworks are excellent compliments
to the Rails framework. The book is best read from start to finish, as in some cases each of the projects builds on functionality
or features developed for an earlier project.
This book does include unit testing as well, though it does not emphasize it as much as the Rails Space book does. Some
of the technologies that you’ll see in this book are: developing web services, Restful development, graphing, caching,
and file upload. Some of the plugins that you’ll use throughout the course of the book include: acts_as_authenticated,
calendar_helper, restful_authentication, css_graphs, ziya graphs, will_paginate, and attachment_fu.
Overall, I found this to be another excellent book that can be read from cover to cover. Both new and experienced developers
will learn something from this book.
Tags books, rails, ruby | 1 comment