Jakew
Consulting, hacking, and motorcycles

Prognostication for next year

Wednesday, 9 December 2009 07:05 by jakew

Seems to be time for the prognosticators to post up there stuff about next year and given my current project I’m paying a little attention.   During the startup weekend I was surprised there were not more ideas around using location aware internet connected devices with cameras to build stuff.

It seems that John Jantsch is of the same mind:  5 Trends That Will Shape Small Business in 2010.

As a consultant I spend all my time building big IT projects with big budgets.  Looking at this stuff really gets me excited and depressed.  Excited because all of these web API are being made available to do cool things and depressed that unless I go off on my own I’ll never get to touch them.

Cool thing for me is that I’ve gotten a team together to build some stuff.  We just have to decide what projects we’ll pursue. 

Categories:   Biz | Tech
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Myth – programmers dont buy xyz

Friday, 16 October 2009 17:00 by jakew

Several weeks ago I was talking with a friend who is also a developer.  I was talking about some of my various experiments with entrepreneurship and his responses were really funny.

I was talking about CodeSmith and a tool I had in mind to go along with it.  His response was that developers wouldnt buy it.  Developers do not buy that kind of stuff was his assertion.

Oh really?  CodeSmith?  ReSharper?  Code Rush? Telerik? so on and so on.  All businesses that sell add ons for VisualStudio.  All doing reasonably well from what little I can tell.  Frankly I can’t use Visual Studio without Resharper anymore.  I have so many templates and snippets setup using it that using VS in the buff is like pour salt in my eyes.

Responses like the above are part of the reason I don’t talk to developer’s too much about what I’m doing.  Actually, I’m nearing the point where I don’t bother asking for advice from anybody.  To date the amount of usable advice I have received is next to nothing.  It is really discouraging.  What you really end up getting when you talk to people is a reflection of how the world works. 

What brought this topic to mind for me is this post by Seth Godin: “The Rule of High School”.  His point is to not take things too seriously.  Stay focused on what you are doing.  You’ll hear a lot of crap from irrelevant people that think you ought to be doing things in some particular fashion.  Great: tell them to go do it that way and see how it works.

So if you can’t listen to your friends and colleagues, who do you listen to?  Basically, the market.  In my case what I’m building is going to be web focused.  So I’ll pay attention to three things: customers, traffic, and communities.

Customers come first because they’ve actually opened their wallet and handed over money.  That indicates a certain level of commitment.  Even if it is not money, just registration for example, these people deserve your attention.  Find out what they want, what their problems are and what they say they need.  Address those things.

Traffic is next.  If you do not have traffic (ahem) then you are doing something wrong.  Figure it out and fix it.  If you do have traffic but the conversion sucks you are doing something wrong.  Figure it out and fix it.  Watching traffic provides feedback about how well your marketing is working.  That deserves attention.

Communities are last.  Communities in your niche are basically your future customers.  the same questions apply to them: what do they want, what are their problems, and what do they need.  Learn to gather that information efficiently and then learn to analyze it and use the analysis to help address the other two areas.

Basically the three areas can be summaries up to paying attention to feedback from a large group of people.  Just like in high school, if you just take the feedback from bullies you’ll end up sitting in a dark corner hugging your knees rocking back and fourth hoping the bad people will just go away.  But if you take a wider sampling you’ll see a very different world.

Sure there are developers that refuse to buy anything.  Irrelevant.  There are plenty of developers that are smart enough to see the value in finding tools and utilities that will help increase their productivity.  But if you listen to the first group you’ll never venture out and find the other group.

Categories:   Biz | Tech
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Just Stop Looking

Tuesday, 29 September 2009 15:27 by jakew

I have a bad habit. I’m constantly looking for an answer, a book, a guru, a leader, something that will let me in on the secret that all of you have been keeping hidden from me. Whether it is the key to how to program really well, go faster on my bike or start and run a business – I’m constantly searching for something.

