Trivial Software?

All software is hard.  Building good software is not trivial, but the challenges I face are different depending the intended use of my software.  For me it helps if I put software into three categories

  1. Critical – this controls nuclear power plants, medical equipment or aircraft control systems.  If it breaks a lot of people die.
  2. Enterprise Class – If it breaks I cannot run my business (pay my suppliers, pay my employees, serve my customers)
  3. Trivial – If it breaks I can’t check the latest sports results, or post my opinions on my lunch to facebook and twitter

The tolerance of the consumers of each of the above software for failure is quite different and as such the speed with which new features can be delivered and implemented will differ.  If the pilot of your plane sees a pop up on his screen right before he takes off saying “An update is available for your autopilot software, would you like to install it now?”;  would you want him to click ‘Yes’?

I build Enterprise software, which is the middle ground.  I certainly have to spend a lot of my time ensuring that what we build is robust and reliable, but there is plenty of scope to innovate.  I respect the people who build there other types of software as they each have their own unique challenges.  Critical software has to be totally safe and reliable and those pressures are obvious.  What I class as trivial software is a challenge because you have to move with the market and bring out new features and innovations very fast and keep your customers very happy and engaged because they can move easily to another product.  What is trivial software to the users may well be critical to your ability to make money and pay your own bills.

Do you agree with my categories, or do you prefer to slice it another way?  Is trying to categorize software a futile exercise?  Am I just trying to be controversial by calling some people’s life passion trivial?  Have your say in the comments below.

Little Data and The Semantic Enterprise

Small dataI have taken this term and the inspiration to get some of my thoughts in this area into a post from Jake’s recent post on the excellent AppsLab blog, I have been thinking about personalizing experiences in software for a long time but I had not ever called it little data.  It somewhat fits with thoughts I have had around The Semantic Enterprise, which is my preferred term but I think I have a different perspective on it than other people.

So my idea here is that we make use of the data we have about a person and what they do to get the small amounts of data that they really need to them, even though they didn’t know the data was there or that they needed it.  This is perfect for enterprises software because we have a lot of data about your life inside the enterprise and also a lot of data about other people similar to you and we have a whole load of data very relevant to you so we just have to pull those things together – should be simple right?

I will give an example that I noticed where this is done badly.  When I first had children, I bought new born diapers from amazon, then I started buying slightly larger diapers and then I bought a book on potty training, my buying needs progressed in a somewhat predictable way.  Amazon continued to recommend potty training books and diaper related items long after I had bought my past potty training book.  This is a case of good logic to figure out people who buy X also buy Y, but not good to be really smart and predict how my needs progress over time.  In the enterprise our needs also change over time, so we should try to predict that and help you get what you need.

So to give an example in the enterprise, I might want to recommend an online training resource on managing my employee’s expenses or doing performance reviews after I am newly promoted to a manager title, but I should not blindly push that to every manager even if they have been a manager for many years.  In finance the reports I have on my homepage would change based on my activities in the system, if last quarter I was the person approving last minute adjustments for the Slovakian Ledger, then maybe I want to see some reports on the Slovakian Ledger a little earlier in the cycle to get ahead of the process this quarter.  However if I happen to be set up as an approver for the Slovakian ledger but have never approved anything in that ledger maybe I am not going to be interested in having those reports pushed to me.

As you can imagine the possibilities are huge and very exciting, I have barely scratched the surface.  I’ll be giving this a lot of thought and bouncing ideas of smart people.  Your opinions are also very welcome, use the comments below.

Let me know your thoughts in the comments section below.

To cc:, or not to cc:, that is the question

One of my favorite Oracle Bloggers, Floyd Teter often uses Rock Lyrics quotes to open his posts.  I’ve blogged before about email management (26,138 Emails in My Inbox (and I feel fine) using a play on an REM song, but I thought I’d be a little more upscale today and go with Shakespear.

That is the question

To be, or not to be, that is the question.

I decided to write this post in response to a post on the Talented Apps blog, by Sri Subramanian discussing how we process lots of information from feeds, twitter and emails and mentioning that adding people to the cc: on an email is ok as long as the subject is good so they can filter.  I disagree.  There is a very big difference between email and feeds (RSS, twitter, facebook feed, blogs etc), one is like me going to a bookstore and browsing and the other is like junk mail, let’s compare the two.

Junk mail –  somebody gets my address and specifically sends a message to me and it is delivered right to my door and I have to look at it and chuck into the recycle bin that I keep close to where I pick up my mail.  If I don’t like something I’m sent, I cannot easily stop them sending more.

Bookstore – I look around for a bookstore I like the look of and I go in and navigate to the sections of interest and look around maybe thumb through a few, maybe buy some and read them fully, or not.  I decide when I leave and if I go back there again.

In summary the difference is that email (or junk snail mail) is not on my terms.  I opt in to feeds (or bookstores) and I can opt out whenever I like, but email I have no choice it comes to my inbox and I have to deal with it.  I can set up filters, but that is error prone because I may filter something that I need and miss it.

I love feeds and information flowing from them are great, because it is on my terms but I think people sending emails have some responsibility to attempt to cc: only people that need to know.

What’s your opinion on the topic, is it ok to cc: everyone on your mail, just in case they are interested?  Let me know in the comments section.

photo credit:  StreetAlbum

http://www.flickr.com/photos/streetalbum/3102886548/in/photostream/

[The RISA mentioned in the photo is a company that paints over graffiti – some say it is cleaning up, some say it is destroying street art]

How to Migrate from WordPress to Blogger

I was checking out Google Analytics on the blogger account I have had since 2004 but really not used much since. Big problem. I have very little content there and almost no traffic to analyze. WordPress don’t allow me to use Google Analytics on wordpress.com, so I can’t analyze all the wonderful activity here. This got me wondering how easy it would be to migrate my blog to blogger and the answer is as easy as 1,2,3.

1) In WordPress go to Tools Export and click on the Export button

This will give you an XML file to save to your computer in the WordPress eXtended RSS or WXR format with all your posts, pages, comments, custom fields, categories, and tags.  Excellent for loading to another WordPress Blog.

2) You need to convert this WXR format to something blogger can read, so got to http://wordpress2blogger.appspot.com/

Load up your WXR file and you will get a file back in blogger format.  All powered by the Google App Engine (thanks guys)

3) Go to blogger dashboard and click import, select the file you got from 2) above

One thing to be careful about is it will also pull in your draft posts from WordPress, so I recommend that you don’t check the box to publish right away, better to review and publish after the import.

So now I have all my blog posts on blogger as well as on wordpress, next problem to solve is if I could keep them synched up automatically, which I think might be a more difficult problem.

Driving 2.0 – Socializing The Freeway

I drive from San Francisco down the Highway 101 to Oracle HQ everyday (sometimes on a Saturday too), I sometimes see people I know on the freeway, I often see the same cars, I certainly see people do (IMHO) idiotic things and I occasionally see people do (IMHO) courteous and considerate things.

So an idea came to me as I passed the ebay commuter bus the other day. Why can’t I rate the drivers on the freeway just like I rate sellers and buyers on ebay? You cut me up, you get a thumbs down, I see you driving whilst eating a bowl of cereal thumbs down for you, if you let me change lane safely I can give a thumbs up. Sound like fantasy land?  Well it could be easily done, I can see your registration easily enough I snap a picture of Continue reading

Why Product Development Should Blog – Part 2

imbloggingthis.pngIn part 1 I talked about how a conversation on my blog took a frustrated customer with problems to a situation where they got sales to quote them for another Oracle product. Part 2 is a more personal branding issue.

Generating Consulting Opportunities

I contacted a reader of my blog who’d added some comments and I got the reply below:

<company X> is using Oracle as well, but they are not fully implemented across the globe. I’m noticing that we are having a hard time with intercompany transactions as they relate to foreign currencies.

I was researching the issue on google and I came across your blog. I think your blog is a great tool for questions, but I think I have too many question to ask on your blog. I was wondering if you did any consulting work?

Happy as I am in my job, especially now I’m working on GL too, it’s always nice to have other options. Of course this might lead to Oracle Consulting getting some work from this person, which would be nice too.

What is also really important to note is the research started with Google; not the user documentation, not support, not metalink or OTN, straight to google. I had a similar experience yesterday, I needed to know the IP address of my netgear wireless router. I didn’t go and dig out the instruction manual that came with it (not sure if I still have it), I didn’t go to netgear.com and start to navigate through that, I just googled it and I had the answer in seconds (192.168.0.1 for the record) and I have no idea what the source of the information was, I just know it worked. So if you have information about how best to use your products, you better get those tips and tricks out there so google can find them. I call it Help 2.0, but it seems other people have thought of that term already.

UPDATE: I now have added part 3 in this series.

Is Oracle Cool Again?

designer2000I joined Oracle UK in 1997 when Oracle 8 was just out to a lot of buzz. I had written a College paper on Designer 2000, which in 1995 sounded futuristic; automatic code generation and reverse engineering of code was a hot topic around then. All in all it felt pretty good to be joining Oracle and many of my college friends were impressed, especially as I was joining product development. Things went well, I learned a lot, 8i came out, I was involved in building 11i which was on the latest tools and then I moved out to the US in 2000 at the height of the dot com boom.49 Zoe Continue reading