Tuesday, May 31, 2011

Marlboro Morris Ale


I spent the weekend dancing and playing music. I am a Border Morris dancer and will musically participate as a percussionist whenever the opportunity arises. The dancing was in six and eight person dances with the occasional mass dance (that's everyone dancing), the music participation was with playing an ugly stick. All this took place at the Marlboro Morris Ale. It was an amazing weekend.

What stood out for me most was;
  1. The fantastic dancing from the youth at the ale
  2. That we danced at a number of care facilities
  3. The amazing meals, coordination and logistics
  4. The quality of singing during the open pub nights and during the day
  5. Singing "Pinball Wizard" as a shanty
  6. Having some "I'll enlist for a sailor" jig lessons
  7. Hanging out with some great friends and making new ones

Tuesday, May 24, 2011

Increasing access to Education

2011 is a year for shipping software. It is the professional alignment of my passion for technology (particularly Internet technology) with my love for teaching and adult learning. I've been a technology professional for over 25 years and a teacher for over 15 years. I honestly believe much of what we learn as adults will have an online component, either through full engagement (including augmentation) or just simple reading / viewing and research. I also believe the idea of blended learning has changed from blending online with the classroom to blending informal learning with the formal approaches.

Most of the projects I have been involved with over the last 2 years will be going live during 2011. They are a mix of projects which include, implementing a federated search, through building web services for content authorization to leveraging online video within a progressive inquiry approach. The project successes include the following (as more of these sites go live I'll make updates to this post with their live URL's) ;
  1. Progressive Video Assessment: LIVE January 2011
  2. This is one of my favorites as it brings together technology, pedagogy, professional development, innovation, video and communities of practice. The idea of progressive video assessment was born out of; my experience with WikiEducator, a belief of video as a good tool for communication, a deepening belief in progressive inquiry as a pedagogical approach and discussions with Neil Hammond of AIM language learning. The design for this website is well described in a blog post from a while back.
  3. Federated & Faceted Search: LIVE February 2011
  4. We had the requirement to upgrade an existing search engine due to performance reasons and the need to have the indexing federated over multiple information silos. The silos also exist within the legal space and needed to be optimized for the legal language. LexUM provided excellent solution design and software construction services, and the insights from the senior staff at CLEBC brought the user design to fit very well into the BC legal community.
  5. Taxonomy Mapping: LIVE February 2011
  6. This application you can't see directly, though the results are a part of search. We had an issue with our federated search in that not all the silos information taxonomies were aligned, so instead of the effort of cleaning up the source systems (which would have been a Herculean effort) we built a taxonomy mapping tool that gets picked up during the re-indexation of the federated search.
  7. Content Level Single Sign-On: LIVE March 2011
  8. Content level single sign-on goes one step further than cross server single sign-on. This approach enforces content access to the server level without being dependent upon the remote and partner servers authorization system. This solution architecture and derived service is the subject of a paper and another post... stay tuned.
  9. Migration and refactoring of legacy site(s): LIVE June 2011
  10. When building new services the hard part becomes integrating with the old sites and services, and supporting your existing customer base. Refactoring is a solid approach for you minimize the change, and focusing on ONLY what needs to be done to go live. Once everything in the new integrated solution has stabilized, then customer facing and feature changes can begin.
  11. Practice Manuals (with commenting): LIVE June 2011
  12. Adding Web2.0 features to existing services, particularly those with a successful history and continuing utilization in traditional publishing is hard. And getting it right requires boldness and a willingness to experiment. The publishing team at CLEBC has both the boldness and willingness combined with the rigorous approach you'd expect from legal editors.
  13. Document builder, An Online Precedents service: LIVE Spring 2012
  14. The ability to easily introduce new services integrated with an existing infrastructure shows the strength of the infrastructure. The ability for these new services to be integrated with the new CLEOnline and authorization web service test this ability. Even though I have long completed this project and am no longer contracting with CLEBC to see other projects go live within six months of my departure is a great thing.
  15. Engagement Questions: LIVE Fall 2011
  16. Leveraging video resources and remixing them with other pedagogical approaches creates new opportunities for professional development organizations.
I'd also like to thank many groups and individuals for making all these projects a success;
  • I'd like to give much thanks to the senior CLEBC management team for having the boldness, courage and patience for allowing these projects to germinate and get to completion.
  • I'd like to give equal thanks to all the senior staff at CLEBC for providing excellent guidance, leadership and design insight into shipping software to the legal community.
  • I'd like to thank AIM Language Learning for trusting my experience and taking action in building the AIM language professional.
  • I'd like to thank LexUM for always exceeding our expections in building an exemplary federated search and accompanying application solutions.
  • I'd like to thank Softlanding for their software engineering expertise, design suggestions and support in getting us to completion.
  • I'd like to thank AppNovation for thinking different and focusing on new media and building embedded video into their core competency
Needless to say, I am very chuffed about having shipped all this software. And having completed implementations as a Personal KPI I feel a great sense of accomplishment. I am looking for more projects to Sheppard to completion. If you have information technology based projects and need a proven and senior individual to get these projects to completion, don't hesitate to contact me.

Saturday, May 21, 2011

7 Tactics for IT Consulting

I recently read an excellent article describing some tactical approaches for law firms in dealing with the current pricing challenges the legal industry is facing. It is an excellent article that looks at the pricing issue from a number of different perspectives. Given my IT Consulting / part-time Director of IT practice has seen healthy growth over the last four years, with incredible opportunities presenting themselves in the last six months this article got me thinking about issues around pricing and how I should consider these through the eyes of an independent Senior IT Consultant. The article identified seven tactics, all of which apply to a forward looking IT consulting practice. This is my take on these seven tactics.
  1. Understand the Value of Your Services
  2. Determining your value is a challenge, it is like the value of a house; it is determined by what you can sell it for. The value of services comes as a hierarchy, ranging from those where you have a specialty that is hard to come by in your geographic location; to those services that are a commodity and easily found. What are your specialties? and what services do you offer that are unique? Some important advice from the article was to "Develop a communication and invoicing system that ensures clients understand the value in your services".
  3. Proactively Introduce Alternative Billing
  4. The idea of billing in different ways for IT services is a practice already in place. I see four different approaches to billing;
    1. Fixed Fees - this is a set fee for an agreed upon amount of work. This is good for work that has a reasonable amount of certainty and a very well defined scope.
    2. Hourly Fees - This is the most common when the work has a number of unknowns and is without certainty in the what is being delivered. It is a good way to begin a project when in the discovery phase.
    3. Percentage Fees - this can be based on the overall cost of the project once it is done. Or as a bonus system for completion and staying to schedule and budget.
    4. Value Added Fees - this is for when the work you are doing has a high value and occurs at a time with some urgency. Disaster recovery fits well here...
  5. Rebuild Your Cost Structure
  6. Take the time to review your cost structures and optimize, this will not only benefit your own consulting practice it will also benefit your clients. IT has continuous innovation and improvements which restructure the costs of getting things done. The most recent major trend in IT is the cloud and the cost benefit of leveraging the cloud can be significant. Also look at your operational costs; are there new (less expensive) ways to renew your software licenses? could you use open source? What about office space - could more office sharing occur in concert with remote working? Do you want to consider commute time as a part of cost structure - I use public transit and have increased my R&D and writing time my using my netbook and a mobile connection.
  7. Segment Your Client Base
  8. Balancing quality and capability with price is the challenge.With commodity services people are going to be looking at price, when you have a unique capability with good quality the price can be set at a premium. Reviewing your customers based on their price sensitivity and their willingness to pay the premium for the high capability / quality work is a good review to perform. Price your services accordingly while staying mindful of loyalty.
  9. Dump Margin Busters
  10. Some organizations are always squeezing the most for the least cost. These customers are hard to work with and disrupt doing good work. The interesting attribute is you often get this sense when first meeting with a new customer. Stay aware of your senses, if you feel a customer is going to be squeezing you on price, compare this to your other customers and ask where is best for you to be spending time. Getting work with your good customers, looking for new ones, or servicing those who are going to be squeezing you on price.
  11. Create a Loyalty Program
  12. Find ways to reward loyalty. And every year end assess your client list and compared to the revenue generated from each client and do a gut check on your experience with the client.Who do you want to continue to do business with? Who is better at paying bills on time? Who has provided you with longevity in work? Show thanks through discounts for continuous work? Consider providing free workshops that assist your customers understanding of IT while opening other opportunities. Provide discounts to customers who use your services for all their IT needs.
  13. Do Some Cost Accounting
  14. Figuring out what the break even rate is (with some profit) is important as you engage and re-engage clients. This is important to consider in relation to your billing approaches and  is good to have some published practices around cost accounting and rate setting so project managers and consultants can make good decisions as related to costs.
All these tactics should be considered together and need to realize the current market conditions for IT consultancy and where your firm sits with regards to reputation and capability. These tactics should be reviewed frequently and stay aware of the changes occurring within your client base.

Saturday, May 14, 2011

the value of reflective activities

Voxy published a good infographic on the use of mobile technology within learning. The infographic explores the use of mobile technology in learning with focus on mobile adoption by "digital natives", and how mobile technology could be used in modern learning. What really jumped out of this post is the value of using reflective activities to deepen learning. At the end of this post are some good questions as reflective activities meant to deepen learning, I would consider the answering of these questions in writing a really good example of writing as a reflective activity. Blogging is an excellent reflective activity and a good activity to engage when learning. If you are an inspired adult learner I would strongly recommend blogging as a regular practice. When you find yourself interested in a subject, start building up references using a tagging tool like delicious, read a lot, start writing a blog post. You don't need to publish the post right away, rework the post, deepen the references, continue to add to and edit the post. Be reflective. Once the post is ready, publish. At any given time you can have a number of posts in different states of completeness. These activities will deepen your learning. enjoy.

Tuesday, May 10, 2011

Book Review: Programming Collective Intelligence

I've been working my way through the book Programming Collective Intelligence; Building Smart Web 2.0 Applications by Toby Segaran. A very interesting read and I like the way the book tells the story of building collective intelligence into your applications. I was particularly impressed with the sample python algorithms and how grounded in theories and mathematical formula they were. Two that were used early in the book and referenced often were the Euclidean distance and Pearson correlation formula. Seeing both of these formula in code and put into the context of web 2.0 and social correlation was helpful in deepening my understanding of the math behind measuring collective intelligence.

I hesitated when I started reading the chapter describing search and how to build a search engine, I felt it was included just as filler for the book (a few chapters to add 100 pages or so). And I figured their are already too many books on how to build search engines. I am glad I pushed through, for once I started reading I began to see the point of describing and building a search engine. Descriptions (with source code) of how collective intelligence algorithms can be integrated into search were introduced. This is a huge and important topic when you think about social search and the use of the social graph is contributing and impact collective intelligence could have on search.

The next few chapters get into programming many aspects of collective intelligence using API's, existing data services and open source to get you to completed more quickly. The sections and code of most interest to me are within the social graph, making intelligent decisions for and about groups of people, utilizing data sets, decision trees and other intelligent services via programmable API's. Particularly important in these programming focused chapters were the examples and end of chapter exercises, working through these exercises provide the hands on experience to deepen understanding.

As I got into the later chapters I began to realize just how comprehensive the coverage of programming collective intelligence the book provides. I was particularly interested in the support vector machine and genetic programming. Even, though I do not commonly find myself programming in any depth I found the descriptions of these rather heady subjects well described and easy to understand. I also appreciated the closing chapters of the book where a review of the different algorithms is provided, how they are best utilized and their strengths and weaknesses. References to all the third party libraries was put into a single appendix as were all the mathematical formula.

Going through this book cover to cover, reading the examples and diving into a few (or all) of the exercises gives the reader a very good understanding of how much data and intelligent services are already available via API's on the Internet. Programming against these services and creating new services is a big part of the Internet as a research, knowledge and learning environment. Anyone interested in developing these new services, consuming these existing ones or interested in the mathematics behind collective intelligence, I strongly recommend this book.