Recently though it has been dawning on me that it is time to stop. There isn’t an answer to any of it. Sure there are small facts and little details that I have picked up along the way. This blog is full of that garbage. All of it can be learned easily through Google and a willingness to read and experiment with the information gathered.

In the realm of programming I’ve been long done with the search. I don’t know if I’m great, but there isn’t much that worries me when it comes to developing software. The other areas of my life are another matter. Particularly the desire to be an entrepreneur. I’ve read piles of books, most people who have read as much as I have at least have an MBA to show for it. Me, I’m still searching. Or at least I was. Two things just happened to me that have changed my mind.

First I attended a class on internet marketing. I learned a few things, but they were not necessarily what was on the agenda for the weekend. I ended up blowing off the second two days. From reading the work book this class was really aimed at people that had no idea how to operate WordPress, register a domain or use social media. Those are all things that I really don’t have any trouble with. I did figure out a few things about keyword research and how I use my blog that I will be doing differently. I also figured out, or they shouted it enough that it got through, that the problem isn’t “knowing what to do”, the problem is “doing it”. Plenty of people who want to lose weight know what to do, they just don’t do it. Same thing here, I know that the way to sell products and get cool lucrative consulting engagements is to advertise and market. I just don’t do those things.

The second thing that happened was a brief call to a person I thought would have answers for me. Or even better: “THE ANSWER”. Turns out he really doesn’t (great that it only took me 6 months to figure this out). It doesn’t mean he isn’t successful at what he does, he just doesn’t have the ability to transfer it to me. Plus, it is likely that what he is doing and what I am doing are too far apart to cross pollinate. Whatever it is, no hard feelings but I’m going to stop looking for answers.

Instead what I’m going to do is spend my time actually doing and making my own answers. There will probably be a lot of wrong answers that I’ll make. I’ll probably take a lot longer than some people would, but I’ve already been at this for nearly two years. What’s another year or two? The search for other people’s answers is really just an attempt to short cut the learning process.

Enough with trying to know it all, it is time to start doing it.

Categories:   Biz
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Sales Pages – do they really work?

Thursday, 24 September 2009 08:00 by jakew

This is a bit outside my normal domain but still related. For nearly two years I’ve been reading about and learning marketing. In particular I’ve focused on Internet Marketing (IM here on). This coming weekend I’m even going to a 3 day workshop to see if I can move from passively learning to actively putting what I’ve learned in to action.

One of the things that has held me back is the marketing/advertising process for a business. One of the main tools that get talked about in IM is the sales page. If you click around enough you’ll run in to plenty of them. For me I know I’m on a sales page before it even finishes loading. Here is an example: http://www.musthavemarketing.com/traffic/

To be very clear, I’m not judging this page’s quality or the product it is selling. I’m just pointing out that it is a sales page and has all the standard features of a sales page:

· Bold headline fitting the usually copy writer’s formula for writing a head line (Reason-Why Headline)

· Short 3 – 5 sentence paragraphs with short (less than 20 word) sentences.

· Lots of white space

· Charts, graphics and other stuff you don’t really have to read

· Bolded section that draw you in

· Pictures of the product you’ll receive when you buy

The only thing missing is testimonials. You’ll usually find them on sales pages with a picture of the person. Sometimes for added authenticity they’ll make the testimonials appear to be hand written.

Set aside the veracity of the sales page. For the moment assume everything stated is true, and that you’ll receive all the benefits of the product when you buy it. The question I have is: will this page, or any sales page, all on its own be enough to cause you to buy a product?

Most of my friends are very technical like me and they believe they have the same ability to spot a sales pitch from a mile away. Like me, they are able to hit the back button before a sales page loads. We’re smart guys and can’t be suckered in by a sales pitch. Are you sure: http://www.red-gate.com/products/Exchange/index.htm . Picked purely at random. Has all the features of the above minus the copy writing skill. It even has a testimonial! Bold text! Actually, these guys are better at it. This page doesn’t cause the allergic reaction the other page causes. They’re a lot better: plenty of supporting video, case studies, you can even give them a call to ask questions. Good luck getting somebody to answer the phone at the other place.

