Archive for March, 2006

Mar 19 2006

Very useful Lotus Notes utility

Published by under Main

There are many ways to automatically paste information into documents,  but if you are a Lotus Notes user this is a very useful utility.  It allows you to click a toolbar button and select from a list of clips which get pasted into you document.  The best things about it is that you can paste Notes formatted information, ie a combination of formatted text and graphics.  You could use it for:

  • Conference call details
  • Meeting agenda templates
  • Different signatures
  • Maps to your house or office
  • Links to your blog
  • Common responses “thanks …”

Why do I have to find tips like this on blogs at random,  and not get a nice effective working practice [with options to suit different work styles and personalities] designed and delivered to me by my company?

One response so far

Mar 19 2006

Application delivery approaches

Published by under Main

The way you deliver applications to your clients is the fundamental issue of debate in this article.  Web client, Server Based Computing, Smart Clients, Thin Client computing, Consolidated Client Architectures are all terms that are used and misused in this context.  This article attempts to just cover the key concepts, talk to me or comment if you want to discuss further.  This is a an article I wrote a couple of years ago, but I thought it was worth a repost as it complements a previous post where I commented on a useful discussion by Brian Madden.

It’s very important to note that Server based Computing is not the only approach, this document discusses all of the mainstream and the main evolving approaches.  However because Server based Computing is the most popular generic term in use it has been reused here.

What problem is Server Based Computing trying to solve?

First we need to understand the issues we are trying to solve with these technologies:

  • Installing applications on many client devices is difficult for a whole host of reasons but mainly because:
    • the clients are not all exactly the same so what works on one does not work on all
    • its difficult to predict who needs which applications
    • some of the people we want to use our applications use client devices that are not under our control, so we are not able to install software on them
    • it takes time and effort to package up an application in such a way that it can be automatically deployed and does not conflict with other applications or the PC operating system in undesirable ways
    • Installing applications requires administrative privileges on the PC, most companies do not allow users to have these privileges because of the security, acceptable use compliance management and TCO implications.
  • Once an application is installed it needs to be maintained with bug fixes, configuration changes and new versions
  • When people move location, visit another location or work from home they want to be able to continue to access their environment
  • When PC hardware fails people want to be able to just plug in a new machine, or sit at the desk next to them and carry on
  • Deploying applications to many PC’s takes time, introduces risk, and costs money; these three factors create an inertia that resists change.  The result is the client software gets out of date, or different versions exist on different machines resulting in inflexibility.
  • In environments where theft is a risk, PC’s are very attractive targets!
  • Using appropriate technology SBC can provide desktop platform independence, and increase the usable life of desktop equipment.
  • Eliminates the need to upgrade desktop hardware in order to support new applications services or upgrades.
  • Using appropriate technology the solution can provide more predictable WAN utilisation.
  • Centralised processing resources can be rapidly reassigned during temporary periods of increased utilisation of business critical application services. This mitigates the need to procure additional equipment to accommodate these periodic peaks in utilisation, for example year end processing.

Why do we continue to deploy PC’s

These problems are pretty serious ones, so next it’s important to understand why we still often deploy PC’s:

  • Many applications do not work, or are not supported unless they are running locally on a PC
  • Many applications can only be cost effectively deployed on PC’s
  • We have automated management tools, packaging tools and conflict resolution tools that help us get closer to the objective of managing thousands of PC’s with a similar fixed cost to managing hundreds and a very small variable cost per extra PC.
  • Many applications integrate at the client, so multiple applications delivered from different servers do not provide the same user experience
  • Users often get confused by the extra complexity of some alternatives
  • Some people need access to applications when they don’t have access to the network, or that connection is too slow or un-reliable

Where is Server Based Computing most popular today?

Despite some of the issues raised above Server Based Computing  is increasingly popular, and very popular for certain scenarios:

  • Delivery of applications to clients that are unmanaged or managed by a third party
  • Delivery of line of business applications to large numbers of casual users
  • Delivery of software for test and evaluation
  • Rapid, on demand deployment
  • Rapid removal of application services
  • Delivery of applications to unsupported locations like branch offices
  • Delivery of applications to hostile environments, or high theft risk environments, or environments needing maximum flexibility
  • Delivery of applications to task and Structured Task Workers with a small number of applications and well defined processes
  • Enforces “business use only” disciplines
  • Centralised data management and security
  • Provides the flexibility to, rapidly, and securely enable access to business applications for external business partners or new business units, without having to invest in additional infrastructure.

