Finally….iPhone SDK

Back last year, I have bragged about the iPhone/iTouch SDK. Today, I have downloaded the iPhone SDK (that’s clocked in at 2.10 GIG !!!! ).

I have seen and experienced a lot of Web 2.0 applications that have been re-designed just for the iPhone (or iTouch). Twitter has made its debut with an iPhone version, and so is Google GMail.
Meebo has a iPhone interface that I have used religiously while chatting with my friends lazing on the couch !

Software development for the iPhone seems to get easier by the day. A tutorial by AkitaoRails has shown how easy it is to create Web Applications for Rails.

Software monoliths like IBM has even supported the iPhone openly, as you can read here.

Having read about the power given to developers through the SDK, I have a very enthusiastic feel about the potential of the iPhone in the corporate mobility market. The mobility market thus far only offers good email integration, and minor clunky integration with backend systems such as SAP.

IBM will perhaps spearhead this initiative, and the outcome of developing/integrating Lotus Notes with the iPhone will be interesting to watch!!! It will perhaps be a gauge-ometer for other competitors to assess the potential of the iPhone.

I won’t be waiting though. Being a Web 2.0 technologist, I will be toying around with this technology in the coming months, and see how far I can get with the iPhone.

Perhaps learning Objective-C (yet another language) is the biggest hurdle for me… It looks very similar to C, so should be quite fun !!!

Share/Save/Bookmark

SCRUM - Agile Project Management


I would like to redirect you to a blog post by Jeremy Thomas on SCRUM.

Unlike the traditional waterfall model in project management (where milestones, scopes are set), SCRUM offers a collaborative methodology for the software teams to adapt and manage changes in a AGILE way. With clients getting more demanding each day, this can have a huge impact on requirements and scopes (and ultimately, the lives of those good people hacking away to get the product/solution done). The BEST thing is, this can be changing on a daily basis.

The traditional model of most consulting or SI firms in managing changes are through the submission of “Change Requests”, where Impact Assessments are normally done in order to envisage the Order of Magnitude (or cost, for non-consulting folks) for the CRs. Upon approval, the standard SDLC kicks off. The problem with this model: Agility is severely lacking.

With clients getting ever more demanding, and the market becoming more competitive, the winners are those who can most satisfy the clients. The fall apart comes in, as Jeremy pointed out in his slides, when the communication between the top and bottom of the food chain breaks in managing change. (Developers Vs Project Managers Vs Business Analysts)

Survival of the Fittest no longer holds in such environment, but rather “Survival of the Most Adaptive”. Managing change is imperative, and most importantly, must be done in a Agile way.

A few good outcomes from adapting such methodology:-

  1. Better product, as the functionality are more closely aligned with the demands. No point slaving on a product that has agreed requirements, but no one uses.
  2. More client satisfaction. Clients love consultants who listen.
  3. A collaborative approach means a closer team, and that means improved productivity, and overall satisfaction for the team.

Share/Save/Bookmark

Is Web 2.0 turning into a red ocean ?


A thought recently came to me: Is Web 2.0 turning into a red ocean ?

For those who are unfamiliar with the term, red ocean is a term used in W. Chan Kim and Renée Mauborgne’s hit book “Blue Ocean Strategy” to depict a highly contested market space. It is published and used in Harvard Business School as a reference textbook. Below is a quote description of a red ocean.

In the red oceans, industry boundaries are defined and accepted, and the competitive rules of the game are known. Here companies try to outperform their rivals to grab a greater share of product or service demand. As the market space gets crowded, prospects for profits and growth are reduced. Products become commodities or niche, and cutthroat competition turns the red ocean bloody. Hence, the term red oceans.

The above term pretty much sums up what we see in the industry today, with all the competing products in the marketplace. The link is here.

A Blue Ocean is in contrast to Red Ocean. It represents a uncontested market space. It is untainted by competition, and hence demand is being created rather than fought over. There’s basically no competition as the rules of the games are to be set by the players.

When Web 2.0 was coined, no one really know what it is. Then you started hearing about Facebook, NING, Google Orkut, MySpace. Then you started seeing the social elements being brought out to consumer tools such as social bookmarking, social website discovery/sharing (StumbledUpon). Today, you can see major vendors started “Web-2.0-ing” their applications (Oracle CRM, IBM’s Web 2.0 Domino Suite, etc etc). There are tons of Web 2.0 startups that flow from Silicon Valley in the US and parts of the world, offering often very similar product sets with very little differentiation.

With the spike in the surge of Web 2.0 applications, it’s getting harder and harder to differentiate between products. Most importantly, where is the $$$$$ in a Web 2.0 startup? Will an over-investment/stimulation in mediocre startup create another bubble in the industry? Too much supply with no real demand can be problematic.