I can find plenty of sale page examples to show. You can to. The key bit has to do with the skill invested in the sales page and the understanding of your audience. If you are selling to technical people you would do well to copy redgate’s pages. I’m not sure who the audience is for the other page, I can make some assumptions, but I think if you try to sell developer tools with a page like that you’ll not be well received.

Then again – that brings up another topic: split testing! But I’m out of time now.

Categories:   Biz
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Struggles

Thursday, 10 September 2009 08:00 by jakew

I started a personal project a long time ago (early summer or so) that I had hoped to already be finished with. I initially setoff to use MOSS (Microsoft Office SharePoint Services), in particular I wanted to use Forms Server because it seemed to be a perfect fit for what I was doing.

I showed it to my partner and he seemed ok with it until I mentioned the price tag. He freaked. To a large degree I don’t blame him. Dropping $30,000 just for software is insane when you are used to using open source software and paying $9/hr for coding.

The result is that I basically stopped. Why? On one hand it meant that I had to start over from square one. On the other hand I was dealing with a fairly difficult client. Throw in family and some play time and basically the project got stuffed in the back corner.

Being a bit OCD though I couldn’t leave it alone so a few weeks ago I started again. This time I was going to just do it using straight ASP.NET and SQL Server. I did a bit of design, planned out the features and started coding. And then I really got depressed.

For the entire year I’ve been developing with CRM, SharePoint and BizTalk. Why on earth would I hand create a table to hold contacts? Never mind creating a web-page to view, edit, search, and etc. The more I tried to work on this the more I rebelled against it. This is stupid!

So over the weekend while enjoying the twisty roads of Northwest Arkansas I decided that I don’t need MOSS, WSS (Windows SharePoint Services) would do what I need. WSS is a free feature of Windows and can be hosted for only a little more than a normal ASP.NET account. I’ll still have to do some coding, but some really major pieces of functionality are provided for me right out of the box.

Being even smarter I’m also grabbing a few pieces from CodePlex that provide pieces of my application’s functionality readymade. In one case this is saving me a week worth of coding.

The point of this is that before writing a single line of code you really should look around first. For instance, by using WSS I’m getting a ‘free’ UI framework, security framework, a component management framework (you can switch WSS features on and off via the admin tool) and I’m sure a few other nice benefits. Grabbing an appropriately licensed bit of open source code also saves time, even though I have to give up some time learning the API and possibly debugging and testing their code. Thing is I’m way ahead of where I’d be otherwise.

Tonight I cleaned out the old version of my project from SharePoint and started over. In about 5 minutes I had all of the UI stuff in place (just created a site collection) which was way more than my ASP.NET project had. It took about 10 minutes to create most of the basic entities for the application using SharePoint lists. What remains is the core application which will still require some coding and an application database, but it’s a lot less than I’d have to do otherwise.

Categories:   Biz | Tech
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Microsoft Dynamics CRM Licensing

Friday, 28 August 2009 08:00 by jakew

Overview

Microsoft Dynamics CRM, referred to as CRM here on, is primarily licensed on a per user basis. However because of its capabilities it is very attractive to use it as a master data repository for an enterprise building a service oriented architecture. However, while the software itself makes this type of usage very compelling Microsoft’s licensing requires some consideration. Unless you plan to purchase a license for every employee in the business.

The normal deployment and licensing

CRM is usually deployed to a set of servers in the business as follows:

CRM Licensing

 

In this case you require licenses for the servers (Microsoft Windows Server, Microsoft SQL Server, and Microsoft Dynamics CRM Professional). Each user that accesses CRM will require a CAL. If external users, say customers accessing your company’s customer service web-site, are going to see and edit CRM data you will need to add an external connector license:

CRM Licensing ext

 

Integration

Now to make things more complicated. Say your organization has another software package, say a truckload management system. You need to exchange data between the two systems. Users of the TMS package will see data from CRM, things they do in TMS will update data in CRM:

CRM Licensing int

 

In this case the TMS users will not require CRM licenses. The integration system that exchanges the data between CRM and TMS will need a license, but that is all.

Don’t be sneaky

So you want avoid buying CALs for CRM so you decide to do the following:

CRM Licensing sneaky 1

Based on the research I’ve done this won’t really get you out of needing additional CALs for the users. Just providing an alternative UI and calling the CRM web-services is not enough. To avoid being in a gray area two things should be done:

1. Give the application its own database to cache data

2. Give the application its own identity in CRM and have it do all the work on behalf of the users. The users themselves do not have identities in CRM.

The application would logically look something like:

CRM Licensing sneaky

However, you might get away by just doing #2.

Caveat

I strongly believe that you should pay for what you use. However, I don’t think you should overpay either. Unfortunately Microsoft makes their licenses so freaking confusing they are impossible to read or understand. All that said; you really should talk to a Microsoft licensing specialist.

Categories:   Biz | Tech
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Performance monitoring

Friday, 26 June 2009 08:00 by jakew

My friend Lee has a good post on performance monitoring for SQL server on his blog: http://www.texastoo.com/post/2009/06/18/How-to-quickly-assess-SQL-Server-performance.aspx

My only comment is that including “Disk Queue Length” is also a good practice.  If you start seeing queues build on your drives it means they’re being overloaded and you need additional channels.  I’m not sure of a specific number to watch for, but I would think anything bigger than 1 deserves investigation.

On Server 2008 setting up perfmon is a snap, use the wizard.  Once you have a data collection set created give it a schedule so that it can run regularly so you can track performance trends over time.

Categories:   Biz | Tech
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Disaster recovery

Wednesday, 24 June 2009 11:07 by jakew

If a bad situation can get any worse it just did.  Over the weekend my BizTalk server’s motherboard died.  Of course nobody bothered to call the help desk so something timely could be done about.  Nope.  Came in on Monday and found out.  Oh goody.

So it’s bad enough that the motherboard is dead.  It turns out that backups were not being performed on the server.  Admittedly we are in a UAT phase right now, but still.  But it gets better.

I developed about 90% of the solution so that part went back in pretty quick.  The other 10% was developed by a friend of mine, but he has already been rolled off the project.  Because things have been so hectic lately I didn’t get a chance to closely review his work before he took off.  So that last 10% took about 6 hours to get up and working.  In fact I ended up taking his laptop home with me so he could come over to finish the work for me.

So now I’m sitting here retesting my system to make sure we are ready to resume our pilot.  But it gets even better.  My SOW runs out on the 30th (4 business days away) and they have not signed an extension yet.  They have nobody on staff that knows BizTalk, CRM or SharePoint.  My buddy Raja knows SharePoint but he hasn’t been extended either.  I’ll keep my imaginings to myself as to what is about to happen to my client (but seriously – it couldn’t be clearer if you wrote it in large neon letters).

Anyway, usually I stay pretty focused on the development end of the business.  But right now I think I need to do some research in to how you recover a dead BizTalk server.  Specifically, how do I deploy my projects in such a fashion that when the server dies you are able to quickly get things back up and running.

I’m pretty sure Microsoft has some white papers, and I’ll read them.  But I’m more interested in real world situations that really do occur.  Shops that don’t have regimental HQ and huge bureaucracies that slow things down while covering every possible contingency.  How does a shop like my client’s prepare itself for a disaster recovery scenario?

Categories:   Biz | Tech
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Analyzing IIS logs with SQL Server

Wednesday, 24 June 2009 08:00 by jakew

