developer.com
Search EarthWeb
CodeGuru | Gamelan | Jars | Wireless | Discussions
Navigate developer.com
Architecture & Design  
Database  
Java
Languages & Tools
Microsoft & .NET
Open Source  
Project Management  
Security  
Techniques  
Voice  
Web Services  
Wireless/Mobile
XML  
Technology Jobs  

   Developer.com Webcasts:
  The Impact of Coding Standards and Code Reviews

  Project Management for the Developer

  Defining Your Own Software Development Methodology

  more Webcasts...




See the Winners!


Developer Jobs

Be a Commerce Partner
Cell Phones
Online Education
Computer Hardware
Promotional Gifts
Laptops
Compare Prices
Web Hosting Directory
GPS Devices
Corporate Gifts
Server Racks
KVM Switches
Compare Prices
Promote Your Website
Baby Photo Contest

  Voip -Voice over IP


Download these IBM resources today!
e-Kit: IBM Rational Systems Development Solution
With systems teams under so much pressure to develop products faster, reduce production costs, and react to changing business needs quickly, communication and collaboration seem to get lost. Now, theres a way to improve product quality and communication.

Webcast: Asset Reuse Strategies for Success--Innovate Don't Duplicate!
Searching for, identifying, updating, using and deploying software assets can be a difficult challenge.

eKit: Rational Build Forge Express
Access valuable resources to help you increase staff productivity, compress development cycles and deliver better software, fast.

Download: IBM Data Studio v1.1
Effectively design, develop, deploy and manage your data, databases, and database applications throughout the data management life.

eKit: Rational Asset Manager
Learn how to do more with your reusable assets, learn how Rational Asset Manager tracks and audits your assets in order to utilize them for reuse.
Related Article -
Make Your Site Script.aculo.us
The Twelve Days of AJAX
Create a Chronological Photo Album with Java
Evolution of the J2EE Business Delegate Design Pattern
Implementing the Intercepting Filter Pattern in Your Enterprise Java Applications
Build and Command Objects—Using Design Patterns
Spring: the Eclectic Framework
Developer News -
Sun Latest to Help App Vendors Get 'SasSy'    April 24, 2008
Ubuntu's 'Hardy' Cozy With Windows    April 24, 2008
The $4.6B Business of The Social    April 22, 2008
Office 2007 Fails The OOXML Test    April 22, 2008
Free Tech Newsletter -

Project Management Guide: Developing a Web Site. Best Practices, Tips and Strategies. Download Exclusive eBook Now.

The Web 2.0 Movement Is Here. But What Does It Mean to You?
By Vlad Kofman

Go to page: 1  2  Next  

Web 2.0 can be thought of as two concurrent and unrelated things: advances in technology and a new business model for web companies.

This article will examine the Web 2.0 movement and what it means for the end clients, what Web 2.0 means for the web UI, and which technologies enable the new features. In particular, it will talk about the new companies that joined the movement, and look at some of the technology that powers Web 2.0.

It will also discuss what it means to code in "web2.0 style" with some more advanced features of the Script.aculo.us framework and explore the Dojo toolkit.

The New Social Platforms

During late 2000, when the Internet bubble burst, many web startup companies folded. There were many reasons this happened: weak or non.existing business models, solutions to fabricated problems, under-funding, poor management, poorly executed web sites, or too much competition. But, whatever the reasons and whatever the number of failures, two interesting facts emerged from that first wave of the web (or e-commerce) companies. The first fact was that very little was needed to start a web-based company, and the second was that a company needed a lot of customers to be profitable in an unexplored online market environment. As an example, the most successful online companies with viable revenues that survived when the bubble burst were Ask.com, About.com, Paypal, Google, eBay, and Yahoo! All provided online services to millions of customers.

Predictably, the entrepreneurial spark that ignited the first wave of web companies has not disappeared, and a new wave is already here*. So, what is different this time around? The first difference is that it is now even easier to set up a web company because web technologies have improved tremendously since early 2000. The second difference is funding or Venture Capital (VC), and the third is new social platforms approach.

* This article was written in January 2007.

