Archive for the ‘skill’ Category

Ribbon positions

Monday, 3rd March, 2008

In all the ribbon discussions I have seen there seems to be 3 possible positions.

  1. Overall it was a bad move - the cons out weigh the pros
  2. Overall its was good, adds useful functionality without taking away anything important
  3. The ‘it happened get over it’ crowd.

Obviously I am in the first group, but I completely respect those that hold the second view. I think this comes down to personal priorities. Its a fact of development that there is a broad range of customers with a broad range of requirements. Its no surprise what works for one won’t for another.

The third group though, state the obvious and add nothing to the debate. Its not a problem to not care about a discussion, there are plenty of debates going on that I don’t care about. I just don’t bother joining in where I’m not bothered.

This third group seem to have limited options themselves and are perhaps unaware of options that are available. For example I am considering the option of moving more into Excel to OpenOffice Calc conversions because I think the ribbon is boosting that market. Others have moved into the ribbon replacement UI business for example. I’m also thinking about some more web-centric stuff too.

I do think its worth discussing the ribbon and the breaking UI changes MS are introducing throughout their products. Microsoft are listening and given enough encouragement could (possibly, maybe) be persuaded to change course.

Those who are less familiar with Microsoft may see it as a single entity with a single point of view. In fact like many organisations Microsoft is made up of people, and those people often have different points of view. There are people within the Office team that think a compatibility mode would have been a good thing. Just as there are people who are convinced the ribbon is the ‘one true way’.

They are currently part way through developing Office 14, if the community kick off enough, and if the ribbon can be blamed for weak sales, who knows what delights might await us in O14? I’m not holding my breath of course, neither am I sitting back.

I don’t think MS could back down and re-introduce commandbars. But they could open the object model back up for us devs to put them back. (In a no loss of face stylee).

Of course the fact that there is already a booming market in ribbon replacement UIs for Office should be cause for some rational thinking at MSO HQ.

cheers

Simon

Boom!

Monday, 3rd March, 2008

Thats the sound of me getting blown out on a bid for work I just did.

It was a small project - just a few days work. But it was Office 2007. I have never made it over the UI barrier that everyone including Microsoft accepts is there for experienced users. I’ve had no need, all my fee paying clients till now have been on 97-03.

Most people are suggesting several weeks of reduced productivity in moving to 2007, and I havent seen any non-MS sponsored reports of improved productivity after, but thats by the by. This post isn’t about the ribbon its about the business of the ribbon.

I estimated an additional day because this project was 07 rather than 03. Who should pay that? Me or the client? I costed in half of it. (and didn’t get the job)

You could argue I should pay to learn the new UI as an investment in my future consulting business. Thats totally valid, but the ribbon is not one of my current investment targets, I am investing in other areas.

You could argue the client should pay, they insist on using 07, so its a cost of their platform choice. I think thats valid too, but possibly an easier sell on a larger project.

Personally I think Microsoft should fund the training - they forced the UI on us disregarding the massive opposition. They also ignored the many requests for a compatible UI option. They chose not to default it to something a current user would recognise. They stand to benefit from an updated ecosystem to support their latest products.

So is it Microsofts fault I didn’t get the work? no of course not. I have prioritised my learning investments and the 2007 UI has not made it to the top of the list yet.

I’d prefer my free course somewhere warm and sunny please MS, the weather is dreadful here.

Ribbon - who should pay?

cheers

Simon

Turkeys and Christmas

Wednesday, 27th February, 2008

Imagine in full Doolittle style you can speak to the animals.

Imagine further that you speak fluent turkey.

You visit some of the large turkey farms around the beginning of December and ask them to vote on what should be top of the Christmas menu.

Will they vote for turkey? or will they vote for anything but turkey?

