INB347 – web 2.0 application

Archive for the ‘Web 2.0’ Category

Lightweight models & cost-effectively scalability: Ruby On Rails


ror

Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Yukihiro “Matz” Matsumoto created Ruby, an object-oriented language Matsumoto hoped would focus on the needs of humans to the programmers instead of the needs of machines.

Ruby has been regarded as a Language that allows “Rapid Development and Prototypes”, which is important for developers as the lesser time we spent bashing the keyboard, the more time we have to design and work on those cool features.

The mature language is supported by a number of easy-to-use tools, including Gems, which lets Ruby developers speedily, update their Ruby installations and integrate add-ons with simple text-based commands. And then there’s Rails.

‘Rails’ is a Ruby-based Web development framework that tailor-built for productivity. The emphasis of ‘Rails’ is on convention. A Rails app is largely preconfigured to as long as you stick to the required directory structure and file-naming conventions and it handles a lot of the behind-the-scenes tedium for you.

For instance, building a web-fronted database app in Rails takes about ten minutes. ‘Rails’ automatically generates the interfaces necessary for adding, editing, viewing and deleting database entries. Even though the default interfaces are not appealing but you can quickly customize things to suit your exact needs. In about an hour, you can put together a basic database-driven app for a project you are tracking. The advantage with Rails is that you don’t have to suck a lot of time from other parts of your time to get things rolling. You will be just hanging your ideas off the pre-built framework.

Rails as it can generate basic base codes for developers looking to create web application, which developers benefit from the “Structured Code and Neat Markup” for developing their web application based on MVC architecture. In addition, “Interchangeable Databases” and “Database Schema Control” will save developers by allowing them to start developing their application using sqlite, which is the default database available right after creating the Rails web application, so developers could work on features that require database without having to setup database.

There are dozens of commercial sites that involve Rails and Ruby and Rails book sales are apparently going through the roof.

Advertisements

Leveraging the long tail: DoubleClick


Introduction

The Internet held out the undertaking of discovering new markets and monetizing repositories of unused items. The most interesting topic on the Internet is “long tail“. The Long Tail was theoretical to support sellers of less popular items earn significant profit by selling small volumes of hard to find items to many customers. In my opinion, it creates a competing for the business. It also makes perfect sense that the Long Tail would take over the Information Technology services. Leverage customer-self service and algorithmic data management to reach out to the entire web, to the edges and not just the center, to the long tail and not just the head. Not surprisingly, other web 2.0 success stories demonstrate this same behavior. eBay enables occasional transactions of only a few dollars between single individuals, acting as an automated intermediary.

DoubleClick

DoubleClick was founded in 1996. It develops and provides Internet ad serving services. Its clients include agencies, marketers (Universal McCann Interactive, AKQA etc.) and publishers who serve customers like MicrosoftGeneral MotorsCoca-ColaMotorolaL’OréalPalm, Inc.Visa USA, NikeCarlsberg among others.

DoubleClick, harness software as a service, has a core competency in data management, and long before web services even had a name, they are the pioneer in web services. However, DoubleClick was eventually limited by its business model. It bought into the ’90s notion that the web was about publishing, not participation; that advertisers, not consumers, ought to call the shots; that size mattered, and that the internet was increasingly being dominated by the top websites as measured by MediaMetrix and other web ad scoring companies.

As a result, DoubleClick boast “over 2000 successful implementations” of its software. Yahoo! Search Marketing (formerly Overture) and Google AdSense, by contrast, already serve hundreds of thousands of advertisers apiece. Overture and Google’s success came from an indulgent of what Chris Anderson refers to as “the long tail,” the collective power of the small sites that make up the bulk of the web’s content. DoubleClick’s offerings require a formal sales contract, limiting their market to the few thousand largest websites. Overture and Google figured out how to enable ad placement on virtually any web page. Moreover, they eschewed publisher/ad-agency friendly advertising formats such as banner ads and pop-ups in favor of minimally intrusive, context-sensitive, consumer-friendly text advertising.

Perpetual Beta: GMAIL


Introduction

Tim O’Reilly mentioned Web 2.0 and perpetual beta referring to classic software release cycle is becoming too sluggish and self-focused for present company. Company must by no means stop to enhance their applications and services with aid from the community.

Software is not a product but a service and therefore company should improve their services constantly and new functionalities should be release every few weeks. A service that becomes outdated in the long run would not be welcome.

This gives a big competitive advantages to web application in which users do not have to download the new version to get the new functionality as it’s always available. Company would not have to maintain backward compatibility so no one which never run an obsolete version. In turn, users are more involved in development and new feature to be added will be suggested.  Company should develop new features often and select those that have potential to be successful with regards to the community feedbacks. Both, Users and company can reach the service from anywhere.

