With ample support from of IBM, I got an opportunity to participate in the limited beta release of Lotus Traveler (what is it?) for Android client. Here are the steps to install Lotus Traveler client on an android device.
All Ruby developers interested in Android development, check this out
Android provides the following options for storing application data:
This is a follow-up to my earlier post.
When asked "What do story points relate to?"..here is how the readers responded.
![]() |
| Result of the poll conducted on my earlier blog post |
Good to see effort from Google towards bringing consistency in Android UI design. It was long over due.
A must watch for all android developers.
Please share if there are any other good resources on Android UI design.
For quite some time now I have been working on developing a "native mobile application" on Android platform. Finally I have mustered the courage to publish the source code as an open source project.
Details:
Name of the Project: SMS Post
Source Code: https://code.google.com/p/smspost/
High-level Functional Requirements: Reads SMS from any android device and posts the content to a predefined website
License: GNU GPL v3
In coming days, I would share my learning from the project.
Please leave a comment, if you would like to contribute to the project.
All agile teams use "Story points" for sprint/release/product planning. However, I still notice confusion around what does the unit 'Story point' represent.
To that effect, request you to participate in the below poll and share your subjective feedback via comments.
I would compile the findings and share my thoughts in two weeks time.
With ample help from my colleagues Basav, Jayendra and Dipen, I compiled my first study on role of Smartphone in enterprise IT. Check out the first draft:
few short articles for weekend reading...
A while ago, I had read the book "In Search of Excellence" by Thomas J Peters and Robert H Waterman. One particular quote from this book had left an indelible impression on my understanding of Leadership. Sharing the same below..
"An effective leader must be the master of two ends of the spectrum: ideas at the highest level of abstraction and actions at the most mundane levels of details"
As professionals move up in the corporate ladder, I observe they becoming less and less Hands-On. Decisions made without proper understanding of ground realities or without enough attention to details almost always prove to be wrong. Hence it's imperative for professionals to keep themselves abreast of the latest happenings in their core business area.
For those who are interested, the book describes following 8 attributes of innovative organizations
Just finished reading "Good to Great" by Jim Collins.
I quite enjoyed reflecting/debating (with self) on the ideas put forth by the author. In the process, got moved by the following perspectives/Quotes
The book helped me putting leadership and management in right perspective. Recommended for all.
Sunday afternoons are usually my preferred time to catch-up on my Youtube subscriptions. I put that to good use today, by checking out Google I/O - 2010.
Vic Gundotra's interpretation of I/O (as in Google I/O) as "Innovation in the Open" pretty much set the tone for the event. As expected Google bundled a slew of new technologies like Open Media Project, GoogleTV, GWT 2.1 + Roo and renewed support for existing technologies like HTML5 and Google Wave etc. In the process Vic Gundotra and team took every opportunity to make subtle innuendos at apple's perceived "closed-technology" stack, skillfully showed solidarity with troubled tech players like Adobe and Opera and lined-up an impressive panel of venerable CEOs for support of GoogleTV.
To me, the launch of Android 2.2 was the key announcement. Here are the salient features of Android 2.2:
- New JIT compiler to the Dalvic VM - resulting in 3X speed
- Tethering
- New APIs - Cloud-to-device messaging, data backup
- Updated web browser - with V8 engine, HTML5 support, Support for Flash 10.1 and access to more and more native apis
- 20 new enterprise oriented features, integration with MS Exchange server
- Updates to AppStore : Installing apps directly on SD Card, AppStore accessible from PC
- AdSense for Mobile Apps
My take, Google continues to maintain it's leadership position to define the future of the Web.
Some may argue that Google has lost focus by trying to attempt too many things at the same time. But to me there is always a method to the madness. Having already attained absolute control of online advertising, Google is lining up products aimed at the way people will consume the web in future i.e Mobile (android), entertainment (GoogleTV, YouTube) and traditional PC based access (with Google Wave, Google App Engine) etc. Many of these technologies are bound to fade into the oblivion, but I am sure at least one of these technologies will stand the test of time and that would be a Game Changer.
Hail Google!
Android supports multiple units of measurement (such as Pixels, inches, millimeters, points etc). However the following two units of measurement are critical for a good design:
- Density-independent Pixels (dp) - an abstract unit that is based on the physical density of the screen. These units are relative to a 160 dpi screen, so one dp is one pixel on a 160 dpi screen. The ratio of dp-to-pixel will change with the screen density, but not necessarily in direct proportion.
- Scale-independent Pixels (sp) - this is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and user's preference.
As a best practice, never use anything but sp or dp unless you absolutely have to. Using sp/dp will make your Android applications compatible with multiple screen densities and resolutions.
Google I/O 2010 is coming to San Francisco on May 19-20 2010.
Both the keynote talks will be streamed live on GoogleDeveloper Channel on Youtube.
Grapevine is abuzz over potential release of Android 2.2 (Code name Froyo) during the I/O. Among other things there is talk of GoogleTV as well. We will wait and see.
Here is the complete agenda.
Rules of Thumb (by Alan M. Webber) was my cerebral diet for the weekend. The book outlines 52 practical advices on how to win at business without losing your self. Alan's approach of putting his points across by relating to past experiences is easy to read and easier to connect.
Here are rules, I could relate easily:
#3 - Ask the last question first
#5 - Change is a math formula. Change happens when 'Cost of maintaining Status Quo is greater than the Risk of Change'
#10 - A good question beats a good answer. Asking questions can be dangerous; Not asking them can be fatal
#12 - The difference between a crisis and an opportunity is when you learn about it
#17 - Entrepreneurs choose serendipity over efficiency
#29 - Words matter
#30 - The likeliest sources of great ideas are in the most unlikely places
#32 - Content isn't the king; Context is
#35 - Loyalty is a two way street - Arnold "Red" Auerbach - Coach, The Boston Celtics
#41 - If you want to be a real leader; First get real about Leadership
#43 - Don't confuse Credential with Talent. Hire for Attitude; Train for skill
#45 - Failure isn't failing; Failure is failing to try
#51 - Take your work seriously; yourself 'Not so much'
#52 - Stay Alert! There are teachers everywhere
Recommended reading..
During my weekend browsing on twitter, I came across this interesting analogy comparing Apple vs Android to McDonald vs Burger King : http://bit.ly/a8ZSl2
In the article Rob Diana argues
- McDonalds leads innovation and consistency supported by detailed market study in selecting locations of their stores (comparable to apple's product innovation)
- In contrast, Burger King follows a simple yet effective strategy of opening their store near to existing McDonald store and differentiates offering by allowing customers to choose the ingredients of their burger (comparable to Android's strategy of following iPhone with flexible hardware platforms)
Here is my take:
1. apple is undoubtedly the leading innovator in mobile computing. They are maximizing the tight coupling of hardware and software to deliver products that are more often than not prove to be game changer
2. Android on the other hand is fast catching up, but I see following impediments to android's future growth
- lack of control on underlying hardware: OS design is likely to get more and more complex (there-by inducing potential bugs) in future
- As more and more manufacturers (without any differentiating value added services) adopt Android, it's only a logical conclusion that Android platform will be commoditized and cannibalized, their by allowing apple to strengthen it's lead
It's high time that manufacturers like HTC, Motorola, Samsung, take a cue from "Burger King" model of being flexible in giving users what they want (at least in terms of innovation in service delivery, if not on technology)..
In this concluding part, I am sharing the retrospective findings from our new approach towards Performance evaluation in agile teams
Continue:
1. Empower associates to select their own goals (albeit within an organizational framework)
2. Peer evaluation process
Start:
1. Periodic peer evaluations instead of waiting till the end of the evaluation cycle
2. Include more subjective feedback
Stop:
1. None
On hindsight, we realized partial success with the new process we adopted. Further in the process we realized there is a significant opportunity for disparate agile team to share and learn from each other.
This is a follow-up to my earlier post on performance evaluation in agile teams
Traditionally our organization followed a balanced scorecard approach where organizational priorities get cascaded down to each individual in the form of performance goals for each evaluation period. Usually the Goals of the Appraisee is tied to the goals of appraiser. Performance evaluation happens in a bottoms-up manner where performance of each individual is aggregated to the next level (i,e, individual -> project team -> account team -> solution unit etc)
Tailoring done for Self Organizing Agile Teams
While we retained the basic philosophy of Balanced Scorecard, we did a number of tailoring specific to a self organizing agile teams. Following are the salient points:
1. Introduce certain degree of flexibility in selecting your individual goals: While we retained the alignment of individual goals to organizational priorities, we allowed some flexibility for individuals to pick their own goals. We defined a framework around Impact on end customers, Impact on organization and effort towards self development and allowed individuals to pick their own goals and targets around these.
2. Peer Evaluations: While we retained the best practices of bottom up evaluations, we added an additional step of "Peer Evaluation" specific to the agile teams
Peer Evaluation process
As the name suggests, Peer Evaluation process focuses on sharing your own assessment of your performance with your Peers (i.e Project teams) and getting their feedback. While we encouraged team to give constructive feedback on areas of improvement, we deliberately avoided any criticism of performance in this forum (Other mature teams may choose to disagree). At the end of the session, each individual provides a performance ranking of rest of the team and hands it over to the 'Appraiser' or 'functional Manager' as appropriate. Looking at the sensitivity around performance evaluations, we chose to keep this part confidential (again - other team may chose to share these rankings with the team too). The Appraise/Functional manager aggregates these rankings from all member of the team and prepares the performance ranking of the entire team.
This process work in conjunction with the one-to-one performance evaluation discussion where the appraiser provides subjective feedback. At the end of the evaluation cycle, the performance ranking of the team gets rolled-up to the next level.
In the next post, I will share our experience and learning from applying the above approach within our team.
This is a three part blog discussing ways of doing effective performance management in agile teams. In this part, I will try to establish the problem statement. In Part II, we will discuss one approach I am trying out as a pilot in my team. In the concluding part, I will share results from the pilot.
As usual, i would request all netizens to add their valuable feedback on the way.
Problem Statement:
For quite some time, I have been grappling with finding ways to do effective performance evaluations in Agile teams.
In ideal agile organizations we should be assessing the performance of the project teams, instead of assessing performance of individuals. Extending that line of argument, agile teams should also share the realized business value delivered by their project. But that's Utopian.
In real world, enterprise IT invariably is treated as a support function to the business. Instead of sharing business value, enterprise IT is typically run with a predefined budget with a certain number of project teams. Most of the enterprises (like ours) use Forced Ranking as a means to incentivize high performance. Performance of individual employees are ranked relative to each other and the resultant grouping is fitted into the form of a bell curve, there-by separating high performers from average performers and from the rest.
This approach works for many organizations. In order to make forced ranking model work efficiently, pioneers of this model - General Electric Corp, defines following three success criteria for your performance evaluation system:
- have dimensional consistency: Its scales and criteria must be applicable across all employee categories
- be based on objective data: "You just aren't going to be able to find quantitative measures for everything that is important to you. But you can still be objective—you can make decisions that are not colored by your emotions or personal preferences."
- produce rich analytical feedback: Employees value meaningful assessments of their work more than any other performance motivator
So far so good..but things get blurry when it comes to agile teams. Is it possible to set "dimensional consistency" for agile teams? Can there be a single scale for a number of different self organizing agile teams? How objective can you get to derive performance indicators vis-a-vis following agile practices of reducing ceremonies and minimizing waste. Most important, who does performance evaluation in agile teams? A functional manager? Or (in scrum context) the scrum master/ product owner?
So how do we approach performance evaluations (maintaining the essence of force ranking from organizational standpoint) in agile teams? In following post, I would discuss the process we are trying out within my group (comprising of a number of agile teams).
Reference:
For whom the bell curve tolls
Punishing by Rewards
For all first time tablet users:
Before committing to the pricey apple iPad, here is a cheaper option to get familiar with tablets..
FirstView offers $95 tablet, running on android 1.4 (??# - Well..there is a plan to upgrade to latest version of Android!)..comes fully loaded with wi-fi and 3G..
What is Google Buzz?
Why Google Buzz?
Touch Revolution has brought Android to home appliances. At CES Las Vegas, they showcased Nimble NIM1000 module, which allows OEMs to easily embed touch screen android into any home appliances.
Checkout..Android Microwave
Android Laundry:
As we closed on a momentous decade, I wonder what impact the events of the decade will have on our future. In retrospect, I can summarize the decade (borrowing from Warren Buffet: http://tinyurl.com/3pwx7m) as the story of three I's..that of Innovators, Imitators and Idiots.
The decade started with the waning euphoria of new dot-com economy and ended with probably the greatest recession seen since the great depression of 30's. On hindsight the great financial disasters (dot-com bubble or the sub prime crisis) are marked by some great innovations.
Analyzing the dot-com bubble, Innovators in Netscape, AOL, Google, Yahoo and Amazon redefined the way internet was perceived. Traditional heavy-weights like Microsoft, Cisco and Time-Warner realized the potential of the new economy started imitating to a great extent. However things go awry when the idiots arrived, whose avarice undid the very innovation they were trying to use to get rich. Easy money flowing in from IPOs, venture capital funds were spent on massive advertising campaigns without giving any thoughts to the long term commercial viability of the product at hand.
The decade also saw, some of the greatest financial product innovation from the traditional investment banking firms of Wall street. In the process the world economy got intertwined as never before. The world economy grew at a scorching pace in the later half of the decade till..the over indulgence tool over. Early warnings were overlooked and we saw some high-risk transactions on already high leveraged market. When reality caught on..the fall was steeper than anything in recent memory.
Both the above mentioned events have a lasting impact on the ways of doing business. As we look forward to a new decade, I am sure there would still be innovators. There would still be smart imitators who would be willing to cash on the innovations as they happen. However it would be interesting to see what the idiots learnt from the previous decade.
A team of researchers at IBM India have embarked on creating a parallel of the World Wide Web. The research effort is named as Project '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..
I read an interesting post on organizational change management by Biju Bhaskar.. adding my 2c..
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.
I am a firm believer in the age old adage 'You can not improve what you can not measure' (unrelated - here is an interesting antithesis). I believe in the importance of having the right metrics, especially in IT projects aiming to achieve continuous improvements.
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?
Code named as 'Eclair', Android 2.0 has some interesting improvements.
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?
Following up on my previous post, I explored XML vs JSON for exposing Domino data.
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.
As a part of project work, I have been exploring alternate ways of exposing data from a Lotus Domino system.
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..
Traditional information security measures primarily involved securing enterprise network from outsiders using firewalls. However with growing focus on collaboration, evolution of web 2.0 (and cloud computing), we are seeing a paradigm shift in the way enterprises used to operate.
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.
Google launched Fast Flip - A web application that let's users discover and share news articles.
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.
'Cloud', probably is the most over used word in the IT Industry in 2009. Big enterprises to small start-ups alike are rushing in slew of cloud based products to rake in first mover advantage. The usage of the term 'cloud' is getting muddled in the process.
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.
After my fair share of procrastination, I finally succumbed to the charm of mobile application development. However, as the initial enthusiasm subsided, the reality struck..i.e where to start? Should I start learning Objective C?!@# malloc’s and calloc’s are certainly not my forte. Should I brush-up Java? or JavaME? will it work on iphone?
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.
Google unveiled their next-generation search technology, a project code-named Caffeine. As google puts it, "It's the first step in a process that will let us push the envelope on size, indexing speed, accuracy, comprehensiveness and other dimensions".
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'
The Meta Cloud concept (my earlier blogpost introducing Meta cloud) has taken a step closer to reality.
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.
#business:RT@NYT - http://tinyurl.com/nwel29
“The real world is way too boring for many people,” says Mr. Sánchez-Crespoa, project leader at Novarama, a game developer based in Barcelona. “By making the real world a playground for the virtual world, we can make the real world much more interesting.”
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.
Checkout the Open Cloud Manifesto: http://www.opencloudmanifesto.org/
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.
Volkswagen has come-up with a contextualized online advertising campaign that intends to help prospective buyers find the right VW model based on their social profile. Check it out..
As a kid, I was really fascinated with "Star Wars" in general, and the aforesaid lines from Master Yoda in particular. For the uninitiated Yoda is the famous Jedi Master in the 'Star Wars' universe, who is a strong proponent of 'the Force' (a binding, metaphysical and ubiquitous power in Star Wars universe).
Ansca - a start-up company, launched a new iphone native application development platform named 'Corona'. Corona uses a scripting language named 'Lua' (more in line of Javascript/ActionScript).
Yesterday, Opera labs launched 'Opera unite' which claims to 'reinvent the web'. ..and how?
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.
Check out Stimuluswatch.org
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...
While browsing through my daily dose of RSS feeds on Google reader, I came across this interesting website, which talks of "97 Things every software architect should Know". Here are my top three picks (not in any specific order) out of the list of 97 'things' :-
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..
"The Power of Less" - was the theme in the Web 2.0 Expo this time. The theme couldn't have been more apt given that the world is facing it's worst ever financial crisis since the Great Depressions in 1930s.
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!)
My research on Semantic web and possibilities of 'Linked data' continues...
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..
I work in 'Professional Services' Industry. Out here Information is 'vital' and making structural inferences out of disorganized information is 'Money' ($$). In my current organization, we have information stored in multiple data sources such as warehouse, wikis, blogs, document management systems, lotus notes based collaboration systems etc. The key challenge we are facing is how to find information ranked by relevance. How to link data from different sources to make meaningful inferences?
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.
Just completed reading Simon Stapleton's ebook titled '10 habits of highly effective IT professionals'. Here are the habits Simon propounds
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.
In the world of agile development, refactoring of code is an essential practice.
Watch Ward Cunningham reflecting on the history and common misunderstanding of the 'debt metaphor', as he presents the case for continuous refactoring.
There is a buzz around Cloud computing these days. Amazon leads the pack and many start-ups are lapping on to the services offered. However the big question remains, are the enterprises tuning in? Answer is 'Not Yet'.
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.
follow-up to my last post, here are InformationWeeks top 10 predictions on cloud computing.
http://www.informationweek.com/shared/printableArticle.jhtml;jsessionid=5NF45EUOCF3EUQSNDLPCKH0CJUNN2JVN?articleID=213000074&_requestid=72451
Interesting read!
Yet another cloud over the horizon...
WordNet defines Proprioception as " the ability to sense the position, location, orientation and movement of the body and it's parts" - ?????- let's keep this in perspective and talk of something more mundane subject 'microblogging' ...la. 'Twitter'.
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..
Off-late, I have been scouting in Open source community to find tools which can be useful in my organization. Yesterday, my colleague mentioned that his team is looking for an alternative to our enterprise CMS. That encouraged me to focus on CMS this time, just so as to make my efforts worthwhile.
|