What are the alternatives?

There are however a wide array of technologies that solve these problems, it’s worth restating the basic approaches to solving the traditional PC application delivery problem:

  • True thin client.  Make the client device as simple as possible, ideally stateless, i.e. you can plug in another one and it will just work.  Don’t allow any applications to execute on the client, just allow presentation.  In this alternative all applications are server based.
  • Re-buildable client. Maintain a record of the desired state of a device on a server, if a device fails for whatever reason then its ‘state’ can be recreated fairly rapidly from the server.  Many systems management tools allow this and Operating Systems are getting better at this all of the time .  In this alternative applications can be delivered using all of the techniques described below.
  • Connect to your PC from anywhere, rather than run all of your applications on the server, its possible to use a traditional PC most of the time.  However when you are at home, or working at another business location connect over the network to your PC, and use remote display technologies.
  • House your PC in the data centre, solutions are emerging that allow users to connect to an individual PC, (blade format device), housed in a data centre.  The PC system unit is accessed over the network.  If your PC fails its easy to swap to another.  This option is commonly described as Consolidated Client Infrastructure or CCI.
  • Execute applications on the server, and run the minimum client side code to render the display and manage keyboard, mouse and peripheral connectivity.  X Windows, Windows Terminal Services and Terminal Emulation products all fall into this category.  More than 80% of Windows Terminal services and Citrix deployments are actually delivering applications to Windows clients rather than thin clients.
  • Download web pages and scripts in real-time.  Clients that allow simple presentation and sometimes validation code to execute on the client, but download the application in real time, every time you need it .  The key thing is no change to the configuration of the client is needed for the application to download and run – many web applications fall into this category, the vast majority execute JavaScript/JScript on the client.
  • Download applications that rely on client platform extensions.  Clients that have some fairly rich set of standard services installed that let application code be downloaded in real time execute safely, normally in the browser, but not as general purpose as .NET and Java.  Internet Explorer itself falls into this category as it includes significant functionality that’s not pure HTML and CSS .  Flash and other Active X controls or alternative Plug-in standard are more obvious examples.
  • Download complex applications in real-time. Allow more complex application to execute on the client, but download the application in real time, every time you need it .  The key thing is no change to the configuration of the client is needed for the application to download and run, the applications are self maintaining, i.e. new versions are downloaded in real time from the server. Java applications and some Microsoft.NET Framework v2 applications using ClickOnce  deployment.

There is a variant of this option, where the application does change the configuration of the client, these applications often provide tight integration with the operating system, high performance graphics, integration with local peripherals etc.  However they are still deployed in real-time and self maintaining .

  • Store the file on a file server, but execute it on the client.  Some applications will work that way, but often applications need to be installed on the client to run correctly.
  • Package an application in such a way that it is installed in real-time when a user first invokes it.  Some Linux Distributions and SoftGrid for windows provide specialist tools to achieve this that provide application isolation features and optimise the packaging to minimise download delays.  These products also ensure that the configuration of the PC operating system is unchanged, ensuring that other applications are not affected by the installation and that the application can be automatically de-installed.
  • Manual Installation.  manually install an application by running an installation script, a refinement of this is to provide some form of on-line catalogue from which people can download and then install applications.  For most applications (see above for different approaches) the application will change the configuration of the client (create shortcuts, install files into shared areas, change the registry) and will therefore require administrative priv.
  • Push installation.  A refinement of the previous approach,  applications are automatically distributed to the persons PC using an automation tool (SMS, Unicenter, LanDesk) and the system executes the installation in the background.  The decision to distribute the application may be manual (a list of PC’s) or may be based on the PC being identified automatically as the result of matching a query (all Thinkpad x23s), being added to a group (everyone in finance) or a some other policy (everyone at location B).  A refinement of this is publishing; where a stub is installed which shows the applications icons, file type registrations etc.  When the application is first invoked it is installed on demand.
  • Application appliances or virtual machines.  Using a technology like VMware Player a whole operating system and set of applications can be installed by copying a file, (or couple of files) to the PC.  This virtual environment may contain a whole managed or unmanaged PC in which case all of the above application delivery discussions apply equally to the Virtual PC.  However the Virtual PC may in fact be thought of as an application (or an appliance), examples might be a Virtual PC that is actually a complete functioning database server, or proxy server, or isolated (hence safe) web browsing environment.  using VMware ACE it is possible to provide PC appliance that is configured and locked down to provide very well defined role.

