Successful Endeavours - Electronics Designs That Work!

C Programming Language

The C Programming Language was developed by Dennis Richie and Ken Thompson at Bell Laboratories between 1969 and and 1973. It was the successor to B and used to create Unix. The recent bad experience with the Multics time sharing operating system development had made Bell Laboratories sensitive to that sort of cost blowout so the project was not widely promoted until the first working version was complete.

Ken Thompson and Dennis Ritchie

Ken Thompson and Dennis Ritchie

So what did C bring to the table that made it such a valuable asset? Here is a list:

  • can be used to directly interface to and manipulate hardware and IO
  • so it allows you to get close to the hardware itself
  • was a procedural programming language supporting structured programming
  • can be used to write an operating system
  • or sits very close to the operating system
  • had flexible naming conventions
  • had flexible memory allocation (static, local, global and dynamic)
  • could be compiled to machine language with a relatively simple compiler
  • is portable (mostly)
  • compiles to very fast executing code
  • compiled program can run without an operating system and do not need a virtual machine or any other components

The disadvantage compared to more modern procedural programming languages is that you usually do more typing to achieve the same outcome, it isn’t object oriented by nature and the variable typing is flexible so you can create some spectacular program failures if you get the cast wrong or convert a void pointer (no type associated with it) to the wrong data type. And one big compatibility issue is Endianness where different computing architectures store multi-byte data with the high byte at the top or bottom of the word so you can’t just swap binary data and expect it to always work. So you surely you would think we would have moved on to something better?

Programming Language Usage Trends

A recent study of computer language trends over the past 10 years by Embedded Gurus shows that unlike the anticipated rise of the C++ Programming Language in embedded systems, the use of C is rising and C++ falling. You can read the full article at C: The Immortal Programming Language where we see that Assembly Language use is falling as expected, the use of  C Programming Language is actually rising.

Programming Language Use Trends

Programming Language Use Trends

Now to be clear, this is for Embedded Software Development. In Top Programming Languages 2017 we see that Python is the most used programming language in the world across all domains with the  C Programming Language coming in second overall. This is a very big jump for Python but also a jump for the C Programming Language.

Successful Endeavours Programming Languages

At Successful Endeavours the majority of our embedded systems code is written using the C Programming Language . Our Windows code is a mixture of C and C++. For website development it is PHP and Python. So that’s 4 of the top 10 programming languages listed in Top Programming Languages 2017 .

Top Programming Languages 2017

Top Programming Languages 2017

So I expect we will be continuing to program systems using C for quite some time to come. Especially smaller system that don’t have an Operating System. Now maybe someone should focus a but more attention on teaching C to the next generation of programmers.

Successful Endeavours specialise in Electronics Design and Embedded Software Development, focusing on products that are intended to be Made In AustraliaRay Keefe has developed market leading electronics products in Australia for more than 30 years. This post is Copyright © 2018 Successful Endeavours Pty Ltd.

Insecurity in Cyberspace

This is not one of those topics that makes you feel better initially. In IoT Security we looked at how the emerging IoT world needed to protect itself against attacks. This is a different problem to pure Software Security which has its own challenges.

It was with recent interest that I received a copy of the Barr Group 2018 Embedded Systems Safety & Security Survey . We contribute and so get access to a free copy. I recommend you do the same if this is an area of interest.

They have also put together an infographic that speaks to the The Internet of Insecure Things and I am reproducing a low resolution version here with their permission. You can get a full resolution version by registering at the Barr Group website.

The Internet Of Insecure Things

The Internet Of Insecure Things

It speaks to where the insecure aspects come from. As usual, better Embedded Software Development practice leads to better and more secure products.

Successful Endeavours specialise in Electronics Design and Embedded Software Development, focusing on products that are intended to be Made In AustraliaRay Keefe has developed market leading electronics products in Australia for more than 30 years. This post is Copyright © 2018 Successful Endeavours Pty Ltd.

Top Programming Languages

Each of the past 3 years IEEE Spectrum have conducted a survey of the Top Programming Languages. This year they have done it again and the results are in. The overall winner is Python with C taking out the Embedded Software category.

Here is the overall list covering all development platforms considered.

Top Programming Languages 2017

Top Programming Languages 2017

So Python is the winner and for the first time. It’s continued rise in usage is a testimony to the usefulness of the language and the ecosystem that sits around it. But the top 4, Python, C, Java and C++ are a long way ahead of the rest overall.

