Feeds:
Posts
Comments

Archive for September, 2007

Ajaxxx!!!

Defining Ajax

Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:

The classic web application model works like this: Most user actions in the interface trigger an HTTP request back to a web server. The server does some processing — retrieving data, crunching numbers, talking to various legacy systems — and then returns an HTML page to the client. It’s a model adapted from the Web’s original use as a hypertext medium, but as fans of The Elements of User Experience know, what makes the Web good for hypertext doesn’t necessarily make it good for software applications.

This approach makes a lot of technical sense, but it doesn’t make for a great user experience. While the server is doing its thing, what’s the user doing? That’s right, waiting. And at every step in a task, the user waits some more.

Obviously, if we were designing the Web from scratch for applications, we wouldn’t make users wait around. Once an interface is loaded, why should the user interaction come to a halt every time the application needs something from the server? In fact, why should the user see the application go to the server at all?

How Ajax is Different

An Ajax application eliminates the start-stop-start-stop nature of interaction on the Web by introducing an intermediary — an Ajax engine — between the user and the server. It seems like adding a layer to the application would make it

less responsive, but the opposite is true.

Instead of loading a webpage, at the start of the session, the browser loads an Ajax engine — written in JavaScript and usually tucked away in a hidden frame. This engine is responsible for both rendering the interface the user sees and communicating with the server on the user’s behalf. The Ajax engine allows the user’s interaction with the application to happen asynchronously — independent of communication with the server. So the user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something.

Every user action that normally would generate an HTTP request takes the form of a JavaScript call to the Ajax engine instead. Any response to a user action that doesn’t require a trip back to the server — such as simple data validation, editing data in memory, and even some navigation — the engine handles on its own. If the engine needs something from the server in order to respond — if it’s submitting data for processing, loading additional interface code, or retrieving new data — the engine makes those requests asynchronously, usually using XML, without stalling a user’s interaction with the application.

Who’s Using Ajax

Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last year — Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps — are Ajax applications. (For more on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and Google Maps.) Others are following suit: many of the features that people love in Flickr depend on Ajax, and Amazon’s A9.com search engine applies similar techniques.

These projects demonstrate that Ajax is not only technically sound, but also practical for real-world applications. This isn’t another technology that only works in a laboratory. And Ajax applications can be any size, from the very simple, single-function Google Suggest to the very complex and sophisticated Google Maps.

At Adaptive Path, we’ve been doing our own work with Ajax over the last several months, and we’re realizing we’ve only scratched the surface of the rich interaction and responsiveness that Ajax applications can provide. Ajax is an important development for Web applications, and its importance is only going to grow. And because there are so many developers out there who already know how to use these technologies, we expect to see many more organizations following Google’s lead in reaping the competitive advantage Ajax provides.

Moving Forward

The biggest challenges in creating Ajax applications are not technical. The core Ajax technologies are mature, stable, and well understood. Instead, the challenges are for the designers of these applications: to forget what we think we know about the limitations of the Web, and begin to imagine a wider, richer range of possibilities.

It’s going to be fun.

Read Full Post »

Insurance, in law and economics, is a form of risk management primarily used to hedge against the risk of a contingent loss. Insurance is defined as the equitable transfer of the risk of a loss, from one entity to another, in exchange for a premium. Insurer, in economics, is the company that sells the insurance. Insurance rate is a factor used to determine the amount, called the premium, to be charged for a certain amount of insurance coverage. Risk management, the practice of appraising and controlling risk, has evolved as a discrete field of study and practice.

Recently i was succeeding my friend to become someone’s personal assistant in one of the top 5 insurance company in singapore.. btw regarding the working environment over there is more or less the same as PeopleSearch.. (and uh.. no pantry btw.. they only provide small water gallon just right over the small corner near the closed door.. sighs.. btw no cup also.. need to bring my own water bottle.. haha..), and uh.. the degree of autonomy is almost none.. i’m working in front of my boss.. what do i expect..? but sometimes he’s not in the office so.. doesn’t matter.. however there’re lots of CCTV around, i wonder what are they going to do with it, monitoring ppl working is a dull job I.M.H.O..

so today i was very busy printing 600+ over resumes that i’ve downloaded via monster yesterday, and the printer is printing damn slow… (moaning) however, i’m quite enjoying working over there.. and the working schedule is like.. very flexible.. (yay!) and uh… btw my boss is quite a decent manager, and he loves to share knowledge with me.. idk what is his intention behind it but i gratefully accept his lesson.

He’s teaching me how to appreciate insurance as it’s one of the tool that more or less useful for ppl that are unlucky.. lol.. so basic principal is just a risk transfer instrument, that’s all… so today i’ve asked how come the company, provided X “small” amount of ppl gave premium every month, and X amount of people within its population claiming based on X “huge” percentage still survive and yet the company still grow and profit over time?

the actual mechanism behind it is very much complex. so the risk that one company is going to bear is not exactly as huge as you think. the idea behind insurance is to “transferring” the risk. so big, small, medium etc insurance companies transfer risks daily so that they can actually sharing the profit and minimize the leverage of risk… so the question now is, do you dare to take huge risk for a “potential” huge profit? ….

Read Full Post »

Joomla! Beginning Developer Course

Prerequisites – solid understanding of how to install and configure Joomla! core and third party extensions; basic understanding of website administration, including how to install and configure PHP, Apache, and MySQL and how to backup and restore a Joomla! database and website; working knowledge of XHTML and CSS; either some programming background or a willingness to work harder to learn the basics. Other than that, the Joomla! Beginner Developer Course assumes you come ready to learn with nothing more than basic computing and Joomla! knowledge.

Costs – There is no cost for the course. All recommended tools are freely available. Students are expected to have a computer with Internet access. Work will be performed on the student’s computer or using Joomla! org resources (at no charge).