Which of mix of these approaches fits your business need will depend on trading off performance, flexibility, usability and cost.  It will also depend on your application portfolio and which of the approaches your applications support.

One response so far

Mar 16 2006

Maslow’s theory on the hierarchy of human “needs”

Published by under Main

I find Maslow’s hierarchy of needs incredibly useful. It provides a very simple framework for thinking about motivation, and motivation impacts almost everything I do at work.  I have a version of the hierarchy that I am developing for the services we deliver to customers and it’s quite instructive because it shows that quite a few of the level 1 and 2 needs are not yet satisfied, so it’s not surprising that we sometimes see customer satisfaction issues and struggle to sell some of the services that seek to address needs at levels 4 and 5.  Maslow’s original hierarchy looks like this:

Maslow

If we apply it to IT systems,  (this is a very simple illustration of the concept) then it might look like this:

Maslow2

The point of this being that for example:

  • people won’t be interested in collaboration when they don’t have a stable PC
  • people won’t be interested in knowledge management when they are running out of email quota every day
  • people won’t be effective coaches when they are so overloaded with email that they don’t have time to think
  • people won’t be interested in sharing when their PC is infected with malware or viruses

If you forgive the simplistic nature of the example,  hopefully you can see the power of the model.  It goes further through, again some simple examples:

  • once a person has a working PC, Internet connection, storage space, virus and malware protection they will take it for granted and not consider it of value (unless you take it away) so you need to move up the hierarchy and provide higher value services.  But don’t move up until you have satisfied more basic needs!

 

One response so far

Mar 16 2006

Too Busy to Learn to Be Productive

Published by under Main

Dave Pollard’s blog is consistently excellent,  in this post he talks about the fact that people are often “Too Busy Being Unproductive to Learn to Be Productive”.  Just read this snip:

… most people don’t learn to use these aids unless they either stumble on them themselves, or they are shown by someone how to use them (and write them down so they’ll remember how later). And most of the time we’re just too busy being unproductive to do either. If you’re skeptical, spend a half hour observing a co-worker at his/her PC and you’ll be astonished: It’s like watching someone being tortured — awkward workarounds, unnecessary steps, time wasted searching in the wrong places the wrong way. The cost to every enterprise, and our economy as a whole, must be gargantuan.

The following graphic is a summary of Dave’s suggested approach,  there’s much more detail on his blog:

Improvement

This comprehensive approach is not available to me right now,  although I can definitely see the benefits.  My start point has been to try and share simple processes that I follow for comment, for example my blog cycle, but if I were to look to create compelling user experiences for my corporate customers then Dave’s approach seems to fit the bill. 

No responses yet

Mar 16 2006

Lotus, more blog posts like this please!

Published by under Main

I recently complained about the blog Microsoft FUD vs IBM Customer Value,  on a more positive note this blog hits that mark for me,  its an analysis of the strengths of Notes/Domino,  to make it even better I would like to see 20+ comments critiquing the analysis.  For Microsoft I see well commented posts like this every day,  but for Notes/Domino/Workplace I hardly see any,  am I looking in the wrong place?  If anyone has a great place to get high quality well commented (hence validated) posts please post a comment!  Here are the main points:

Self-containment: Domino is not dependent on external applications other than the operating system and the network. While MS Exchange depends on Active Directory and Novell Groupwise on Novell’s eDirectory, Domino provides it’s own directory that also can serve as an LDAP directory for other applications. Due to the lack of external dependencies Domino servers can be moved from one platform to another with ease and low effort. More important: Running Domino does not require a bundle of different products and product skills. When comparing Domino’s capabilities with Microsoft’s offerings, you would need multiple Microsoft products to cover all Domino functionality: MS Active Directory, MS Exchange, MS Sharepoint, MS Life Connection Server and MS SQL.

Robustness: Domino uses individual databases for every mail user. The databases can synchronized (“replicated” in Notes lingo) between multiple servers and clients. Therefore Domino is very resilient against failures on one server or in one database. Combined with the active clustering and the choice of platforms a Domino system can be build with practical no perceivable downtime.

