My column “Danger! Do not implement SharePoint in your organization!” has been reposted on EndUserSharePoint.com
(or read the original on LegalITProfessionals.com)
My column “Danger! Do not implement SharePoint in your organization!” has been reposted on EndUserSharePoint.com
(or read the original on LegalITProfessionals.com)
Bad Airline Customer Service: No One to Complain To – TIME
So this article strikes a nerve with me – and probably with almost anyone who has the misfortune to travel on an airline these days. Let me recount for you the story of my latest adventure flying on Air Canada…
A couple of weeks ago I found out I needed to go to Toronto (from my home in Moncton, NB) for a day of meetings. Several days before the trip, I went to the Air Canada web site to see what my options were (normally I avoid Air Canada because of the consistently bad service, but in this case I had no choice). I booked a flight leaving Monday, August 24 in the evening and taking me to Toronto via Halifax. My return was the next evening, and was a direct flight.
As usual, I received an email 24 hours before my flight telling me I could check-in online at the AC web site. When I went to the web site, I noticed that the flight from Moncton to Halifax was already showing as delayed by 40 minutes. I was concerned, because this left me only 27 minutes to make my connection.
This worried me, and the next morning (early, about 3 AM) I called AC to see if I needed to change flights in order to make my connection. The agent put on hold, claiming she was contacting AC operations in Halifax, and then told me that there should not be a problem as they would hold the connection in Halifax. SO, I did my web check-in and went about my day.
I get to the airport Monday evening, and my flight still shows 40 minutes delay (you would think that if they knew it was delayed 24 hours in advance, they might find a way to recover). Then it was delayed another 5 minutes, then 10, then….well, when the departure time of my flight out of Moncton was the same as the departure time of my connection out of Halifax, I figured I was not making my connection. I decided to talk to the agent at the gate. Turns out the plane we were supposed to take had not even left Halifax yet – it was broken. I told him of my conversation with the customer service rep that morning, and he basically called me a liar – that no agent would make that statement, that they never hold flights for connections, and that besides, the flight had only been delayed for the first time at 5 PM (this despite the fact that I had an electronic boarding pass on my phone from 3 AM showing it already delayed at that point).
At this point I cancelled my flight, and got a prompt refund (though for the wrong amount – I will get to that later). I asked if there were any other options for getting me to this important meeting at 0900 the next morning, and was told that there was no way AC could get me to Toronto before late Tuesday.
On my way out of the terminal, I noticed that the refund amount was wrong. Going to the check-in counter, I find out that they cannot refund the “advanced seat selection fee”, and I would have to contact the refund processing centre to sort that out. I am given a card with contact information for AC. I also discover that it will take 1-2 billing periods for any refund to show on my credit card. Funny how they can take my money instantly, but it takes 4-8 weeks to give it back.
I get home. I call the refund centre. I eventually get routed to a voice mail box, which is unfortunately full, and I am summarily disconnected. Next, I try the eMail address provided. I receive an auto-response telling me they will get back to me – within 6 weeks.
I then start looking at options to get me to my meeting. Looking at he the AC web site, I discover that there are several options that will get me to Toronto in time for my meeting – none of them are great, but they can get me there. Funny that the agents at the airport could not be bothered helping me find a way to get there. I also end up spending twice as much as my original ticket, all because Air Canada cannot keep its planes in working order (this happens a lot flying out of Moncton). I also spend up having to drive 100 miles each way to an airport in another city. I also forfeited a hotel room I had pre-booked in Toronto for Monday night. Too bad AC won’t reimburse me for all of those costs.
(not that on the way back, my flight out of Toronto was delayed 30 minutes as well – again because of a mechanical problem with the plane)
I would like to file a complaint with Air Canada, but they make this extremely difficult to impossible. It is completely impossible to speak to an actual person about it.
Air Canada (and most other airlines) makes it abundantly clear that they have no interest in their customers. This is why the airline industry is in the state it is – it is not high fuel costs, or other expenses. It is mismanagement, and a complete and utter contempt for their customers. An organization run this badly deserves to go out of business!
Well, we finally got some decent weather last week (not raining, but not so hot and humid that I could not really see much), so I had a shot at some astrophotography. My equipment is:
Since I do not (yet) have an equatorial wedge for my telescope, I am limited in the exposure lengths I can use to about 10-30 seconds before field rotation ruins the image.
My first attempt was a simple star picture – Albireo – which is a pretty double star in the constellation Cygnus. This is a stack of 10, 15 second exposures:
My second attempt was of M13, a globular cluster in the constellation Hercules. This is a stack or 15, 15 second exposures:
Finally, I decided to try M57, the Ring Nebula, in the constellation Lyra. This is a stack of 20, 15 second exposures:
As I say, these are my first attempts at non-lunar, non-planetary images. I wanted to quickly work with a low number of images to stack initially, to see if I could get reasonable results. Next chance I get, I will focus more on one object, and go for a larger number of images to try to get more detail, better noise, etc. I am also just learning to use the image processing software, which is a major effort in and of itself.
(someday I will get a wedge, and be able to try longer individual exposures).
I find the response to my latest Legal IT Professionals column. As expected, the title drew some very interesting reactions – that is, afterall, the intent of a title – to say something that will draw people in and get them to read the content. In addition, it was intended to be a “whack in the side of the head” (borrowed from Roger van Oeck), to startle people out of their normal daily thinking as the began to read the column. While most of the response I have was neutral to positive, some (even those who responded positively) seemed to miss the intent of the title.
(I must admit, though, that I feel a little bit like a tabloid publisher – maybe I will call my next column “NASA Reveals – Bigfoot loves SharePoint”)
For those confused – the real intent is that there is not (or should not be, in my opinion) any such thing as “implementing SharePoint”. You may install SharePoint, configure SharePoint, develop over SharePoint, but you are not implementing SharePoint. You are implementing solutions to business problems of which SharePoint (or any other technology) is only a part.
My new column is up on Legal IT Professionals – Danger! Do not implement SharePoint in your organization!
As I said in a previous post, I have been looking at the HP TouchSmart TX2 series convertible tablets for my daughter, who starts university next month. Well, this weekend I pulled the trigger and bought one, so that we can evaluate it (we have 14 days to return it) and so I can help her learn to use it. I plan on doing a review of some sort of it over then next little while, but in this post, I want to talk about an observation I made this weekend as my daughter (and one of my sons, as well) learns to use the Tablet – and the differences in how I work versus how they work.
I grew up writing things. I took notes on paper. I wrote reports and essays on paper. If I wanted to write to someone, I wrote a letter. Very rarely, I would write a document on a typewriter, but I was such a poor typist that it was always very painful. Even now (or before I had a tablet) I did most of my brainstorming, architecting, and thinking on paper, or on a whiteboard. So, I always wanted a computer that would let me work the way I like to work. Freeform. Scribbling. Making notes. Drawing diagrams. And the Tablet PC does just that – but better, because it is permanent, searchable, share-able, etc.
On to my kids. My kids have done very little handwriting – and have does less the older they get. They actually do not write well in cursive at all (there never seemed to be much focus on it in the schools they attended in Alberta or here in New Brunswick). They have done everything on computers and other electronic devices. Most of their communication has been via IM, and more recently by text messaging. Most of their school work has been done on computers. Yes, they take notes on paper, but even that they do not do well. Luckily, they often get electronic access to course notes.
This leads to an interesting question. I have always thought about the barriers to adoption of Tablet PC technologies in terms of my generation – people who grew up using pen and paper for a significant part of their lives. I still believe that these people present a significant barrier – because they are old enough to be resistive to new ways of doing things, and many of them are so thoroughly brainwashed with the idea that keyboard and mouse are the ultimate computer interface that it is hard to convince them that there could be a better way – much the way it was (and still is) hard to convince command-line folks that there is any other way.
At the other end of the spectrum is the younger generation – anyone under 25 or 30. They are largely receptive to new technologies, and to new ways of interacting. Unfortunately, many of them have spent little of their lives using pen and paper, and so a pen-based Tablet PC does not feel natural to them.
So the Tablet PC faces a conundrum. On the one hand, the group of people who are comfortable with pen and paper are too resistive to change to adopt an “electronic pen and paper” solution. On the other hand, the group which is receptive to new technologies has no interest in pen and paper at all – real or electronic.
Makes me wonder if the naysayers are right – maybe there really is no market for a pen-based, handwriting-centric platform.
A little plug here for a couple of my co-workers at T4G (Fred Illies and Andrew Little) who have just released their MyRoles iPhone app to the iTunes AppStore.
In Fred’s words:
“I’m excited to announce that yesterday Andrew and I submitted MyRoles to the iTunes AppStore. Once the approval process has been completed and it actually goes live on the AppStore I’ll send out another note. (but with the insane amount of new apps submitted every day who knows how long it’ll be).
In the meantime, please check out our website at www.myroles.ca to get all the deets on why we think this zen-like to-do list can help people maintain some balance in their lives. It lets you organize your to-do list by the various roles you play in your life. You can also check out our MyRoles page on Facebook and you can follow MyRoles on Twitter.”
So, check it out – I would if I had an iPhone!
I have been looking around at computers for my daughter who is starting university in a month. I am leaning towards the HP TouchSmart TX2 tablets. Now, if you follow that link there is some slick content about this Tablet, and a button which says “Shop for it”.
Well, clicking that button takes me to the following page (and has for several weeks):
Talk about not making for a good shopping experience!
Why consumers won’t buy tablets – CNN.com
Ok – so this guy really doesn’t get it (not surprising – there are few tech columnists out there who grasp anything that is not already mainstream). Then, hardly anyone else gets it, either. The one things he does have right in the whole article is that tablets are too expensive – but this is, of course, driven by the fact that they have never caught on enough to drive the prices down.
However, he also makes the statement “…you need a keyboard for doing real work…” This is entirely, utterly incorrect. The problem is, you do need a keyboard to do any real work only if you insist on working the same way you do on a device that has a keyboard.
Later, he says “…a Netbook like a $200 Acer Aspire One offers a better bet: it has a real keyboard, its own storage, and you can take it on the road and do real work on it, like a notebook computer or a Netbook.” Other than the keyboard statement, this is utter rubbish. A tablet has comparable storage to a laptop. And as for taking it on the road and doing real work – a tablet works better in a meeting room, on an airplane (where there is rarely room to open your laptop anymore), and my table gives me 7-9 hours of battery life. And if you are using the table as a tablet, the keyboard becomes irrelevant.
Later, he says “…you’ll probably be able to plug a keyboard into any of these yet-to-be-released tablets…” – get with it, I have been using tablets with support for USB and/or Bluetooth keyboards since 2002, and they are the same keyboards you use with your desktop, so nothing special to buy.
Working on a tablet is a different user experience, and requires a different way of working – a way of working which seems more natural if you are used to working with paper and pen. In order for a tablet to be effective, one has to get used to working with handwriting again, and get away from on-screen typing, and also away from converting handwriting to text all the time.
I learned this way back when Tablet PCs first came out (I have been using a tablet pretty much continuously since 2002). When I got my first tablet, I soon realized that I could not use it the same way I did a “normal” computer. So, I tried a little experiment. I got rid of all of my computers except the tablet. For six months, I used the tablet exclusively. Honestly, it was really, really painful at first. Then, I gradually learned to do things in ways which made sense on the tablet – and many of these new approaches were much more natural than working with a keyboard and mouse. What did I learn? Here are a few examples:
I also use the Tablet to read ebooks (in standard formats, rather than proprietary formats) so I do not have to blow several hundred dollars on a Kindle that does nothing but display ebooks.
Think back to the days before we used computers for everything. When you were working on a document, would you typically start at a typewriter? Or would you start with a notebook, or a pad of paper, collecting notes and ideas, creating outlines, and even writing drafts? Then you would take all of that and create the final document.
Think of the tablet the same way. using tools which are tablet-aware (such as Microsoft OneNote, MindJet Mind Manager, and others), use the tablet as you would you pad of paper. Make notes, scribble ideas, brainstorm, create outlines. Even better, you can even clip notes form online sources and collect them together as part of the process. Then after you have done all of your intellectual work, you can do the final stage – typing up the results.
Note that I admit that there are something for which a keyboard is needed. Creating and editing any significant documents requires a keyboard. Does that mean I consider my tablet “just an accessory” to my main computer? Not at all. Most of the tablets available today are convertible, and hence have a keyboard available – giving you the best of both worlds. In my case, I use a slate table – but I also have a stand for it, and a Bluetooth keyboard (I can use my tablet on its stand at my desk, with a wireless keyboard, mouse, and network – then grab it, go to a meeting – come back and set it down and I am good to go).
About the only reason I have other computers is that I spend a considerable amount of my time doing development, and my tablet does not have the computing power, memory, or screen size to be an effective development machine.
The biggest barrier to acceptance of the Tablet PC form factor in the consumer market is indeed price (and price to power ratio). In addition, as I have said before, the Tablet PC has been marketing cluster$!&% by Microsoft from day one. This is a shame, because with a good marketing campaign, and a little bit of evangelism, tablets really cold become a dominant form factor.
PS – Others with no clue:
http://www.readwriteweb.com/enterprise/2009/08/tablets-are-toys-not-mainstream-machines.php
Here they claim “It’s because you can’t work on a tablet. You can’t get things done without a decent working keyboard”. I beg to differ, and might even go so far as to say the author is full of crap.
These are the same kinds of people who said consumers would never want computers in their homes, and that nobody wanted a GUI interface.
PPS – I am also in the process of looking for a Tablet for my daughter, who is starting university in September. I a looking strongly at the HP TouchSmart TX2 series – they seem to be pretty well configured and priced reasonably in the $1000 (Canadian) range. More than a NetBook for sure, but not much more than a comparably configured laptop.
I received a couple of comments in response to me previous post on Custom Association and Custom Initiation forms regarding how to use the Association and Initiation data collected, from within the workflow code. I had answered in my responses that you just access the AssociationData and InitiationData members of the WorkflowProperties, which return the data as XML strings. You then just work with that XML as required.
Here I will present some sample code for actually working with the XML coming from the custom AssociationData.
First, I would like to step back though and look at designing the Association Data. Typically when working with any InfoPath form, I start from the data side, and develop an XML Schema for the data (ideally, this is done as part of the overall design of the solution being developed, and includes all of the data design for the solution). The code snippet below shows the schema I developed for this example.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://t4g.com/TestSchema.xsd"
elementFormDefault="qualified"
xmlns="http://t4g.com/TestSchema.xsd"
xmlns:mstns="http://t4g.com/TestSchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="AssociationInitiationData" type="AssociationInitiationDataType" />
<xs:complexType name="AssociationInitiationDataType">
<xs:sequence>
<xs:element name="TaskDescription" type="xs:string" />
<xs:element name="AssignTo" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Note that this schema represents both the Association Data structure, as well as the Initiation Data. It is necessary for these two to share a schema and namespace, though the Association form need not populate all of the fields.
A Custom Association Form can then be developed in InfoPath based upon this schema, and deployed as described in my previous post.
Now, how do we access this Association Data from within our workflow?
I implemented a simple serializable class matching the schema, as shown below.
[Serializable()]
public class AssociationData
{
private String _TaskDescription;
private String _AssignTo;
public String TaskDescription
{
get
{
return this._TaskDescription;
}
set
{
this._TaskDescription = value;
}
}
public String AssignTo
{
get
{
return this._AssignTo;
}
set
{
this._AssignTo = value;
}
}
}
I also implemented a helper class (creatively named) to support loading the Association Data into this class (note that this helper handles both the Initiation and Association data):
public class Helper
{
public static InitiationData DeserializeInitiationData(string xmlString)
{
using (MemoryStream stream =
new MemoryStream(Encoding.UTF8.GetBytes(xmlString)))
{
XmlSerializer serializer =
new XmlSerializer(typeof(InitiationData), "http://t4g.com/TestSchema.xsd");
InitiationData data = (InitiationData)serializer.Deserialize(stream);
return data;
}
}
public static AssociationData DeserializeAssociationData(string xmlString)
{
using (MemoryStream stream =
new MemoryStream(Encoding.UTF8.GetBytes(xmlString)))
{
XmlSerializer serializer = new XmlSerializer(typeof(AssociationData), "http://t4g.com/TestSchema.xsd");
AssociationData data = (AssociationData)serializer.Deserialize(stream);
return data;
}
}
}
Given these two classes, it is then simple to access the Association Data from within the workflow. For example, add a private member to the workflow class:
private AssociationData _associationData;
Then from within the onWorkflowActivated activity, add the following code:
String AssociationDataXml = workflowProperties.AssociationData; _associationData = Helper.DeserializeAssociationData(AssociationDataXml);
The association data can then be accessed from within our _associationData object as required. The Schema, and the AssociationData class definition, can be modified as required to add additional fields.
I was considering another post about doing the same thing for InitiationData, but it works exactly the same way. So unless someone really insists, I will not bother.
You must be logged in to post a comment.