Friday, April 16, 2010

Elevator pitch 1

Sinatra step 5

· Created an account in Heroku

· Installed the Heroku gem with the following line:

gem install heroku

· Created a Rackup file called config.ru. The content of this file is as follow:

require 'app'

run Sinatra::Application

· Initialized the repository with

git init

git add .

git commit -m "sinatra and heroku"

· Set up the key pair by typing

ssh-keygen

ssh-keygen -t dsa

· Created my application on Heroku by typing

heroku create

· After that I have entered my heroku credentials (email and password)

· Pushed the code with

git push heroku master

· The application was deployed on Heroku

Sinatra step 6

Sinatra step 7

Sinatra step 8

What is Git? Why is it useful?

Answer:

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.

Factors that make Git useful:

· Strong support to the liner development

· Distributed development

· Compatibility with existing systems/protocols

· Efficient handling of large projects

· Toolkit-based design

· Periodic explicit object packing

· Garbage accumulates unless collected

· Pluggable merge strategies

Reference:

Git(1) manul page(n.d) Retrieved on 14th April 2010, from http://www.kernel.org/pub/software/scm/git/docs/


Describe how Sinatra relates to Ruby on Rails.

Answer:

Sinatra is not a MVC (Model view controller) based framework for creating websites, its very different than Ruby on Rails. If user wants helper functions that can help to create forms, connect the database or any other many functions that Rails can provide, user will not find it. Sinatra is a very simple and very powerful for the Domain Specific Language (DSL) for defining HTTP actions, and then sees the application’s response. However, Rails requires a different separate routes file to define the web application and to see respond to requests, which connect to the suitable controllers/models. Sinatra identify the simple thing that could work when user declare a new “get” or “post” action, Sinatra will add the route automatically and will start responding to requests that match.

Reference:

Rob Evans (24th October 2007) Sinatra, a Ruby web framework, and Why it Matters, Retrieved on 14th April 2010, from

http://deadprogrammersociety.blogspot.com/2007/10/sinatra-ruby-web-framework-and-why-it.html


C. What is Heroku? What is a Heroku “Dyno”? Describe how Heroku makes deployment and scaling of Ruby web applications easy.

if anyone needs to deploy and run application using Git, one should use heroku because heroku is an ruby platform. heroku "Dyno" are single process which run our ruby on the heroku server. heroku Dyno are based on THIN. THIN are ruby we servers which is composed of 3 best ruby libraries in web history.


  • The Mongrel parser, the root of Mongrel speed and security
  • Event Machine, a network I/O library with extremely high scalability, performance and stability
  • Rack, a minimal interface between webservers and Ruby frameworks
Heroku Platform Architecture consists of the following 3 features:
Multi-Tenant: This means a single instance of application on the server serves various or multiple number of clients. We don’t need our own server as well.
Fully managed: There is a huge number of different servers within Heroku which are fully managed by Heroku themselves giving as a clean and easy interface to deploy our code.
Curation: Each layers of Heroku architecture is maintained and updated hence providing us a better and latest platform.
These features make heroku
makes deployment and scaling of Ruby web applications easy.

D. Inspect the Hello World application “app.rb” file. Answer these questions:
What is the purpose of the “/param/:name” method?
Basically /param/:name is an url address .
Like http://warm-sunset-72.heroku.com/param/abhishek
here :name = abhishek
so :name is a parameter that we pass through url.


What happens when the user navigates to the /home page?