Scalability and platform choice: Domino is available on multiple platforms from Windows, Linux, Unix to z/OS. It provides cross-platform clustering and load balancing. An investment into a Domino cluster for high availability is paid back with better response times due to the load balancing functionality. IBM has provided benchmarks on notesbench.org where a single iSeries server supports 100,000 concurrent mail users.  However the most interesting aspect of the multi-platform availability is the possibility running Domino servers on different operating systems than the clients, thus providing a natural infection barrier for viruses and maleware. The platform choice doesn’t stop with the servers. eMail and data stored in Domino can be accessed by a wealth of clients and protocols, giving the customer the freedom to pick the desktop (email) application of their choice: Lotus Notes Clients, IBM Workplace, MS Outlook, POP3/IMAP4 clients like Mozilla Thunderbird or web mail via a browser.

Security: Domino’s granular access control to email, calendar and Domino applications is unique in the industry. Furthermore Domino provides digital signatures and encryption both in Domino’s propriety format as well as the industry standard X509. Domino serves as the corporate PKI infrastructure, eliminating the need to invest into and introduce another technology for that. But there is more: Domino enables by design the lock-down of sensitive information, so even the system administrators could not retrieve it, so the data owners can be assured of data confidentiality.

Extensibility: Domino’s mail design is completely open and can be customized to specific corporate needs. The OpenNTF open source community provides an free alternative to IBM’s own design with enhanced functions putting pressure on IBM to constantly innovate. Besides eMail Domino features a platform for collaborative applications like discussion boards, blogs, wikis, CMS, CRM and a huge selection of open source or commercial applications. The latest version of Domino makes all this available as web services, in fact turning Domino into a pilar of a SOA strategy. Since the application share the platform with messaging they integrate well with email and allow the creation of an corporate unified information backbone.

Low cost of ownership and IBM’s commitment: a well configured Domino platform takes advantage of the policy based administration, that minimizes administrative efforts through a set of comprehensive rules. In the latest release IBM also added a comprehensive domain monitoring capability. All this frees up valuable time for administrators to manage their environment more proactive. IBM is the single vendor with the most detailed roadmap for it’s messaging platform. The current version Domino 7 has been released a few month ago, nevertheless IBM has outlined plans for Domino version 8 and 9. This assures users of the Domino platform, that they are not in for any rip and replace upgrade any time soon.

2 responses so far

Mar 16 2006

Making sound decisions

Published by under Main

Making decisions is getting increasingly difficult.  I work part-time in product management and am increasingly convinced that one of my key roles is to help people make sound decisions,  rather than to try and sell them specific products.  Using this approach we build a relationship that’s based on trust and mutual commitment to delivering business value to the customer.  I am always on the lookout for examples of how to help customers and I think the WikiMatrix site is a great example.

The process they use is shown in the following diagram, and its definitely worth playing around with the web site yourself to get an idea of how powerful it is. I call this approach diagnostic marketing, as distinct from product marketing. 

Options

No responses yet

Mar 16 2006

Many ways to deliver applications

Published by under Main

I deal with a multitude of application delivery approaches all the time.  Brian Madden provides an interesting list and comments but he misses out a few options:

  • Web delivery
  • Java
  • Web delivery supplemented by Active X controls or other plug-in technologies
  • Client side virtualization
  • Click-once .NET applications

I am sure there are even more.  Brian provides a pro’s and con’s assessment of the options.  Here is Brian’s list:

  1. The old way. Install each application on the end user’s computer.
  2. Automated Software Distribution. Use a tool like SMS or Altiris to remotely install and update applications on end users’ computers.
  3. Citrix / Server-Based Computing. Install the application centrally on a terminal server and provide RDP or ICA access from the client device.
  4. Application Streaming. Use something like Softricity to stream the application to the user’s device on demand.
  5. Operating System Streaming. Use something like Ardence to stream the entire disk image (OS and all) to the user’s client device.
  6. Bladed PC. Install Windows XP on a server blade and then provide 1-to-1 remote access via XP’s built-in RDP remote desktop functionality.
  7. VMware PC. Build a huge VMware server and divide it into multiple VMs, with each VM running Windows XP. Provide remote access via XP’s built-in remote desktop.
  8. VMware Clients within Terminal Server / Citrix Sessions. Build a server and install terminal services and Citrix. Install VMware Workstation (or Microsoft Virtual PC) as a publish application in Citrix. Then “publish” a VMware disk image for each user. Users connect to the published VM via ICA.
  9. The Future. Application execution components can execute on whichever backend systems they need (in a grid-like way), and presentation components can be displayed and consumed wherever they are needed.