For the past week my CRM application has been misbehaving. Users are complaining that it is slow. We’ve not done anything lately so we’re not sure what is going on.

In the let’s waste some time (and money) department our BA decided that sitting in the call center watching the users and using a stopwatch would be a good idea. Other than providing no objective information about what the performance is, sure. Watching the users told me that they aren’t always doing what they are trained to do. But it doesn’t tell me anything really useful that will address this problem. Unfortunately I’m involved in 4 projects all at once so I didn’t really have time to address this.

Anyway, IIS logs every interaction with the web browsers. It also tells me how long it took to process a requests. Perfect. Only problem is that the log files are usually about three hundred and fifty meg! Not a job for Excel or notepad. I looked around at some of the tools available, but I don’t have budget and the free ones didn’t really do it for me.

What’s that? Blast the data in to SQL Server and use a Pivot Table in Excel? Brilliant! How do I do that?

Go here: How To Use SQL Server to Analyze Web Logs

Basically they tell you how to create a table to hold the data in the log file and then how to use BULK INSERT to read the log file. In my case my log file didn’t have the same columns as the example so I had to change the table around a bit. I also had to chop off the first few lines of the log file to get to the real data. But once that was done I was able to pull the data in without any trouble.

The result: I have real objective data and know that occasionally the system is slow. In one case it took nearly 1 minute to respond! However, a quick query told me that it was very rare for the user to get a response that took more than 3 seconds (less than .5%) but unfortunately sense you are in the application all day – you are going to get a slow response eventually.

The fun part now begins. I gotta correlate the slow responses to other things happening in the system. Go look at the EventLog, SQL Server, turn on tracing in CRM, etc. Somewhere something is happening to cause this.

Categories:   Biz | Tech
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

MOSS, SPD and Workflow – Argh!

Monday, 22 June 2009 08:00 by jakew

Over the past six months I’ve gotten to do a lot of work with SharePoint (both WSS & MOSS). Frankly, it is a great product with a ton of features that make rapidly building business solutions pretty easy. However, it does have limitations.

For the past few weeks I’ve been working on building a SAAS solution to be completely hosted in WSS. Originally I was going to MOSS, but then I looked at the price tag. Even with BizSpark its too expensive for my tastes. My partner nearly fainted and was going to push for me to do everything in PHP.

Anyway, I’ve done further work, prototyping mostly, on the business processes we are going to automate. Thing is, the way WSS interacts with the user make the experience a bit cumbersome. Perhaps I’ve not completely groked SharePoint, but if a user is expecting an application type experience they are going to be disappointed.

I’m able to store data in lists. That is 90% of the application. But it isn’t that interesting. The application generates a lot of documents (Word Docs) which WSS will do a great job managing. But collecting information from the user is where things seem to fall apart. Workflow also seems to get a bit wonky.

In terms of UX and workflow I’m really looking for a wizard type of behavior. The user clicks a button that in effect says “I want to do business process A”. The screen refreshes with a form that collects information and then asks the user for additional information. The conversation between the application and user goes on until the end and then the documents are created. User is happy.

For clarification: my goal was to create the application without opening VisualStudio. I wanted to do everything with custom lists and workflows designed in SharePoint Designer. I’ve fussed around trying to get what I want and have determined that it isn’t quite possible. So starting tonight I’m going to create a few user controls and other artifacts to get this thing done. I’ll still use SharePoint’s lists to store data, but the UI stuff will be done via custom web-parts.

One of the frustrations is that I can just put a button or link that starts the workflow. When I need the user to fill in a form I can just put the form up. The user has to go to tasks and choose to edit the task item.

There are other things that are frustrating, but they can worked around using Visual Studio. The cool thing about this experience though is that I have a very good idea of just how really powerful WSS/MOSS is. Throw BizTalk and InfoPath into the mix and you can build some really wild solutions.

Categories:   Biz | Tech
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed