Thursday, March 24, 2011

Corning concept video

Friends of mine sent me links to some technology concept videos today.  I liked this one from Corning:

I also watched one from Microsoft.  They're fairly similar.

I like the idea that your phone becomes your main computer and everything else is just an input/output device that gives you more space to work instead of interacting with the phone itself.  Of course, the more we rely on our phones as our main computer, the worse it is when you lose your phone or spill water on it. But then again, if Internet enabled phones become sufficiently cheap and all of your data is stored in "the cloud", then maybe losing your phone isn't even a real big deal.

The other bad thing it reminds me of though is how we're adding electricity dependency to every single device that we use.  For one thing, that will dramatically increase our energy consumption at a time in the world when we should be working to decrease energy usage.  And second, it increases our reliance on electricity to even use simple devices that shouldn't necessarily need power.  For example, a normal toilet flushes without electricity, but some modern business toilets don't flush if they lose power.  Old phones worked without electricity, but its hard to find one these days that will. If my house has photo-voltaic windows and the house loses power when they are in dark mode, is my house forced into darkness even in the day?? Losing power isn't all that common, I know, but it certainly happens in the winter in places that get big snow and ice storms, and in cases of large disasters, like earthquakes.

Overall though, it will be exciting to see if even a few of these devices in these videos become reality.

Wednesday, March 23, 2011

Screen sharing / web conferencing software

I've been looking into different options for screen sharing lately.  Basically, when I have a phone meeting with one or more people, I would like to be able to share my desktop so that they can see what I'm doing.  There are lots of tools out there to do this.  Many are geared towards allowing remote control of a computer.  I wasn't looking for that, just displaying my screen to others.  And I was hoping for minimal software install required by the clients.

The two free tools that I looked at were Skype and CrossLoop.  I tried the screen sharing on Skype with a friend and it worked on and off.  That may have been an Internet connection issue, but another friend mentioned that he had problems with it before too.  Regardless, the free version of Skype only allows sharing to one person.  When we got a third person on the call, the screen sharing turned off.  And I'm pretty sure CrossLoop is only a one-to-one sharing solution too.  So neither of these solutions is what I wanted.

The two most well-known solutions for screen sharing to multiple participants are WebEx and GoToMeeting.  I've been in several WebEx conferences that worked well.  Each of these solutions costs about $50/month though, which is more than I was hoping to spend.

The in-between solutions I found were Zoho and Yuuguu.  Zoho is only $12/month (or $115 for a year), Yuuguu is $19/month (or $79 for a year - HUGE discount).  The big difference that I found between them  is that Zoho has built in audio conferencing support too.  So they provide a number that your participants can call into for audio, and a URL that they can use to view the presentation.  Yuuguu did not provide a conference call number.  So I went with Zoho.  Clients are given the option to view the presentation with Flash, ActiveX control, or a Java plug-in.  It's nice for them to have the options.  For me, the presenter, the control installation could be better.  When I try to start a meeting through the browser, the plug-in installation always fails.  But they have an alternate link to download an executable that installs on your desktop.  When I start a meeting using the desktop app, instead of through the browser, then it works fine.  I've used it a couple times now and didn't hear any complaints from the viewers.  So even though the process to start a meeting is not optimal from my end, as long as my participating clients are happy, I'm happy.

UPDATE April 17, 2012
I've been using join.me as my screen sharing choice for many months now and it has been great!  It has all of the following for free!:

  • up to 250 participants
  • free domestic conference call
  • super easy for people to join from join.me home page
  • ability for host to transfer control of screen to someone else
I've found that last feature very useful in helping people who are having issues with their desktop computer.  Just have them install join.me and start a conference.  Then you can join and request control of their computer.

UPDATE October 2017
For the last year or so, the new service we've been using is Zoom.  They do audio and video and the quality is great!  The layout is very smart too, showing everyone's webcams in small windows and highlighting the speaker in the large window.  Or you can easily share your screen to the big window.  Free plan allows unlimited time meetings with a single person, and limited time with multiple participants.  Paid plans start at just $14.99 / month

Friday, March 4, 2011

Microsoft Access Combo Boxes

This week I was working on a project in Microsoft Access where I have one combo box whose values are dependent on the choice in the other combo box.  Microsoft calls this synchronizing the combo boxes in their article "How to synchronize two combo boxes on a form".  Their article is good, but even so I had some problems with it so I thought I'd mention them here.

Even though I thought I'd followed their instructions, the first thing that happened is that I would select a value in the parent combo box but the new values would not appear in the child/dependent combo box.  I could see in the debugger that AfterUpdate was getting called and the RowSource of the child combo box was getting set to the right query, but still the combo box ended up empty.  The issue was that I hadn't set the RowSourceType property of the child combo box.  The RowSourceType property of the child combo box must be set to Table/Query for this to work.  I think its easy to miss that.  Since the RowSource is being set dynamically, I wasn't paying as much attention to the Properties window and missed setting the RowSourceType to Table/Query.

The other issue that I had was not really related to the synchronization, but just to combo boxes in general.  I learned that its very important to set the following properties correctly based on the query that you're using for your RowSource:

  • ColumnCount - needs to match the number of fields that you are SELECTing in your RowSource query
  • BoundColumn - whichever of these columns that you want to be the actual value of the combo box that will be stored in a database field is the bound column.  Note that this is 1-based, not 0-based
  • ColumnWidths - this controls the display of the columns in the combo box.  You list the width you want for each column in inches, separated by semi-colons.  If your bound column is an AutoNumber key and you don't want it displayed, then list it as 0"
Microsoft set all these for the parent combo box in their example, but for some reason didn't mention them for the child combo box.  You'll probably have two columns in your query, with the first one being the numeric key, and so BoundColumn is 1 and ColumnWidths is 0";1".  Or you may just be storing strings, in which case you may just select the string as the only column, also make it the bound column, and just make the ColumnWidth as 1" (or whatever size).