Wednesday, April 27, 2011

Thanks to WSIS for hosting this OER debate

I want to thank everyone who has contributed to this oxford-style debate, both invited contributors and commentors. I also want to thank WSIS for creating the space for this event. Thank-you.

I have listened and read David Wiley and Stephen Downes go "head-to-head" on this and similar topics in the past. And thanks to both of them for their boldness and thoroughness. After years of struggling with the issue of copyright and educational resources I believe it has never been so clear to me as it is now. Lurking upon and commenting within this debate has been an excellent personal learning experience. And is very well aligned with some of my current writings on the subject; http://criticaltechnology.blogspot.com/search/label/fair-dealing.

What has emerged for me is as follows;
  1. There are two distinct views within this debate and I believe they have different and opposing interests.
    • Independent Learner (adult or otherwise): I consider this collective of individuals as the largest block of OER consumers and creators. In my opinion, from an educational resource consumer perspective, they can almost completely ignore copyright due to fair-dealing / fair-use (All they need to do is honour the BY). And > 70% want to contribute with a NC license. I appreciate Stephens reference to flickr on this. The independent learner (whether self-directed or institutionalized) is the target group for OER creation and consumption. All mass collaboration projects are examples of this, and its success. - I feel this group was under represented in this debate.
    • Institutional Faculty, Staff and Employees: This group is restrained by their being associated with large institutions (whether public, private, commercial, academic, govt; they are NOT independent learners) And they have to work within the guidelines (and legalities) of their institutions and cannot claim fair-use / fair-dealing. And cannot publicly encourage their students to claim fair-dealing / fair-use.
  2. both institutions and individuals should be left to decide the licensing scheme they would like to use by choosing one that would best support their values and mission. Dictating the licensing scheme keeps people from contributing to OER.
  3. we still need to be very weary of commercial interests impacting access to educational resources, cause they will come at it from many different directions. This Michael Geist post titled, "Q.Do Digital Locks Trump Educational Fair Dealing? A. Yes." pretty much sums it up for me. And is why I voted NO for OER to favour commercial use. http://www.michaelgeist.ca/content/view/5479/125/

Suggestion: Next time a similar debate is run please invite a few copyright lawyers with differing views (include fair dealing / fair use perspectives) and invite a selection of independent learners from different age groups.

Tuesday, April 26, 2011

Inspired Buccaneer Scholar

As a self-directed adult learner it is hard to ignore the work of the buccaneer scholar. When I think of the number of people who struggle to fit within the traditional school system, and those wanting to continue learning outside of the traditional institutions, the buccaneer scholar can be an inspiration. What I find most inspiring is his self confession of how he dropped out of school and took responsibility for his own learning. You can read all about James Marcus Bach on his website.

What I also find particularly interesting about his approach is how he brings playfulness and being competitive to his learning. And how he stretches the realm and references when trying to answer questions for himself. He seems not to restrain himself when it comes to staying within a domain of knowledge. I consider James an inspired adult learner who is using the Internet blended with new media and traditional approaches to enhance and deepen his learning.


Monday, April 25, 2011

Ignore copyright, its research and private study

With the fair-use and fair-dealing exceptions to copyright the independent learner can simplify their perspective when considering using copyrighted material for their research and private study. Other than attribution an independent learner can ignore copyright and use all available materials to learn with reckless abandon. These rather bold statements are based on common sense and not being able to find any case law that would lead me to a different conclusion. In Canada (and many other commonwealth countries) we have fair-dealing. Fair dealing allows limited and non-commercial copying for the purposes of research or private study, criticism, review, and news reporting.

With extensive searches for case law on fair dealing I was unable to find any legal challenges where a self-directed independent learner was being sued because they used copyrighted material for their research, private study or review. To support my position I believe it is important to answer three questions and make four important observations;

Questions:
  1. What is research?
  2. I particularly like this description of research for it includes the importance of communicating to others as being a part of research.
    Research is the systematic process of collecting and analyzing information to increase our understanding of the phenomenon under study. It is the function of the researcher to contribute to the understanding of the phenomenon and to communicate that understanding to others. - Leedy, P. D., & Ormrod, J. E. (2005). Practical research: Planning and design (8th ed.). Upper Saddle River, NJ: Prentice Hall.
    I also like the definition from the intellectual property office in the UK for it also stresses the importance of providing sufficient acknowledgment. And aligns well with my previous statement about attribution.
    http://www.ipo.gov.uk/types/copy/c-other/c-exception/c-exception-research.htm
  3. What is private study?
  4. After review of a number of definitions of private study I found them mostly to be very similar. It is quite clear that private study is an independent activity that includes reading, reviewing materials, writing and reflection. 
    ...in private study during term (not counting time in lectures, classes or supervisions). You should try to work out a regular plan for your week which leaves you several periods free for concentrated reading and writing. Work out in advance what you can reasonably expect to read in the time available, and when you need to stop reading and begin to organise your thoughts and write. - selected text from the definition of Private Study, Department of ASNC Anglo-Saxon, Norse & Celtic, University of Cambridge.
  5. What is review?
  6. There are many forms of review and they are all well described in the following Wikipedia article. What I particularly like about this Wikipedia article is that it includes many different forms of materials that can be reviewed. 
    A review is an evaluation of a publication, such as a movie (a movie review), video game, musical composition (music review of a composition or recording), book (book review); a piece of hardware like a car, home appliance, or computer; or an event or performance, such as a live music concert, a play, musical theater show or dance show. - Review. (n.d.). In Wikipedia. Retrieved April 25, 2011, from http://en.wikipedia.org/wiki/Review
Observations:
  1. Learning is a social activity, and there is no shortage of research and evidence in support of this. Learning with reflection, particularly public reflection deepens learning beyond similar activities without the public reflection.
  2. A well learned and skilled population gives a nation competitive advantage in the global economy. Therefore, I cannot see a court challenge finding against a person using any / all available material (copyrighted or otherwise) when they are learning. Particularly, when they are open about their use and are mindful of the six principal criteria for evaluating fair dealing.
  3. Within a personal learning context and given fair-dealings / fair-use, licensing then becomes about protecting the institutions. And no institution (online or otherwise), or its employees or faculty, are going to suggest to its learner community (students) to ignore copyright and claim fair-use / fair-dealing. This suggestion, made broadly, would be a violation of fair-use / fair-dealing. It is also why the institutions advocate so strongly in favour of copyright (I'll hedge because their lawyers have advised them as such).
  4. We really need some case law on this! Given none exists I'll hedge this falls in favour of the independent personal learner, and all copyright holders who have considered legal action against an independent personal learner and sought legal advice have been advised against taking action due to fair-dealings / fair-use.
Please keep in mind this is my position on this issue. I am a self-directed adult learner who believes learning is a social activity and by sharing publicly my learning I am deepening my learning, engaging in progressive inquiry and focusing my deliberate practice. I do not feel I am pushing the boundaries of copyright for I am consuming, reusing, referencing and mashing resources within the fair-dealings exception and we need some case law to provide guidance to this important issue of open educational resources, personal online learning and fair-use / fair dealings.


Request for information:
  1. If you are an intellectual property or copyright lawyer I would appreciate your commenting on this post from the legal perspective.
  2. If you know of an intellectual property or copyright lawyer, please forward this post and request they make comment.
  3. If you know of any case law regarding an individual self-directed learner within a fair-dealing or fair-use suit please forward it along.

Thursday, April 21, 2011

Building Online Learning Communities: A Technical Perspective

I added audio and synchronized it to my slideshare regarding the technical aspects of building online learning communities. This presentation discusses the technical aspects and things to consider when utilizing the services of the social media distributed internet when building online learning communities. The focus of the presentation is upon;
  • Dynamic Learning Communities
  • Content Level Single Sign-On
  • Look and Feel Guidelines
  • Web Services
  • Platforms
  • User Profile Management
  • Agility and Leanness

Director of IT, Part 3: Position Requirements

Described here are the Position Requirements for the Director of IT within the online adult education or professional development space. The post is formatted so the requirements are identified as the bullet-ed point where the why they are important is highlighted as dark red and in italics. This post has varied from the previous two where the importance is described for multiple requirements, rather than for each bullet-ed item. This is because the requirements occur in clusters around skills, knowledge and experience.

Formal Education & Certification
  • University degree in the field of computer science, business administration, or another rigorous IT related discipline. An advanced degree in one these fields or in adult education is a plus.
This requirement is about mastery of software development and business, having an understanding of traditional education approaches is also important for that is where most learners have come from. Completion of an advanced degree is preferred for it provides credibility and shows a commitment to advanced mastery in a subject. Completion of a variety of professional development certifications and online study would demonstrate a commitment to life-long learning and the variety of certifications demonstrates an understanding of different pedagogical approaches.
    Knowledge & Experience

    • Demonstrated ability to envision mobile, tablet and web-based services that meet consumer needs or solve business problems.
    Reference to numerous web sites where envisioning through implementation and into maintenance should be a source of pride for the Director of IT. Getting to completion is hard and seeing projects through to this achievement is a requirement to lead in this area. All members of the IT will check out the Directors work through time. Having numerous references for mobile and tablet may be more difficult as these have only been common to peoples portfolios in the last few years. Any Director of IT should show a deep understanding of all these user platforms and the business opportunities they present.
    • 5 years experience managing web application development.
    • 3 years experience with startup companies.
    Web applications are particularly customer focused; iteration and engaging the customer is very important when developing for the web. People attracted to developing for the web are a particular blend of skills and temperaments, all good. Experience with these two areas are very important for the Director of IT.
      • 5 years experience in public and enterprise environments.
      Most adult education currently resides in large public institutions. Having experience in getting things done within these large institutions and how they operate will assist greatly when building an online adult education organization, for they are your customer / competitor.
      • 5 years experience with social media and development of online communities.
      Much is to be learned by developing, participating in, governing, stewarding and lurking within social media and online communities. These experiences and the shift it creates only comes through being engaged.
      • Familiar with more than one software development methodology.
      • Ability to discern user requirements and develop specifications.
      Much has been learned in the last five decades about how to ship software. This is still a continually evolving field where new methodologies add value to many approaches and methodologies that have come before. This also includes utilizing many good things that have come from the past; specifically, strong requirements gathering and high customer engagement. Working with multiple stakeholders (and customers) to build a shared understanding either before or during software construction is always a best practice.
      • Has contributed to one or more open source projects.
      Open source projects (whether software or educational resources) expose you to the world of openness, particularly the meritocracy. Openness is a shift that is truely understood through hands on experience. This is particularly important for projects within the online educational realm.
      • Hands-on experience coding in more than one currently popular web application framework.
      • Skill with CSS, XHTML, HTML5 one or more Javascript frameworks, and AJAX.
      • Knowledge of version control systems and their benefits.
      This is about reuse and usability. Developing sites (web, tablets and mobile) has many tools, frameworks and approaches that assist teams in being more efficient and provide a better user experience. With the current and increasing focus on rich media and video within the adult learning experience being aware of the standards of CSS and HTML5 becomes increasingly important. Knowledge of version control and their benefits to keeping a healthy code base is an essential part a strong and effective software development team.
      • Skill with PhP and MySQL for application development.
      • Experience with Open Source platforms of MediaWiki, WordPress, Moodle, Drupal and other applications being used in the adult educational space.
      • Knowledge of Internet protocols and RFC standards.
      Most of the successful open source applications within the adult education space are built upon a PhP and MySQL technology stack. Being productive within these technologies will deepen understanding toward building solutions and reusing what is already available.
      • Knowledge of web, web service and RESTful standards.
      Nobody develops solutions in isolation and to be successful your application needs to play well with others. Harvesting and exchanging information connects the learner community to one another, web services, API's and RESTful services implements this inter-connection among sites and online applications.
      • Knowledge and Proficiency with Database design, optimization and administration. 
      The database is a key storage device for your collective intelligence, knowing how this works, is designed, administered and fits with knowing your customer will allow you to make good decisions around your data stewardship strategy and your business intelligence.
      • Experience with UNIX system administration and web server configuration.
      • Experience with Microsoft technology stack with particular focus on office automation, back-office operations and .net software development.
      Care and feeding of the server infrastructure is hugely important for business continuity. The partners, vendors and COTS that create the overall solution will very likely be deployed on a variety of platforms. This is particularity apparent when you include the back-office operational environment in the mix. As the company grows technology / software decisions will be made for growing the product offerings targeted at the customer, but the operational side of the business will also have technology / software needs. These different areas of the business may have solutions on different platforms, the Director of IT will be responsible for these platforms.
      • Familiarity with technical requirements of Internet marketing and search engine optimization (SEO).
      Attracting attention to all of the companies internet offerings; whether products, services or informational is very important to the organizations success. Marketing and SEO requires thoughtful engagement when social media is a growing part of successful marketing and SEO.
      • Familiarity with information security vulnerabilities and risk management.
      • Familiarity with consumer privacy and payments industry compliance requirements.
      Server security and information privacy is paramount. Particularly when your customers need to be participating as themselves within the online learning communities and with their content creation activities. Having a well documented strategy and proven activities (technical and otherwise) within these areas will provide peace of mind and confidence for your customers and operational staff and encourage participation.
      • Exposure to business theory, business process development, governance processes, management, budgeting, and administrative operations.
      The Director of IT provides leadership and decision making for the daily operations for the IT Team. They are also the IT representative on the senior management team, it is expected they provide leadership in growing and keeping IT healthy, budgeting, improving governance and optimizing IT overall.

        Personal Attributes

        • Proven leadership ability.
        • Ability to set and manage priorities judiciously.
        • Excellent written and oral communication skills.
        • Excellent interpersonal skills.
        • Ability to articulate ideas to both technical and non-technical audiences.
        • Exceptionally self-motivated and directed.
        • Strong desire to lead agile / lean software projects and to iterate frequently.
        • Keen attention to detail.
        • Superior analytical, evaluative, and problem-solving abilities.
        • Exceptional service orientation.
        • Ability to motivate in a team-oriented, collaborative environment.

        Work Conditions

        • On-call availability and periodic overtime.
        • Sitting for extended periods of time.
        • Dexterity of hands and fingers (or skill with adaptive devices) to operate a computer keyboard, mouse, and other computing equipment.

        A complete description for the Director of Information Technology as a pdf follow this link; http://www.rawsthorne.org/docs/directorofit.pdf

        Sunday, April 17, 2011

        Director of IT, Part 2: Responsibilities - Operational Management

        Described here are the Operational Management Responsibilities for the Director of IT within the online adult education or professional development space. The post is formatted so the responsibility is identified as the bullet-ed point where the why it is important is highlighted as dark red and in italics.

        Operational Management
        • Maintain up-to-date knowledge of technology standards, industry trends, emerging technologies, and software development best practices by attending relevant conferences and reading widely (include writing a weekly blog and reading your peers’ blogs!).
        This is an eat your own dog food kind of a responsibility. All Directors of IT working for adult education organizations should be utilizing (or playing with) many eLearning 2.0 tools and technologies. They should be using these tools and technologies to learn all they can about the emerging technologies and pedagogies to support adult learning. Adult education is quickly moving toward self-directed learners using their personal online networks combined with emerging technologies to learn deeply within a schedule that respects their many responsibilities inside and outside of work. The Director of IT should be doing exactly this for their own professional development. They should continually be blogging about their experience in this realm.
        • Define and communicate company values and standards for acquiring or developing systems, equipment, or software within the company.
        Setting the values around, the standards and approaches to bringing new IT systems and infrastructure to the organization is best done as the requirements arise, and no sooner. Grounding these definitions in actual events and decisions honours the organizational culture and assists in peoples understanding toward the innovation. It would be best for these communication activities be through traditional meetings and presentations while also using web 2.0 tools and approaches to provide access to all related artifacts and documents. Being transparent goes a long way toward good leadership.
        • Ensure that technology standards and best practices are maintained across the organization.
        Official and rigorous project kickoffs and project postmortems with focus on standards and best practices will assist greatly in bringing alignment to an organizations technology practice. Just in time learning works very well when applied to actual projects, at any stage of their progress.
        • Share knowledge, mentor, and educate the organization’s board or directors, management, staff, partner organizations, customers, volunteers, and stakeholders with regard to the company’s technological vision, opportunities, and challenges.
        Having alignment from all parties, stakeholders and leadership with the organizations technological vision, opportunities, and challenges will go a long way to meeting the organizations business objectives and moving technology toward those objectives. Technological change moves at a rapid rate and keeping all decision makers and people impacted by the change well informed will ease implementation and assist in getting management support.
        • Ensure company technical problems are resolved in a timely and cost-effective manner.
        For the IT team this should be made one of their topmost KPI's. The ability to resolve technical issues in a timely and cost effective manner will build confidence in the IT team both internally to the team and externally with the organizations staff and partners. Building an IT team culture for resolving technical problems should be a priority for the Director of IT.
        • Develop, track, and control the development and deployment of annual operating and capital budgets for purchasing, staffing, and operations.
        Being responsible for the budget means your responsible for the budget. This includes the burn rate for all the IT department does and forces understanding of all items within the IT portfolio. Sometimes it can be surprising where burn can occur, being able to see this in the context of the IT portfolio can be very insightful.
        • Supervise recruitment, training, retention, and organization of all development staff in accordance with the company hiring process, personnel policies, and budget requirements.
        Building great teams is hard, keeping them great is even harder. The director of IT needs to have the largest influence of the spirit of the team particularly as the senior representative of the team. Being sensitive toward the internal needs of the team while being mindful of company policy and requirements.
        • Establish standards of performance and monitor conformance for staff (through performance review) and vendors (through service level agreements).
        A great deal of flexibility in approach is required for success. Team members and employees are all different and the ways to encourage performance can vary greatly. With Agile teams a 360 performance review approach goes well with sharing the teams successes. Sharing success goes without saying, in the end the individual in the agile team performance assessment is the more difficult. Be open, use facts, be agile about it. Service level agreements go a long way toward encouraging good performance from a vendor or partner.
        • Ensure the company’s internal technological processes and customer-facing services comply with community expectations and applicable laws and regulations for privacy, security, and social responsibility.
        Honouring privacy, security and being socially responsible is paramount. All technology teams working in the adult education space need to have eyes and ears to all the issues around intellectual property, personal and cohort privacy and how these fit within content creation, sharing and learning. Opportunities abound within the areas of online learning, knowledge management, content creation and collective intelligence. Building a business in these areas means doing the right thing, but also pushing the boundaries of the legislative boxes. Online learning, new media technologies and content creation / sharing are pushing the boundaries of privacy, security, intellectual property and social responsibility; being active in these areas is where the adult eduction opportunities occur.
        • Promote achievement of the company’s business goals within a context of community collaboration by developing policies for sharing software code, technological innovation, business processes, and other intellectual property.
        It may seem counter intuitive for business to share its code, innovation, processes and intellectual property. In a world of hyper competition and knowledge economies how else do you stay in front but by having the community and consumers support you by knowing your business internally and helping in improving on what you do. Business and personalization makes all your customers business partners, particularly when assisting in their life long learning.
        • Contribute to open source software development, standardization of technologies, and evolution of best practices by collaborating with peers outside the company, releasing code, presenting at conferences, and writing for publication (online or offline).
        Great ideas often come from unexpected places. And whether you are providing or receiving great ideas is a balance that benefits both parties. Sharing, Contributing and getting out into the open is and essential part of being involved in the conversation.

        A complete description for the Director of Information Technology as a pdf follow this link; http://www.rawsthorne.org/docs/directorofit.pdf

        Saturday, April 16, 2011

        MUSIC 101: Mastery of the Pipe and Tabor

        This is what I would consider mastery of the Pipe and Tabor!

        MUSIC 101: Introduction to the Tabor Pipe

        WEEK 1

        Activities:
        • With great excitement I received my new Tabor Pipe last week. I immediately unpacked it and gave one of the three pipes a quick blow. So wonderful to have it in my possession. I ordered three, because my friend Henrik (who is already a whistle blower) will be helping me learn the pipe and I figured I'd give him one in thanks.
        • I also transposed "twinkle twinkle little star" to the music sheets I created for my learning, this was a great help to get used to the holing as I learn to read music. I hope soon I will no longer need the sheet with the holing indicated and I can just read the music.
        • I spent a fair bit of time learning the piece and I can now play it from memory. I really enjoyed sitting on the beach a few days back and spend a good hour playing the tune.


        Recording:
        At the end of the week I recorded "twinkle twinkle little star"; yes, I've got a long way to go to be considered a master of the instrument. Consider this the base line to my ability to play the whistle... a recording of where I started.




        Reflection:
        I learned much this week; about music, about being a whistle blower and about my simple recording studio. My main lessons were;
        1. No matter how hard you try, your instrument has to be in the correct key for the song to sound right.
        2. Overblowing as a way to have all the notes from a three hole pipe is going to be part of the challenge.
        3. Need to remember / study music notation sooner than later.
        4. Writing out the sheet music is also a good learning activity.
        5. Spending time working with the music studio will pay huge dividends, and I'm best to start with audacity as my recording software and move to ableton when I I want more full music studio features. This is mostly due to the learning curve of ableton.
        If your an adult learner who has ever aspired to learn a musical instrument; be bold, begin it now. If you don't believe you have the talent I suggest you read; Talent is Overrated by Geoff Colvin.

        Cumulative commitment: 10.5 hours
        • 3 hours playing
        • 1 hour reading
        • 0.5 hour transcribing to sheet music

        Wednesday, April 13, 2011

        Tagging for community of practice

        I updated the audio associated with this slideshare. This presentation does a deep dive on using tagging within a community of practice (CoP). It includes explores the creation of folksonomies and how to use tagging to engage and build a CoP. The presentation includes a couple of formative activities to assist in your learning.

        Tuesday, April 12, 2011

        A home recording studio

        I am preparing to record my first musical piece on the pipe and tabor using the home music studio. The piece will be twinkle twinkle little star. To start, I believe it would be useful to describe the technology within the home studio and why we decided on the setup we have.

        Requirements:
        MIDI ports and cabling
        We had a generic set of music and audio recording requirements. Where the system would mostly be used for my daughter in her music recording and composition and for my recording of podcasts, screencasts and music recording. Our requirements were as follows;
        1. Works well with our existing Yamaha MIDI keyboard
        2. Records acoustic instruments, including voice
        3. Allows for multi-track music composition and includes a good suite of  built in instruments
        4. Total costs less than $1000.00
        Solution:
        We found ourselves an inexpensive desktop machine running Windows XP with a big HD and lots of RAM and a reasonable monitor and video card. We added a wireless card so we could attach the household wireless network without stringing any wires around the house. We chose a M-Audio FastTrack Pro as the main "hub" to attach all the components within our requirements. A strong benefit of choosing the M-Audio is it came packaged with Ableton Live a Digital Audio Workstation that provides all of the features (and more) than we require. After installing Ableton Live we were prompted to install the free upgrade, this included over 100 instruments. We also included an Audio-Technica microphone kit with both an instrument microphone and voice microphone. This mix of the M-Audio FastTrack Pro combined with Ableton Live, the Audio-Technica microphones and some MIDI and microphone cables provide us with all we need. And in the last six months my daughter has composed a number of pieces and managed to get an interview on a local coop radio station.

        M-Audio Fasttrack Pro and the mix of devices it can attach.


        Recommendations:
        If you do go down a similar path with this hardware and software configuration I strongly recommend you invest time in understanding the relationship between the system settings for your audio devices, your internal soundcard, the m-audio device and the Ableton Live software. Once you figure out how to configure these to work together with the USB connected m-audio device you will be able to better manage how all the devices work together. I know this seems like an obvious statement, but once I had a deeper understanding how these worked (beyond just getting it working) I was much better at utilizing all the individual components and was able to use other software within the whole setup.

        Audacity audio recording window
        Audacity:
        All my effort in putting this system together and understanding its configuration has paid dividends. With my working on a #nophd I am now back to creating podcasts, screencasts and slidecasts and my tool of choice is audacity for audio recording. It is a great opensource audio editor which I am already familiar. I really like the crispness and clarity recording through the new microphone configuration, it is much cleaner than using an internal microphone or an inexpensive headset microphone. Soon the decision will come if I use audacity or ableton live to record my musical efforts... expect a new post soon on this music recording topic.




        Monday, April 11, 2011

        Director of IT, Part 1: Responsibilities - Strategy & Planning

        Described here are the Strategy and Planning Responsibilities for the Director of IT within the online adult education or professional development space. The post is formatted so the responsibility is identified as the bullet-ed point where the why it is important is highlighted as dark red and in italics.

        Strategy & Planning

        • In partnership with the organizations leadership team, identify opportunities and risks for delivering the company’s services as a mobile and web-based business, including identification of competitive services, opportunities for innovation, and assessment of marketplace obstacles and technical hurdles to the business success.
        Most important here is identifying opportunities and risks in mobile, tablets and web-based business, due to the rapid changes with online adult learning. Also IT experience is required to assess technical hurdles when identifying opportunities for innovation, do not underestimate strength in tenured IT professional for this task.
        • Identify technology trends and evolving social behaviour that may support or impede the success of the business.
        Being a "student" of  Web2.0 and semantic web is very important as these paradigm changes are having an increasing impact in how people use, interact with and learn socially online. In particular, it is becoming increasingly recognized that social and networked learning is the emerging learning paradigm for adult life long learners. The recent trend of leadership transparency and open data are also important trends which provide great benefit to IT.
          • Evaluate and identify appropriate technology platforms (including application frameworks and the deployment stack) for delivering the company’s services.
          There is a plethora of technology platforms to implement solutions within the adult learning realm. Some are proprietary, some are open source. Choosing the best platform given existing systems and restraints for delivering solutions is a business driven decision heavily influenced by IT knowledge and insight. This is particularly important when thinking about total cost of ownership and the costs of integration.
          • Lead strategic planning to achieve business goals by identifying and prioritizing development initiatives and setting timetables for the evaluation, development, and deployment of all mobile and internet-based services.
          This is most important for getting to completion. The project dependencies and critical path needs to be determined with a greater depth of knowledge in how the complexities and dependencies can impact schedule and downstream projects. This in particular requires breadth of IT experience.
          • Participate as a member of the senior management team in establishing governance processes of direction and control to ensure that objectives are achieved, risks are managed appropriately and the organization’s resources are used responsibly, particularly in the areas of software development, office networks and computers, and telecommunications.
          Voices of experience are essential when establishing governance processes, when initiating and improving governance within the realm of IT this should include all senior management views, including the experienced IT view. Director level skill, knowledge and experience is important in getting it right. To move forward with governance the organizations underlying assumptions need to be challenged and processes improved to accommodate changes brought by rapidly changing IT. A review of double loop learning and the learning organization can assist.
          • Collaborate with the appropriate departments to assess and recommend technologies that support company organizational needs.
          Assessing and recommending technologies requires having an overall knowledge of the organizations IT infrastructure, its active projects and running software. This is also best done with an IT portfolio management approach combined with capabilities-driven IT strategy, for these include great insight into all current IT and near to release software and work toward increasing overall IT (and business) success.
          • Establish a governance process that meets government, partner, and company expectations for customer information privacy.
          Keeping an eye on this is very important. Most jurisdictions have information and personal privacy laws and these need to be respected. Many organizations will have more than one IT initiative that is internet / student / customer focused. Ensuring that information privacy is honored should be one persons responsibility. Given technical complexity this should be the Director of IT's responsibility.
          • Direct development and execution of an enterprise-wide information security plan that protects the confidentiality, integrity, and availability of the company’s data and servers.
          Given the importance of corporate data / information this should be the responsibility of one person on the senior management team, the Director of IT is the best choice.
          • Direct development and execution of an enterprise-wide disaster recovery and business continuity plan.
          Given the importance and technical nature of disaster recovery and business continuity this should be the responsibility of one person on the senior management team, the Director of IT is the best choice.
          • Communicate the company’s technology strategy to board of directors, management, staff, partner organizations, customers, volunteers, and stakeholders.
          Someone needs to be responsible for evangelizing the company's technology strategy. This should not fall to another C-level role(s) as their priorities and voice is focused on other areas of the business. Director of IT needs to be seen as responsible and owning the technology strategy, communicating it is the best way for this to be done.

          Implementation & Deployment

          • Select and set up web-based internal communications systems, such as a wiki, blog, chatroom, project management, and bug tracking systems (in the absence of a system administrator).
          This should encourage transparency on all internal projects. Through openness dialogue increases and people have a better opportunity of being aware of all activities. These repositories contribute to the business / collective intelligence and knowledge management for the organization, all these sources should be indexed with internal search engine. If system administrator is available they should be made responsible for selection and setup.
          • Collaborate with the senior management, staff and potential customers to develop use cases (or user stories) and specifications that describe the implementation of the company’s services as mobile and internet applications.

          Being Agile in your approach to systems development is very important to your organisations nimbleness and success. Engaging the decision makers and customers when designing and implementing is also insanely important. The Director of IT should champion the gathering of use cases / user stories and use these to drive development.
          • As a member of the senior management team, establish a customer service and support process, with particular responsibility for mobile and web-based services that implement the support function. 
          Moving customer service and support to a self-serve approach with rich-media resources available on mobile and web based interfaces. Customer service should help those who cannot help themselves. Setting up an online community for customer self-serve support with customer service engaged in the online community.
          • Establish a process to integrate customer service and support with the software development  process to support resolution of customer issues and improve application usability.
          Creating a deeper connection between the customer and the software developer will increase the usability and focus the features to increase customer engagement Customer service should consolidate and manage the incoming user issues and provide support for the customer facing features and usability enhancements.
          • Collaborate with a User Experience Designer and potential customers to prepare wireframes or mock-ups of a prototype of the company’s applications.
          Engaging customers in design is a really good idea. The lean software movement (if I can call it a movement) is a strong advocate for customer engagement. And for good reason...

          Using wireframes is also a great way to engage in a discussion about what is important within the User eXperience (UX) and how the software is supposed to work. It also allows important information to be discovered before the development effort gets to far down the path. Wireframes save time and money.
          • As a member of the senior management team, participate in the selection of a graphic designer(s) who will create the company corporate identity and design the web application’s look and feel. Ensure that the graphic designer(s) have sufficient web experience, follows guidelines established in the User Experience design process, and delivers assets that can be easily adapted to mobile, tablet and web requirements.
          This is about getting the right mix of design savvy and technical abilities. Having the Director of IT of other senior IT person to assess the designers technical abilities, particularly as they relate to mobile and tablet. Things are changing rapidly and UX is changing rapidly with the emergence of new devices and UI standards. Getting the correct designer is very important. The selection process needs to include investigation of the candidates ability to follow guidelines and be aware of industry standards.
          • Participate in the selection and registration of the company’s web site domain names, including any related-but-unused domains that could compromise the integrity of the business (through competition, typosquatting, etc.).
          Protecting brand and driving traffic to the companies site is very important. This will also become a part of the Search Engine Optimization as driving traffic becomes increasingly important. 
          • Select and set up a software revision control system and repository (in the absence of a system administrator).
          Good version control encourages collaboration. Versioning should be a practice applied to software code as well as database creations scripts and design documents. Begin thinking outside the box here, find very efficient was to capture design (recorded video, constant blogging, etc. ) and index all the repositories across a federated search engine for fast retrieval.
          • Select and manage company staff or outsourced vendors who will implement a design as mobile, tablet and web pages using CSS, XHTML and HTML5 conforming to web standards.
          User eXperiance is quickly consolidating around open standards for UI creations and cross platform abilities. The CSS and HTML5 standards are ones to be embracing. Particularly if you are wanting to be well prepared for coming mobiles and tablets.
          • Select or define the company’s software development methodology.
          A consistent software development methodology both internally and with you partners greatly assist in getting to completion. Steps are less likely to be missed and roles and responsibilities are better understood. Best to choose a methodology that suits the internal team best and then seek out partners that come with the same methodology.
          • Establish a specification conformance and testing regimen based on user stories and the User Experience design.
          End-to-end traceability is very important for a mature software development methodology. Basing testing and conformance upon user stories becomes very powerful in that many other software development events can be derived from this practice. These events include determining the heartbeat of the software development team, estimating effort, quality and software deployment practices.
          • Promulgate coding conventions and documentation standards.
          Someone needs to evangelize the need for coding standards and documentation. Who best then the Director of IT.
          • Review current best practices for the selected mobile, tablet, web and application frameworks and establish the architecture(s) for all applications.
          This is about finding the best architecture for each and all of your product offerings. Its about having one person responsible in ensuring all what you offer online works together, is costing the least it can, performs well and exceeds the customer expectation. The one person responsible for all this should be the Director of IT while working closely with solution / infrastructure architect(s).
          • Select and manage company staff or outsourced vendors who will implement the applications.
          Having the right people, in the right place, at the right time takes experience. Identifying these people and managing to their strengths takes good leadership. Having an experienced Director of IT with proven leadership abilities goes a long way in putting together teams to complete application implementation.
          • Develops business case justifications and cost/benefit analysis for technology initiatives. Prepares request for proposals (RFP's) for technology equipment and services.
          Having IT initiatives grounded in business cases and cost / benefit analysis helps to build understanding, create the discussion and the supporting documentation to determine where all technology initiatives fit within the organization IT portfolio. Once the projects are identified that provide the greatest business benefit these can managed within the organizations IT  or be put out to RFP to determine an appropriate vendor. RFPs well managed can provide insight into potential solutions as well as the potential vendors.
          • Liaise with vendors and service providers to ensure efficient and cost-effective acquisition of technology purchases; oversee warranties and service agreements.
          Working with technology vendors and service providers is a partnership that can become more valuable through time. Technology solutions fit better when they are made with knowledge (both historical and current) of the workings and strategy of the business. Having alignment of these with technology purchases, warranties and agreements assist in having good partnerships and integrated solutions.  
          • Establish and supervise the software development process, setting short-term objectives and assessing progress as defined by the selected software development methodology.
          Identifying and establishing the heartbeat for IT is the Directors responsibility. All software development teams establish a heartbeat based on how frequently they deliver software with how many features. Having a solid software development methodology encourages this kind of consistency. Communicating the themes and objectives of each new release should be aligned with the business strategy and IT portfolio.
          • Conduct code reviews and specification conformance testing as defined by the selected software development methodology.
          Code reviews and testing is an essential part for great software. This needs to be championed by a senior IT person and the Director is best as champion. I strongly believe that an Agile software development methodology is the best way to go, therefore the code review would be done via the pair during their pair programming (or whatever the teams derivative of pair programming becomes). Having dedicated testers that are not the programmers is a good idea. The tests should be derived from the user stories and automated. Taking a Test Driven Development approach is a really really good idea.


          • Establish and supervise a quality assurance process, including integration and system testing.
          This responsibility is closely tied to the previous one as code reviews and testing is a part of quality assurance. How this differs is that code reviews and testing at the development (or programmer) level are focused upon each unit, feature and / or use case. The level of quality assurance within this responsibility has to do with the system as a whole from system, integration and user experience testing. It is often a good idea to move these quality assurance activities far away from the application software developers. To be thorough here the Director of IT could move this aspect of quality assurance out to the other areas of the business, where these users work with professional testers to complete the final rounds of testing.
          • Select, deploy, and monitor performance profiling tools and procedures.
          They say, "if you can measure IT, you can manage IT." (a play on Peter Drucker's quote) The idea being that you need solid insight (show me the data) into what is going on to be able to intervene and make improvements. The software development life cycle and production IT environments are no different. The Director of IT should have tools and procedures to gather this insight, they should also be responsible for making sure these tools (and accompanying reports) are available to all staff.
          • Review and approve proposed development releases and manage the release process.
          facilitating the decision process(es) to determine the features to include in the next release is key responsibility of the director. The actual decision should be the users, business analyst(s) and subject matter experts responsibility, the Director needs to be sure the feature list is within the teams heartbeat of features and schedule. And ensuring releases make it through to production release is also the Directors responsibility.
          • Evaluate and select web application hosting providers.
          Given the 7x24 and administrative value found in hosting servers in the cloud or at a co-location it doesn't make sense to build up your own internal (Internet facing) server infrastructure. Considering all the issues of information privacy, internal knowledge, disaster recovery, connectivity, etc... it becomes an important decision of where to place the server infrastructure.
          • Establish an application deployment process and supervise deployment to staging and production servers.
          Moving deployment through to production should be rigorous with well known procedures and schedule that best suits the running of the business and encourages customer utilization. New features should be deployed at times that best suit the customer while providing IT the metrics to stabilize and monitor the release.
          • Monitor application performance and review any application failures in staging or production.
          Having automated and instantaneous feedback from the application, in particular during release cycles. The ability to adjust quickly and tune for performance should be paramount during release. Having the authority to take action should fall the director or be appropriately shared.
          • Establish and monitor a web analytics regime that measures site traffic and application usage relative to business goals.
          Bring all web analytics data into management dashboards and business intelligence tools. Wherever possible map analytics to business goals.
          • Support the marketing process by providing implementation of technical requirements for Internet marketing and search engine optimization.
          Constantly align and optimize the website with the marketing initiatives, what can be found through one media, should be found from another online source. Driving traffic from multiple  sources offers business benefit.

          A complete description for the Director of Information Technology as a pdf follow this link; http://www.rawsthorne.org/docs/directorofit.pdf

          Sunday, April 10, 2011

          Director of Information Technology

          Six months ago I started to research the role of the Director of IT. In particular, what are the roles and responsibilities of this leadership position within the adult educational technology space. Describing this role drew on many of my competencies; I find my graduate studies and background in teaching adults is very important in understanding the educational space, in the end I found myself referencing my leadership experience as a technologist most frequently.



          Providing leadership to this role is multifaceted and requires skills, knowledge and the ability to communicate across the organization. My approach to describing this position was to search and read many descriptions that fell within the CTO, CIO, Director, Founder, Architect and Educational Technologist. What I found can be described within three themes. Each theme is described in detail in the three following posts;

          Director of IT, Part 1: Responsibilities - Strategy & Planning
          This post describes the directors responsibilities toward leadership within the strategic planning process and in building the IT team. This is a very long post and gets into many aspects of keeping the IT team strong, thorough and focused on success. Strategy and planning for the Director of IT is about building a great team (either internal employees or external partners, or a mix of both) and aligning the IT strategy with the business. The business will provide the strategic plan, where IT will provide a large part of the tactical plan.

          Director of IT, Part 2: Responsibilities - Operational Management
          This post describes the director as an active participant in keeping IT nimble, setting direction, staying up to date with technology trends, keeping the team focused, releasing systems and software regularly, communicating with the staff, the IT community and with the executive and directorship, aligning IT success to the business strategy and contributing to the educational software community.

          Director of IT, Part 3: Position Requirements
          Where the first two posts describe what the Director of IT is responsible, this post describes the skills, knowledge and experience required to be successful in the role. A Director of IT in the educational space needs to have a solid background in IT (where they have occupied many IT roles), have a graduate level understanding of adult education and a broad understanding of both proprietary and open source technologies and how these two inter-operate.

          Wednesday, April 06, 2011

          Raskspace Step 4.1: Email Forwarding Server

          My email configuring research took me down the path of purchasing the Postfix: The Definitive Guide by Kyle Dent. Fortunately, I purchased to book in digital form so I can get started my reading right away. As I mentioned in my previous post I am concerned about setting up a spam server, if I set up a mail server incorrectly it could become a relay server and I could get my domain blacklisted. I have learned a lot over the last few days with all the reading that is available regarding setting up a mail server. And the conversations I have had with rackspace and one of my clients system administrators has really helped. What stands out for me most is that installing a mail server on Linux requires a lot of pieces. These pieces help with the following services;

          High-level postfix and supporting services architecure
          • the mail server
          • data storage
          • forwarding to POP and IMAP
          • security
          • spam filtering
          • other optional services

          Given my architectural background I find images very useful in prompting questions, deepening my understanding and putting together an architecture. I have also come to the realization that what I am looking for is more of an email forwarding server. I am wanting to host half a dozen domain names with two to five email boxes per domain. Each email box will have a primary email and a couple of email aliases. All the email coming to these mail boxes will be forwarded to peoples respective gmail accounts. Given this forwarding I should be able to remove all of the services responsible for the POP and IMAP integration. This means I do not need the Courier half of the above diagram. I believe the architecture I am going to end up with is going to look like a simplified version of the above diagram.

          Implementation without having Courier.
          Fortunately, the postfix book I have purchased covers all the components required to install a mail server. So, a couple of days reading the book and a few quick reviews of the online installation guides and I should be ready to go. Given my simplified architecture, I believe I am only going to require the following services;
          • the mail server
          • data storage
          • security
          • spam filtering
          One thing to remember is that by having a backup copy of the server configured so far makes it very easy to restart the mail server installation again if something doesn't work out.

          Monday, April 04, 2011

          Rackspace Step 4.0: The Mail Server

          Setting up the mail server is the most important of steps. Not to say that securing the server and installing Apache, MySQL and PhP isn't important, it's just that a mail server set up incorrectly can become a spam server. A spam server can have a negative impact on other people; where the other servers (Apache, MySQL and PhP), incorrectly setup, mostly have a negative impact on yourself. This is why I believe correct setup of the mail server is so important. Doing a lot of reading around this is important. The following is a good list of sites and pages to read as you become more familiar with setting up a Mail Server. After having read through all these sites and a few others, I would recommend the Mail Server - Overview from rackspace.
          1. http://cloudservers.rackspacecloud.com/index.php/Mail_Server_-_Overview
          2. https://help.ubuntu.com/community/MailServer
          3. http://articles.slicehost.com/2010/3/1/barebones-postfix-install-for-ubuntu 
          4. https://help.ubuntu.com/community/PostfixBasicSetupHowto
          5. https://help.ubuntu.com/community/Postfix
          I see all this reading, research and private study as step 4.0 of the mail server setup, step 4.1 describes the architecture of my mail server configuration due to it only needing to forward mail and not provide client access, step 4.2 will get into the actual process of installing, configuring and securing the mail server. I had a chat with rackspace technical support last night as I was considering using their email and apps service. After describing my need of just a few email addresses from a few of my domains all redirected to respective gmail accounts it still seems like the best idea is to setup postfix (and related mail services) on my own server. Designing / Architecting the best mail server solution is the thrust of this 4.0 step.

            Rackspace Step 3: Creating the LAMP Server

            In the past there was usually a number of steps to set up an Ubuntu cloud based LAMP server. This can also be done using a single command. However you install the AMP on your Ubuntu (Linux) Server one important thing to remember is to install the php-mysql package after mysql. Usually installation takes the following steps;
            1. Install Apache
            2. Install MySQL
            3. Install PhP
            All of these steps can also be completed with a single command of;
            # sudo apt-get install lamp-server^


            After running the apt-get command you will need to reboot the server to finish the install and preform a couple of tests to check everything is working. First test would be to point your browser at the ip address of your new server; if apache was installed correctly you should get the following web page;


            Once you have confirmation of the apache web server working you should then check the php and mysql features are also working. Creating a simple html / php script will help with this;

            <html>
            <body>
            The Apache2 server works!</br>
            <?php
            print "PhP5 is working!</br>";
            $usr = "username";
            $pwd = "password";
            $hst = "localhost";
            $dbms = mysql_connect($hst, $usr, $pwd) or die("Unable to connect to MySQL");
            print "Connected to MySQL!</br>";
            mysql_close($dbms);
            ?>
            </body>
            </html>
            Save a similar section of code with your MySQL username and password to a file with the .php extension in the root directory of your web server (should be /var/www) and point your browser at this new file. If all goes well you should get the following lines displayed in your browser. Congratulations, you have a running LAMP server (In a coming post I will talk about securing PhP and mySQL).

            The Apache2 server works!
            PhP5 is working!
            Connected to MySQL!
            Again, this would be an opportune time to do a complete backup of your LAMP server so you have an image to restore from as you continue in setting up your new server.

            Sunday, April 03, 2011

            Rackspace Step 2: Securing the new server

            The first step in setting up the new server should always be securing the server the best you can before you continue. An overview of this process can be found in the following video by Chad Keck.



            A step-by-step description of this process can also be found on the Rackspace Cloud Server Knowledge Base. In summary the process of securing the new Ubuntu server included the following main steps (I've included a few links for your reading, particularly for configuring ssh and the firewall);
            1. Give the root account a new password
            2. Create a new administrator account and give it the correct permissions
            3. Update Ubuntu
            4. Lock down SSH connectivity
            5. Firewall configuration
            6. Configure Ubuntu to reload these new configuration when it reboots
            7. Set the local timezone
            Now is a good time to test out all this new configuration. Reboot your server from within the rackspace management console and then login with your ssh client and test only the new account gains access. Also, once logged in check the timezone is correct.

            If all is good it would also be a good time to backup the server so you have a secured image to restore from as you continue down setting up the server.

              Saturday, April 02, 2011

              Rackspace Step 1: Creating an account

              I started to migrate all my sites to rackspace today. I've been a netnation user for many years and it has come to the point where they couldn't support want I wanted to do. I need to build some RESTful APIs and needed access to some of the server configuration files... after a number of support calls they said they couldn't do what I wanted.

              I already have a number of clients who I've moved over to rackspace so it was time to do the same for myself. This process took a while for I needed to move a couple more clients off my netnation instances and clean up some old blogs that I wanted to keep around. All that is done, so I begin the move. 
              A great way to get started with creating a cloud server is to watch this introductory video; 



              The features that stood out for me from this introductory video is how you can do the following with a rackspace cloud server;
              1. create a new server instance from a backup, allowing you to create a "template" image that you can use for subsequent cloud servers.
              2. the ability to rescue a server from another server instance by mounting the "damaged" servers file system.
              3. rebuild a server by restoring it from a backup without losing the servers existing IP address.

              Rackspace android app
              An important issue came up right off the start. I had set up a client using my preferred username and after contacting rackspace support told me I couldn't change the primary username for a rackspace account. I should have known better. A lesson well learned, never use a personal login name for a client. In the end its all for the better for I am going to use another preferred username and make it more robust by putting leets in both my username and password. A more secure solution.

              After completing my account setup I created an API Key so I could access my rackspace instance from my android phone. This is a nice feature that would allow me to either soft or hard reboot the server, allow me to resize a server (most likely due to performance needs) or delete the server completely. I'm looking forward to more features becoming available with the android app; the ability to backup and recover. After that a nice ssh app for the android and all would be good...