However, “beta” seems to have misled some company given that the impression that they are allowed to build substandard web application services. There’s a big difference between releasing a beta service built with components and releasing beta architecture. The architecture of a service can be in Perpetual Beta, because users can provide important feedbacks and feature requests, and company should add and remove tools and services depending on the feedback and their interests. The Perpetual Beta is the way small puzzles piece up together, not the contrary.

 GMAIL Beta


Five years after its release, Gmail is still a beta application. Gmail continues to add significant features, but most of the interesting ideas are now in Gmail Labs: tasks, offline Gmail, sending SMS or adding iGoogle gadgets.

It makes sense to add experimental features in the Labs section and remove the “beta” label from Gmail’s logo. Felipe Zamorano, a reader of this blog, noticed that the Gmail logos created for some of the themes have two versions: one that includes “beta” and another one without “beta”.

Google has recently launched a Labs section for APIs and started to add deprecation policies for the APIs that graduated from Labs. “For these graduates, we’re increasing our commitment with published deprecation policies and other critical support services. The Visualization API terms, Contacts Data API terms, and Picasa Web Albums Data API terms include good examples of transparent deprecation policies. They state that we’ll support each version for at least 3 years from when it’s deprecated or a newer version is introduced.”

Maybe it’s time to show the same commitment for popular applications like Gmail or Google Calendar and drop the “beta” label.

Below is the introduction video of current gmail that is out of beta.

References:

http://oreilly.com/catalog/web2report/chapter/web20_report_excerpt.pdf

http://googlesystem.blogspot.com/2009/03/will-gmail-come-out-of-beta.html

Software above the level of a single device: Instagram


Introduction

Every web application is software above the level of a single device. At minimum, these applications use a client on a local computer and one or more server computers. In the case of applications like youtube, the server end may consist of hundreds of thousands of machines, and, of course, the video held on those servers is gathered from literally hundreds of millions of other users. So clearly, this is software above the level of a single device.  Amid technologies that is always improving and creeping into many new platforms for the convenience of the users resulting in software developers to innovate and expand their services or software technologies across multiple platforms. This invoked a new kind of Internet-oriented operating system characterized by “software that runs above the level of a single device.” Tim O’Reilly mentioned and often used it to help explain what he meant by Web 2.0. An area which has become quite popular is photo sharing via different platforms.

 Instagram, is a social network for photo sharing. The free, iPhone app garnered 100,000 registered users within the first week and currently has over 2 million registered users. On average, about 300,000 photos are uploaded each day. 

So, why the popularity?

Instagram allows users to easily take a snapshot from their iPhone, apply a stylish filter, and then upload to various social networks (Twitter, Facebook, Flickr and Foursquare). Once the photos have been posted, other users can “like” or comment on photos, which increases their popularity. Aside from “liking” and commenting on photos, users can find friends or like-minded individuals to follow based on keywords, hashtags and a simple search function.

Hashtags, which work much like the ones implemented on Twitter, allow users to filter their photos based on specific keywords. In addition to filtering users’ photos, hashtags contain a corresponding RSS feed, which allows web users to view all the photos included in a single hashtag. One such web application that features these corresponding RSS feeds isWebstagram.

At its heart, Instagram is a social network, which makes it an interesting tool for a brand’s marketing campaign. For companies, Instagram offers a quick, easy way to generate and share visual content with existing fans as well as new ones. Here are a few ways brands can utilize Instagram to reach existing as well as new audiences.

                                          

  • Be personal – Maybe your brand attracts outdoor enthusiasts? Create a unique hashtag and give users the opportunity to upload and share photos of their outdoor experiences.
  • Offer a sneak peak – This could be an exclusive look at a new product “teaser” or even a behind the scenes look. Either way, it is a great way to provide exclusive content for your most loyal fans.
  • Host a Contest – Try uploading your own content and encourage fans to create a unique caption. The best caption wins.
  • Create a real time album (hashtag) for an event – Is your company heading to a tradeshow soon? Creating a hashtag for the event is a great way for attendees to share their experiences with the event and your brand.

Seeing that companies look to employ Instagram into their campaigns, the important factor is having fun with it and engages with your audience. That is social media.

References:

http://www.blastmedia.com/blog/2011/05/instagram-a-social-media-tool-for-marketers/

http://radar.oreilly.com/archives/2007/11/software-above-the-level-of-a.html

Rich User Experiences – Pivotal Tracker


