Tuesday
Apr082014

Windows 8.1 Update 1 is here!

startpageMicrosoft released Windows 8.1 Update 1 today.  The update, which, for me, was like finding a needle in a haystack, will be a mandatory update-which is why it is going through Windows Update versus the store like 8.1 did.  I did not want to wait, so I went to the normal Windows update method, but did not find it. I went to the charms bar, selected SETTINGS, then CHANGE PC SETTINGS, then UPDATE AND RECOVERY then windows update.  I clicked the ‘check now’ option and did, in fact, find many updates. None of them were the ‘Update 1’.  So, I remembered that, sometimes, you have to go to the ‘old’ desktop version of Windows update.  Open up Control Panel, select System and Security then Windows Update.  There it was.  I let it update. It took about 20 minutes. Once that was done, it was like a new computer again.startpagemenu

There are a lot of little things that, collectively, add up to a mostly pleasant experience for the mouse/keyboard user. I have not yet tried it on my tablet, but I suspect I’ll not see much of a difference.

For most users, the changes are subtle and welcome. For example, on the Start Page, there is now a power button and a search icon.  Right clicking tiles gets you a context menu and the app list now highlights new applications.

startpagetaskbarstartpagelivetilesModern apps (Windows store apps, metro, whatever you want to call them) now show up on the task bar when in the desktop AND the task bar shows up on the Start Page. startpagetaskbarAt least, it does sometimes.  I’m not sure if it is a bug or not, but I get the task bar on my Start Page when I move the mouse down to the bottom of the screen and hover. BUT…it doesn’t always work, so, I’m not sure if it is a feature or not.

Modern apps now have a title bar with minimize and close buttons. Fortunately, the title bar hides startpageapptitlebarafter a couple of seconds. to get it back, move the mouse up to the top of the screen.

So far, my only real complaint: it defaulted to booting to the desktop instead of the Start Page.  Don’t want the desktop to be default.

There are other changes as well and more changes are coming (like a new, enhanced Start Menu.) This is the Windows that Microsoft should have released as version 8 and then, over time, deprecate the crap, like the task bar.  For now, though, I wonder if this might be too little, too late. We’ll see.

Sunday
Apr062014

Get your USB To RS232 TTL PL2303HX Auto Converter Module working with Windows 8.x

ttlrs232usbWorking with the microcontrollers, Arduino compatibles mostly, has been quite a bit of fun but has had a few challenges.  For the last three or so months, I’ve been working with boards that do not have on board USB connectivity so I’ve had to use FTDI TTL to Serial converters.  These things are cheap, under $2 on eBay.  They work great…as long as you are not using Windows 8.  And, therein lies my problem.

As I am designing a product to be used by ordinary people, these things HAVE to work with any modern version of Windows, from XP to 8.1.  And? They didn’t work with 8 or 8.1.  So, I set out to begin designing my own interface for 8.1. Fortunately, there’s a way to make them work.

I stumbled upon a nice site, Electro-Labs.com, and, one click after another led me to Nerd Ralph, a blog not unlike this one. One of the Nerd’s posts was about these little devices, which are actually clones of the Prolific device.  Prolific, understandably, was upset over the clones and made the newer drivers incompatible with the clones. The Nerd, fortunately, is very clever and found out that the older drivers do still work with the clones and has posted the older drivers.

So, go here and read the Nerd’s post and then you can either grab the drivers from his post or from here (64 bit drivers) and here (32 bit Windows 7 drivers).

Sunday
Apr062014

Get your 315/433Mhz RF Link Kit to work with Arduino

400px-315433MhzRFlinkKitWhile scouring the ‘net for information on some sensors I purchased, I came across a listing for a transmitter/receiver combination that was dirt cheap. Interested, I bought several pairs and have finally gotten them.  Of course, I quickly discovered that there’s little information and even less code that works with them. So, I am writing up a quick little article on how to use them with the Arduino.

The transmitter/receiver pair operate at 433Mhz and have a relative pair that operate at 315Mhz, this information should work for that pair as well.

Both parts, the transmitter and receiver, are very simple and very small.  The receiver has four pins, the transmitter has three pins. 

