The next-generation Net won’t just be more portable and personal. It’ll also harness the power of people, making it even easier to zero in on precisely what you’re looking for.
The web’s most common method of interaction is the tried-and-true link: “Click here and we’ll show you a different page.” But the future of online will be fast, two-way communication, the roots of which are beginning to take hold. New technologies will soon give us speedy, uninterrupted access to the Web wherever we wander. We’ll see innovative Web applications that allow us to access information anywhere and work seamlessly with colleagues around the globe. People will gain more power online—rather than simply reading the news, they’ll be able to go out and uncover some stories of their own. And new sites and services will offer information targeted precisely to your needs, rendering one-size-fits-all sites obsolete.
The Web Gets Down to Work
New web services—ones that mimic desktop applications but work entirely within a browser window—appear constantly. But the Web apps you’ll eventually use will focus on productivity and mobility, instead of simply giving you the same functions you’d find in a desktop application.
“Web applications are terrific for situations where you want to share and collaborate,” says Google product manager Bret Taylor. “That’s where we see the most benefit: for consumers planning the annual family reunion or a group of colleagues putting together a sales proposal.”
Brandon Schauer, design strategist for Web consulting firm Adaptive Path, says the next phase of Web applications will focus on practical uses: “things that the rest of the world might have a reason to interact with, not just the Generation Y people who have time to click around,” he says.
One business-focused Web application, Coghead, has been in development since 2003 and is likely to launch soon. It’s a beefy-looking app that allows nonprogrammers to build their own custom applications for tasks like inventory control, with data stored entirely online. Coghead CEO Paul McNamara says the application will be aimed at small to medium-size businesses, and at people who have some level of technical ability—“people who do macros in Microsoft Excel, work in Microsoft Access, or Adobe Dream-weaver,” explains McNamara.
Another Web application that reflects that trend toward productivity is weSpendMoney. It’s one of the first offerings to store users’ financial data exclusively online, unlike more traditional desktop applications. Pedro Sousa, one of the developers, says that future versions of the application will allow users to view their data on the tiny screens of Web-enabled cell phones, too.
A focus on mobility is a common theme among Web apps. “At some point, applications as advanced as Google Earth will be able to run on devices as small as a cell phone,” says Google’s Taylor. “Users will be able to search and collaborate more effectively no matter where they are.”
Another category that will gain in popularity is what Adaptive Path’s Schauer calls “workarounds.” Examples include Kayak.com, a site that uses a Web app to help people deal with the aggravation of shopping for airline tickets, and VideoEgg, which compresses video via a plug-in, thereby skirting poky uploads caused by slow upstream connections.
Social networking sites like MySpace are huge, but sites that aren’t purely social will use people connections to solve problems. Schauer says sites that use social networks in this way “plug into what the Web has always been great at, which is getting you together with people who share the same interests but may be miles away.” Examples include Last.fm and Pandora, which ascertain your musical preferences and play songs from additional artists you might like. These sites also let you find and play “stations” that have been created by others. Another similar site is Soundflavor.
Search Engines With Real Savvy
Today most search engines depend primarily on algorithmic processing: results that are ordered by popularity. But better systems are beginning to supplement the blunt-force approach. “We want to do a better job of understanding the user’s intent and the content provider’s intentions,” says Peter Norvig, director of research for Google. “We mostly rely on matching keywords, but we’d like to get closer to matching the intent.”
Microsoft is another company investing heavily in research on search technology. “We’re working on all kinds of things that will go away from ‘here’s ten links on a page,’” says Adam Sohn, a director in Microsoft’s online services group, which is responsible for the Windows Live portal. “If someone is searching for ‘Jaguar,’ he explains, “the smarts to distinguish between ‘he’s looking for a car and ‘a big cat in the jungle’—that’s coming.”
Search engines can also deliver improved, more personalized results by adding better sources of information. “A search engine would be very good at telling me who won the FIFA World Cup, but bad at telling who’s the best nanny in the neighborhood,” says Sohn. So search engines are adding social networking features for sharing information within small groups.
Social-network searching will extend to other areas, too. Sohn says most video sites encourage the people who upload clips and those who view them to add tags. “Over time, especially with video, there will be this social input, where people add tags to other people’s video. Then you get this sort of community-reinforced set of searchable attributes.”
Soliciting input will also help provide searchers with more personalized results. Norvig says Google should do a better job of helping people use the search engine the way it is by offering proactive suggestions—for example, “It looks like you’re trying to do this kind of search; here’s how you do it.” Sohn says Microsoft is building two-way feedback mechanisms that will ask users how useful they found the search result.
Both Norvig and Sohn agree that one issue search engines will be addressing is how to present search results. Most search sites have many sections drawing on separate databases. “[We have] one look for Web sites, one for news, one for images,” Norvig says of Google’s site. “We want to find a way to combine all of that information.” Microsoft’s Sohn uses the example of combining results from Windows Live’s QnA (question and answer) section with its main search section. “We need to build the connection between the two services. It’s not a multiyear thing; it’s in the next 12 to 18 months.”
New Clout for Everyday People
Even with throttled bandwidth, people are uploading 65,000 new videos to YouTube each day. More than 52 million blogs are covering everything from the best burger in Bangalore to the latest finance scandal. Think that’s impressive? Amateurs will find new venues that will give them even greater influence.
Jay Rosen, an associate professor of journalism at New York University and writer of the PressThink blog, says that amateur and professional journalists can work together to produce some-thing greater than either could produce separately. “Bloggers are good at filtering and organizing information,” he says.
“Sometimes they get involved in [reporting on] things, but often it’s accidental. They’re collating what’s out there.” NewAssignment.net, combines the efforts of amateurs and professionals. Members will suggest, debate, and research stories; professional reporters will complete selected stories.
The Web will continue to reshape itself to serve not just professionals and geeks but everyone, whether they have an opinion, a gripe, or simply a job that needs to be done.
Tuesday, July 31, 2007
Monday, June 04, 2007
10 Valuable Tips for Creating Your Web Site
Introduction
When looking for ways to build of your web site, even minor steps can make a huge difference. The most helpful information and best content will have little impact without simple protocols that make your Web site easier to use and more visually appealing. This paper focuses on 10 tips you can employ to ensure your web site is effec- tive from the day it goes live.
1. Accessibility
Web site accessibility has recently become a very important issue in the web community. Because of Section 508 of the Rehabilitation Act of 1973, all web sites and pages created by Federal agencies and Federal contrac-tors after June 21, 2001 must comply with its provisions. The purpose of the law is to make web sites accessi-ble to all individuals, including those with disabilities. The World Wide Web Consortium (W3C) developed Web
Content Accessibility Guidelines (May 1999), which expand the scope of Section 508.
This is very important to all web developers, whether you are a government agency, a contractor who does work for the government, or a private firm with its own web site. An accessible web site refers to any content or information provided via an online medium that all individuals (including those with disabilities) could easily access and understand. Disabilities include not only visual impairments, but auditory, cognitive, and physical
impairments as well. They can range from very severe (total blindness, for example) to something as simple as the increasing inability to see contrasts that develop as we age. Greater accessibility means more people can fully utilize your web site’s features.
There are a number of aids available for enhancing accessibility. These range from programs like Jaws or IBM’s Home Page Reader—which read the page aloud for the visually impaired—to sip-and-puff systems for the quadriplegic. It is up to the web developer to create pages that allow these systems to provide an equivalent alternative for these individuals. Think of accessing a web page as being similar to a play or opera. If you read the script without benefit of the actors’ interpretation, lights, scenery, or music, you are only experiencing one aspect of the author’s intent. The same is true of web access: if you can only hear the words being read, for example, with no description of the images on the page or other visual components, you would not fully expe-rience the information being provided on the page. That is why, when we include an image, it is important to use the “alt” attribute to provide a description of the image. This enables a screen reader to read this informa-
tion aloud for a visually impaired user.
There are several other tips like using
So how do you know if your web site is accessible? Go to http://webxact.watchfire.com and enter the URL for a web page. This free application will test your page and let you know where it does not comply
2. Security
Security is crucial to the success of your web site. There are several steps you can take to minimize the risk that your web sites will be subjected to a breech in security.
Security Updates
Be sure you are running the most current version of your web Server. Monitor your vendor updates, and per-form regular maintenance.
Validate User Input on the Client and the Server
Validating user input on the client is great for user experience. However, you need to validate input on the server side as well. Consider that there are tools that look and feel to your sever like a web site when in fact they are actually designed to fake input such as passwords.
Audit Logs
Maintain and review server logs to check for suspicious activity.
Common Settings
Be sure to minimize the risk to your server by minimizing the things users can do on your server. For example, don’t permit users to browse the directory structure of your site unless it’s necessary.
Lockdown Your Server
Most servers have standard development mode and then a production mode. For example, Microsoft’s Internet Information Server (IIS) has a lockdown utility that minimizes the attack surface for your web site.
3.Web Server Statistics
How many visitors do you have? What pages do they frequent? What times do they log on? Utilize a web tool to assist you in not only collecting these statistics but also analyzing and correlating them. Web tools, such as Web Trends, will aid you in collecting and utilizing this knowledge to answer these questions about your site. Build a web page that not only follows appropriate standards, but also drives repeat visitations.
4. Dynamic Technologies Styles
Are the pages within your site beginning to feel and act a little plain? Would you like more ways to format your documents and give users more interaction with them? If so, then your site could make use of languages such as Cascading Style Sheets and JavaScript.
Cascading Style Sheets (CSS) technology gives you more control of page layout and the ability to control the design of multiple pages on your site from a single file. Additionally, CSS allows you to develop more sophisticat- ed layouts, more font schemes, and even more interactivity for your pages than was possible using just HTML.
JavaScript techniques are needed to develop cutting-edge, interactive web sites. From opening windows to image-flipping and form validation, Javascript can help you build exciting, dynamic web pages.
Integrating HTML, JavaScript, and Cascading Style Sheets techniques are collectively known as Dynamic HTML or DOM Scripting. Utilizing all three languages allow you to fully exploit the capabilities of Netscape Communicator, Firefox, and Microsoft Internet Explorer.
5. Efficient Use of Appropriate Design Software
In the past, many web developers eschewed graphical web editing packages and boasted of developing pages using a simple text editor (for example, Notepad). There is still a place for text editors, but efficient designers and developers both use appropriate design software, often manually tweaking the code. Such packages offer a what- you-see-is-what-you-get (WYSIWYG) environment for designers and code-writing tools for developers. These have
the software-complete repetitive steps, and let designers and developers focus on what they do best.
There are many options, but here are some of the major ones:
Dreamweaver (Adobe, formerly Macromedia)
• The most popular package
• Offers both design (layout) and development (programming) support
• Supports all major server-side scripting languages (ColdFusion, ASP, PHP, JSP), Javascript, XML, and
ASP.NET (VB.NET and C#)
• Integrates well with Adobe Flash and Adobe Fireworks (both formerly Macromedia)
GoLive (Adobe)
• Offers both design (layout) and development (programming) support
• Supports several scripting and markup languages (PHP, JavaScript, SVG-t, SMIL)
• Integrates well with long-standing Adobe products (Photoshop, Illustrator, InDesign)
FrontPage (Microsoft)
• Offers both design (layout) and development (programming) support
• Supports Microsoft JScript and ASP.NET (VB.NET and C#)
• Integrates well with Visual Studio .NET and the Microsoft Office Suite
Microsoft Visual Studio (Microsoft)
• Primarily provides development (programming) support
• Integrated Design Environment (IDE) for developing in .NET environment
• Supports .NET languages (primarily VB.NET and C#, but other extensions for other
languages provided by third parties)
Eclipse (open source)
• Primarily provides development (programming) support
• Integrated Design Environment (IDE) for developing in any environment, but mostly
ommonly used for J2EE
• Supports a multitude of programming languages (not language-specific).
6. Standards and Browser Independence
Web site development has come a long way. There are lots of new tools that will help with web-page design, not to mention web sites that offer suggestions and ideas for making your web site absolutely incredible. Probably the biggest movement is the increasing use of Cascading Style sheets to separate page content from formatting. We are also seeing more sophisticated use of JavaScript to make pages more dynamic and, therefore, more interesting. Along with this, the World Wide Web Consortium (W3C) has instituted an effort to standardize how browsers handle the display of web pages through the use of XHTML. It is hoped that among all of these initiatives, programming for the web will become less a matter of making sure our pages work on all browsers by testing against each one, and more one of creating web pages that are useful, accessible, and exciting.
There are a vast number of resources on the web to help improve web sites. For information about the new XHTML standards, as well as help with Cascading Style Sheets and DOM Scripting (using JavaScript to make your web pages more dynamic), the W3C pages (http://www.w3.org) are invaluable. They include examples and tutorials, both of which are very well done. For some wonderful examples of Cascading Style Sheets, we recommend CSSZenGarden.com (http://www.csszengarden.com). The organization that runs this site supplies an html page with the required content. Designers are invited to create an external style sheet to format the page. New contributions are regularly posted.
Another excellent resource is http://www.dynamicdrive.com. The Internet group on Google groups, formerly Deja, http://groups.google.com/groups is helpful as well. The good news is that you can post a question through Deja/Google groups. Within 24 hours you will usually get one-to-three technically correct answers. Other potential resources include:
http://www.developer.com
This is a solid resource for most scripting/programming languages and is top-notch for Java.
http://www.codehound.com
This is another language resource and is especially helpful with Microsoft .NET technologies.
http://www.4GuysFromRolla.com
This is the definitive place to get ASP or ASP.NET information.
http://www.php.net A good resource for php.
http://www.news.com CNET news.
This site keeps you up-to-date on IT news.
http://www.theinquirer.net
This site provides a hardware outlook for six months to a year-and-a half.
7. Database Access with Server-side Scripting Languages
Static web pages are good place to start, but they quickly can become time intensive and not an efficient use of a designer or developer’s time. Database-driven web sites can refresh their own data, presenting up-to-the- minute data in way manual updates could never do. A dozen or so programmed pages can dynamically change so that they do the job of thousands of static pages. The benefits are clear: more timely information; fewer pages to maintain; and a freeing up of both designers and developers to enhance and further develop the functionality of a site, rather than its content.
But by itself, HTML is not up to this kind of job; that’s not what it was designed to do. A server-side program-
ming language is needed. There are several options, but here are a few of the major products available:
Active Server Pages (ASP) (Microsoft)
• Written using VBScript (server-side JavaScript also possible, but rare)
• Comes installed with Windows servers
• Can run in UNIX/Linux environment using Sun ONE
• Being somewhat overshadowed by ASP.NET
PHP Hypertext Preprocessor (PHP) (open source)
• C-like programming language
• No licensing cost (open-source)
• Can run on UNIX/Linux servers or Windows-based servers
• Close integration with MySQL database
ColdFusion (Adobe)
• Written using tag-based language which integrates well with web-editing software (can also be written using a scripting-like language)
• Easy to learn, quick to create and maintain pages
• Java-based architecture
• Can run on UNIX/Linux server or Windows-based servers
Java 2 Enterprise Edition (J2EE) (Sun)
• Written using cross-platform Java language
• Most often deployed on UNIX/Linux, but can run on any system
• Web page scripting using Java Server Pages (JSP)
• Most appropriate for enterprise-wide installations involving multiple servers, databases, and possibly
mainframe.
ASP.NET (Microsoft)
• Written using VB.NET or C# (other languages possible)
• Deployed in a Windows server environment
• Requires use of Visual Studio .NET for development
• Most appropriate for enterprise-wide installation with other Microsoft solutions
Perl (open source)
• Not really a scripting language (doesn’t co-habitate with HTML)
• Powerful, flexible language, good for dealing with patterns or manipulating data
• Uses less modern Common Gateway Interface (CGI) model
• More appropriate for communication between different applications on a server
Any of these will work with any Relational Database Management System (RDBMS). Here are some common ones:
Oracle (Oracle Corporation)
• Fully featured, flexible, scalable
• Works on UNIX/Linux or Windows servers
SQLServer (Microsoft)
• Fully featured, flexible, scalable
• Works on Windows servers
• Integrates well with .NET
MySQL (open source)
• Fully featured, flexible, scalable
• No licensing costs (open-source)
• Integrates especially well with PHP
Access (Microsoft)
• Friendly user-interface for database management
• Integrates well with MS Office suite
• Not fully featured, limited capabilities, only appropriate for small-scale implementations.
8. Using Image Editors for Fast Loading Graphics
Use Adobe Photoshop/Imageready or Fireworks to create the appropriate type of graphic file Typically GIF or
JPEG. There are other Image Editors available but Photoshop/Imageready and Fireworks are currently the most
popular and are considered the industry standard.
9. Site Planning, Design, and Management
“On time, within scope, and within budget” is the project management motto these days. This is also true for IT projects. IT managers can no longer live in the IT black hole. All IT requires fundamental project manage- ment best practices. Learn how to communicate with your staff. Clarify your project’s business goals to ensure that your project is aiding in the vision and meets your company’s vision. Learn how to follow through your project from inception to implementation. Apply your management skills to the concepts of web design. Apply a strategic focus within your organization to help save time and resources. Learn the benefits of various soft- ware packages to aid in efficiency.
All of these project management practices can help your web site design projects run more smoothly and ensure your web site does what it’s suppose to do.
10.Technological Flexibility
If your web application is Data driven, it is imperative that sharing information with different applications and/or platforms be done in the most flexible way possible. Transforming Data from one format to the next, however, can be arduous and considerably time consuming. Fortunately, storing data in an extensible format, and working with it using XSL, has become relatively easy.
Extensible Markup Langauge (XML) allows developers to store raw data in a text file make up with an HTML-like syntax. With the use of Extensible Style Sheet Transformations (XSL - T), Formatting Objects (XSL - FO), and CSS developers now are able to transform this raw data into an application specific format. Languages com- monly used to augment an XML application are listed below:
• Extensible Markup Langauge (XML): Used to store raw data files
• Document Type Definitions (DTDs): Used to validate XML documents
• eXtensible Stylesheet Language (XSL) and Cascading Style Sheets (CSS): Used to transform the display of XML document into an application specific format. XML utilizes complexities like XPath, functions, modes, and dynamic modification of stylesheets commonly featured in many scripting and programming languages
To Summarize
1. Make sure your web pages are accessible
2. Take steps to minimize security risks
3. Use web server statistics to determine how popular your site is
4. Utilize dynamic technologies styles
5. Be aware of web development software and how to use it efficiently to enhance your web site
6. Use XHTML, DOM Scripting, and CSS to make your site browser and rule independent
7. Choose an appropriate database to ensure it is more dynamic, and does the job of many static pages
8. Use image editors for fast-loading graphics
9. Learn to use planning and project management techniques to build great web sites with large teams
10. Use new technologies like XML, DTDs, and XSL to help your application communicate with other plat-forms in the most flexible manner
If you follow these simple rules, you too can create an excellent web site.
Wednesday, May 30, 2007
Top 50 Best Programming Languages
In my years of experience in software development, I wandered around which is the best programming language. I’d been involved in Oracle based application but there are programming languages out there that excels in their fields.
Amazon Unspun provides methods for community collaboration on the Web to develop consensus ranking. For the Best Programming Languages, here are the rankings.
Top 50 Best Programming Languages
1. Ruby
2. Pythou
3. Java
4. Lisp
5. C
6. Smalltalk
7. APL
8. Perl
9. C++
10. PHP
11. Javascript
12. C#
13. Haskell
14. Objective-C
15. Scheme
16. J
17. Erlang
18. Algol
19. SQL
20. Pascal
21. Basic
22. Fortran
23. Delphi
24. Ada
25. K
26. Snobol
27. Assembler
28. Visual Basic
29. D
30. Coldfusion
31. O’Caml
32. Brainfuck
33. Forth
34. Cobol
35. Icon
36. Standard ML
37. IO
38. Groovy
39. Prolog
40. Logo
41. Lua
42. Powebuilder
43. F#
44. R
45. Providex
46. Dylan
47. ToonTalk
48. Var’AQ
49. Comal
50. MOO
Amazon Unspun provides methods for community collaboration on the Web to develop consensus ranking. For the Best Programming Languages, here are the rankings.
Top 50 Best Programming Languages
1. Ruby
2. Pythou
3. Java
4. Lisp
5. C
6. Smalltalk
7. APL
8. Perl
9. C++
10. PHP
11. Javascript
12. C#
13. Haskell
14. Objective-C
15. Scheme
16. J
17. Erlang
18. Algol
19. SQL
20. Pascal
21. Basic
22. Fortran
23. Delphi
24. Ada
25. K
26. Snobol
27. Assembler
28. Visual Basic
29. D
30. Coldfusion
31. O’Caml
32. Brainfuck
33. Forth
34. Cobol
35. Icon
36. Standard ML
37. IO
38. Groovy
39. Prolog
40. Logo
41. Lua
42. Powebuilder
43. F#
44. R
45. Providex
46. Dylan
47. ToonTalk
48. Var’AQ
49. Comal
50. MOO
Subscribe to:
Posts (Atom)