Overview – The six week course will offered to a group with no more than 10 participants. Each student will work independently on course reading assignments and exercises. The group will proceed together, meeting frequently using Skype and Joomla! forum postings, helping one another learn and answer each other’s questions. It is hoped that each group will improve the curriculum and documentation for the community.

Sign up – xxx

Week 1 – Communication, IDE, MySQL and PHP Basics

Welcome to Week 1 – Communication, IDE, MySQL and PHP Basics, a six week Joomla! Development for Beginners course. During the first week of the course, you will install and configure an IDE and communication tools needed. In addition, if you have not learned PHP or MySQL, or if you wish to brush up on your skills, there are guides available for that purpose.

Communication

The group will use the Joomla! forums and Skype for communication.

Joomla! Forums

Make certain to register for a Joomla! Forum ID, if you do not already have one. Also, familiarize yourself with the forum rules. The Joomla! Coding 101 forum area is a place to discuss this curriculum and other beginning Joomla! developer topics.

Skype Chat Room for Joomla! Developers

If you have not used Skype before, read the Getting Started instructions. Note: You do not need to purchase any Skype resources, only those capabilities offered free of charge are needed.

Once you have Skype installed and configured, connect to the J!101 Coding 101 Chat Room:

For Linux, only:

.rename it to j101.py
chmod +x j101.py
start skype
at the shell, do: ./j101.py

Integrated Developer Environment

An Integrated Developer Environment (IDE) is a collection of tools designed to help a developer. Typically, an IDE includes a source code editor, a compiler and/or interpreter, a debugger and a version control system.

Select the appropriate choice for your operating system:

MySQL Fundamentals

Joomla! uses MySQL as the underlying database management system. If you have little or no experience working with MySQL or SQL in general, work through the SQL Tutorial from W3Schools. There are interactive opportunities for you to practice your learning using their database and website.

PHP Fundamentals

Joomla! is an application developed using PHP. PHP is a server side scripting language well suited for web site development. If you have little or no experience working with PHP, take time to work through both these excellent tutorials:

Week 2 – Object Oriented Programming

Welcome to Week 2 – Object Oriented Programming, a six week Joomla! Development for Beginners course. Joomla! is built using object oriented programming techniques. If you are unfamiliar with OOP, this week focuses exclusively on that topic.

Fundamental concepts

Object oriented programming has a language and terminology that is important to understand. Read the Fundamental concepts section of this Wikipedia article to begin learning terms like class, object, method, message passing, inheritance, encapsulation, abstraction and polymorphism.

Getting Started with OOPs

Use this easy to follow Getting Started with OOPs guide on object oriented programming language using real world examples that make it easier to understand these advanced concepts. Work through his guide and carefully consider the examples.

Object Oriented PHP

If you are new to object oriented programming approaches, or have not used these approaches with PHP, or if you want to refresh your skills, NefariousDesigns has an excellent five part curriculum entitled Object-Oriented Concepts and a four part curriculum on Object-Oriented PHP that will help you understand these programming approaches.

Week 3 – Joomla! Developer Basics

Welcome to Week 3 – Joomla! Developer Basics, a six week Joomla! Development for Beginners course. This week, you will learn to program a simple module, component and plugin. Then, you will begin exploring Joomla!’s framework and classes.

Definitions

Before learning to build modules, components and plugins, it helps to understand how these are different and when you might use each of these items. What are Extensions?

Module

A module is an extension used for to display simple information. Latest News is an example of a module. Complete this module tutorial to learn how to create a Hello World module.

Component

A component is the most complex extension type. Every Joomla! page has a component that renders the main part of the page. com_content is the primary component that is used to display article and blog information. Walk through these component tutorials:

Chris and Ian – there are two more that need completion. Should we work on these?

Plugins and events

A plugin is typically the simplest type of extension. Follow this Plugin Tutorial to learn how to build a Joomla! v 1.5 Plugin.

Week 4 – MVC Component and Custom URLS

Welcome to Week 4 – MVC Component and Custom URLS, a six week Joomla! Development for Beginners course. This week, you explore Joomla!’s MVC application architecture and you will learn to implement a router for your component.

Model-View-Controller

Finally, the model-view-controller (MVC) architecture. You will learn to separate your component into these three pieces: the data (model), the user interface (view) and the controller.

There are four different tutorials to help you build these skills:

Creating Custom URLS

In Joomla! v 1.5 the URL was completely refactored. Joomla! is now capable of creating and parsing URLs in any format, including human readable URL‘s. Learn to use JRouter to Create Custom URLS for your component.

Creating an Installation File

One of the final steps to building a component is learning to package it into an easy to use installation file for end users. Create an Install File

Ian and Chris – should we work on this?

Week 5/6 Learning Project

Secure Extensions

Before creating extensions, make certain to review recommended security tips.

Learning Project

Now that you have basic skills, work individually or as small teams and build something. You can pick an extension idea and use it to create a Joomla! extension. Or, you can invent your own idea. Try to keep it simple for your first couple of extensions. The more you practice these skills, the better you will become. Don’t be afraid to ask questions, either.

JoomlaCode

Joomla! Extension Directory

Graduation!

After completing the six-week course, you will have only started your journey. Once a week, we will schedule an hour for a mini-lesson that a growing group of Joomla! developers can take turns teaching.

During this weekly get together, ideas and questions can be shared to help engage and strengthen the developer network. Perhaps the core developers might take turns sitting in and share status information or helpful hints.

Framework and Classes

Is the following BEYOND this class?

Joomla! has a complex and powerful application framework.

jbeginners/introduction.txt (749 views) · Last modified: 2007/08/22 12:40 by AmyStephen

Read Full Post »