What are your thoughts?

Share/Save/Bookmark

Ruby on Rails == Extremely Short Time to Market

I have been involved with an resource management development project (together with 2 of my other colleagues,we spawned the project collectively) in my company lately. Perhaps the most distinct part is that the development team is not made up of hardcore programmers. While coming from a technical education background (computer science, information systems), the majority of them have been in job descriptions that are not very technical in nature (think of your ordinary business analysts or functional specialists).

The project started off with a discussion of using Java/J2EE, and having experienced the richness of RoR, I have set the direction for the team to use Ruby on Rails instead, with the promise of the following:-

  1. Easy to learn (only need to learn one framework)
  2. Faster delivery of product
  3. Agile programming
  4. FUN !

*This is not another J2EE Vs RoR debate.

At the initial development planning, everyone is worried sick that how on earth we are going to be delivering something in a short period of time that we promised to the company. The requirements itself almost sounded like you need to have a few years of development experience (well, in a typicall J2EE world). Here’s the result thus far:-

  1. In week 1 and 2, the team took the time to learn Ruby on Rails from scratch (myself included, having the opportunity to develop a blog and social bookmarking engine before). Some of us doesn’t even have any industry programming experience.
  2. In week 3, things are slowly taking shape. Basic interface with functionality is built in.
  3. In week 4, we have managed to pump out more code and the application is seamingly usable.
  4. In week 5, we demo-ed the prototype, and exceeded the original expectation made with the stakeholders.
While there’s more to be done, the team has had more confidence than before in delivering this. 
The lesson from this is, that with all competing startups out there, marketing similar ideas, the “time to market” is what differentiates most of these startups competing in a seemingly Web 2.0 red ocean. Leveraging a technology like Ruby on Rails may well bridge that gap in the process!
 

Share/Save/Bookmark

Is Web 2.0 turning into a Red Ocean ?

A thought recently came to me: Is Web 2.0 turning into a Red Ocean ??? 

Share/Save/Bookmark

Why RIA is good for you



I have posted about RIAs (Rich Internet Application) in the past, and have actually used one myself in a real life development effort ( I created a issue tracking system using Adobe Flex and Ruby on Rails). 
The topic resurfaced recently in a lunch meeting with Jay Jenkins (Jay, you need a blog so I can do a a href on you), BPM Practice Lead of Renewtek. Jay was describing how his company is currently experimenting and building the next-generation of interfaces for the various vendor platform using Adobe Flex and Air. The description was truly amazing.
Having toyed around with Adobe Flex before, I can see where RIA technologies will bring forward a consumer’s experience of a product. Below are a few benefits that I personally experienced when developing one of the said demo:-
1)  RIA is truly easy to implement
Like the foundation of UI component-based modelling (such as Mozilla’s XUL and JSF component UI), RIA technologies such as Adobe Flex and OpenLazzlo are based on XML. Each XML component has a parent to child relationship. 
The ease of implementation that brings rich result means : Shorter Time to Market for your products.
2) Gone are the clunkiness of Javascript, CSS and HTML
There’s only so much browser rendering can do with HTML, JavaScript and CSS. The core problem of this (and due to the different browser rendering technologies) is that you get unconsistent results across browsers, even with your same code. For instance, the XMLHttpRequest (the foundation of AJAX) is done differently on IE and Mozilla. At best, the animation attempted with such technologies are sub-par. Vector graphics is also super limited (if not possible) using such technologies. 
With RIA, a runtime is normally installed as a plugin to the browser. The byte code compiled (such as Flash’s SWF) are then executed on these runtimes. These runtimes encapsulates all the rendering needs that a browser could not possibly deliver, and hence you have your life-like browser rendering experiences with technologies such as Microsoft SilverLight. 
This translates to your : EASE of USE in your software products. 
3) XML all the way
With XML being used in the internet as a standard these days for exchanging information, many applications have started exposing data in XML to the frontend UI layer. The bug tracker I wrote basically takes in a chunk of the XML threw upon it by the Ruby on Rails backend, and then renders the bug and issue tracking in the frontend in a table format. 
Most RIA technologies such as Adobe Flex even allows object remoting using their Flex Data Services in certain cases. 
What this means to the average developer: Allows flexibility in parsing information from the back-end.
So what does this means to the average user: 
1) Easy to use web application
2) Rich content extending beyond those rendered by HTML, Javascript, CSS
3) Beautiful vector graphics processing (such as Silverlight) enhances your browsing experience
4) Applications that are not clunky
Having said all this, I am a full RIA supporter… now if only Adobe starts making their FDS (Flex Data Service) free,,,or at least more affordable……….

Share/Save/Bookmark

« Previous PageNext Page »