Software runs my life

Tag: software Page 1 of 2

Upgrade DIR-615 wireless router to a DD-WRT Access Point

DIR-615_frontMy D-Link DIR-615 N300 wireless router has serious issues with dropouts whenever you use any kind of wireless security (WPA, WEP etc.). This is a big problem that a large number of people have also reported, and there were no official firmware updates available. This lead me to stumble upon DD-WRT, an open source based router firmware for Broadcom based routers like mine (hardware C2, firmware 3.03WW).

Installation was pretty simple:

  1. Do the 30-30-30 reset: Hold down reset button while power is in for 30 seconds, out for 30 seconds and then in for another 30 seconds. This drops you to an emergency firmware update stage.
  2. Upload the latest DD-WRT firmware for your hardware version. Mine was the C2 version here, but you can search for your device here. Wait 5+ minutes, there is no activity/process notification.
  3. The device should start running the DD-WRT firmware and ask you to set a new admin username and password.

There are more comprehensive instructions here if you need them.

I then needed the device to be an additional wireless access point on my network, so I followed the setup instructions here. The only trick was that the wireless radio wouldn’t turn on at all. Turns out there is a bug in the firmware, and you need to enable the “MAC Address Cloning” option in order for the radio to turn on. Go figure! Anyway it’s working perfectly now and has so many more options than the default firmware.

Now if only I could upgrade my carrier provided Cisco modem with the same firmware so my Sonos worked…

iPad Emulator

Safari Develop Menu

Do you want to see what an iPad user sees when they look at your website? Well there is a simple way to check it out without buying an iPad on either Windows or Mac:

  1. Download and install Safari (if you don’t already  have it)
  2. Edit -> Preferences (or Safari -> Preferences on a Mac)
  3. Go to the Advanced tab
  4. Check the “Show Develop menu in menu bar” option
  5. Close the preferences window
  6. A new “Develop” menu option will appear
  7. Select “User Agent” and then “Mobile Safari 3.2 – iPad”

It isn’t perfect (hard to simulate rotating the device) and you should also disable Flash, but it gives you a rough impression.

Agile development management

We recently started moving toward Agile software development at work, and I was feeling a bit uncertain. The core reason for this uncertainty was that Agile is a developer-centric methodology and I didn’t understand how I fitted in as a Business Analyst, Project Manager and/or Product Manager.

Now I am a big fan of constant change, I just felt that developers were being given tasks that (despite being scoped user stories) still contained a large number of unknowns. I didn’t know if I trusted them to call me in when they got stuck, rather than finding the quickest route themselves. Additionally the roles of Project Manager, Product Manager and Development Manager were stepping on each other’s toes. Normally I am happy to write the requirements up front and then manage the project. Now there were no complete signed off requirements documents, project management was on a wall and the development team was in control. What am I meant to be doing? I am not someone who likes to sit back and wait to be called upon! I eventually found the following presentation, which was literally one of the only sources I can find about how Agile development management is meant to work:

View more presentations from allan kelly.

Even though I am only just beginning with Agile I felt the presentation gave me a good sense of where I fit. What are your experiences in Agile management outside the development team?

Review: Getting Real by 37Signals

Getting Real CoverI was looking for good Product Management reading material, and was referred by a friend to the book “Getting Real” by 37Signals.

What did I like?

This book gets straight to the point, there is no bullshit whatsoever and it makes no apologies for that. Equally there is no room for bullshit in the product; decide a goal, keep the budgets tight, keep the team tighter, listen to the customer (at least when they bang down the door) and just execute the hell out of what you are doing.

This book is a reminder that building a product is not just about technically executing. Many usability, sales, HR and marketing issues must be addressed to deliver a successful, well-rounded product. You need to reflect this well-rounded nature too, everyone should take support calls, think of usability, write blog posts etc.

What didn’t I like?

There are however some minor things I don’t agree with. I think exit surveys are valuable, there should be a formal suggestion gathering and prioritisation process and there is a limit to how much information you should place online. If you have a mass appeal, generic app then I think these rules are a little different to someone developing a niche app for a specific market. Apart from these few items, I was nodding the whole way through the book.

Conclusion

This book embodies the entrepreneurial spirit of today’s web app developers. Put your heart into the app, and then put your app out for everyone to see. If you are a motivated person who wants to focus your vision and energy, then this book is for you.

Exchange 2007 certificate migration

Exchange 2007 uses SSL certificates extensively across the IMAP, POP, IMAP, UM and IIS services. I assumed that adding an SSL certificate to one of the Domain Controllers would propogate that certificate across all the controllers. I guess it makes sense that I was wrong, SSL certificates aren’t something you want spread or activated widely. If you do need to move or copy the certificate across servers though, it is a simple 3 step process in the Exchange shell:

1) Export the certificate from the original server:

Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -BinaryEncoded:$true -Path c:\certificates\export.pfx -Password:(Get-Credential).password

http://technet.microsoft.com/en-us/library/aa996305.aspx

2) Import the certificate into the new server:

Import-ExchangeCertificate -Path c:\certificates\export.pfx -Password:(Get-Credential).password

http://technet.microsoft.com/en-us/library/bb124424.aspx

3) Enable the new certificate:

Enable-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -Services “POP, IMAP”

 http://technet.microsoft.com/en-us/library/aa997231.aspx

Done! 🙂

Xero Accounting usability review

Xero touts itself as “The world’s easiest accounting system”. I don’t think they have much competition as far as usability goes in the accounting space, but I would guess that is because their competition probably think it is impossible to reduce accounting functionality into a usable package. I have had an extensive play with their demo, and I have seen a really surprisingly large number of unique and very usable elements to their user interface. Just when you think Web 2.0 usability techniques have plateaued, it is nice to be reminded that there are still plenty of boundaries to push. I just want to point out a few of my favourite interface elements of this beautifully designed interface.

The Xero Dashboard

The Xero Dashboard

When you first login you are greeted by a welcome message. This isn’t particularly unique, but it has nice touches. A warm dialog, pre-loaded sample data and a link to view the sample data straight away. They even have a different demo company set up for each country they operate in, taking into account local accounting rules etc. But that’s not all! Once you load the Demo Company data you can either take a tour, or tackle one of the top 10 tasks that people complete in Xero.

Tour or top 10 tasks

Getting Started Alert

I think this shows a good level of hand-holding, but also of understanding and targetting your customers.

Another nice usability touch is the auto-logout function. Users generally hate the auto-logout 99% of the time, but it does save their bacon that final 1%. To make it as unbtrusive as possible Xero use a lightboxed login box when your 30 minutes is up (and it is good they actually display the limit here too). This makes logging back in a breeze, and teasing the user with all their content subtly appearing under the lightbox makes them feel that it isn’t a big process to dive back into the software again.

autologout is painless

Lightbox style Auto-Logout

Reports are another area where usability is always difficult, in this case navigating to the reports that you use most regularly. Xero allows the user to simply click the star next to the report, and that report will then appear in the higher level Reports dropdown. You never have to see the full list of reports again!

Simple report navigation

Simple report navigation

It’s pretty minor, but it is a solution I never thought of to a problem I have faced for a while.

Finally one last idea that looks simple, but is actually very effective. The action button that performs more than one action:

button dropdown

Consolidated Action Buttons

I like this because it keeps action buttons to a minimum, allowing them to be placed more consistently and concisely on a screen. It also forces you to make sure the actions on a page are related and required.

Other nice elements include inline help content throughout, consistent positioning and colouring of action buttons, good usage of white space around tabs and tables, the ability to save drafts or ‘publish’ data entry and the use of simple language (“Money coming in” rather than “Accounts Receivable”).

Well done Xero, you are now my usability reference whenever I get stuck! 🙂

Making money from SaaS

Internet Cash Machine

Internet Cash Machine

The core promise of SaaS is that it will help you deliver services more efficiently. Instead of trying to manage software projects (which can easily get expensive and out of control) a company can outsource non-core development and deploy an SaaS solution almost instantly. In the current economic downturn many people have been watching SaaS vendors closely to see whether they struggle or thrive. On paper they are cheaper and allow businesses to focus on their core strengths, but would companies shun the risk and element of change in uncertain times?

There have been a few earnings announcements over the last couple of months that are proving the SaaS backers right. Salesforce is the biggest ‘flag bearer’ for SaaS solutions, and it has exceeded analyst expectations and posted a 43% revenue increase from the same quarter last year. The good news doesn’t end there however. Concur, Taleo, RightNow and many other SaaS providers are also posting record quarters.

Islands of Computing Power

Amit Mital kicked off TechEd Australia 2008 today with a keynote presentation on Microsoft’s view of how software and services will develop in the future, particularly in relation to their new Live Mesh offering. There is a good summary of his presentation on the TechEd New Zealand site, it seems they got an identical opening keynote. For someone who loves networks he sure doesn’t seem to like professional networks!

There was one flow of logic which struck me in his speech. Moore’s law is still holding true, and computer hardware is continuing to double in processing power every 18 months. This computer power is also appearing in more and more locations. But when was the last time your network doubled in speed? What about doubling in speed to each additional node? This rapid processing power increase has meant two things that are obvious even today:

  1. Computers are islands of computing power – There is no seamless transfer of data between your devices. You work on a file at work, email it home, download it at home, work on it and send it back.
  2. Deploying local machines is too hard – Each branch office needs a rack, servers, backup, redundency, configuration, support, licencing…

Behind the Mesh SlideMicrosoft’s solution at a high level is the Mesh stack, the structure of which can be seen in the slide shown here. The fundamentals are that local software is fast, hosted services are convenient, so lets tie them together with an API and we get the best of both worlds. The trick is getting the balance right, where does a local application end and the service begin? How do you split the business logic? How do you provide offline access and quick sign-on to new devices? Hmmm…