2 responses so far

Mar 16 2006

How I focus

Published by under Main

I found this article interesting,  take this snip-it for example:

Clay Shirky can be counted among the lucky few who not only appear to have mastered the wired world (and the wireless one) but also get paid to decode it for the rest of us. He teaches graduate courses in interactive telecommunications at New York University. He writes online essays that bag countless links. He has a busy technology consulting practice whose clients include Nokia and the Library of Congress.

Yet faced with the unlimited distractions of a Digital Age– e-mail, smart phones, killing time in the blogosphere–Shirky was getting nowhere recently on an important book proposal. Until one day he found himself working on it underground, riding the R train from his home in Brooklyn to NYU’s campus in Manhattan. “Suddenly I was flying,” he says. “I thought, Why get off the subway now?” He stayed on the train as it rumbled through Manhattan and into Queens. Thirty-two extra stops later (16 each way), he emerged victorious. Score: Shirky 1, distraction 0.

In my case I use a slightly different approach

  • I partition my day
  • I use different devices for different activities:
    • I use my Tablet for reading
    • I use my desktop when working on complex documents,  hosting web conferences, assembling complex presentations, going through my blog scanning process
    • I use my laptop when I want to focus on just one task, normally writing or mind mapping, or when listening into conference calls

Being a home worker I tend to use these different devices in different places:

  • My 3 screen desktop in my office
  • My Tablet when I am out of the house
  • My laptop when I am working anywhere in the house or garden, except my office
  • My Treo when I want quicker access than my Tablet can provide, or when I don’t have it with me

I have each device optimised for its primary task, they are all synchronised with each other automatically and I can access any of them with a single click using remote desktop.

 

No responses yet

Mar 16 2006

The blog cycle

Published by under Main

Blogcycle

I am becoming increasingly convinced that we need to share our working practices with each other,  so we can develop more effective “end to end” life-cycles.  Too often we think in terms of particular products but it’s rare that a single product supports a whole process.  I have some posts already on my blog on this topic,  but here is another attempt to describe my blog cycle:

  • Throughout the day new posts arrive in Newsgator along with enclosures for a few of my favourite Podcasts
  • At the end of the day,  I scan through an Outlook Search Folder which aggregates all of the unread posts from every folder into a single list which I scan through
  • Some of the small posts I read in place,  but the non trivial ones I click on and open up as tabs in Maxthon.  Because I have multiple screens these tabs open up without disrupting my scanning.  As they open I glance at the tab to check that I have opened the article I want and not just a post that links to it.  I also open up any additional links that look interesting
  • I also have a search folder that aggregates all posts with attachments, which are either podcasts or videos. I save Podcast to my Treo and videos to my Tablet
  • When I finished scanning I save all the tabs in a Maxthon group “To Read” this gets replicated over to my Tablet.  In the morning I open the group on my Tablet and by the time I have my shoes on all of the tabs have downloaded (usually about 30) along with all the latest comments (I really like comments)
  • Pretty much every morning I go for a walk on the beach for and hour or so and listen to the podcasts from the day before
  • Mid walk I crash at a cafe and get out my Tablet,  I read each tab and at the end I either:

Groups

As you probably noticed,  this post was also an excuse for playing around with Powerpoint 2007!

 

No responses yet

Mar 15 2006

My most important application

Published by under Main

ProjectmanagementSince I started working from home I think my IM client has become my most important application.  I use Trillian Pro which in my case integrates with Skype, Sametime, MSN and AOL.  I use IM much more than I use email and the history features in Trillian are absolutely essential for me.  I also particularly like the fact that I can dock Trillian as a full height window on my left hand display.  I create groups in Trillian for all of my major projects.  However there are a few problems with Trillian:

  • It is not as stable as Sametime
  • File transfer is not very reliable
  • Some of the richer functions of Sametime are not available, for example integration with web conferences

I think that technically Sametime is an excellent product through, for example it has good directory integration allowing me to add groups to my buddy list.  However I don’t like the user experience that much.  So it’s with some trepidation that I read about Sametime 7.5 on Ed’s blog, will the new features be enough to tear me away from Trillian, and how much will I miss the UI refinements and the unification?

No responses yet

« Prev - Next »