Reflections on impact of Digital on Business, agility in software development, Leadership and Organizational behavior.
Sunday, November 29, 2009
Spoken Web
"The basic principle of Spoken Web lies in creating a system analogous to the World Wide Web using a technology most of us all have in common - speech. Spoken Web helps people create voice sites using a simple telephone, mobile or landline. The user gets a unique phone number which is analogous to a URL and when other users access this voice site they get to hear the content uploaded there. Interestingly, all these voice sites can be interlinked creating a massive network, which can work like the World Wide Web."
As I eagerly await the outcome of Spoken Web implementation for a project in western India (for Gujrat Cooperative Milk Marketing Federation), I can't help but wonder..would this be the killer app that can bridge the digital divide prevalent in the developing countries? Only time will tell..
Saturday, November 28, 2009
Where Cynics Dare
Many a times, while implementing organizational changes, we overlook the role of cynics. To me, having a cynic (who is equally passionate against the change) in the team helps in the following ways:
1. you get advanced warning on possible failure points
2. You get real time results on the change management process (i.e if you can help the cynic understand the merits of the change during the process..then you are on right track)
But then, the key is to create a conducive environment where even the cyncis 'dare' to stand-up for whatever they believe in. I would rather have bunch of highly opinionated people against the change, over having a set of people who don't have an opinion at all.
Sunday, November 8, 2009
Agile Metrics
Off-late i have interacted with some agile teams to get their perception of metrics in agile teams..responses have been varied, starting with outright cynicism to a mature approach towards using just enough metrics to achieve project goals. However one aspect was common through out, there is lack of awareness on various metrics options available for agile teams.
I would encourage project teams to look at all principles behind agile manifesto, and see which are the top three principles the project team values the most and consistently achieves in each iteration. Brainstorm within the team to see if the team can objectively measure progress for each of the three most important principles. Whether team velocity and burn down charts sufficiently describe team progress in each of the practices or is there a need to think about other possible ways of describing project progress?
If you see the need of looking beyond velocity and burn down charts, here are some starting points:
1. Heuristics for agile measurement: Refer to this seminal article on Appropriate agile metrics by Deborah Hartmann and Robin Dymond
2. AgileEVM : Pretty useful if you are in an organization with strong inherent PMI practices. Though AgileEVM is pretty neat in showing consistent business value, I personally am unclear on it's implementation in projects where the scope of work changes over time. Please share your experience if you have applied AgileEVM successfully in projects where the overall project scope increased during the project lifecycle.
Some metrics towards technical excellence
3. Running Tested Features: Ron Jeffries explans RTF. More detailed description
4. Static Code analysis
5. Code Coverage
What metrics do you use for your projects?
Sunday, November 1, 2009
Andriod 2.0 on Motorola Droid
Check out the video on new features:
Motorola launches Droid on November 6th (first smart-phone running Android 2.0), with some nifty features such as:
- inbuilt app for gmail, facebook
- Google navigation
- plug in for flash 10
Would Droid be the iPhone killer?
Sunday, October 25, 2009
JSON vs XML
In order to evaluate both the formats, i set out to build a small component to achieve the following: "Read all names/emails from Domino address book and implement AJAX to optimize name search".
I defined the critical success factors to be a) Performance b) Ease of use.
I am yet to complete the development of my test component, but based on initial findings I bet on JSON to be my preferred mode.
Here is why:
Performance: Given below is the time taken for exposing a domino address book (with over 140,000 entries) (Using Firebug 1.4)
In JSON format:
In XML format:
Clearly domino renders data in JSON format much quicker.
Ease of use: JSON data is as good as any other Javascript object. Hardly any learning curve for using JSON output.
Caveat:
Be aware of possibility of malicious cross-site scripting on JSON output. Need to be judicious before using javascript 'eval()' on JSON output.
JSONView:
For all JSON enthusiasts, JSONView (current version 0.4) is a nice firefox addon to render JSON outout on the browser itself.
Exposing Lotus domino data to external systems
Since Lotus Domino release 4.5, Domino comes with an inbuilt web-server and can respond to http requests with notes data from .nsf file. However this approach tightly binds data with the presentation layer, hence is not really efficient.
Starting Domino release 5.0.2, it adopted XML as the standard data exchange format and provided services (i.e http://server/notes db path/view name?Readviewentries..) to expose domino data in XML format for external systems to read and and present as they like.
With Domino Release 7.0.2, domino extended its services to expose Lotus notes data in JSON format. Without adding any complexity, you can simply specify that output format as JSON from the Readviewentries service. i.e .. extending the example in the previous section, you can get JSON format by calling this url..
http://servername/notes db path/view name?Readviewentries&outputformat=JSON..
In future posts i would evaluate Domino's XML vs JSON services..
Wednesday, September 23, 2009
Enterprise Security 2.0
These days we work with people and organizations that are partners rather than employees. To be effective, they need access to data and intellectual property that the organization owns, but it must often be delivered to an environment that it does not control. Ultimately the only reliable security strategy is to protect the information itself, rather than the network and the IT infrastructure.
In this context I came across the following recommendations from the Jericho forum:
Extending these ideas, checkout Jericho forums' recommended 11 commandments on enterprise security.
In coming days, as we move more towards distributed computing over the cloud, I see the above recommendations gaining in relevance.
Monday, September 14, 2009
Google Fast Flip
On first look, It greatly enhances the UX factor i.e I liked the feeling of being able to flip through pages before reading the details. You automatically get 'Most Viewed' and 'Recent' news items which helps you keep abreast of latest top stories.
Fast Flip also features a search engine and let users share content. Based on their reading choices, users will see suggestions for other articles they might find interesting.
Downside: At this point, Google isn't making any tools available for external developers to integrate Fast Flip with their Web sites and applications.
To me, It's unclear how this product is positioned vis-a-vis google news. Nonetheless, I won't complain as long as I have option to choose.
Sunday, August 30, 2009
Cloud Taxonomy
I was pleasantly surprised to see a Forrester research paper on a 'Proposed Cloud Taxonomy'. Sharing the excerpts to clarify confusion around what 'Cloud' really means.
The article proposes to map all cloud flavors in the following two dimensions:
- Level of Sharing: Extent of sharing infrastructure services or business applications with other companies and tenants
- Business Value: Complexity of business process
As the diagram suggests, most of today's existing software products and services can be positioned along a level-of-sharing axis and a business value axis. The illustration uses a cloud symbol for services that will resonate as cloud services, while a squared box represents other concepts that should not be simply relabeled as cloud services.
Tuesday, August 18, 2009
Mobile application development - made easy!
I chose the easier path out. I set-out to find cross platform tools, which can accelerate native mobile application development. To my surprise there are quite a few tools out there catering to wannabe mobile developers like me.
Here are my favorite picks:
Rhodes –
My Ruby developer friends will love me for sharing this (if not using it already). Developed by Rhomobile – free under GPL v3, easy pricing for commercial usage. The framework is referred to as "Ruby on Rails" of mobile development. It provides MVC framework (Model with – RhoSync & View and Control using Rhodes). Provides deep cross platform support, with application once developed can easily be deployed to iPhone, Blackberry, Windows Mobile, Symbian(! if still stays afloat after Nokia dumps it) and 'of-course' Android.
For iPhone fans: Support for native iPhone features is the best in the breed. Rhodes supports geolocation, camera, contacts, accelerometer, SMS, push, road map and audio / video capture.
One more interesting stuff, use of rhohub for distributed development and easy packaging of applications.
Phonegap –
By far the most widely used cross platform framework in the mobile world. Phonegap is developed by Nitobi – free under MIT license. Developing applications in Phonegap is as simple as it gets. All you need to know is Javascript and HTML. Provides cross platform support, portable to iPhone, Blackberry, and Android.
Provides decent support for native iPhone features such as geolocation, accelerometer and contacts.
Downside: you still may need to learn Objective C for executing server side action. Off-late Apple appstore has rejected some of the Phonegap developed apps under pretext of compatibility issues with future iPhone OS and the use of unsupported 3rd party APIs.
Titanium –
Developed by Appcelerator – free access to beta version – licensing is evolving. Easy to develop application using Javascript and HTML. Provides some sense of cross platform support, with option to port applications to iPhone and Android only.
Titanium provides decent support for native iPhone features such as geolocation, accelerometer, contacts and photos. Better integration with underlying apple libraries enables more standards compliant results.
Corona –
Developed by Ansca – free access to beta version – licensing is evolving. Uses Lua scripting language to develop applications. As of now, Corona enables application development for iPhone only.
Corona provides access to iphone file systems. Support for other native iPhone features such as camera and accelerometer is still under development.
Corona provides built in support for flash, hence has its advantages for development of two dimensional gaming applications.
As I make up my mind to take the plunge (leaning more towards Rhodes), please feel free to share your pick and experience on working with cross platform mobile development tools.
Thursday, August 13, 2009
Google Caffeine
Being cynical (of all tall claims) the way I am, I set-out to verify the developer preview site of google caffeine. My tried and trusted search query for testing out any search engine is my (relatively unique) full-name and I tried the same on both google sites (the one live vs the developer preview site).
And the result.. Google Caffeine works..
At least it's faster and more comprehensive (77400 hits in 0.11 secs with Caffeine vs 77300 hits in 0.17 secs in the current google site)
- on a separate note Bing gives me 355 hits only :-(..but hey! isn't it a decision engine?
Back to caffeine - User Interface is unchanged, ordering of search results is nearly same..I couldn't make out if there is any improvement in accuracy..may be that part is still work in progress!
While I eagerly wait to see Caffeine live in action, I can't help but wonder 'what's next'
Saturday, August 8, 2009
The Meta Cloud - Part II
Cloudkick (a San Jose based start-up) unveiled an open source project named libcloud, which aims at providing a single programming interface for a host of infrastructure clouds such as Amazon EC2, Rackspace, Slicehost and GoGrid. For example, using libcloud you can make a single API call to potentially reboot your server instances across Amazon EC2, EC2-Europe, Slicehost and Rackspace.
In long run, the plan is to extend these Python based APIs to cover more and more infrastructure clouds such as Linode, Flexiscale and the open source Eucalyptus. If things go as planned, this concept can potentially enable partial interoperability, there by breaking the biggest entry barriers for enterprise adoption of clouds.
For those of you interested in contributing to libcloud project, here is the source code on Github.
Sunday, July 26, 2009
Tuesday, July 14, 2009
Augmented Reality
Welcome to the world of Augmented reality: a field of computer research which deals with the combination of real-world and computer-generated data, where computer graphics objects are blended into real footage in real time.
Though the concept of Augmented reality (AR) has been around since early 90's (term first introduced by Boeing Corp), it's only in recent past we are seeing a surge in interest for AR. In mobile computing and gaming software, AR is finally realizing a viable business model.
Austrian Company Mobilizy launched Wikitude.me in late 2008. Wikitude.me running on Andriod platform, provides information on 800,000 points of interest around the world on real time.
Earlier this month SPRXmobile, a dutch telecom company launched an Android application named 'Layer', which is being termed as the first AR browser. People in Amsterdam who download 'Layar' on their cellphones can look through the camera and see information about nearby restaurants, A.T.M.’s, and available jobs displayed in front of buildings that house them. This information is provided by companies like Hyves, the Dutch social networking site, and ING, the financial services company. The businesses pay a fee to SPRXmobile for publishing their data.
See the video below on Layers.
Epilogue:
AR adoption is likely to increase in near future. I think what is key to success of AR adoption is the data quality and completeness. Big players like Nokia (owns Navteq - provider of map data and content)or Google can leverage this technology to bring in more and more value added services.
Monday, July 13, 2009
Open Cloud Manifesto
The manifesto outlines the following six principles
1.Cloud providers must work together to ensure that the challenges to cloud adoption (security, integration, portability, interoperability, governance/management,(metering/monitoring) are addressed through open collaboration and the appropriate use of standards
2.Cloud providers must not use their market position to lock customers into their particular platforms and limit their choice of providers
3.Cloud providers must use and adopt existing standards wherever appropriate. The IT industry has invested heavily in existing standards and standards organizations; there is no need to duplicate or reinvent them
4. When new standards (or adjustments to existing standards) are needed, we must be judicious and pragmatic to avoid creating too many standards. We must ensure that standards promote innovation and do not inhibit it
5. Any community effort around the open cloud should be driven by customer needs, not merely the technical needs of cloud providers, and should be tested or verified against real customer requirements
6. Cloud computing standards organizations, advocacy groups, and communities should work together and stay coordinated, making sure that efforts do not conflict or overlap
Reuven Cohen's introductory blog post on Open Cloud
In-spite of Amazon/Google's resistance and Microsoft's frontal attack, Open Cloud manifesto is getting attention. An active user group is already into writing the Open cloud use cases.
My personal take, the might of Microsoft / Google, may be able to kill the initiative, but idea would live on.
Monday, July 6, 2009
Contextual Ads - based off your Social Network Profile
Type 1: Context Ad based off of opt-in Twitter profile.
Above Ad: Enter your Twitter name to see a product recommendation
Type 2: Contextual Ad based off of Facebook profile.
“Meet the VWs” Facebook app asks users to opt in to analyze their profile and then recommends VW products based off simple profile info.
Looks to me as the next generation of online advertising. What do you think?
Tuesday, June 30, 2009
May the force be with you..
Thursday, June 25, 2009
Alternate iPhone native application development platform
Wednesday, June 17, 2009
Opera unite: Reinventing the Web
This new technology essentially turns every computer running the Opera browser into a full fledged web server. You can use Opera unite to share documents, music, photos, videos or use it to run websites or even setup chat rooms without needing any third party software.
As per the concept, i think it's noble, a bright idea and has potential to change the way we work. As per Lawrence Eng (a product analyst in Opera software)..."This technology is a radical first step towards addressing what I call “the Internet’s unfulfilled promise”, which is about our ability to connect with each other and participate meaningfully online—on our own terms, and without losing control of our data"
So far so good, but does it work?? I checked it out.
I downloaded and setup two services to explore those better.
FileSharing: - Pretty interesting, you can share files from your file system, directly with all netizens. You can specify security rules as well.
Fridge:- lets you put notes, stickies on your fridge. What's more, you can share your fridge will all, so that others can see your notes and put more notes also (if you permit). But this service was not very reliable. not sure if it works for you, but you can see my notes at http://office.lalatendu.operaunite.com/fridge/
My verdict. Concept: 8/10, Implementation 5/10 (see more idepth analysis on why Opera unite doesn't deliver what it promises to : http://factoryjoe.com/blog/2009/06/16/thoughts-on-opera-unite/)
Nonetheless, recommended for all.
Monday, May 25, 2009
Web 2.0 and Collaborative governance
The site lists all proposed "shovel-ready" projects, where the Obama administration is planning to invest the stimulus money.
OKay...What's new??
It let's people (not just administrators, contractors..but just about anybody who cares) to rate these proposed projects.
Simple, yet effective. Citizens with their knowledge on the local environment, rate these projects on it's viability. Provide comments on it's priority, suggest improvements. In turn, this gives an 'on the ground' perspective to the policy makers sitting in the capitol hill.
A number of critical attributes of such 'collaborative governance' stand out, such as
- Brings in transparency to decision making process involving public spending
- Makes authorities accountable for decisions made
- Harnesses collective intelligence
- Inclusive approach in policy making brings in a positive energy
I wonder if we can extend similar web 2.0 features to bring more transparency in Corporate Governance. In the current economic environment, where the purse strings are tighter than ever, can we go for an inclusive approach in determining where to invest the money on? Can we use this approach in prioritizing projects we pick for execution?
Would like to know what you think...
Sunday, May 17, 2009
97 things every software architect should know
1. Simplicity before generality, use before reuse :- Couldn't have agreed more. Having been a developer myself, I have seen developers often resorting to speculative design, under the guise of re-usability
2. Seek value in requested capabilities :- With apt examples the author, describes, how the role of a technical architect should be to help sponsor understand what they need. Ties back well to the agile manifesto
3. Pattern Pathology :- At times we assume design patterns to be the solution to all complex business problems. We enforce certain design patterns in project without checking if there are any simpler/ better solution available. The Author describes this symptom as 'Pattern Pathology' and makes a Strong case against it
Recommended reading for all..would like to know what are your picks..
Monday, April 6, 2009
My picks from Web 2.0 Expo - San Francisco (03/31 ~ 04/03)
Focus was to present ideas on how to leverage web as an platform, introduce lightweight tools, improve user experience, help organizations to maximize resources and streamline productivity.
There are a number of interesting discussions, given below are my personal picks..
- Web 2.0 - Five Years on - by Tim O'Reilly (O'Reilly Media)
- The Year of Mobile Computer - by Anssi Vanjoki (Nokia)
- Building your First Android experience - by Tony Hillerson
http://assets.en.oreilly.com/1/event/22/Building%20Your%20First%20Android%20Experience%20Presentation.pdf
- Designing Social interfaces: Principles best practices and patterns for designing social web - by Erin Malone (Tangible UX), Christian Crumlish (Yahoo!)
- Effective Twitter for Communication and Product integration - by Sarah Milstein (20Slides.com)
http://assets.en.oreilly.com/1/event/22/Effective%20Twitter%20for%20Communication%20_%20Product%20Integration%20Presentation.ppt
- Future of Mobile: Native App vs Mobile Web vs Hybrid App. - by Jason Grigsby (Cloud Four)
Sunday, March 29, 2009
Semantic Web
The more I tried figuring it out, my understanding got fuzzier in the the myriad complexities of Ontology's, RDFs, OWLs and SPARQLs.. that is untill I came across this nice introduction on youtube.
Recommended Introduction on Semantic web for all those uninitiated, like me..
Welcome to the world of Semantics..
Saturday, March 14, 2009
Linked Data - new paradigm of Information Management
I heard Sir Tim Berners Lee, outlining the concept of Linked Data, and was greatly moved by it. Can Semantic web bring about the next revolution in the way we see, perceive and interpret data? Let's find out..
Try out the following steps.
1. Check out the Ontology viewer on Yago (a semantic knowledge base developed by Max-Plank Institute, Saarbrucken). NOTE - This would require Java applet enabled on your viewer
2. You should see an entity 'India' and it's relationships with other entities.
3. Click on other entities and browse through the semantic web (of course limited to the 2 million entities that Yago has put up so far)..
Hope this primer gets you initiated on Semantic web..more to follow on future posts.
Sunday, March 1, 2009
10 habits of highly effective IT professionals
- Openly share knowledge
- Coach Others
- Learn by reviewing
- Focus on strengths and strive to avoid weaknesses
- Remember that "everybody is a resource"
- Effectively deliver value
- Delegate effectively
- Escalate at the right time
- Actively participate in a value chain
- Create the right work-life balance
My take - it's a nice refresher of habits we know but at times ignore. Good news it's available for free download at SimonStapleton.com after a quick registration.
Recommended reading.
The Technical debt
Watch Ward Cunningham reflecting on the history and common misunderstanding of the 'debt metaphor', as he presents the case for continuous refactoring.
Tuesday, February 24, 2009
The Meta-Cloud
There are still concerns on the data security, cloud availability (more so after the GFail episode). There are question marks on near infinite storage space claim and the need for maintaining redundant sites for fail over. More so, not all enterprises will be willing to put all their data with a single cloud vendor.. So where do we go from here?
In comes the concept of 'Meta-Cloud'. How about having a service which let's enterprises 'pool infrastructure resources from multiple clouds' - giving you near infinite storage space? How about having a portability layer, which can become a neutral cloud management ? How about having an option to move your data from one cloud to another..seamlessly - ensuring that your infrastructure is available always?
Sounds interesting? keep a watch on the following companies as we will hear more from them in near future
- Elastra
- RightScale
Welcome to the fourth dimension of the cloud.
Monday, February 23, 2009
10 Cloud Computing Predictions
http://www.informationweek.com/shared/printableArticle.jhtml;jsessionid=5NF45EUOCF3EUQSNDLPCKH0CJUNN2JVN?articleID=213000074&_requestid=72451
Interesting read!
Wednesday, February 18, 2009
The 'Azure' Cloud
Thursday, February 5, 2009
Ambassadors and Boundary Spanners
Tuesday, February 3, 2009
Social Proprioception
Sunday, January 25, 2009
Three reasons to bet on 'Android'
The humongous success of ‘iPhone’ has done enough to redefine the utility of ‘Smartphones’. While enterprise and consumers alike are betting big on future of mobile computing, it’s natural to expect fierce competition in the mobile software platform space. While veterans like Palm OS, Windows Mobile, Symbian and Blackberry have already cornered a good deal of the mobile software market, the new generation platforms such as Android, iPhone (Cocoa), Brew and host of other Linux based platforms are beginning to challenge the old order. As enterprises moving towards mobile application development, the big question remains, which platform to bet on..
1. Open Handset
2. Technical advantages – Open source, programming Java on Eclipse plugin (iPhone needs Objective C!!! on XCode IDE), can be developed on win/mac/Linux, runs natively (Blackberry needs special JVM). Along with the OS, you get host of other mobile applications such as an email client, SMS program, calendar and map applications..as bonus!
3. Positioning of Android – Shrewd marketing strategists as they are, Google is positioning Android in two parallel markets. With it’s leverage in OHA, there is a constant push for Android adoption by big players in both mobile handset manufacturing as well as mobile Operators. At the same time, as open source platform, it’s targeting consumer ‘first’. Eventually, when Android phones come to enterprise, it would come as consumer-purchased rather than enterprise-issued. On a related note, Google might extend Android to be a desktop OS..if and when such an event happens, the possibilities of cross platform application development would be huge..