For the receiver, the pins are as follows:

Looking at the component side of the board, the pin closest to the edge is GROUND. The two middle pins are data and do the same thing (that is, it doesn’t matter which one you use, only one is needed) and the last pin is POWER, +5 volts.

For the transmitter:
  • Looking at the component side of the board, the middle pin is +5 volts, the right most pin is GROUND and the left most pin is DATA.

The boards are all marked, so you can use them for reference.

You will also need two Arduinos: one to transmit and one to receive.

On the transmitter:
    • Connect the DATA pin to PIN 8 on your Arduino (or, any of the digital pins, just make note of the pin you use.)
    • Connect GROUND to GND on the Arduino
    • Connect VCC to your +5 volt pin.
On the receiver:
    • Connect DATA to PIN 3
    • Connect VCC to +5 volts
    • Connect GND to GND

You will to download the RCSwitch library from here. Import the library into Arduino’s library using the IMPORT function.

The code I am using on the TRANSMITTER sends temperature and humidity data from a DHT11 sensor to the receiver Arduino:


/*
  You will need the following library:
 
http://code.google.com/p/rc-switch/ by @justy 
*/

#include <RCSwitch.h>      // Library for the transmitter
RCSwitch mySwitch = RCSwitch();

#include <TinyDHT.h>       // Library for the temp sensor
#define DHTTYPE DHT11      // DHT 11-our sensor
#define TEMPTYPE 1         // Use Fahrenheit (0 for celsius)
#define DHTPIN 2           // Sensor connected to GPIO #1 (use a
                           // 1K ohm pullup to 5V to make it work!)
DHT dht(DHTPIN, DHTTYPE); // Define Temp Sensor

void setup()
{
   Serial.begin(9600);
  // Transmitter hack- use the following if you plan to use my easy transmitter connection hack
  // VCC  : +5
  // GND  : GND
  // Data : 8 
  pinMode(8, OUTPUT);  // We'll use pin 8 to drive the data pin of the transmitter.
  dht.begin();  // Initialize DHT Teperature Sensor
  // Transmitter is connected to Arduino Pin #8 
  mySwitch.enableTransmit(8);
}

void loop()
{
        int8_t h = dht.readHumidity();               // Read humidity
        int16_t t = dht.readTemperature(TEMPTYPE);   // read temperature
        // Send your data code every 5 seconds.
        mySwitch.send(t,24);
        mySwitch.send(h,24);

        delay(5000);
}

The relevant lines of code are highlighted. You can send any data, I was using temp and humidity data in this example.

Now, on the receiver:

#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  pinMode(3,INPUT);
  mySwitch.enableReceive(1);  // Receiver on inerrupt 1 => that is pin #3
  }

void loop() {
 
  if (mySwitch.available()) {    
    int value = mySwitch.getReceivedValue();

    if (value == 0) {
      Serial.print("Unknown encoding");
    } else
    {
  
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );
    }
   
    mySwitch.resetAvailable();
   
  }

}

This code is rather generic, it simply displays whatever it received.  Again, the relevant code has been highlighted for you.  The transmitter is set to send its data every five seconds, but you can change that for as often as you like. 

There’s all kinds of uses for these cheap pairs.  A local wireless net of sensors, wireless controllers, game links, etc.  I don’t know the range on them, as I’ve only used them on my desk, but they have connections for antennas, so you can solder about 15mm of wire to each to make an antenna. The boards are marked for them as well.

Some sites mention and show the VirtualWire library being used to control these things, but I could not get them to work. So far, only this RCSwitch library has worked.

Have fun with these and let us know what you are doing with them.

Tuesday
Apr012014

Office 365: Worth it?

word2013Back when Microsoft announced that they were going to offer Office as a subscription, I put it down.  I was convinced that it was nothing more than a money grab and not worth the money.  Well, A reader of this blog, and someone I consider a friend even though we’ve never actually met, convinced me that it was worth the money.  After some further research and listening to several podcasts both praise and condemn the notion of annual Office payments, I decided to try it out.

There are several subscriptions available, each have a unique offering, for the home and business user.  The home subscriptions works on just one device and is about 7.95 a month.  I got the middle tier, a $99 a year subscription that gets you installs on five computers and five portable devices.  The business edition is higher cost and is aimed squarely at companies and we won’t discuss that here.

Now, the really good thing with Office 365 is that you can actually install it on any number of computers and devices, but only five of each are active at any time. You can deactivate it on a device and activate it on another.  That’s pretty handy, and if you use OneDrive, then being away from your computer suddenly becomes a moot point. Save your work to OneDrive and access it and Office from anywhere. Just deactivate one machine, then activate the one you are on, do your work, save to OneDrive and then deactivate.  Plus, you only install what you need. If you don’t want Powerpoint, don’t install it. Simple.

So, here at my house, I have it installed on my primary machine, my Son’s laptop and one other desktop. As the other computers already have Office 2007 or Office 2010, I’m going to leave them be. I did install it on my Asus tablet and have downloaded the three apps for the iPad. 

My only complaint, so far, is that my Live ID seems to have problems with the Office 365 login.  Not sure why, but every other login seems to return an error telling me that the ID has a problem. It never says what it is.

OK, I do have one more issue: on my tablet, some of the damn on screen widgets are too small. It isn’t very finger friendly under Windows…yet.  With Build 2014 coming up, I’m hoping that Microsoft will announce a ‘Modern UI’  version of the suite.

Office 365 is one of those odd things that, on the surface, seems like a bad deal, but it really is not.

Sunday
Mar302014

My case against touch: struggling with touchscreens, it should not be this hard

Touchscreens have been around since the 1960’s, possibly earlier. Many schemes have been used, everything from the current overlay technology all the way back to the old light and photocell matrix and everything in between.  There are advantages to them all and many, many disadvantages.  The current flurry of technology employing touchscreens was sparked by the innovative iPhone from Apple. 

Steve Jobs despised the tried and true stylus. He famously said that we already have the best stylus: our fingers. Well, not so fast there, Mr. Jobs.

On large screen devices, like the full size iPad, my Asus Vivo Tab with Windows 8, and pretty much any device that is 8 inches or larger, your finger may work great. But, not so much on small screens.

I have found that it is not really the technology itself, but the user interface that is the real problem.  Especially with the bloody on screen keyboard. If a hardware keyboard fan ever needed a reason to bring back an actual keyboard, one needs to look no further that the iPhone. (Hot on its heels: Windows Phone 8).

The iPhone’s onscreen keyboard is just awful. I constantly hit wrong keys. Now, some of it is my fault, most however, are not. When it isn’t being responsive, it’s just too damn small.  Which is really surprising since the best on screen keyboard I’ve ever used in a small form factor is that on the Zune HD. Both Apple and Microsoft should take a look at that one.  Funny, Microsoft designed it and promptly forgot it when doing the Windows Phone 8 OS.

Aside from too small or unresponsive, the predictive text is also a problem as is spell check/autocorrect. Now, these should be very useful features and, indeed, can be. BUT…when they screw up, they REALLY screw up.  Yes, you can disable them, but, why should you have to? They should just work and they should give you an easy way to maintain and add to the database. If they do, then there’s no easy way to find it.

At any rate, why can’t these companies come up with decent on screen keyboards? Ones that work. Ones that are not hard to use and that just work. You should not have to think about HOW to type while typing.

User Interfaces are another source of frustration.  For example, the antiquated Windows desktop is very difficult to use simply because its widgets are just too small for your fingers and designed to work with a mouse and not your finger.  On iOS, they did a much better job with the UI, however, the multifinger gestures do not always work the same. And, sometimes you swipe down, sometimes you swipe left to right to do the same thing. iPhones present a real challenge due to the screens size. I find it difficult to play some games on this device because of the size of the screen. Other apps, like the music player app, can be difficult to use, especially if you have larger fingers. I find myself constantly selecting the wrong thing simply because the icons are too small.

In this new world of touch, designers need to take a step back and actually use the stuff they put out, before they put it out.I suspect a number of things would be caught and corrected prior to release. I’m sure such products would dominate.