Logo

First Look: Lotus Traveler on Android - Installation

7 days ago | Lalatendu Das: Interpretations of Technorealism

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.

Step #1: Identify the environment:


  • Lotus Traveler for Android requires "Lotus Domino Release  8.5.2 Code Drop 5" or above
  • Download the Lotus Traveler server task from IBM (Run the Lotus Traveler executable and point to the existing Domino server). Once installed, Lotus traveler task runs as any other server tasks (like Http, POP etc) on the domino sever. (Please refer to the screenshot)
  • Unzip the content of the "Lotus Traveler client for Android beta" file into the Domino/data directory of the server
  • Append the content of "VersionInfoExt.txt" into the existing file "VersionInfo.txt"
  • Identify a Android device running Android OS v 2.0.1 or above

Step #2: Access the url "http://<ServerName>/servlet/traveler" using the standard browser from your android device, Provide the login credentials as required. On the landing page, Click on the link 'Select an IBM Lotus Mobile Installer'

You should see Android as one of the available platform Options (Refer to the image on right). Click on the "Android" platform Option.

IBM provides the following two *.apk (android package) files (which you would have placed in Domino\data directory of the server as per step#1)
  • LotusInstall.apk
  • Lotus Traveler.apk
Upon selecting Android platform Option, the LotusInstall.apk file gets downloaded to the android device.

IBM separates out Actual Traveler software from the Installation Package. My guess, you will install "Lotus Installer" app only once and it should in future periodically check for the latest release of "Lotus Traveler" app from the server and download if there is a newer version.

Step #3: Starting the Installation
Running the Lotus Installer program would initiate the download and installation of the Lotus Traveler client.

Before running the Lotus Installer program, verify the Domino Server configuration document. Check the value in Server Document -> Lotus Traveler -> External Server Url. This field should be Non-blank and should point to your domino server. Apparently the Lotus Installer Program picks up the server name from this field and checks for availability of Lotus traveler client in there. As per the latest from IBM, in future releases, this issue will be fixed.

Once the file is downloaded, you would be prompted to initiate the installation. Once installation is complete, you would see the following four icons on your android device (see the picture)

  • Lotus Calendar
  • Lotus Installer
  • Lotus Mail
  • Lotus Traveler

The top three icons are self explanatory. Lotus Traveler icon will be used for checking status and monitoring operations that cross applications.

As I understand there would be another Lotus Traveler icon in the future release named 'Name Lookup'. This application will help users in directory/contact look up.

There you go, you have Lotus Traveler client on your android device.
In future posts, I will share my findings on usability/ functionality aspects of the Traveler email client.


Further Reference:
FAQ: Clarifications on Android beta release - Ed Brill's blog
Link to participate in the beta release of Lotus Traveler for Android

Ruby on Android

8 days ago | Lalatendu Das: Interpretations of Technorealism

All Ruby developers interested in Android development, check this out

Android musings: Options for storing persistent data

19 days ago | Lalatendu Das: Interpretations of Technorealism

Android provides the following options for storing application data:

  • Preferences: Store primitive data in key value pairs (a detailed explanation below)
  • SQLite database: Preferred approach if your application needs relational data. Further, android SDK provides sqlite3 tool, which enables you to manage the SQLite database from a remote shell
  • Internal Storage: Save data in a file directly to device's internal storage. By default this data is private to the application only. When the user uninstalls the specific application, these files are removed
  • External Storage: Save data in a file into a removable media (such as an SD card) or an internal (non-removable storage). NOTE: There is no security enforced on files written to external storage. All applications can read and write to such files. Moreover users can manually (or accidentally) remove such files
For my SMSPost project, I had the specific need of storing two persistent parameters, e.g. frequency of scheduled run and URL for SMS upload.

I chose Shared Preferences as the persistent data storage approach, purely because of the ease of use in handling preferences. Shared preferences, enables relatively static data to be stored as Key Value pair and the data is accessible to all activities and services in the application. (NOTE - You can share your preferences across other application by defining the preference mode as MODE_WORLD_READABLE or MODE_WORLD_WRITABLE. For SMSPost application, we just needed the data to be available within the application, hence we set the mode as MODE PRIVATE) 

Sample Code:

// get handle to the shared preferences (called from an Activity Class)
        preferences = getSharedPreferences(Const.PREFS_NAME, MODE_PRIVATE);

// writing to shared preferences
       SharedPreferences.Editor editor = preferences.edit();
       editor.putString(Const.PUBLIC_STATIC_TIMEPICKER_IDENTIFIER, resultFrequency);
       editor.commit();

//Reading from shared preferences
       if (preferences.getString(Const.PUBLIC_STATIC_TIMEPICKER_IDENTIFIER, "") == "")
                        return false;

Source: SMSPost.java

Please leave a comment if you have used any of the data storage options and would like to share your experiences.

    Follow-up: What do story points relate to?

    22 days ago | Lalatendu Das: Interpretations of Technorealism

    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

    In My opinion, story points have evolved to be a reflection of "relative" effort required to accomplish the story from just being a representation of "relative size". Here is why.

    In traditional software development, the size of a requirement doesn't change until there is a scope change. The size estimation doesn't take into consideration the factors which potentially may impact the effort involved..such as the unknowns, risks and complexity. Even if projects encounter schedule / effort slippages, the size remains constant and traditionally adept project managers attribute the delays to lower productivity.

    However in the value driven world of agile development, the bottom line is 'When can the working software be delivered'. The team comes together and estimates in story points to get a better handle in sprint / release / product planning. But the key aspect here is that story points intend to convey not just relative size (read scope of work), but also the capability of the development team, level of complexity and level of unknowns. Hence in my opinion, the story points best relate to the effort required to get the story 'DONE'.

    Does this explanation fit your view of story points? If not, please leave a comment.

    Android UI design patterns

    27 days ago | Lalatendu Das: Interpretations of Technorealism

    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.

    SMSPost: My first open source project

    28 days ago | Lalatendu Das: Interpretations of Technorealism

    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.

    What do "Story Points" relate to?

    about 1 month ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Adopting enterprise mobility using Smartphones

    about 1 month ago | Lalatendu Das: Interpretations of Technorealism

    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:


    Comments are welcome.

    Food for thought....07/18

    about 1 month ago | Lalatendu Das: Interpretations of Technorealism

    few short articles for weekend reading...

    1. Impediments to Keeping Top Talent
    2. A hierarchy of failure worth following
    3. How to seek and destroy organizational silos
    4. How to improve a team's velocity 
    5. Agile Metrics

    Stakeholder acceptance always trumps the greater good..does it??

    about 1 month ago | Lalatendu Das: Interpretations of Technorealism


    Things ..all agile organization must avoid..

    In search of Excellence

    3 months ago | Lalatendu Das: Interpretations of Technorealism

    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

    1. A bias for action
    2. Close to the the customer
    3. Autonomy and Entrepreneurship
    4. Productivity through People
    5. Hands on Value driven
    6. Stick to the knitting
    7. Simple form Lean Staff
    8. Simultaneous loose-tight properties
    Yet another quote from this book on "Creativity vs Innovation"

    "Creativity is thinking up new things, Innovation is doing new things.. A powerful new idea can kick around unused in the company for years, not because it's merits are not recognized but because nobody has assumed the responsibility of converting it from words into action. Ideas are useless unless used."

    HTML5 Readyness

    3 months ago | Lalatendu Das: Interpretations of Technorealism



    Source: HTML5Readiness.com

    Good To Great

    3 months ago | Lalatendu Das: Interpretations of Technorealism

    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

    • GOOD is the enemy of GREAT
    • "I never stopped trying to become qualified for the job" - Darwin Smith, CEO Kimberly-Clark (1971-1991)
    • People are NOT your most important assets. The RIGHT people ARE
    • Great companies made a habit of putting their best people on their best OPPORTUNITIES, not their worst PROBLEMS. Managing your PROBLEMS can make you GOOD, where as building on your OPPORTUNITIES is the only way to become GREAT
    • Stockdale Paradox: "You must maintain unwavering faith that you can and will prevail in the end, regardless of the difficulties AND at the same time have the discipline to confront the most brutal facts of your current reality, whatever they might be" - Admiral Jim Stockdale, PoW - Hanoi
    • Lead with QUESTIONS not with ANSWERS
    • Spending time and energy to motivate people is a waste of effort. The real question is not "How do we motivate our people". If you have the right people they will be motivated. The key is not to demotivate them.
    • The Hedgehog Circles (refer to the picture)

    • Leverage the Hedgehog Circles to define Organizational strategy
    • The more an organization has discipline to stay within it's three (Hedgehog) Circles, the more it will have attractive opportunities for growth. The challenge becomes not opportunity creation, but opportunity SELECTION
    • Sustainable transformations follow a predictable pattern of buildup and breakthrough


    The book helped me putting leadership and management in right perspective. Recommended for all.

    My take on Google I/O - 2010

    3 months ago | Lalatendu Das: Interpretations of Technorealism

    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!

    Designing Android GUI - Unit of measurement

    3 months ago | Lalatendu Das: Interpretations of Technorealism

    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 - Live on Youtube

    3 months ago | Lalatendu Das: Interpretations of Technorealism

    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 - 52 truths for winning at business without losing your self

    4 months ago | Lalatendu Das: Interpretations of Technorealism

    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..

    "Android is Apple's Burger King" - my perspective

    4 months ago | Lalatendu Das: Interpretations of Technorealism

    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)..

    Performance evaluation in Agile teams - Part III

    4 months ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Performance evaluation in Agile teams - Part II

    5 months ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Performance evaluation in Agile teams - Part I

    6 months ago | Lalatendu Das: Interpretations of Technorealism

    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

    Android Tablet

    6 months ago | Lalatendu Das: Interpretations of Technorealism

    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..

    GMail goes social

    6 months ago | Lalatendu Das: Interpretations of Technorealism

    What is Google Buzz?


    Why Google Buzz?

    Android - Microwave & Laundry

    7 months ago | Lalatendu Das: Interpretations of Technorealism

    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:

    The decade in retrospect: Story of innovators, imitators and idiots

    7 months ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Droid vs Nexus One

    8 months ago | Lalatendu Das: Interpretations of Technorealism

    Spoken Web

    9 months ago | Lalatendu Das: Interpretations of Technorealism

    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..

    Where Cynics Dare

    9 months ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Agile Metrics

    10 months ago | Lalatendu Das: Interpretations of Technorealism

    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?

    Andriod 2.0 on Motorola Droid

    10 months ago | Lalatendu Das: Interpretations of Technorealism

    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?

    JSON vs XML

    10 months ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Exposing Lotus domino data to external systems

    10 months ago | Lalatendu Das: Interpretations of Technorealism

    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..

    Enterprise Security 2.0

    11 months ago | Lalatendu Das: Interpretations of Technorealism

    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 Fast Flip

    11 months ago | Lalatendu Das: Interpretations of Technorealism

    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 Taxonomy

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    '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.

    Mobile application development - made easy!

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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 Caffeine

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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 - Part II

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Twitter 101 - for business

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    #business:RT@NYT - http://tinyurl.com/nwel29

    Augmented Reality

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Open Cloud Manifesto

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Contextual Ads - based off your Social Network Profile

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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..


    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?

    May the force be with you..

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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).


    'The force' might be a figment of imagination of George Lucas, but it was intriguing nonetheless. I was really fascinated about a particular scene in 'The Empire Strikes Back', where Master Yoda teaches Luke Skywalker on how to use your mind power to interact with 'the Force' and move mundane (and almost always heavy..) objects from one place to another, without batting an eyelid.... I wished I could do that..

    But that was then..


    Coming back to our real world, how about moving a real object by just thinking about it? fascinating?? There is a new start-up company named nuerosky, who have developed a technology called Brain Computer Interface (BCI). BCI let's you catch your brainwaves and translate your thoughts to actions!!! (well almost...).


    Check it out... And may the force be with you..

    Alternate iPhone native application development platform

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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).

    So far, one of the entry barriers for new developers was the steep learning curve of Objective-C (on Cocoa/XCode). With Corona, we are likely to see many more first time developers developing native iphone apps. Happy browsing the AppStore !

    Opera unite: Reinventing the Web

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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.

    Web 2.0 and Collaborative governance

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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...

    97 things every software architect should know

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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..

    My picks from Web 2.0 Expo - San Francisco (03/31 ~ 04/03)

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    "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!)






    - 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)



    Semantic Web

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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..

    Linked Data - new paradigm of Information Management

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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.

    10 habits of highly effective IT professionals

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    Just completed reading Simon Stapleton's ebook titled '10 habits of highly effective IT professionals'. Here are the habits Simon propounds

    1. Openly share knowledge
    2. Coach Others
    3. Learn by reviewing
    4. Focus on strengths and strive to avoid weaknesses
    5. Remember that "everybody is a resource"
    6. Effectively deliver value
    7. Delegate effectively
    8. Escalate at the right time
    9. Actively participate in a value chain
    10. 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

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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.

    The Meta-Cloud

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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.

    10 Cloud Computing Predictions

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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!

    The 'Azure' Cloud

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    Yet another cloud over the horizon...


    Microsoft has launched it's very own cloud computing platform named Azure. Services being offered by Azure looks promising ..at least to developers at this point. Only time will tell how 'Azure' fares against it's established rivals such as .. 'Amazon Web Services', 'Google App Engine' and 'VMware vCloud'.

    For starters, here is a comparison of the services being offered by the above mentioned players in the space of cloud computing. 

    Any bets on who would win the race??

    Ambassadors and Boundary Spanners

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    In his last post, renowned Agile guru 'Scott Ambler' introduced two new roles for distributed agile teams e.g. 'Ambassadors' and 'Boundary Spanners'. Here is how he puts it..

    Ambassadors are senior technical or business experts who travel between sites to share information between the subteams. Getting the team together at the beginning of the project sets the foundation for communication, but without continual investment in maintaining effective collaboration between teams you run the risk of your subteams deviating from the overall strategy.

    Boundary spanners are located on site who focus on enabling communication between subteams as well as within their subteam. There are typically three flavors of boundary spanners—team leaders who take on project management responsibilities on the subteam, product owners who are responsible for representing the business within the subteam, and architecture owners responsible for technical direction on the team. These boundary spanners will work closely with their peers, having regular coordination meetings across all subteams as well as impromptu one-on-one meetings to deal with specific issues.

    Does these roles sound familiar? Are we hearing the need for project manager/ coordinator roles in self organizing agile teams?? Does it mean, we need some amount of command and control..even in agile teams???

    Seems like Agile methodology is re-inventing itself to infuse best practices of the traditional s/w development methodology.  Distributed development team is a reality these days and it's about time for Agile methodology to do reality check and adapt to the changing needs of IT development......

    Social Proprioception

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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'.



    Since it's launch in mid 2006, Twitter user base has grown exponentially, surpassing the industry benchmark of 1 million users in first year of operation. Looking at the success of Twitter, Microblogging space is seeing a number of new entrants, with notables such as Plurk , Yammer and Pownce...and some newbies such as "Quix" developed by Web 2.0 lab in Tata consultancy services. Most of the social networking sites (like Facebook and Orkut) have added Microblogging component in their sites (e.g as Status bar on user profile).

    For the uninitiated..they always wonder ..what's the buzz all about? What is that anybody can achieve by posting or reading all those seemingly incoherent snippets (Twiiter limits your post to 140 characters) describing what people are doing or have been doing?...

    As Clive Thompson puts it in his seminal article on Microblogging "Individually, most Twitter messages are stupefyingly trivial. But the true value of Twitter — and the similarly mundane Dodgeball, a tool for reporting your real-time location to friends — is cumulative."

    The beauty of microblogging is to limit each post to a certain number of characters. This encourages people to blurt out what they think..or rather helps capturing the current state of mind without any sanitizing. Individually these messages may not mean much, but collectively over a period of time, these posts can give a better understanding of the state of mind or experiences of the person you are following. When you meet such person next time, knowing his/her state of mind through the postings, will automatically create an emotional map of the person and help you adjust your responses in your personal dealings. Being humans, I guess certain traits are hard-wired in our brain...

    Putting thing in context, this helps in creating a Social Proprioception..which will play a bigger role in social networking space in coming times. Now the question is how to leverage this concept in the enterprise? Any thoughts?

    Three reasons to bet on 'Android'

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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..

     Here are 3 reasons why I would bet on Android over other worthy competitors

    1.      Open Handset Alliance – Android is backed by the heavyweights of the industry such as Google, Sony Ericsson, Motorola, Samsung, China Mobile and NTT Docomo..to name a few. The backing of Open Handset Alliance (OHA) will certainly raise the entry barrier for any future competition

    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..

    All said and done, Android phones are yet to be launched in large scale (Currently being used exclusively on T-Mobile G1). The real test would come with it's application on more high-end phones in the hands of highly demanding consumers. However, as things stand, the future looks promising for Android.

    Open Source Content Management systems

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    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. 


    Here are my findings..

    Open Source based
    CMS are achieving popularity because of the increased maturity of these products. This is evident from the fact that the commercial CMS solutions are feature rich but a typical small or medium size enterprise needs barely 20-30% of these features.

    The market trend suggest high adoption rate in Europe & USA.
    APAC adoption trend shows improvement. Specific to the Industry domains, Media & Entertainment, Retail & Govt domains have very high rate of adoption. Manufacturing & BFS have moderate rate of adoption.

    Here are some
    notable Open source CMS
    -
    Alfresco
    -
    OpenCMS
    -
    Apache Lenya
    -
    Hippo CMS


    Here is a comparative study of these tools. Source CMS Matrix

    System RequirementsAlfrescoApache LenyaHippo CMSOpenCms
    Application ServerMost J2EE Application Servers. See: http://alfresco.com/services/support/stacks/4 or morebuilt-in (none required)Tomcat, JBoss, Resin 3, Websphere 6
    Approximate Cost$15,000 or $20,000/CPU/year (depending on SLA). Also per user pricing through Red Hat ExchangeFree
    DatabaseMost Hibernate supported DB's. See: http://alfresco.com/services/support/stacks/AnyMySQL, PostGreSQL, Oracle, MSSQLOracle, MySQL, PostgreSQL, MS SQL Server, DB2, AS400 and HSQL
    LicenseGPL + FLOSS ExceptionApache-styleApache-styleGNU LGPL
    Operating SystemMost common OS's. See:http://alfresco.com/services/support/stacks/AnyAnyAny
    Programming LanguageJava with support for JavaScript and FreemarkerJava/XML/XSLT/Javascript/JSPJavaJava 1.4. +
    Root AccessNoYesYesNo
    Shell AccessNoYesYesNo
    Web ServerAny (Can depend on applicatoin server)AnyAnyIIS, Apache
    SecurityAlfrescoApache LenyaHippo CMSOpenCms
    Audit TrailYesYesYesYes
    CaptchaNoNoNoYes
    Content ApprovalYesYesYesYes
    NoNoNoNo
    Granular PrivilegesYesYesYesYes
    Kerberos AuthenticationYesNoNoNo
    LDAP AuthenticationYesYesYesCosts Extra
    YesYesNoYes
    NIS AuthenticationNoNoNoNo
    NTLM AuthenticationYesYesYesNo
    Pluggable AuthenticationYesYesLimitedCosts Extra
    Problem NotificationYesYesNoYes
    SandboxYesYesYesYes
    Session ManagementLimitedYesNoNo
    SMB AuthenticationYesYesNoNo
    SSL CompatibleYesYesYesYes
    SSL LoginsLimitedYesNoYes
    SSL PagesNoYesNoYes
    VersioningYesYesYesYes
    SupportAlfrescoApache LenyaHippo CMSOpenCms
    Certification ProgramYesNoYesNo
    Code SkeletonsYesYesNo
    Commercial ManualsYesNoYesYes
    Commercial SupportYesYesYesYes
    Commercial TrainingYesYesYesYes
    Developer CommunityYesYesYesYes
    Online HelpYesYesYesYes
    Pluggable APIYesYesYesYes
    Professional HostingYesYesYesLimited
    Professional ServicesYesYesYesYes
    Public ForumYesYesNoYes
    Public Mailing ListNoYesYesYes
    Test FrameworkYesNoYes
    Third-Party DevelopersYesYesYesYes
    Users ConferenceYesYesNoYes

    Open Source Learning Management Systems

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    Our experience with Enterprise LMS such as Saba (past) and Plateu (current) hasn't been great. Since I am involved in Application support, my group has been through many painstaking & frustrating hours of discussions with Platue support for getting desired technical support. That lead me to analyze the Open source trends around Learning Management systems.

    The Open source LMS platforms are quickly maturing. Leading the pack is Moodle (www.moodle.org). It's modular in design and allows new modules/ plugins to be incorporated with core modules. Moodle has developed a significant user base among SMEs and educational institutes. It has currently around 36000 registered sites with 1.4 million courses. Available under GNU GPL and is OSI certified.

    Other worthy competitors are

    Blackboard WebCT
    Sakai (www.sakaiproject.org)
    Atutor (www.atutor.ca)
    EFront (www.efrontlearning.net)

    Checkout the eLearning Guild
    Press Release for market leaders in LMS platforms.

    http://www.elearningguild.com/content.cfm?selection=doc.769

    Biggest Ruby on Rails Application in the world

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    As a continuation from my earlier post, here is another thumbs up for 'Cloud Computing'. Checkout "Bumper sticker" application on Facebook. With above 1.4 million daily hits, this is the biggest Ruby on Rails application in the world (by amount of data exchange).

    See the video below to find out how the Light Engineering development team in LinkedIn, used RoR scalability best practices along with cloud computing to build Bumpersticker.

    http://www.joyent.com/a/scale-rails-to-1-billion-pageviews

    Enterprise Software - Getting Archaic?

    about 1 year ago | Lalatendu Das: Interpretations of Technorealism

    With advent of Web 2.0, we are seeing an evolution in Information technology. As the web turning out to be a platform, Applications are being more agile, thin & continuously evolving. The usage patter of IT is slowly but steadily shifting from being Enterprise driven to be more consumer driven. The days of huge custom built enterprise software, with a whole lot of speculative design seems to be passée.

    Now some facts to corroborate my hypothesis..

    The Global IP traffic data (In a recently published report by Cisco), makes an interesting revelation – the Consumer IP traffic has been growing at 58% CAGR since 2005 and expected to surpass Enterprise IP traffic by end of 2008. Also it’s predicted that Consumer IP traffic will reach 1.5 times the Enterprise IP traffic by year 2011.

    As Douglas Merrill (Former CIO Google) put’s it “Fifteen years ago, enterprise technology was of higher quality and consumer technology. That’s not true anymore. It used to be that you need enterprise technology because you wanted uptime, security and speed. None of these are as good in Enterprise software any more as they are in some consumer software”

    In the age of globalization, more and more employees are on move. Enterprise IT for people constantly on move is a costly affair and not always easy to use. Further the cost of maintaining huge data centres and with a large number of in house IT staff is adversely impacting the bottom-line of large enterprises. More and more large enterprises are realizing that apart from a few key business processes, rest all IT requirements doesn’t need large enterprise applications, rather they can be delivered to users over the internet as Consumer IT by Software as Service (SaaS) offerings / smart applications on mobile devices procured by other organizations.

    Let’s looks at some of the technology trends, which can eventually replace majority of Enterprise IT spending

    - Data centers moving to SaaS model with use of Cloud computing
    - Improved storage/ computing capabilities of mobile handset
    - Web as a platform - Market leader Google - Spreadsheets, word processors etc
    - Cloud Computing - examples
    o Amazon.Com – Simple Storage Service (S3) – Provides a simple web service interface which can be used to store/ retrieve any amount of data, at any time, from anywhere.
    o Amazon.com – Elastic Compute Cloud (EC2) - Provides resizable computing capacity in the cloud, with users paying only for capacity they actually use

    Hence it's time for Enterprise architects to revisit the technology stack and to see how we all can go lean..any thoughts?