Wen the user navigates to /home
(http://warm-sunset-72.heroku.com/home)
the browser redirects the page to the index or main page of the application, which is
http://warm-sunset-72.heroku.com/
in the application we have deployed in heroku.

What is the purpose of the :set directive?

set is used to store a piece of information which can be used in our routes.

Reference:

About Git. from
http://git-scm.com/about
Heroku.from
http://heroku.com/how/architecture

Sinatra book. from http://sinatra-book.gittr.com/

exercise 1

1. Visit http://yahoo.com and http://facebook.com as examples of online communities.

a. What is meant by an online community and how is it important for e-commerce?

Answer:

The online community mean the interactive tools or communication systems such as email, chat and other communication systems that help the web user to communicate each other. This short of communities help to the sellers to make business related product market. For the customer they can make offer and also can give their own requirements or design for the product which matching to them. A virtual community is the technical name of the online community. The most important benefit about the online community in e-commerce is feedback about the product which posted by customer who buy the product from seller and all that feedback can seen by anyone that how many people is really interested for this particular product from particular seller. As for example, on e-bay seller and buyer both can give feedback each other.

b. Is there a common thread and a local community sense in action?

Answer:

www.apple.com , www.apple.co.au and www.apple.co.in
Here, common thread we can find on the website is same product specification and also the customer service like warranty and cooling off time for the product. The difference is the availability and difference in price and time for local shipment and also the TAX of government for the product. As for example, on US website ipad is available online and for Australia and India still customers need to wait for the product to buy online.

Reference:

Brad Hill (6th January 2006) Online Communities and e-Commerce, Retrieved 1st April 2010, from

Kevin jones (8th July 1998) E-commerce Focus: Online Community gives rise to E-commerce, Retrieved 1st April 2010, from

Blanchard, AL & Markus, ML 2004, 'The Experienced "Sense" of a Virtual Community: Characteristics and Processes', The DATA BASE for advances ininformation Systems - Winter 2004, vol. 35, no. 1, pp. 65-79.

Ince, D. (2004), Developing distributed and e-commerce applications, 2nd edn, Harlow, Essex, UK: Addison – Wesley, p.32.

Lewis, S 2008, ‘Using online communities to drive commercial product development’, Conference on Human Factors in Computing Systems: CHI '08 extended abstracts on Human factors in computing systems, Florence, Italy, pp. 2039-2043.

Virtanen, T & Malinen, S 2008, ‘Supporting the Sense of Locality with Online Communities’, MindTrek: Proceedings of the 12th international conference on Entertainment and media in the ubiquitous era 2008, Tampere, Finland, pp. 145-149.

2. Visit the famous online store front at http://www.amazon.com
a. Why has it been a successful site? How does the purchase of a book work?

Answer:
There are many reasons that make Amazon very successful than other websites

• Amazon was establish in 1994 which first website as online bookstore concept about sell the product by housing them all in many different warehouses and distributing product from many associated companies for the online customers.
• Its online one of the biggest shop supplies product most of each and every part of the world.
• The most important successful factor about the Amazon is homogeneous characteristic towards the users. The rich content of the interface of the website like one click ordering and product forms etc.
• Using the very advance technology as a product is also one of the success factor for the Amazon website. As for example, kindle.

Steps of purchase of a book:
• Find the items You want:
For all this user need to use the search option and than select the suitable product that user wants to buy. User will see the all product details and other customer feedback too.
• Add the items into your shopping cart :
Its final selection that user want to add into the shopping list.
• Proceed to Checkout :
After selection of the all product that user want to buy, user have to checkout from the shopping cart and it is first step towards the order form
• Sign in :
User have to sign in for the further process if user not register with Amazon, user have to create new account with information.
• Enter a shipping address :
If user want to send the item to the different address than user have to inform the Amazon the delivery address otherwise user will get the items on provided address.
• Choose a shipping method :
It gives option to the user to select the shipping method.
• Provide payment information:
User need to provide the information about the financial detail.
• Review and submit the order :
This is step give all details that users already fill in to the order form and user can see it and place the order.
• Check order status:
User can also make any changes before order shipping to the provided address and check the order status.

b. Are there any secure transactions not involving money?
Answer:

Yes there is very secure transactions not involving money and it is Amazon membership and its use the SSL (Secure Socket Layer) which is able to give secure transaction online.

On Amazon each and every user need to open homogenous account that help to make secure transactions not involving money. Amazon use the SSL (Secure Socket Layer) encryption method which is capable to give safe and secure money transaction online.

Reference:

Are international sales or purchases allowed?(n.d), Retrieved on 1st April 2010, from

Vallik(14th January 2008) What makes Amazon so successful?, Retrieved on 1st April 2010,from http://www.webdesignideas.org/2008/01/14/what-makes-amazon-so-successful/

Placing your first order (n.d) Retrieved on 1st April 2010, from http://www.amazon.com/gp/help/customer/display.html/ref=hp_navbox_lnor_new?nodeId=524700

Dan Bricklin (n.d) What is been successful in B2C, Retrieved on 1st April 2010, from

Peter Sutro (February 26th, 2009) How does the kindle 2 work?, Retrieved on 1st April 2010, from http://ezinearticles.com/?How-Does-the-Kindle-2-Work?&id=2003315

3. What happens with new models emerging such as price comparison sites?

Answer:

The main purpose of the price comparison sites is to make shopping easy and give range of choice to the customer according to their product requirement. The price comparison sites are not mostly related to advertisement of any particular product but it give the different products features and price so, customer get the best product. The one example price comparison site is http://www.nextag.com/.

Reference:

Nextag comparison shopping: Home, Retrieved 1st April 2010, from http://www.nextag.com/

exercise 2



Describe the steps involved with the Rapid Evolutionary Prototyping Approach

as it applies to developing a Web application. How is it related to agile development?

Answer:

The approach that easy adaptable and extensible working model of a suggested system, not essential representative of the complete system, which provides users of the application with a physical representation of main parts of the system before implementation is called Evolutionary Rapid Prototype Approach.

Here ten steps mention which describe the Rapid Evolutionary Prototyping Approach according to (Phillips, 1998)


(1) Developers begin with a plan which should include an initial specification and a management strategy.

(2) From the plan derived a rapid analysis which serves to identify the first increment to be prototyped. Ideally this will be the highest-risk element of the system, which allows developers to get the most initial leverage from the user’s interaction with the prototype.

(3) Database creation for developing a database of simulated user data for the system to operate on

(4) Menus or interaction modes are developed to allow the user to interact with the data

(5) Attach the databases, menus, and interaction modes to some initial functionality.

(6) Initial prototype is completed and can be put into iteratively development cycle which involves user feedback and a repeat of steps (2) through (5)

(7) User accepted prototype is completed

(8) Design can be derived from the prototype for the finished system

(9) The final design is tuned to provide the required level of performance and become a final system

(10) System goes into operation and maintenance phase

Agile development related to Rapid Prototype Approach using minimum features that can very simple and very clear to understand to everyone. For step up and changes in features are always open in every development cycle by accepting all updates on time of different user’s requirements. This approach is really evolutionary approach to the Agile software development because it help to minimize the cost and time and meets the need of stakeholders.


References:

Connell, J.L. & Shafer, L. 1989. Structured Rapid Prototyping: An Evolutioary Approach to Software Development. Yourdon Press Computing Series.

Phillips, Greg, (1998) Evolutionary Rapid Prototyping. Retrieved 2nd April 2010, from http://phillips.rmc.ca/courses/493-1998/lectures/rapid-prototyping/rapid-prototyping.html

Image Retrieved 2nd April 2010, from:

http://www.stsc.hill.af.mil/crosstalk/1994/11/Automate_fig2.gif