(If you don’t eat turkey, and/or celebrate Christmas than substitute event and food of choice (vegetables are fine - our royal family are well known plant talkers)

-

Imagine you speak fluent IS department XAML jargon.

You visit you IS department at the start of next years budgeting round and ask them to vote on whether they should empower their business users by providing access to the tools and frameworks that the IS department currently only use themselves.

Will they vote themselves out of a job?

The best will understand that empowering the users helps everybody and will not lead to job losses in IS, it may even lead to more rewarding work for people throughout the organisation. There won’t be many of these though.

Most will vote to keep as much control as possible, so that would be no dev tools to users. They will continue quoting crazy money for internal projects. Thats not real money by the way, its cross charges, not real customers giving the company real money in return for providing them with something of value. More on that later.

Every organisation will have significant use of spreadsheet based systems, those that have an excessive dependency on them have an IS department rooted firmly in the second camp above. Those that use spreadsheets in conjunction with other best for the job tools (eg Access, ADO, COM, .net, etc etc) have a more enlightened IS department - these are great places to work.

I’ve worked in few of these great places anyone else?

cheers

Simon

State of the profession

Thursday, 21st February, 2008

Johan asks:

Do you wan’t Office to be an attractive development platform? If Yes, what do you think is the best way to attract new talents to Excel and Excel automation?

Dick M and others have highlighted the lack of new blood in the Excel development community. I for one would like to see more folks joining in (as long as they don’t drive rates down to .net dev levels ;-).

I see 2 target groups:

  1. Excel users
  2. .net devs

    A few Excel users will always filter through to developer type roles. Better availability of advanced training might help them (I get 2-3 requests per year via codematic for advanced training). Not sure how to encourage this group? any ideas?

    Personally I think many devs have a strong herding instinct, so probably giving away salt licks with Excel would do it. ;-)

    Many devs are pre-occupied with their CV and what will look good on it, that kind of depends on what is going to be big. Not always, but often, what Microsoft commit to gets to be the big new thing. when I say commit I mean real financial commitment not cheap sound bite commitment - no one buys them.

    They bet the company on .net and the internet and devs have flocked to it (moo-ed to it?). Sadly in betting on t’intarweb, they effectively bet against the desktop. That is what we are up against now.

    Microsoft have been pushing (very very lightly (/cheaply)) the Office smart client story for years and years. But they havent put any real money in it so no one really believes them. Look around, there are loads of MS employee Visual Studio evangelists (who are all talking Silverlight at the mo). I do not know of one single Microsoft employed Excel development evangelist in the whole world. Do you?

    The community is strong, but really needs proper support from Microsoft. I tried to get an MS speaker for the Excel User conference, they were not able to provide a member of staff. There were valid reasons, but really it comes down to priorities.

    Not many folks can afford the time or cost to go to San Jose, or want to listen to the Sharepoint noise. Years ago there were quarterly roadshows that toured the country. We need those back, but focused on Office as a smart client. If devs see MS investing real cash in Office as a smart client they will take a look. Maybe they could coordinate a tour with a new enhanced VBAIDE?

    In summary Devs will follow the money, and thats all in web dev currently.

    What do you think?

    cheers

    Simon

    Whats so good about VBA?

    Tuesday, 19th February, 2008

    A (very valid) question from Johan.

    Here is why I think VBA is so great, but first lets try and define VBA.

    A tightly integrated application automation system that allows professionals from non software development disciplines to enhance their organisations use of the host application. With justifiable levels of training costs and tooling costs.

    And secondly, lets add some context - we don’t develop in a vacuum so we should not review our tools in one.

    Its 2008, VBA was integrated into Excel in v5 in 1995, last notable update was 97 really when we got the current IDE. Prior to VBA many orgs has dipped a toe in the macro waters with XLM and Lotus macros. Many organisations have over 10 years worth of live VBA code. And coders with 10 or more years experience solving that orgs problems with that toolset.

    Software vendors desperate to sell us their latest version have almost convinced us that ‘legacy’ means ‘old useless shite that should be thrown out’. But legacy also means ’something of value handed down from ancestors’. What better legacy than tested, proven, working code, no matter how out of fashion the language might be? or how ‘not to your style’ the code might be?

    I’ll be frank, I don’t much care for BASIC derived languages, I prefer C based ones. VBA has a few language features missing, and a few backwards compatibility ones I’d happily see removed. It also has the odd inconsistency, and a few awkward twists (If not (x is nothing) then... springs to mind). VBA is more, much more than a language though, its a complete system in partnership with the host app, with history.

    ‘Do you like the whole VBA story or not?’ boils down to do you savour proven, working code? or do you like new stuff? Do you like safe and certain? or do you like unnecessary risk and waste?

    VBA has a major entry barrier for someone from a user background (I mean business here, but also science, engineering etc - anything except sw dev I guess). But once over that barrier is a gentle learning curve through to extremely high levels of productivity. Object Oriented approaches represent an even bigger barrier to that target group in my opinion, with limited payback in that problem domain.

    Excel is a functional tool, its users understand functions - they write them in almost every cell. Very few use classes, objects make no sense to Excel users. Classes are considered an advanced technique in Excel VBA, not because they are difficult, because they are an unusual way for a spreadsheeter to go about solving the sorts of problems they solve with spreadsheets.

    Spreadsheeters email their spreadsheets around, this approach is absolutely proven to work in (and out of) organisations of all sizes all over the world in all industries. VBA supports this zero deployment in almost all cases. Most spreadsheet users have never heard the expression ‘deployment’ that is how ‘zero touch’ VBA is. (many have never heard of testing either but that is a separate discussion)

    The Excel COM object model is an ideal target for VBA, optional parameters, parameterised properties etc are all fine. Unlike C# for example, which is from a whole other era, designed from the ground up to solve a whole other type of problem. Should Excel get a C#/manged code friendly object model then that would even things up a little. But by then there might be 15 or 20 years (or more??) of VBA legacy code to compete with.

    Whats so good about VBA?, is like saying whats so good about driving on the left? honestly? it would be better for a whole host of reasons if we swapped and got in line with all the new world countries. But who, when, how and where could this be done? and who will pay, and when would they get payback (hint: never ever ever).

    Whats so good about VBA? its here, now, in widespread use. Perhaps the correct question is what should an organisation that is already heavily invested in VBA (most are) do now in 2008?

    Of course theres lots to not like about it too, but thats a topic for another post. The point of this post is that I don’t see anything currently better than VBA for most of the stuff that VBA is used for, and for the folks that use it.

    Maybe the VBA argument comes down to: SW devs will always hate it because its an impure bastardisation of a beginners language. Business users will prefer it to the other available options because they can leverage existing investments, so it represents the best value for money.

    Try this test: ribbon v commandbars? .net v VBA? either you like new stuff or you like existing proven stuff.

    What have I missed? anything to add? anything you disagree with?

    cheers

    Simon

    Can .net ever catch up?

    Monday, 18th February, 2008

    Or should that be can it even keep up?

    Everyday more and more lines of VBA code are getting written. Organisations are investing more and more in VBA. The potential wrench from moving off VBA is getting bigger and bigger.

    There are more and more Excel VBA dev jobs on Jobserve everyday, and the rates are getting better, and the requirements are getting more realistic. .net dev on the other hand, still now after 7 years and 4 versions, is still a drop in the ocean of office dev. Maybe VSTO 2008 will fix that, I’m not convinced are you?

    It seems to me that the migration from VBA to .net is not getting easier for most orgs, as they continue to develop in VBA.

    Rate of change

    Even though much of the.net stuff is getting more usable with each version, I wonder if its too little too late?

    What do you think?

    cheers

    Simon

    Excel add-in market

    Saturday, 16th February, 2008

    One of my favourite elements of working in Excel is the sense of community. There is a ton of excellent information freely available in many places. There is an army of keen, helpful experts ready and willing to answer any question loosely related to Excel/VBA and related technologies.

    There is also a boatload of free utilities to add all sorts of useful functionality. Writing an add-in is a great way to learn about Excel. Distributing it is a great way to learn about the challenges of deployment. Giving it away for free is a great way to get coverage… or is it?

    Would more people try a product if it cost money? perhaps a free 30 day trial followed by a 20/40/60 quid price?

    Thats one question, here is another:

    Does the existence of so much excellent free stuff actually damage the Excel user experience?

    The obvious answer is no, of course not free stuff is great, it can only be good for users.

    But thinking about it, I wonder if the market were more financially attractive, would more software vendors write more products? would those products be higher quality? would users get more choice? would competition improve price/quality? might it improve longevity of support? or support in general?

    Many of the add-ins I have used would easily be worth 50 quid thinking rationally. All they would need to do is save an hour or 2 and they have paid for themselves (or half an hour for some folks?).

    I have bought quite a few general applications, and the odd add-in, but actually there don’t seem to be that many for sale.

    What do you think? would a more lucrative market help? or would it damage our friendly community?

    cheers

    simon

    Genuine ribbon question

    Wednesday, 13th February, 2008

    What new functionality does it offer? Users? Devs?

    I’m not being funny, but I just don’t see that it offers anything new thats useful to spreadsheet devs.

    Please enlighten me…

    So pre 2007 we had commandbars and manipulating them was well understood and the pros, cons, and gotchas were well known. The DJS from Excel 97 was/is pretty much the defacto standard for table driven menus and toolbars in Excel.

    Now in 2007 we have the ribbon, and devs are having to learn how to work with that as it requires different stuff than commandbars. So thats the cost there - learning how to use this new object. Wheres the benefit? I don’t see new controls that will be any use to 99.9% of spreadsheet devs, I am not aware of new functionality that will set our solutions alight. If you can see some benefits in the ribbon for spreadsheet devs then please list them as comments.
    ‘Its the future’ doesn’t count, neither does ‘you have to because Microsoft says so’. I want ‘My ribbon based system is better than your old skool commandbars because…’

    I have pretty much ignored Excel 2007 because I find it unusable, so this isn’t a trap, I’m not lying in wait to call bullshit. I really want to know from those that have more experience than me (that would be anyone that has looked at the ribbon) in what ways is it better than what we have now.

    That I find Excel 2007 unusable isn’t the ribbons fault, its who ever decided to shuffle commands round to make them unfindable. That I can’t easily correct that shuffle blunder IS the ribbons fault.

    My current approach is to have an on open event that adds a matching set of menus and toolbars. The on close removes them. Thats VBA of course - the standard language for working with many many applications, not just the whole of Office. And has been the standard since 1995 or so. I can control the visibility of my UI using Excels events to pick up context, and they are first class UI citizens equal to the standard controls.

    Oh and ‘its declarative’ doesn’t count as an advantage, unless you can tell us why that is better than a couple of lines of VBA or other code.

    Thanks in advance

    Simon

    [edit: o-oh the ribbon is set to infect the rest of Windows, time to switch to Gnome or KDE methinks.

    THE spreadsheet book (Spreadsheet Hell)

    Thursday, 7th February, 2008

    My new book is about to be published(And you all thought I’ve been tossing it off all this time )

    Spreadsheet hell book cover

    Click the pic for more info.

    Thx to Chris for the link.

    Bing!

    Wednesday, 6th February, 2008

    Its finally dawned on me.

    After months and months, or maybe years and years. I’ve never understood why MS don’t seem to see VBA as the same lock-in factor that I do.

    I havent been watching the migration projects - they have.

    I’ve recently been looking at some of the wins for OpenOffice in the last 12 months here.

    I hate to say it, but MS are right and I am wrong.

    It seems that in most OpenOffice deployments some proportion of power users (and users with disabilities) end up using MS Office. For the power users it is their requirement for VBA that keeps them on MS Office. In the Bristol City migration they kept the proportion on MS Office under 15%.

    Also I didn’t read of any related moves to Linux, so maybe I got that wrong too?

    So VBA is a lock-in feature but only for upto 15% of users. I’m guessing from Microsofts POV 15% is not much of a lock-in. And probably not enough to justify the new VBAIDE I keep asking for. And I’m sorry I can’t see how the ribbon provides any lock-in, just the opposite in fact, in my opinion.

    I imagine SharePoint and the rest of that server tangle offer a better chance to encourage a higher proportion to use MS Office.

    So finally it all starts to make sense. And in fact what about interoperability, won’t that mean that non MS products must be able to read and write all parts of Office XML, including the VBA blob?

    I’ve done projects before where VBA was banned, and it can be a real ball ache. I imagine if you are targeting both OOo and MSO users VBA would be out, which leaves you potentially creating a spreadsheet monster that 50 lines of VBA would totally tame.

    What do you reckon? have you seen this new mixed environment? How would you feel developing for that world? Could Sharepoint be our saviour from the pain of targeting multiple spreadsheet applications? (never mind the pain of multi-version stuff!). Do you work somewhere that currently uses a range of spreadsheet apps?

    Cheers

    Simon