Top Embedded Programming Languages

And for Embedded Software development we have.

Top Embedded Programming Languages 2017

Top Embedded Programming Languages 2017

There has been some discussion around whether Arduino is a Language since it is a platform with a development tool set built around C and some libraries. But this is a compilation of responses from software development practitioners and so they obviously think it is.

The surprise for me is Haskell. Functional Programming is still in its infancy and there is a lot we don’t fully get about it so I was surprised to see it ranking so highly. What would be really useful is to also get an understanding of what types of problems/solutions/applications the programming was being applied to rather than just the language the solution was implemented in.

Of interest is the correlation with the languages we use here at Successful Endeavours. Here is our short list:

  • C
  • C++
  • Python
  • PHP
  • Perl
  • VHDL
  • Assembly
  • HTML
  • Arduino

The previous results can be found in

Successful Endeavours specialise in Electronics Design and Embedded Software Development, focusing on products that are intended to be Made In AustraliaRay Keefe has developed market leading electronics products in Australia for more than 30 years. This post is Copyright © 2017 Successful Endeavours Pty Ltd.

Manufacturing Profits you can retire on

I was talking with one of our past clients a little while ago. They told me they had a problem. They said, “Ray, I nearly retired“! So I asked them what that meant. And they explained.

We had developed a product for them a decade ago. The total project cost then around $50,000 as it included both the product Electronics Design, Embedded Software and also the Automated Test Equipment (ATE) for Production Test which also had an Electronics Design, Embedded Software and Windows PC ATE Software component to it. And from that product they made nearly $2,000,000 in retained profit. From their perspective, nearly enough to retire on. And since they own the company it is theirs to distribute as they please. Now they wanted to do it again. So we are onto another very exciting Product Development for them. Can’t say any more about that yet.

So I though about the value proposition here. The maths says:

2,000,000 / 50,000 = 40:1 Return On Investment (ROI).

And that ignores the total value of the economic activity and profits their suppliers and customers have made.

Return On Investment (ROI)

Return On Investment (ROI)

Manufacturing Spearheads Economic Growth

The Victorian Government estimates that every $1 spent with a business like Successful Endeavours, there is $100 of overall economic value generated for the state. Makes you wonder why they don’t invest themselves? They used to through things like the Technology Voucher Program but all of that is currently shut down.

And of course there are the jobs this generates. Again, Victorian Government estimates are that every job in manufacturing creates another 5 jobs around it in the supply chain and supporting businesses. That is the highest ratio of any industry.

So what’s not to love about Australian Manufacturing! Let’s look at the benefits:

  • creates fundamental value (so the service sector has something to leverage off)
  • creates jobs and then more indirect jobs than any other industry so it is great for employment
  • creates profits

And far from being in decline, the Australian Manufacturing PMI has been in growth most of the past  2 years so that is also really positive for the overall economy. Check out he graph below from the Australian Industry Group (AIG).

Australia Manufacturing PMI 2015-2017 shows growth the whole way

Australia Manufacturing PMI 2015-2017 shows growth the whole way

The above graph was created by Trading Economics. They provide a a useful way to use the AIG Australian Manufacturing PMI figures to get reports in the format you want. If you explore it more deeply, you can see that we took a hit to Australian Manufacturing during the Global Financial Crisis (GFC) but it has been an upward trend from then on.

AIG

AIG

Go Australian Manufacturing!

Successful Endeavours specialise in Electronics Design and Embedded Software Development, focusing on products that are intended to be Made In Australia. Ray Keefe has developed market leading electronics products in Australia for more than 30 years. This post is Copyright © 2017 Successful Endeavours Pty Ltd.

Technology Selection

Before we look at how to choose a Technology, what does Technology mean?

In very general terms, Technology is understanding how stuff works and how to get it to do what you want.

Technology Selection

Technology Selection

There is lots of different stuff available. In the case of Electronics Design this stuff is the type of Electronics you will use and how you will make use of it. The most important choice to make is to determine:

  • What functions will I implement using Electronic Hardware ?
  • What functions will I implement using Embedded Software ?
  • What functions will I implement using Remote Communications ?

In looking at the answers to these questions I also need to consider:

  • Cost to Design
  • Cost to Manufacture
  • Cost to support
  • Production Volume
  • Power Consumption
  • Performance
  • Time to market

In the process of Product Development it is often Technology Selection that can make the biggest difference.

Electronics Hardware

If there is no software involved, then this is the choice of which devices can be used to implement the design and how best to use them.

Electronics Hardware

Electronics Hardware

A recent example for us was the interface and power supply for a new GPS module for the Yarra Trams Passenger Information Systems. There was a problem with the existing GPS modules in scenarios where buildings either side caused the GPS module to lose position. And guess what you have a lot of in the central part of a city? That’s right, taller buildings. The Passenger Information Systems required an accurate GPS position to work correctly. So the GPS module had been selected including the use of dead reckoning to update the position based on the wheel rotation and the interface between this and the rest of the tram had to be designed including some level shifting to adjust voltage levels. We also manufactured the interfaces for them.

Yarra Trams VPIS

Yarra Trams VPIS

So that is an example of a project that required no Software.

But most of the time there will be Embedded Software involved. And there are several really good reasons for this:

  • Embedded Software costs less in manufacture – see Reducing Electronics Manufacturing Parts Cost
  • Embedded Software is extremely flexible
  • Embedded Software can test itself
  • Embedded Software improves field support, service and upgrade capability
  • The Electronics Hardware to run Embedded Software gets cheaper every year
  • Remote Communications is getting cheaper all the time

So today we spend 80% of our time writing Embedded Software in C and C++ to run on the Electronics Hardware we design through the PCB Prototype or even Production. This is known as an Embedded System.

For this typical project type we do as much in Software as we can.

Embedded Software

Embedded Software is the software that runs on the Electronics Hardware. Unless the product must be super Low Power Electronics, we will do everything in Software except for the power supply and physical interfaces to the outside world. But there are a few caveats:

  • signal filtering is usually more power effective in Analog Electronics than DSP
  • sleep and wake timing for high powered systems is often best done with external Electronics Hardware
  • you have to be able to select a Microcontroller that has the right combination of price, features and performance
Embedded Software

Embedded Software

Given the enormous range of devices available today you would think the last point was easily covered but a recent project we did ended up with only 1 possible choice in the whole world for the Microcontroller. Here is the requirements list:

  • Run from a button cell for at least 2 years
  • Has a beeper
  • Has an LED
  • Operated from -20C to +70C
  • After a period of dormancy, start flashing the LED and activating the beeper
  • Beeper frequency, on time, off time, number of cycles and gap time are configurable
  • LED on time, off time, number of cycles and gap time are configurable
  • Dormant period is configurable
  • Unit timing must be accurate to better than 1 hour per year
  • Unit price in 100K quantities must be less than US$1
  • Software must be protected from copying

The solution was an MSP430 based device from Texas Instruments with a 32KHz crystal. Actual cost ended up at US$0.71. And absolutely everything was done in Software.

Remote Communications

 With ubiquitous Internet enabled devices, knows as the Internet of Things or IoT, it is more cost effective than ever to add Remote Communications to products. This can have many benefits that reduce the cost of field and service support for a product and also makes possible features you could not have provided any other way.

Remote Communications GSM Modem Cinterion

Remote Communications GSM Modem

An example from a recent water metering project we undertook. This is a remote water dispensing system, also known as a Bulk Filling Station, that records who took water, how much water, when and where. The transaction is sent to a website via GSM modem and the Council can get the records to bill for the water without having to travel. It also means the tanker drivers don’t have to manually fill out log books and the Council don’t have to chase them for the data. Great savings there alone. But there were some extra benefits for us and the client that they hadn’t considered. These were:

  • Remote updates to the system application
  • Maintenance monitoring of batteries and valves
  • Regular check in to confirm the system was still operational

So if a new feature is needed, we can update the software and remotely distribute it the units in the field. Since these are currently spread over half of the east half of Australia that is an enormous saving. 

Internet of Things - IoT

Internet of Things – IoT

And we can also determine when the batteries need to be swapped out so that can be a preventative maintenance operation at a time of the Council’s choosing and not an emergency call out when a truck driver can’t get water. It is quite common for the first tanker to fill up before dawn when the solar charging has been off overnight and the temperature is at its minimum for the day. The worst timing from the batteries perspective so it just works better all round if we known for sure how the batteries are travelling by keeping track. It also means that if a solar panel is damaged the Council can see there is an issue before the system stops working.

And the regular check in allows the Council to know if a unit is still operational or not. A recent example from NSW was a fire fighting crew going to a water dispensing point to refill their tanker during a bushfire only to find it had failed sometime last winter and never been repaired. With Remote Communications you can avoid that and although it costs more to design,manufacture and operate (due to SIM costs) it can still reduce the overall cost of a system significantly.

So that is the general process. Once we have decided what we will do in Electronics Hardware, Embedded Software and how much Remote Communications to use we are ready to get into the Electronics Design in detail.

And of course, no post like this is complete without an input from Dilbert.

Technology Selection - Get It Right

Technology Selection – Get It Right

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2014 Successful Endeavours Pty Ltd.

Embedded Development

This is the second in a series of interviews between Ray Keefe of Successful Endeavours and Lance Harvie of People 4 Embedded. Lance is a LinkedIn connection of mine has wanted to do a series of interviews with Embedded Developers to go over issues, tips and career advice from those of us who have been in the industry for a while. We touch on topics such as:

  • Operating Systems
  • Software Testing
  • Design Methodologies
  • Hardware versus Software and trade-offs. 

 The first Interview is at Embedded Development.

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2013 Successful Endeavours Pty Ltd.

Embedded Development

Embedded Development is the process of creating a computing system that is encapsulated within a self contained object. This object may or may not be part of a larger system. In it’s own right it is an Embedded System. So how do you go about creating an Embedded System?

Lance Harvie of People 4 Embedded and a LinkedIn connection of mine has wanted do do a series of interviews with Embedded Developers to go over issues, tips and career advice from those of us who have been in the industry for a while. For our first attempt we decided to try a Skype video call and record it. But Skype was not working well. So then we thought we would try out a Google Hangout and video record the interview.

First tip: never try a process that isn’t fully debugged when it has to work first time.

Second tip: have a backup plan.

From that you might be able to tell that both the Skype and Google Hangout processes didn’t go to plan.

Third tip: don’t rely on debugging during a live demo.

Those who don’t regularly read this blog won’t know that I got into electronics because I was the electric lead guitarist that thought it would be cool to be able to design and build my own amplifiers, racks and effects. I have a post covering my background in Music Electronics.

So I had an audio recorder with me and recorded the audio from the speakers of my laptop. I know there are other ways to do this but I hadn’t expected this to end up being the only thing that worked on the night and I had to make it work right then and there. So the audio you hear is Lance from my speakers sounding a little thin and far away and me in the room. This is also why the video is static but it does have our contact details on it.

Fourth tip: have a fallback position you know will work. 

There will be a transcript soon but you can check out the conversation above. If you want to get a copy of the transcript then either subscribe to the blog or leave a comment. 

 

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2013 Successful Endeavours Pty Ltd.

Curiosity Landing

We were an excited bunch of Engineers as we watched the live feed from NASA of the landing of Curiosity on the surface of Mars. Given the telemetry delay of 15 minutes, the real landing had already happened. Here we were looking back in time as we were watching history being made. The tension and excitement were evident in the room and we felt it too.

Curiosity Landing

Curiosity Landing taken from the Mars Orbiter

As a team of Engineers who focus on the delivery of a brand new Electronics Design with the supporting Embedded Software, we know a little of what it is like to fire things up for the first time but celebrate that it didn’t go up in smoke. Not that this happens literally very often, but it is a good feeling to get confirmation that the careful design work has been successfully implemented. We develop up to 100 new Electronics Products each year so we have had some practice at this.

In space this is harder still for 3 reasons:

  • You can’t easily rework it if it goes wrong. It is too hard to get to it. It has to be right.
  • Radiation is much worse and the environment is more demanding. You can’t just use any technology for Aerospace Electronics Development.
  • A lot more investment is at stake.

The celebration when the first telemetry feeds came through as ‘Nominal’ was overwhelming. So this is what it looks like to deliver on $2B of R&D Investment!

Curiosity On Mars after successfully landing

Curiosity On Mars – front leg in view

And thoroughly deserved too. Though the use of ‘Nominal’ for such a great outcome is a little understated. But then this is Engineering and science. We know a little of what that is like though we don’t get to spend that level of investment in creating the future. Certainly the win last year for the Industrial Electronics Future Awards 2011 was a moment we savour.

You can watch the whole landing here:

 

 And some links you will enjoy if you are an enthusiast as I am

Curiosity parachuting to Mars

Curiosities first images

Mars Mt Sharp images

NASA Multimedia gallery

And some other space related posts are at Space.

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years.  This post is Copyright © 2012  Successful Endeavours Pty Ltd

Ideas Worth Pursuing

Matt Barrie

Matt Barrie

BRW recently ran an article by Matt Barrie on business ideas that are worth pursuing. If you haven’t heard of Matt Barrie, he founded Freelancer. In the article he wrote about business ideas that interest him, and what doesn’t interest him. In particular he had a sideswipe at us Engineers about our focus on the technology and solving those problems first instead of testing whether the idea has a viable market. As an Engineer who has had to learn about business in order to run one, I can agree with some of what he said. In particular, we can become so focussd on the technical problem that we don’t make sure there is a real business case for the final product or service.

Here is the short list of what Matt Barrie doesn’t like in a business:

  • Anything that involves selling your personal time – eg. consulting
  • Anything that isn’t scalable – more on that later
  • Anything that requires a technology breakthrough before you have something to sell
  • Small, niche and low total market potential opportunities

By scalable, Matt means that the sales potential is not directly proportional to either people or capital investment. Matt wants leverage. In his words “Businesses that are not scalable are bad“. But is this really the case? And what does he mean by bad?

Is non-scalable always bad?

I agree that if you want to maximise your income potential, the non-scalable businesses will not give you same ability to do that as scalable businesses will. However my business doesn’t only exist to make money. Making money is a byproduct of a good business that is well run and meets a real need. Businesses should make money, otherwise they are not adding enough value or not well enough run.

My favourite business quote is “The purpose of the organisation is for ordinary men and women to come together, and in cooperation with each other, do the extraordinary”!

For me, business is a mechanism to make the world a better place in partnership with others. It is too big a job to do on your own. And it should deliver real value.

There are many essential non-scalable activities out there. Here is a short list:

  • anything to do with the patient side of medical or nursing care
  • most forms of teaching and education
  • personal services
  • mental health
  • government
  • Product Development
  • construction

Notice I said activity. For the quote above also covers the “Not For Profit” sector and Government. Both should deliver real value. They just don’t directly derive their income from that value.

I’m sure Matt Barrie is not upset if he has to see a Doctor just because the Doctor does not have a scalable business.

The final point above is about Product Development. Thomas C. Gale said, “Good design adds value faster that it adds cost“. So I am not advocating development at any cost. It has to have a value proposition. A client of ours recently told us of a product we designed for them nearly ten years ago that they had made millions of dollars from. Given our fairly modest fees for that project, they got a massive bargain there. That was an example of very good value Product Development which they got a lot of scalable leverage out of.

Product Development uses a mixture of leverage and personal effort. Leverage comes from using existing technology tools to do the work faster. This includes things like:

  • Computer Aided Design and Analysis tools
  • Reference Designs and existing technologies
  • Science and technology understanding already known
  • High Level Design tools and processes
  • Compilers, libraries, components, operating systems, platforms, standards
  • Research findings, existing data, other specialists

The above all came from past work that can be used to make current work more productive or more effective. I started my career laying out PCBs using tape. Now I wouldn’t dream of not using a CAD System. We use Altium Designer for Electronics Design Schematic Capture and PCB Layout. This is much more productive than the manual methods. As part of our ongoing Product Development activities for our clients we design and lay out a new PCB every 2 weeks on average and this is only possible with the use of CAD tools and the full leverage of our experience. In general I don’t want to rediscover the wheel, or the technological equivalent of that, in whatever area of Electronics Design or Embedded Software Development we are working at the moment. I want to take as much advantage of leverage as I can, and only apply the personal effort to what I can’t buy at a reasonable price.

Likewise we use proven Software Development tools that just work every time. It is not a good use of any of my team’s time to be working out why the latest release of something no longer works or breaks a project we had nearly completed. Of course we shouldn’t do that mid project anyway, but the legacy issue still applies. Clients do want updates down the track. So we use IAR tools for our Embedded Software Development. They work, are well supported, and we almost never have an issue of any kind with their performance.

So my conclusion is that non-scalable business activities are essential to modern economies. They just aren’t where the maximum profit potential is.

Let’s take manufacturing. We serve Australian Manufacturers by providing them with the new Electronics Designs they need to either remain competitive, become market leaders or bring a brand new product to the market for the first time. The manufacturing side is scalable although the Australian economy primarily supports lower volume or niche manufacturing opportunities. But once a design is in production and the process is running, they can scale up to meet demand within their capacity.

But our business activities are not scalable. Each design takes at least some personal effort to produce. But if I stop my non-scalable activities, then someone else has to do it. And if everyone does the same, if all the non-scalable activities stop, guess what – the scalable activities also stop!

Freelancer enables the buying and selling of non-scalable activities in a scalable way. It is a great service to those who use it and extremely good value. I agree with Matt Barrie that it is a good business.

Personal effort is still valuable

There is an old joke that goes like this, “No matter how many women you put on the job, it still takes 9 months to make a baby“. Some things cannot be sped up by adding more resources. This analogy works well because we all know this is the case for pregnancy. Many other things are also like this. It will take generations to get peace in some parts of the world. Mindsets cannot be undone overnight. And it takes time to create economic frameworks. Successive Australian governments have spent 50 years working toward an uncompetitive Australian Manufacturing industry. This will not be undone with one policy initiative or one statement of a change of approach. It will take time and personal effort, by those with a vision, to make it happen.

So my belief is that personal effort is not only still valuable, but still essential, even if there are limits to how much I can scale it. I agree with Matt that it isn’t going to make me as rich as his approach will make him, but I’m not just in it for the money. For me, it is not bad, it is essential.

The link to the full article is at Ideas Worth Pursuing.

The twin pillars of modern business are Greed and Ruthless Efficiency according to the Harvard School of Business. If this were an organic process, we would call it cancer. Ultimately it will kill. We need a better model and we need better values. Greed and Fear are the enemies of many a good thing.

And if you were wondering where my favourite business quote comes from, it is from Aristotle, some 380 years B.C.

Want a great career?

And finally, a Ted Talk on “Why You Will Fail To Have A Great Career”! OUCH!  But is it true?

This is an excellent presentation that challenges many of the common assumptions about careers. But there is hope and Larry Smith explains both the challenge and the solution.

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years.  This post is Copyright © 2012  Successful Endeavours Pty Ltd

Electronics Hardware

The idea for this post came from an interesting article by Bryan Murdoch who also writes a blog on technology topics. In the article he looked at why some developers can be Averse To Change and made some interesting observations about why that is so.  One of those conclusions I agree with very strongly.

Before I come to that, let’s look at the basics of the Embedded System.

An Embedded System is a computer that lives inside a system and is dedicated to that system. It has specific control functions and can be quite simple or quite complex depending on the system. An Embedded System therefore has Electronics Hardware that Embedded Software runs on.

Electronics PCB

Electronics PCB

 

The Electronics Hardware can be as simple as a tiny 8 bit processor such as the Atmel ATtiny13 or a full blown Intel multi-core processor. But the key is that it is dedicated to that system and not a general purpose computing device such as a Windows or Linux PC that we just happen to be using for that purpose today and can use for something else tomorrow.

Electronics Hardware is not generally reconfigurable in the field and where it is, such as FPGAs, it is really the software control portion that is changed and not the underlying hardware itself.

Embedded Software

Embedded Software

Embedded Software

The Embedded Software is therefore the software that runs on the Embedded System. This can be as simple as a few lines of assembler through to a full Information Kiosk product running on Windows Embedded. As usual with software, it can be anything. We are not going to focus on what it is, but why we prefer to use Software for much of a modern system’s functions.

Why Software?

The real reason for the focus on software, is that once you deploy the hardware, the only thing you can easily change to improve it is the software. This is one of the core points made by Bryan Murdoch that I agree with.

Another point he made in a post on Software Cost is that software becomes more valuable and more usable when we make the effort to make it simple, testable and compact. This makes it more readily reusable and also more easily maintained. These are 2 lifecycle costs not often considered at the front end development phase of a project. It is also a good reason why the number of lines of code is not a good indicator of the real value of a piece of software.

Product Development

So this is where the rubber of the New Product Development process hits the road. Amongst other things, you have to be able to decide what you will do in software and what you will do in hardware. And it also depends on your core competencies as a company and those in your supply chain. During the development of the XBOX processor Microsoft told IBM that they were a software company and so any issues with the silicon they would fix in the drivers. This was done to reduce the development timeframe and fits with the comments from Bryan Murdock about one of the primary reasons people use software, its changeability. It also played simultaneously to both IBM’s and Microsoft’s strengths and was a smart business move on Microsoft’s part.

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years.  This post is Copyright © 2011  Successful Endeavours Pty Ltd

Next Page »