What’s a Consistent User Experience?

In tech, we have all mostly moved on from the days of projects based work and now speak in the language of software products. We have our product lines, product road maps, product backlogs, and planned product features. If you’re in that type of environment you likely leverage personas or user stories to describe your type of users which you then bring in when planning the user experience…which like many areas is the “most important thing”. You may have different goals for your particular user experience but certainly we can assume that you’d like the experience to be consistent and straight-forward.

We are a smaller company and yet we still have 4 core products and one could argue we have many more with the legacy applications features we still support. Its been a tough few years which brought with it resource constraints so we have to often revisit the backlogs and re-prioritize. Because of those constraints we made a strategic decision to not roll our own presentation on our large data sets. This decision was initially made to offer a new product line that would be help a smaller but promising pool of retail suppliers and reps that didn’t need all the features of our flagship. So we partnered with Tableau in order to bring their BI features to help make our retail data analysis pop.

The new product line is progressing but the real change has been the internal emphasis of leveraging Tableau in other products. This one will be a technical dozy for us since we developed a new API with our flagship with the thought that the front-end would be handled by our team via D3 or something similar. Technical issues arise, we’ll handle that.

So what’s a consistent User Experience?

As we’ve moved our systems to AWS and ported many of our stacks away from Windows and into distributed architectures we’ve seen great gains. We’ve also moved from SQL Server to AWS Aurora / MySQL to have both ease of administration as well as a cost savings. With a recent new Tableau deployment a member on my BI team ran into an issue which goes against an ideal user experience. From what I’ve pieced together when Tableau Desktop (a client) is installed it adds all the prerequisites apps and drivers to support MySQL out of the box but when you install Server it does not do this but does install Postgres which it uses internally.

This leads to an user experience where someone can connect to MySQL on their client, make the snazziest dashboard experience known to humankind but when they publish success is not had because MySQL drivers are not present. So on the client side the install does something and on the server side it doesn’t do that same thing?

That to me is a good example of on an inconsistent user experience. Perhaps there is a good reason for it, perhaps there is documentation and instructions to detail it, or a road map item to correct the inconsistency on the backlog. In the meantime, users are going “huh”.

Peecho Architecture – scalability on a shoestring

Great article by the team at Peecho on their architecture, why they went cloud-based and picked Amazon, and then an overview of their architecture.
High Scalability – High Scalability – Peecho Architecture – scalability on a shoestring.

High Scalability – Web 2.0 Killed the Middleware Star

Interesting read on the use of middleware and its relevance in a web 2.0 world. The comments should drive out some good discussion on what other folks have done.

High Scalability – High Scalability – Web 2.0 Killed the Middleware Star.

Unable to cast COM object of type ‘System.__ComObject’ – ahhh what?

With a new Windows7 VM on my MBP I have MSSQL Server 2008 R2, vs2008, vs2010…and sadly SourceGear Vault 3.5 which made it so SQL couldn’t connect to a server via the object browser.

Looked like this:

Unable to cast COM object of type ‘System.__ComObject’ to interface type ‘Microsoft.VisualStudio.OLE.Interop.IServiceProvider’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{6D5140C1-7436-11CE-8034-00AA006009FA}’ failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

These helpful posts fixed me up:

http://www.davidmoore.info/2009/08/19/solution-explorer-open-each-folder-in-same-window-error-and-sql-management-studio-ie-and-team-explorer-errors/

http://support.sourcegear.com/viewtopic.php?f=5&t=12680&p=52790&hilit=management+studio#p52790

http://social.msdn.microsoft.com/forums/en-US/sqltools/thread/d5d3e5fc-d8ce-4f42-b7ea-9bbbb7756a20/

Hoping to Make iPhone Toys as a Full-Time Job – NYTimes.com

Hoping to Make iPhone Toys as a Full-Time Job – NYTimes.com. Spring blog cleaning here; the fact that I’m an an inconsistent blogger is highlighted by this saved draft from 4/5/2009 regarding making iPhone apps a full-time job. Back then the plan was to write an iphone app (puts me is a small pool of people…ha), throw it out there for free, learn, promote, then make money with round two.

Looking back over the goal I set last year has been interesting. While I’ve made little strides in the development of this plan I have devoted time on the thought of my applications; and in that time the app world has changed and that changes my plan. MonoTouch is a Godfather horse-head in the bed for developing iPhone apps. I wasn’t likely going to use MonoTouch but I had downloaded and played around with their tools. With Apple’s latest headlines I’m certainly not swimming without objective-c now. Additionally, changes to the commerce model allows greater app flexibility and then there’s always the iPad. It’ll be interesting to see how the next year shakes out…

Are you one of the 10% of programmers who can write a binary search? « The Reinvigorated Programmer

Are you one of the 10% of programmers who can write a binary search? « The Reinvigorated Programmer. This was a fun way to start my day. For time purposes I pseudo coded this in my head and compared that with the posted solutions…I’m in the 10% baby!