Microsoft’s current practical solution is to re-write most of its server packages to allow hosted delivery. Hosted Exchange is an obvious flagship for this. Google have taken a different approach. They believe that all you should need on your desktop is Chrome, essentially an all-purpose thin client rather than a thick client on a drip feed.

So who is right? Well I am betting things will converge on a middle of the road approach. Implmenting with current technology I would say that javascript, a web browser and some sort of XML interface would be the best way to go. A few things need to develop from here:

  1. API’s need to be standardised and built into the browser (or OS as these merge). Something like Javascript libraries, but compiled, lightening fast and highly reusable. Chrome is getting there.
  2. Data transfer needs to be better than XML. Think highly compressed, encrypted on the fly, but quickly decoded into a human readable format if necessary. Microsoft’s MeshFX is getting there because it has authentication and other services built in, but it needs to be open like SOAP.

So I guess the race is on! Google will take Javascript to it’s limits, Microsoft will try to blow us away with it’s feature set. When will they sit down and standardise on the next generation of javascript and data format?

Costs of deploying SAAS

SAAS is a cheap delivery model right? Well it depends if you are a technical or a business oriented person. There was a very interesting article on Business Spectator today regarding the costs of deploying SAAS software.

One of the most interesting statistics for me was that Salesforce.com (one of the few genuinely profitable SAAS success stories) spends half its revenue on sales and marketing. When I think about it it makes sense, but I guess coming from a technology background it isn’t something that I would have initially thought of. The scary thought that comes after this is what percentage of revenue is taken up once you include support as well? The even scarier one is are you really achieving scalability if these represent the vast majority your costs?

As the article points out, there are three economic fundamentals:

  1. How much it costs to attract new customers (known as subscriber acquisition costs)
  2. How much money can be extracted from those customers in regular subscriptions (known as “average revenue per user”, or ARPU)
  3. How often subscribers drop out and have to be replaced (the churn rate)

From http://www.networkcomputing.com/gallery/2006/1012/1012f2e.jhtmlFor point 1 I think SAAS companies still rely on their old mantra that the SAAS model generally is still struggling for widespread momentum. I think this still holds true, but perhaps these days more because of the costs of migration and training rather than lack of market acceptance or knowledge. The sales and marketing costs are therefore quite high as they are pulling lagging and inflexible customers into what is now a competitive market place with low barriers of entry.

These low barriers of entry tie into the last two points. Companies can theoretically treat SAAS software like they would their telephone company and switch at any stage. This means that new entrants can come in and undercut the established players, keeping subscription revenues down across the board.

The interesting part for me is that online classifieds is somewhat like the SAAS model. It relies on subscriptions and has a low barrier to entry. Why are they so profitable then? I have a few ideas:

  • A new twist on the established classifieds model, rather than a whole new model
  • Industry maturity leading to a consolidation of players (and profits)
  • The difficulties in targeting consumers online

To be honest I really feel like I am missing something here. Can anyone help?

GPL Licencing Headaches

Let me say this from the start, I think Open Source software is the way of the future. Let me also say that I am not a lawyer. On that point I find it incredibly ironic that the urban definition of the IANAL acronym disclaimer directly references the GPL. This is even taken one step further with another more ridiculous acronym created during a GPL discussion, which conclusively proves that giving acronym loving nerds a sniff of legal jargon is a recipe for disaster.

It also helps explain my point, the GPL isn’t the Open Source saviour some people think it is. I hate to list points, because the people feel they need to find a way to argue against each one rather than the logic as a whole, but I am going to do it anyway:

  1. Money = Evil – Any efforts to profit from Open Source development work is treated with scorn. Comments such as “To release a non-free program is always ethically tainted” frustrate me. Equally promoting an Open Source product does not give you licence to trash commercial software. They are your competitors, if you think you are on their level then treat them with respect.
  2. Discourages Integration – The GPL is brilliant for making utilities. Compilers, databases and graphics programs are all essentially utilities that you interface with in a certain way, but never extend or deeply customise for your own purposes. Deep integration is one of the biggest competitive advantages that Open Source has over commercial software packages, so why make it hard? For example SugarCRM allows web service integration; but even modules, templates and dashlets that integrate within the existing API’s are considered to be covered under the GPL. Is this really a deep extension of the core product?
  3. Patent Protection – Patents are either loved or hated, usually depending on whether your name is on one or not. Regardless, the fact is that they are not going away. Open Source products are just as vulnerable to patent infringements and litigation as commercial software is. As the lines between Open Source and commercial work continue to blur, it is emerging that corporate indemnification is almost becoming a quality assurance stamp. A community cannot offer indemnification, so they really need to focus on their competitive advantages. Stay away from heavy duty licences that just muddy the waters for smaller businesses and institutions, don’t forget a hatred of licences seeded your whole industry!

As with anything legal there is no ironclad solution. As far as I can see the solution is to make it as easy as possible for people to contribute maximum value with minimum overheads and receive value for whatever purpose they desire. Rely on the fact that producing a commercial product that is 99% Open Source is not a safe, competitor-free business model!

Page 1 of 2

Powered by WordPress & Theme by Anders Norén