In today’s highly competitive business climate, organizations need to rethink how they interact with their customers. Competing for dollars and customers can bring out the best in an organization, especially an organization able to imagine effective new ways to communicate with its customers.

Background

Rich Internet applications use a distributed-function model rather than the simple thin-client–server model.
Flash, Silverlight and Java enrich user experiences in part due to their reduced reliance on network/server communications. Since 80% of the time is spent to download all the components of the page, simplifying a page’s design is also a way to reduce response time. Another way to tackle this is to reduce HTTP requests by combining all HTTP requests and CSS style sheets.

What is Pivotal Tracker?

Tracker is an easy to use, agile project management tool that brings focused collaboration to software development teams. Built by Pivotal Labs, it embodies proven agile methods, based on experience on over 100 large scale, commercial software projects.

Our work on software project management can be loosely described as agile. We generally meet, either in person or on the phone, to hash out major feature releases, and then software engineer build and deploy. We test the software months or so, we rinse and repeat.

Usually we are not very organized. We follow the agile principles, but we’re not that organized, which is weird for us because I’m usually over-organized, if anything. This lack of organization works well, if we are splitting time between projects, but whenever we have a block of time to devote to software development project.

In the past, we used spreadsheets and tested a couple project management packages, with varying amounts of success.


I have to say I’m impressed so far. I didn’t realize why I liked it so much until I found this post which provides 11 reasons to like Tracker:

  1. It’s free.
  2. It’s hosted.
  3. It’s a joy to use. It’s the iPod of project management software. It’s all drag-and-drop and click and it just works.
  4. It’s multi-user. Your co-founder in North Korea can make changes in Tracker and you will see them instantly. No page reloads.
  5. It’s for lean startups. The building block in Tracker is a story: an increment of customer value that you deliver with minimal waste.
  6. It’s about completing your next most important task—not maintaining mile-long to-do lists, Gantt charts, and lists of bugs.
  7. It’s transparent. Everybody on the team knows what everybody else is working on, their priorities, and their accomplishments.
  8. It’s in sync with reality. It do not take time to keep your requirements and schedule in sync with reality, even if your business priorities change daily.
  9. It do not do much. No, it doesn’t do dependencies and critical paths. It just keeps you focused on delivering value to customers.

It’s powerful. Tracker hides a lot of technology under a simple interface. It’s a serious Javascript-intensive web application that’s in the same league as Gmail and Google Maps.

Bonus reason: Everything is on one page—there’s no need to navigate around (unlike other project management tools). More Gmail, less Hotmail.

It struck me that 11th one is gold for me. Having all the functionality on a single page is a huge time saver for me.

When I get a bug report or encounter a bug in software development, I’m generally in the middle of something else. So, I want to report it, prioritize it and get back to other work. Accomplishing this by emailing software engineer is not ideal, but I did this frequently with the other tools to avoid the longer processes. None of those other tools was terribly time-consuming, but still, it’s a savings I can feel.

The other reasons are pretty solid too, especially 10. Having used “professional” project management apps in the not-so-distant past, I appreciate fewer bells and whistles, e.g. a friend of mine mentioned he had to take a day-long training in Microsoft Project, which pretty much sums up my experience with that monster.

Plus, much of the stuff you need to run a waterfall project isn’t needed in an agile one, especially when you only have two developers and one project/product manager.

Reference:

http://www.pivotaltracker.com/features

Innovation In Assembly: StockTwits


Background

The term open source refers to software whose source code, the medium in which programmers create and modify software, is freely available on the Internet; by contrast, the source code for proprietary commercial software is usually a closely guarded secret.

When the dominating proprietary commercial software lost the battle to open source platform, users find themselves transitioning into a completely new age of cultivating growth and advancement in a new web 2.0 age. Users have attained lots more opportunities in consumer and service manipulability, community and also in trust and business expansions to fulfill both business and consumer needs like never before. This is largely due to open Internet protocols and Application Programming Interface (API).

An Application Programming Interface (API) is a feature of a software application that allows other software to inter-operate with it, automatically invoking its functionality and exchanging data with it.

StockTwits

StockTwits is a community-powered idea and information service for stock investments. Users can eavesdrop on traders and investors, or contribute to the conversation and build their reputation as savvy market wizards. The service takes financial related data and structures it by stock, user, reputation, etc.

Users would be able to engage and share their very best ideas in a community that is continuous real time by downloading the StockTwits to their desktops, or logging on with their Twitter account.

You can add a set of specific stocks, save them to your own portfolio and limit the conversation to only your favorite and trusted sources. You can follow the best on the site, the best only in your areas of interest and in turn share your best actionable ideas. Messages are short and allow a person to read several interesting bits of stock information from various sources at a glance.