During the original bubble, the first wave of companies relied on startup capital from the VCs to get past the initial losses phase. In many cases, it was also a huge problem because a VC firm would insist on a large stake in the company and on placing their people on the board of directors if company went public or on retaining managerial positions to influence decision making. These people also could eventually take over and liquidate the company at the first sign of problems.

The current approach of the Web 2.0 companies is different. Because of advances in technology, companies need very little startup capital, so the entrepreneurs can even go without the VCs. Eventually, the company would still need money for expansion, and that can come from other creative sources, such as the founders of other successful web companies, or selling itself to a larger company. For instance, YouTube received funding from eBay founders and was later bought out by Google. Del.isio.us was sold to Yahoo!, and PayPal was bought by eBay.

Barring the new funding strategy, there is another huge difference in the Web 2.0 approach to the web business model. The Web 2.0 sites use a lot of the latest technology, such as AJAX, to provide a rich user experience and they tend to represent social platforms in some way. The social platform is not a new concept, but the way some companies implement it online, is new and sometimes unique.

Basically, the social platform can be summarized as the ability for the web users to change web content. Done as a group task, the results can be very tantalizing and addictive. For example, Wiki is now the most popular platform for encyclopedic information edited and updated by the web users. YouTube lets users upload their own videos, MySpace.com* and FaceBook let people share collective content such as pictures, blogs, music and general info. Del.isious and Reddit let users collectively "tag" content online and share it via the tags. Digg.com lets users post and collectively rate news articles on the web, and bubble up the most social articles to the top**. There are many other examples, but the idea of a social platform is prevalent in all of these new Web 2.0 sites. As a side effect, the advertisement for the social platform site is done via friends connecting to friends on the site or simply by talking about it.

* At the time MySpace was bought by New Corp., it had 80 million users.

** Digg.com currently generates more traffic to the site than The New York Times.

The New Web 2.0 Development

Since the early days of the web, desktop applications or native OS programs have always exceeded web applications in terms of the robustness of the client interfaces. New features in the UI would often appear and become conventions on the desktop, and only after some time would be replicated on the web. But, the rise of the modern technologies have shifted the tide in favor of the web, and even though there is no clearly defined competition for GUI features, it is a safe bet to say that anything achievable on the desktop can be replicated on the web and, in some cases, even improved. Some new UI conventions may now even become a de facto way to use on the web, before migrating to the desktop. The web, being the new media for running applications, has in some way dictated ways to develop applications and the standards for the UI.

For example, mapping applications on the desktop had had always the ability to drag (or scroll) a viewable area effortlessly almost from the inception. However, on the web, early versions of mapping sites relied on lengthy page refreshes, and odd arrows on the sides of the tiny map areas to scroll the content. Only recently, with the use of Ajax, Google popularized a dragable mapping application on the web.

The ability to instantaneously update a viewable UI, without lengthy refreshes, separated desktop applications from web applications, but technologies such as AJAX or Macromedia Flash bridged that gap and made it possible to achieve the same on the web.

From the development perspective, joining the Web 2.0 movement, either for a startup or for projects in established corporations, means using the latest web conventions to provide a very rich user experience with the same thin web browser client. Web 2.0 developers think about web applications not in terms of page hierarchies that the user needs to navigate, but in terms of the islands of information that the user can interact with on a small number of screens. And, because the screen real estate is limited, novel ways to represent data, such as "tag clouds" and Portlets also came about. Different widgets emerged as reusable components on the web, such as selection Calendars, custom sortable and dragable Tables, custom Selection boxes and Scrolls, Rich Text Editors, Charting and other Effect widgets.

What Does Web 2.0 Mean for Users?

For a web user, Web 2.0 can mean many good things. The new, rich interfaces will make interacting with web sites easier and more exciting. The new social platforms, if used correctly, may become useful tools for collaboration, knowledge sharing, and education.*

The user's content will be easily accessible from any computer with an Internet connection. For example, bookmarks will be stored as tags on some social bookmark site, and the user will not have to worry about the hassle of moving them to a new computer or losing them if a PC crashes. Similarly, pictures, documents and other files will be centrally stored on some picture sharing site and document site respectively.

Of course, competition among Web 2.0 companies will create better social web services, and produce new profitable companies.

* Adults still have the responsibility to educate children about dangers of posting content on MySpace.

The Advanced Script.aculo.us Framework

Different frameworks emerged to support the need for rich interfaces; I covered many of them in one of my previous articles and Script.aculo.us library in some detail in the last article. All of the Web 2.0 frameworks rely on the latest browsers to provide the foundation, and make heavy use of the JavaScript, XML, and CSS standards. Script.aculo.us is a solid, server-agnostic JavaScript library based on the "Prototype" toolkit. Besides a lot of time-saving and cross-browser compatible code, it comes with several advanced widgets and Ajax-enabled controls. If you need an introduction to the framework, please see my previous article. There are only a few advanced widgets that come with the library, and if you are interested in a robust widget library, Script.aculo.us may not be for you. But those widgets that are available are stable and require only a short learning curve.

The advanced widgets are:

  • Drag and Drop
  • Auto-completing AJAX text fields
  • Sortable elements with/AJAX callbacks
  • Slider

The widgets are easy to create. For instance, a sortable list can be defined in HTML and manipulated in the JavaScript via API calls:

<ul id="somelist">
   <li>Web 2.0</li>
   <li>With</li>
   <li>Ajax</li>
   <li>is a lot of fun</li>
</ul>

<script type="text/javascript" language="javascript">
   Sortable.create('somelist')
</script>

Or, if you want to add any effects on drag, you can specify them as optional params:

<script type="text/javascript" language="javascript">
   Sortable.create('examplelist',{ghosting:true,constraint:false})
</script>

Similarly, another advanced widget—custom Slider control—is defined in HTML with a Div tag, and controlled via JavaScript:

<div id="slider1"
   style="width:200px;background-color:#aaa;height:5px;">
   <div id="handle1" style="width:5px;height:10px;
        background-color:#f00;cursor:move;"> </div>
</div>
<div id="debug1" style="padding-top: 5px;"></div>

<hr>

<div id=" slider2" style="background-color : #CCCCCC;
     width : 200px; height : 5px;">
   <div id="handle2" style="width:10px;height:5px;
        background-color:#f00;cursor:move;"> </div></div>
</div>
<div id="barreSortie2" style="background-color: #DCDCDC;
     width: 0px; height: 7px; border: #232323 1px dashed;
     margin-top: 10px;"></div>
<div id="debug2" style="padding-top: 5px;"></div>

<script type="text/javascript" language="javascript">
   // <![CDATA[
      new Control.Slider('handle1', slider1,{
         onSlide:function(v){$('debug1').innerHTML='slide: '+v},
         onChange:function(v){$('debug1').innerHTML='changed! '+v}});

   // Slider with predefined notches
      new Control.Slider('handle2', slider2,{range:$R(0,200),
         values:[0,50,100,150,200],
         onSlide:function(v){$('debug2').innerHTML='slide:
            '+v; $('barreSortie2').style.width=(v*3)+'px';},
         onChange:function(v){$('debug2').innerHTML='changed! '+v}});
   // ]]>
</script>

Note the callback function hooks, onSlide and onChange. You can assign any functions to call when the slide action is performed; for example, an asynchronous call to the server to get more data for the scroll area, without a page refresh.

There are also third party add-ons to Script.aculo.us. For example, Tooltip.js (http://tooltip.crtx.org/) is an implementation of some fancy tool-tips using the Script.aculo.us framework.

Go to page: 1  2  Next  


Tools:
Add www.developer.com to your favorites
Add www.developer.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed


developer.com Archives

Work With InterSystems. Not Separate Systems. Rapidly develop and deploy connectable applications.
Flash Demo: Learn how IBM Information Server Blade is easy to manage, highly scalable and efficient.
Generate Complete .NET Web Apps in Minutes . Download Iron Speed Designer today.
Best Practices for Developing a Web Site. Checklists, Tips & Strategies. Download Exclusive eBook Now.
Intel Go Parallel Portal: Translating Multicore Power into Application Performance



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES