Showing posts with label Software Development. Show all posts
Showing posts with label Software Development. Show all posts

Tuesday, December 21, 2010

Another iPad problem, or rather a 'feature' -- the mute switch

I ran into another issue on the Apple iPad that is another interesting reflection on software and Man-Machine Interface issues that are becoming more and more prevalent and important in our lives.

It appeared that all of a sudden several of my video playback apps on my iPads quit playing audio. The video was streaming fine, but in total silence. Being a standard human user, I immediately and it turns out incorrectly jumped to the conclusion that the apps that were silent had some type of bug.

After taking a step back and turning my 'logic brain' back on, what I have found is that the apps that were silent are the ones working correctly. And the combination of my incorrect operation of a new function on the iPad and other apps incorrectly ignoring this function is the root cause of the 'silence' I was encountering.

With the new release of the iPad's iOS operating system, Apple changed the function of a small switch on the upper right side of the iPad. The switch is just above the volume up/down buttons. Prior to the 4.2.1 release of iOS, the switch locked the screen orientation, so that rotating the iPad did not cause the screen to change orientation. With the latest release of iOS, this orientation lock function was moved to a software button located in the 'task bar' of the iOS system and the function of the physical switch was change to a sound mute function. Moving the switch to the down position, mutes the sound output. Moving the switch up, un-mutes the iPad and allows the volume up and down buttons to change the sound level.

There has been considerable debate online about these changes in these user interface functions. Even to the extent that for jailbroken iPads, there is a way to put the functions back to their original definition. When I started to use the new functions, I found the new definitions to be more useful, but this one of the challenges that UI developers face, there is NOT one standard way that people are comfortable with.

And I believe that this 'multiple ways of doing things' challenge is what has lead, at least partially, to the problem that I encountered with the sound playback on the iPad.

What I have found, is that there a number of apps that are ignoring the mute switch position and generate sound output regardless of the position of this switch. Apps that are ignoring the mute switch, include Apple's own YouTube app and Netflix. I think the first problem is that there is a way outside the operating system to ignore the switches function. Especially in such a controlled hardware/software environment as the iPhone/iPad world, being able to 'repurpose' this hardware does seem to be a bug from Apple's perspective. Second, is that apps are either ignoring the mute switch on purpose or have failed in their updates to correctly adapt to this change in system level UI functionality.

So what I've found, is that thru my own poor 'ass-umptions' that the apps that were silent were the ones with the problem and due to the combo of apps ignoring the new function and Apple allowing this to occur I see another big occurrence of software causing a lot of consternation in the daily lives of people operating electronic devices. We face some big issues as software continues to rule!

 

iPad button problem, looks like a software issue

This issue I have recently encountered on one of my iPads supports the unfortunate fact that there is a lot of computer and electronic hardware that gets returned because the products seem to exhibit hardware problems. When in fact, there are either software bugs or 'software features' that make it appear that there are problems with the hardware, but the hardware is just fine.

I started to see the home button on the front of the iPad to quit responding. You would push it and nothing would happen, so you could not exit apps, bring up the task manager or any other function that required the button to respond to a push. The problem was very intermittent, sometimes it was completely non-functioning and other times worked fine. I tried cleaning the button area and removing the iPad from the Apple case, at first this seemed to improve the issue. But then it came back. The button does appear to be a mechanical button, unlike the capacitive buttons that many of the Android devices use.

I should note here that, sad but true, I own three iPads, and this unit was the only one showing the problem. This was reenforcing my belief that I had a hardware issue on just the one iPad.

I searched Google and found others with similar symptoms. A number of people were going to the Apple store and getting their iPads replace. I decided to make an appointment with the local Apple Genius Bar at the Santa Barbara store. I went in and the helpful technician was able to duplicate the problem with me there, though I sensed she remained skeptical. Her next step was to request that the iPad be totally reset, wiped and reinstalled as a new iPad. We did this in the store and I gave it another 'button pushing' spin, with the iPad cleared of all apps and data. I thought that I could reproduce the problem still, but it seemed to have significantly reduced. The technician at this point was willing to swap out my iPad for a replacement unit.  She was multitasking and helping another person at the same time, so I continued to test by button. After about 10 minutes, I told her that I felt the problem might have been fixed, and before swapping the hardware I wanted to reinstall my data and apps and test the unit further.

The Apple Guru continued to be very helpful and said that since we had done this first 'software' reset step, and the fact was logged in the Apple Support system for this iPad, I could come back and go directly to the hardware swap step.

Well, two weeks later, I  will report that I have NOT seen the problem again. It has been a real PIA to reinstall apps and data in the unit. The Apple Guru recommended NOT restoring the backup image to the iPad. I think this has been the right route to the solution, it does appear that something in the operating system or in one of the apps I installed was causing the button to misbehave. I had installed beta releases of the iOS operating system on this machine along the way to its current state with a production release of iOS 4.2.1 (8C148).

If the problem is due to a bug in one of the apps I have on the machine, or an interaction between two or more apps, I may not have yet hit this ignition point. And there is still a small possibility that the problem is mechanical hardware related and has just gone into hiding.

However, as I said at the beginning of this post, I feel strongly that my experience and what I read in the press support the fact that there is a huge number of electronic returns that are working just fine from a hardware perspective. Electronic hardware today is amazingly robust!  But us humans are extremely fickle and quick to point the finger at incorrect sources of problems. This combined with the unfortunate fact that it is often simpler, quicker and less expensive to use a 'swap' rather than diagnose and fix route to the solution is a sad truth that poor software is causing.

 

Sunday, May 9, 2010

Checking out two new apps, MarsEdit 3.0 on OSX and Note Taker HD on iPad

I've been experimenting with two new applications, MarsEdit 3.0 on OSX and Note Taker HD on the iPad.

I've used Dan Bricklin's software since VisiCalc on the Apple. It is great to see him writing apps for the iPhone and iPad. Note Taker is an app that lets you write notes just like you were writing with a pen on paper. No attempts to OCR but many interesting technologies to make writing in a 'e'-format the same [or better] than on paper. I have tried various technologies in this area for years, but until Note Taker HD and the iPad I've found all far from the mark of replacing my trusty Mead Composition books. The first one I tried was a predecessor to the Adesso CyberPad, CrossPad by A. T. Cross Pens and IBM. I do not think much has improved since  device until the iPad and Note Taker HD.

Mead Composition Book

 

 

There is still much to be tuned in working with the user interface on the iPad, and Note Taker HD is in the middle of these as many apps are on the iPad. But over all this is a fantastic application. I am still up in the air as to whether typing notes on the iPad or writing them is the right future. Or perhaps a combo of the two is the way to go. Note Taker HD does not attempt to handle typed text currently and I do not know if this is on Bricklin's radar. All of the combo apps I have tried so far are far from a good solution. A third aspect is recording audio as well as writing or typing notes. Note Taker HD, again, does not attempt this and I do not know if it will, some or the note pad type apps do include this feature. I have used a simple hardware voice recorder for many years, but to be able to keep audio and your written notes in sync right from the recorded point is a very useful future.

I have done some test writing with Note Taker HD to get familiar with its operation. There are two edit modes, called Edit 1 and Edit 2. Edit 2 seems to be the way to go for note taking, picture a little 'zoomed' in window that moves along as you write. This is one area were some work is needed, the operation and smoothness of using Edit 2 can be improved, it still gets in the way of pure writing like you do on paper. It needs to be invisible as you write.

I am looking forward to taking Note Taker HD on a real world

 

CrossPad.gif

 

 

 

drive and sharing my experiences.

 

 

 

 

notetaker-hd.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I am writing this post with the new 3.0 version of MarsEdit for OS X, Daniel Jalkut at Red Sweater Software had a great application for writing blog entries and this new version is an outstanding upgrade. I will write about it more as I learn its new features.

 

 

Monday, January 25, 2010

More on bad embedded software coding and coding practices

Good article here in Electronic Design about litigation that is starting to occur around embedded systems code. Just have a look at this line of code the author of that article found:

y = (x + 305) / 146097 * 400 + (x + 305) % 146097 / 36524 * 100 + (x + 305) % 146097 % 36524 / 1461 * 4 + (x + 305) % 146097 % 36524 % 1461 / 365;

In the original listing, there were no comments on this line to help. I eventually learned that this code computes the year, accounting for extra days in leap years, when given the number of days since a known reference date. But we still don’t know if it works in all cases, despite its presence in an FDA-regulated medical device. The Microsoft Zune Bug was buried in a much better formatted snippet of code that performed a very similar calculation.

This is a follow up to my post about the poor code that TI shipped out with their Zigbee products. I saw posts today that they are shipping updated code, but how long will it take to get it rolled out.

This article really highlights how important good training, good review processes and I think much more open source review is needed as we move forward to the Internet of Things.

Monday, January 18, 2010

TI Zigbee chips in SmartMeters easily hacked

It was very sad to see this article about the shoddy job that was done in creating a solid PRNG for the Zigbee smart meters that the TI chips are installed in. Apparently a large number of the current meters have the TI Zigbee hardware:
Texas Instruments to patch smart meter crypto blunder

You have to wonder about the quality of any other software coming out of that group. Were is the QA, code review? This reenforces my opinion that open source is the best path for much of the systems development going on now. Unless you can afford a Space Shuttle software development effort, I do not see other good routes to good software. This was such a basic blunder, with so much very recent history of similar shorts cuts causing WiFi systems to be vulnerable how could this happen?

This guy, Travis Goodspeed, and a couple of others are doing a real service getting these issue out in the light. And I am guessing with no help from the likes of TI, Zigbee or others.

While it not clear if this mistake will make it any more possible for hackers to 'bring the grid down'. It sure looks like it will slow the deployment of energy saving and GHG reducing solutions for residential and commercial buildings and that is bad enough.

Come on, you can do better!

Tuesday, December 15, 2009

User interfaces and online personal healthcare record web sites

I have been experimenting with the main online electronic personal medical records web sites. Mostly with Microsoft and Google's offerings. I have found both to be 'works in progress'. Microsoft's HealthVault is on the top of my list right now and the most mature and useable by normal, non-techies.

That said, the HealthVault product received a BIG negative rating mark from me today. I went into the site to add some blood pressure values and found that without notice they had modified their Silverlight based blood pressure data entry widget. I have no idea of all of the changes they made, right away just looking at the GUI you could sense a subtle change in the look. But the negative mark is give for transposing the SAVE and CANCEL button location! What DUMB move to make. It shows me that these developers still do not understand the human aspect of the user interfaces they develop and the profound changes that a change like this in a medical application could have.

On this day of the first flight of the Boeing 787 Dreamliner, I can only think of the heads that would roll if a SAVE and CANCEL button were reversed on the flight deck before first flight!

A lot of work and education needs to be done in order to get electronic medical records moving forward successfully.

I have followed Microsoft's work on HealthVault for almost a year now, they are working hard to make a good product. So want to be positive and give them a lot of 'that a boys [and girls]'. But this change today is a example of the experience they need to gain.

I have using this data entry widget on a daily basis for six months now, and noticed when they converted from Adobe Flash tool to Microsoft's Sliverlight. That change, in itself, showed the same lack of experience in code updates and the effect on the application's user. They are still catching up to the speed of operation of the Flash based widget.

I am very sure that in the picture below, the two buttons shown are transposed from were they were located yesterday.


WX669787F7.jpg