It’s important for people to find other traders and investors that help them improve. Using StockTwits it becomes simple to get the full history of “tweets” by any contributor so you have incredible transparency.

The StockTwits API gives you access to much of the data used by the StockTwits platform. Integrate user data or symbol data into your application, build tools to help users use or visualize their own streams, or experiment with new ways of displaying investing ideas.

The StockTwits API attempts to conform to the design principles of Representational State Transfer (REST). Simply change the format extension a request to get results in the format of your choice. The documentation notes which format are available for each method. The API presently supports the following data formats: XML, JSON, and RSS, with some methods only accepting a subset of these formats.

With the RESTful API you can:
• Authentication – Connect your app to any StockTwits user to make authenticated API calls.
• Friendships – Follow or unfollow users within the StockTwits community. – Authentication needed
• Watch Lists – Add, delete, view any user watch list and it’s symbols.
• Blocks – Block or unblock users within the StockTwits Community.
• Streams – View all unauthenticated and authenticated streams. Streams consist of a real-time group of messages filtered.
• all
• commentary
• forex
• futures
• charts
• suggested
• equities
• private_companies
• all_trending
• hourly_trending
• daily_trending
• home
• mentions
• direct
• liked
• user
• friends
• symbol
• symbols
• watch_list
• sector
• Symbols – Retrieve symbol specific data for using on a Symbol specific page.
• links
• hourly_trending
• daily_trending
• followers
• Users – Access user specific data for using on a User specific page.
• Messages – Post messages to StockTwits for viewing in streams.
• Stockships – Follow or unfollow symbols in the StockTwits community.
• Account – Make updates to a users profile and data.

StockTwits helps people interested in markets socialize ideas. Whether you are a short term trader, swing trader or investor, whether you prefer stocks, Forex, options or futures, whether you want to eavesdrop or participate, you will find a wealth of information streaming at your fingertips.

References:
stocktwits (2011) – http://stocktwits.com/streams/all
stocktwits (2011) – http://help.stocktwits.com/customer/portal/articles/4659-What-is-StockTwits-all-about-
stocktwits (2011) – http://stocktwits.com/about
Wikipedia API (2011) – http://en.wikipedia.org/wiki/Api

Data is the next ‘intel inside’ – libre.fm


Major sway in the direction of interactive content and online data collaboration sharing enables us, as the users to build on the mechanism of growth and sustainability. The promptness of our contributions would create further industry opportunities and extend its success in this industry.

Primarily, Web 2.0 applications focus on specialised database driven content, which harnesses the community to build context through data humanization and better results from drawn conclusions of that data. It leads to Tim O’Reilly’s famous coin of the phrase “data is the next intel inside”.

In order to successfully integrate Web 2 and identify unique user needs requires us to capitalise on techniques and services that might integrate with our clients, being able to harness that data for a new outcome ensures continuing product utilisation. Such examples can be found readily available are eBay, Amazon, and Twitter. For businesses, the responsibility is on them to develop a competitive advantage that deals with data strategy just as much as product strategy.

Libre.fm is a music community website that aims to provide Free Software for users. It can store user’s listening habits using information sent to the website’s server from the user’s audio player via scrobbling. In order to enable support for Libre.fm on existing audio players, the website implements Audioscrobbler API. In addition to collecting user uploaded listening data, the site offers streaming of music using the Ogg container, linked from sites Jamendo or The Internet Archive, via an HTML5 audio player that runs directly on the user’s browser.

By utilising the records of users’ listening habits, the website is able to recommend music to users by analysing their individual musical taste. If a user has “Loved” (favourited) would contain shared tags with content a user has not favourited yet. Registered users, who have favourite tracks, will have that content appear in streaming web playlists called “Radio Stations”.

The goal of the project is to encourage artists to release tracks under a free license, and allow users to download or purchase these tracks. Only artists releasing music under free content licenses are promoted by the site. The website will also allow users to communicate among themselves, create groups of common interests and share information on musical events.

The main reasoning behind the foundation of Libre.fm is to provide a service that respects the privacy of its users and their information. As such, Libre.fm does not log users’ IP addresses, allowing users to decide if their listening habits are to be made public or not, and does not claim ownership on users’ data.[

Libre.fm is powered by the free software package, GNU FM, created for the project.

References:
libre fm (2011) – http://libre.fm/
Web 2.0 “data is the next ‘intel inside'” (2011) – http://oreilly.com/pub/a/web2/archive/what-is-web-20.html?page=3
libre fm (2011) – http://en.wikipedia.org/wiki/Libre.fm

%d bloggers like this: