Joe unfiltered
A mostly technical blog discussing any technology I happen to be wresting with at a particular time. Often this is SharePoint or ASP.NET.
Monday, April 22, 2013
SharePoint is Complex. That's not a compliment.
SharePoint is complex. I've heard and repeated this many times. The reason users don't just jump on it and love it is because change is hard and as awesome as SharePoint is, users are not willing to put in the time to learn this complex thing and use it to it's fullest potential. I mean, SharePoint is a box of Legos, you can build something amazing or something awful, up to you, right?
Not sure I buy this anymore. I'm starting to think all of SharePoint's complexity is just bad design. I was reading this blogpost http://37signals.com/svn/posts/3384-winning-is-the-worst-thing-that-can-happen-in-vegas by @dhh and suddenly had an epiphany.
A) I very much agree with this article
B) SharePoint is a fantastic example where this problem occurs over and over again.
Why is it that no one has to teach the majority of the population how to use Facebook? Why is it that I use Dropbox exclusively for my document storage, even though I have a free Office 365 environment? Why are iPads flying off the shelves? Let's answer these questions and extrapolate to SharePoint.
First, Facebook is all about human communication. Granted, most of it is stupid, but the product works. You sign up, find some friends, and start typing messages to them. Maybe add a picture, or a video. Easy. Intuitive. (Yes, it is getting cluttered as of late, but that can be it's undoing in the future. We'll see.)
Dropbox just works. I can't think of a simpler argument. To elaborate is that regardless of where I am, my documents are really just a click away. I can view most of them on almost all my devices, and I can edit them in most OSs. Actually this is more of an OS limitation than Dropbox. I don't have to do anything for this to work, other than install Dropbox and sign in. I use good old folders to organize my stuff, and I don't have to even think about what Dropbox does, since I get all the benefit without having to put much thought into it. It just works. Mom uses it.
I'm currently typing this on my iPad. Second one I've owned, first one went to Mom. Love this device, probably more than any other single computing device I have ever owned. It takes a while to get the apps that tweak each person's individual iPad to their liking, but once that happens, the productivity on this device is phenomenal. Yes I know I can't run Visual Studio, but the majority of computer users don't even know what that is. It is the combination of strict rules with the free market system within those rules that has allowed an incredible number of apps to be created for the iPad that all follow certainty standards. Learn to type in one program, you've got them all. Flexibility within constraints.
So what does all this have to do with SharePoint?
SharePoint is meant for sharing information and communicating It is however far from easy or intuitive. The average user is bombarded with terms like collaboration, metadata, list vs libraries, MySite, etc., and usually get handed a team site. You can build whatever you want, the possibilities are endless! But possibilities is not what a user wants. They want easy, intuitive, just works and quick ROI.
SharePoint doesn't just work. From an organizational perspective, Microsoft sells it to a business, and they then need to start a SharePoint journey that is expensive and difficult. Then best part is that people like myself usually tell them they are not doing enough and need to spend even more € to get any ROI. Once it's deployed it also rarely 'just works' for the end user. See the paragraph above.
The biggest issue in my opinion is the flexibility that SharePoint allows. Microsoft has been selling SharePoint as a platform. This means it's possible to do a million and one things with SharePoint. Ok, that doesn't sound that bad right? Well the flip side of that coin is that it's impossible to say what SharePoint does. The cognitive overhead of SharePoint is incredibly high. Especially for end users. There is so much flexibility and not enough limitation that every SharePoint so-called solution to a business problem works differently form others. The standardization found in iOS apps due to limitations is nowhere to be found in the SharePoint world. Every customer I have seen has struggled to tame SharePoint and found one or another unique way to make it work for them. This process costs a lot of time, money and produces sub par results.
I am very happy to see SharePoint 2013 introduce the app store, and Microsoft finally pushing customizations outside of SharePoint from a technical perspective. A great step forward, for techies at least. The end user will still be confused with library vs list, what is a view?, how do my tasks integrate with outlook?, why are there major and minor versions?, what is publishing a document?, etc etc etc.
I apologize to all SharePoint enthusiasts out there, and there are many of you (us). It is time however that we really look at what we are peddling and consider what we need to do to hear the words EASY, INTUITIVE, SIMPLE, VALUABLE, LOVE IT, and such.
Wednesday, April 17, 2013
SharePoint CoE vs SharePoint Server CoE
![]() |
| Borrowed from: http://hurtatworkblog.com/can-i-be-fired-for-making-a-workers-compensation-claim-in-minnesota/ |
Monday, February 04, 2013
Back to Canada
Last December we welcomed Juliana Jade into the world. It's fantastic being a father, I am really enjoying this new job. One very unexpected side effect of becoming a father was the immediate change in long term planning. When it was just Mel and I, long term plans meant deciding where we would go skiing the coming winter. Now we are both thinking in terms of schools we want our child (and perhaps children) attending and which culture we want them to grow up in. Asking these questions made us realize that the Netherlands is not the answer. Neither of us is Dutch, and we feel it’s really important to establish a family identity from a cultural perspective. I grew up in Slovakia and then Canada, and know first hand the complexities of children and parents identifying with different cultures. Think 'My Big Fat Greek Wedding'. Since I am Canadian and Mel American, it may seem that we have yet another clash on our hands. It turns out however that Mel and I identify with one and they same culture, let's call it the 'great lakes' culture. For me it's southern Ontario and for Mel Michigan. There may be a line on the map and an annoying wait at the bridge, but the culture on both sides of lake Huron is nearly identical.
When I came back to Europe 7 years ago, I was leaving NYC. I had enjoyed my stay in NYC but it was time for me to leave. Combine that with not having any family on that continent, it made sense to come to Europe. I was not done with Canada however. I remember giving my Canadian cash to some friends saying I had no idea when I would be back, but that turned out to be quite short sighted and silly. I have found myself back in Ontario almost every year since then. Whether it was for a wedding or a detour while visiting Mel's family. Somehow I have put roots down in that area which are strong and lasting. I suspect it's my 'other family', the guys whom I spent my university years with. It's been almost 10 years since I lived in that area and yet I can't seem to get rid of them. They insist on sending Christmas cards and sharing pictures of their kids. :)
Speaking of family, yes I will miss being close to my Mom, Dad and brother. That's the biggest downside for me, and it's significant. I do hope to get my brother out to Canada for a longer stint at one point, he hasn't lived there since he was 7 or so and it would do him some good. My parents keep talking of traveling around the world and such so perhaps we'll see as much of them in Canada as we would in the Netherlands. This will be tough but we'll just have to work hard to make the best of it.
Europe, including the Netherlands, is going to financial hell and asking my wife and I to pay for it. I feel as if we are financially discriminated against in this country. That sounds harsh, but it seems to be that this is a state best left for the very wealthy or the poor. The very wealthy have countless opportunities to use loopholes and financial trickery to hold on to their wealth. There is a reason IKEA uses the Netherlands for their tax scheming. The poor, or perhaps those just getting by are supported by the state to remain out of poverty, and sometimes beyond. A friend once told me, when your child is born, put them on the social housing waiting list. This way when she is old enough to move out of the house, she will be eligible for a great downtown apartment for next to nothing. That just doesn't feel right to me.
In the immediate term I see taxes going up, benefits disappearing. It feels as if the Netherlands is in a bi-polar state, not being able to decide whether it's capitalist or socialist, but is suffering from the downside of both. Taxes of a socialist state with the costs of a capitalist one.
They say you only live once and it goes by fast. I therefore don't intend on spending all of it doing the same thing. I've been in consulting for a decade now, and most of it I've spent working on Microsoft stuff, and more narrowly: SharePoint. There are folks out there who can dedicate their whole career to one thing, I just don't think I can be happy being one of them. I feel that there is so much more to learn, to discover and to achieve.
I've learned a lot running my own business. It made me grow up real fast and take responsibility like never before. I now look back at being an employee, and at the discussions I had with my boss(es) and realize what an ignorant punk I was. I'm very happy with the path I have been on up to this point, but it feels like it's time for a change again. What that change will be I don't know. I do know I love technology and its ability to change the world, so I'm not going to become a gardener or something. I do like the energy of small businesses, so perhaps a start-up would be a good place for me. In any case, I have a feeling I may be leaving SharePoint behind. Let's see.
Nature, do we miss it. Both Mel and I love the outdoors. We met rollerblading, we made great memories hiking, skiing, skydiving, canoeing, horseback riding, camping, etc. We thrive in the outdoors. The city of Amsterdam has been fantastic and we've enjoyed exploring its nooks and crannies but I think we both get a bigger kick navigating a river in a canoe or sitting by a campfire. We want our children to know campfires, clear lakes and rivers, fishing with a reasonable chance of success, afternoon hikes through real nature, wildlife (not just mice) and the spirit of adventure and peace that comes from setting out into the woods with nothing but a backpack and a day to kill. We haven't been able to find that in the Netherlands.
For all these reasons and many more, it's time for us to say goodbye to the Netherlands and start a new chapter of our lives in Canada.
In my next post I will go into the practicals of where we want to live and what YOU can do to help. :)
Tuesday, January 22, 2013
€50 SharePoint Expert or 'Why SharePoint Projects Fail'
Markets don't sit still however. More than a few .NET developers decided to become SharePoint developers. How hard can it be? Web Parts, Workflows and a quick MCPD in SharePoint was all it took to get in on the good life. Increasing supply of SharePoint developers is a good thing for the market. Customers get a better price and there are enough SharePoint professionals to ensure all the necessary work gets done. Those of us who were in on the game have to live with the fact that our gravy train has ended and we have to adapt to market conditions and charge a 'fair' price. Sure, that seems reasonable. The problem lies in the quality of a 'converted' .NET developer. SharePoint is a complex animal and is much more than Web Parts and Workflows. There are exceptions to the rule as I personally know 'converts' who are great SharePoint experts, but these folks don't charge €50 an hour.
The €50 an hour SharePoint expert is one of the most dangerous creatures in the SharePoint ecosystem. They have enough knowledge to convince a customer (and often themselves) that they can do the job, but not enough experience to do the job properly. The customer is not an expert in technology and too often shops on price and resume alone. Worst yet, there is the recruiter creature in this ecosystem whose primary job is to create as large a difference in billable rate between the 'expert' and the customer in order to maximise its own profit. This creature loves the €50 'expert' since there is lots of margin that can be padded on with some evil sales skills.
SharePoint has earned a bad reputation in the last few years. Somehow many projects that seem great on paper and promise a fantastic future turn into something marginally average at best, or just go into the trash. Why? There are many reasons, but one of these is lack of experience. The 'experts' whom the customer entrusts are really no experts at all, and they are being paid to learn on the job. 'Trial and Horror' is what a friend called this process.
SharePoint projects are hard. Given a large bucket of money, great people and lots of time, you still have to work very hard to get value and success out of your SharePoint project. What do you think the chance of success is with a small bag of coins, average people with no or wrong experience and tight deadlines? As someone else whom I respect greatly once said: "Don't ask for a Mercedes when all you can afford is a Kia". Or in other words, why use Dr. Nick?
Thursday, November 15, 2012
Would you fly with Airplane Guy?
Stranger 1: Hi, I'm Alice
Stranger 2: Hi, I'm Bob. Don't I know you from the encryption examples?
Alice: No idea what you mean, sorry. So what do you do for work Bob?
Bob: I'm an Airplane Guy.
Alice: Cool, what does that mean exactly? Are you a pilot?
Bob: Yeah, on some days I fly the plane. Not much lately though.
Alice: I'm sorry, have you been out of work?
Bob: Oh no, far form that. I've just been focusing more on engine design lately.
Alice: Wow, so you are a pilot and an engineer! That's quite an accomplishment.
Bob: I'm not really an engineer, but I sometimes do that type of work. It's all part of being an airplane guy. I'm not exactly an expert, but someone's got to do it.
Alice: I'm impressed nonetheless.
Bob: Yeah, I really got into engine design when I ran out of property to extend the runway.
Alice: What do you mean?
Bob: Well my manager wanted to add more cargo to each flight, so I needed a longer take off distance to get the plane in the air. So I poured some concrete at the end of the runway and all was well. That lasted for a while, but then my manager was back and wanted more cargo capacity again. I can't extend the runway cause it would go off the property, so I'm working on an engine design to get more power in the plane.
Alice: Wait, you poured concrete? Isn't that a waste of your talent?
Bob: Nah, I'm an airplane guy, I do whatever it takes. I do wish I could have taken a class in concrete though cause it doesn't seem like the runway addition will make it through winter. Oh well, I'll re-do it next spring.
Alice: But can't you hire an expert?
Bob: Experts are too expensive. Like I said, this is just part of the job.
Alice: Wow Bob, sounds like you do quite a lot in your job.
Bob: Sure, I like it that way. I didn't even tell you the fun part. We've been talking about cargo, but I much more prefer passenger flights. I really like interacting with the people. It's just too bad I only have such a short time between takeoff and landing to get to know them.
Alice: I'm not sure I understand....
Bob: Well I can only start handing out refreshments once I've engaged the autopilot after takeoff, and I do need to be back in the captain's chair when we start the descent. The tower really gets upset if they can't raise me on the radio. I've been hacking away at an iPad app so that I can fly the plane from the refreshment cart, but I'm not a very good programmer I must admit, so there are still some bugs to work out......
****************************** END **********************************
Would you fly with Bob the airplane guy? Would it make you feel safe? Probably not.
So why is this on a SharePoint blog? Well just replace 'airplane guy' with 'SharePoint guy', 'engine' with 'database', 'runway' with 'storage' and 'passengers' with 'users'. It starts to sound a lot like the reality of many SharePoint projects.
Unfortunately, many people in the project owner/manager position are not aware that just like an airplane guy, there is no SharePoint guy. It is up to us to explain to them that a complex system such as SharePoint requires many specialists to design and operate. Whatever your SharePoint specialty, a common responsibility that we all share is to make this clear to our managers and customers. They may not want to hear it at first, so feel free to borrow the story of bob the airplane-guy.
Wednesday, October 17, 2012
Mobile browser limitation and fix suggestion
A limitation that I ran into when working on fivetonow.com was adding pictures to an event posting using a mobile browser. I have an iPhone and found it very disappointing that I cannot upload a photo into a mobile website. For this I would need an app. Here is my proposal how to solve this problem; all I need is to get the mobile browser manufacturers to hear me out.
Part 1: “Share bookmarks”
A site can include a special link that allows mobile devices to know how to share various assets such as picutres with that site. So in the fivetonow.com example we want to create a special link to create a new event, with picture. The link would look something like:
<a href="/CreateEvent" data-sharesender="image" data-shareid="eventpic">Add a ‘Share to fivetonow’ bookmark to your mobile phone</a>
The key part of this link is the data-sharesender attribute. This attribute would signal the mobile device that the user wants to register this site as a valid destination for their photo sharing. The same way I can share an image with the facebook or twitter app on my phone today, this link would cause my phone to register the /CreateEvent path of the given site as a valid place to send photos.
Part 2 “Receiver locations”
Once my phone understands that there is a special url I want to share photos with, that url needs to handle these photos. This means we need a standard way of processing an image being uploaded to such a special url. This is actually quite easy as long as we can agree on a standard. :)
The page can contain an input element like so
<input type="file" name="whatever" data-sharereceiver="image" data-shareid="eventpic ">
Now the mobile browser would know that it needs to add the file path to the input field when it opens that page. It uses the data-shareid attribute to find the correct input field and writes the file path into it. This way the access to the filesystem on the mobile device is still limited but the user is able to submit pictures to websites. A regular browser works as intended since it just ignores the data- attributes.
This can be extended with different types of share bookmarks like sound and video. It would be easy to use, flexible and still safe as the phone decides what files can and cannot be shared.
Now if only I can get Apple to listen to me…..Friday, September 07, 2012
How to add a Geolocation field to SharePoint 2013 lists using powershell
There is a great resource on MSDN that shows how to add a geolocation field to a SharePoint 2013 list using the client object model. It may not always be the handiest way to do this however, and you may want to do this using powershell instead. Here is the code for that.
Param( [parameter(Mandatory=$true)] $webUrl, [parameter(Mandatory=$true)] $listName ) Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue $fieldXml = "<Field Type='Geolocation' DisplayName='Location' />" $web = Get-SPWeb $webUrl $list = $web.Lists[$listName] $list.Fields.AddFieldAsXml($fieldXml,$true,[Microsoft.SharePoint.SPAddFieldOptions]::Default) $list.Update()Save this to a file named Add-SPGeoField.ps1 file and you can execute the following command from powershell
Add-SPGeoField.ps1 -webUrl http://someweb -listName SomeListThis will add a field named Location to list SomeList located in web at http://someweb. Note that the field name is hardcoded in the script but can very easily be added as a parameter if so desired.


