This Site & Me
I'm a technologist, mobile specialist, experienced software developer, author, public speaker & an SAP employee. My thoughts, ideas, rants, comments & most of the code you'll find here are my own. Feel free to use any of this, but be sure to identify the source.
Topics You'll Find Here
This site contains content on a bunch of different topics including Mobile, Mobile Development, IBM Lotus Domino and other topics that strike my fancy. I've written a couple of mobile development books, so mobile and mobile development tend to dominate.
Like What you See?
Like what you see here? Found something useful?
If you benefited from anything I've posted here, please think about buying one of my books or taking advantage of one or more of the ads on the page.
- Category: Miscellaneous
- Published on Tuesday, 04 February 2014 09:00
I recently learned about a cool web development server for the Raspberry Pi. I want to teach my son about computer programming and this seemed like an interesting way to do it. The server is called Google Coder and it’s delivered as a Raspbian image for the Pi. Pretty cool; I’m hoping to learn more about it and write a bit about my findings here.
As I set it up and started playing with it, I was hit by one of my pet peeves. First you fire up the server then connect to it via your desktop browser (right, it’s not something you use on your Pi, but instead something you host on your Pi and connect to it from your desktop PC). When you connect to the server, you’re prompted to provide a password in order to access the system as shown in the following figure.
Honestly I’m really not sure why I need a secure connection to my Pi (notice the HTTPS in the browser’s address field) and I’m also not sure why I need a password, but I’ll dig into that at some later time.
Anyway, so it wants me to use a password so I went ahead and typed on in. After clicking the ‘Save My Password’ button shown in the figure, what I see next is the following:
There it is – one of my biggest developer pet peeves. If you know that you’re going to want me to include upper case, lower case and numbers in my password, why not tell me BEFORE I tell you the password I want to use?
I see this all the time and it makes absolutely no sense to me. You’re asking me for input and you know exactly how you want that input formatted, why don’t you share that information with me so I can save a little time here? After all, it’s not like you have a hidden camera and you can get some pleasure from watching me type in a password only to later learn it doesn’t meet your requirements.
Developers, if you have any input, password or any other requirements you’re obligated to tell me what they are BEFORE I provide you with the input. There’s no other way. You took the time to type in the requirements into the error message shown in the second figure, why not copy and paste the exact same information into the original input form?
I know why it was done this way, some designer designed the password form and it had to look cool and clean. The error warning was an afterthought or was implemented by someone AFTER the design of the password form had been completed. Rather than think through the process and your requirements for the system, they left the input form clean and muddied it up later ONLY if the user didn’t accidentally type in a password that met the requirements.
Do your users a favor and think through the whole process before doing the coding. Give the designer all of the requirements so they can be taken into account from the very beginning. That way you’ll make happier users.
- Category: BlackBerry
- Published on Monday, 03 February 2014 22:26
If you’ve been reading around here you should know that I love BlackBerry, but BlackBerry 10 is really starting to annoy me. For all of BlackBerry’s focus on quality and design, I’m find BlackBerry 10 to be really, really hard to use on a day to day basis. So many of the things I loved about BlackBerry just aren’t in BlackBerry 10 and I’m finding the UX to be…klunky.
I went out of town this weekend to hang out with some friends. I have a BlackBerry Z30 device, and it has a HUGE battery, so I expected to get a whole day’s use out of it, but no go. Around 7 PM, after starting the day with a full charge, the battery was on its last legs.
Fortunately for me, the folks at Adobe gave me a free USB battery at PhoneGap Day 2013, so I pulled it out in order to give myself a boost. I only got a few minutes out of the battery, but that’s not what I’m here to talk to you about.
As the battery started to lose its charge, the warning shown in the figure below started to appear. Not a big deal, I like being notified that I’m running low on juice. The problem is that I couldn’t get the darn thing to go away.
Here’s what happened, I was trying to charge the device, but my USB battery was out of juice itself. So, the BlackBerry knew it was connected to a power source of some kind, but since it wasn’t getting any juice itself, it threw up that warning. It would display for a while, go away for a few seconds then immediately come back – over and over again. The problem is that it’s really hard to use the device with this message constantly popping up and going away. The touch screen is essentially unusable as long as this behavior continues.
I was trying to meet some friends and my battery dying and this stupid continuous warning was really annoying. I finally figured out that when I unplugged the USB battery, the message would go away and I could again use the device. Ugh.
- Category: Miscellaneous
- Published on Sunday, 02 February 2014 18:00
I spent the weekend in Buffalo snowmobiling with some very old friends. As I flew on several Southwest airlines flights I was reminded of a little piece of airplane etiquette that most people don’t think/know of.
Imagine you get on the plane and sit towards the front of the plane, but get on later in the process and the front overhead compartments are full. You move back to an open overhead compartment further and store your stuff then head up to your seat for the ride to wherever you are going.
When the plane lands, you need your stuff, right? So you politely push back toward the back of the plane and the location for your stuff. One you’ve retrieved your stuff, do you stay where you are, or are the people you’ve pushed past responsible for letting you make it back to your seat?
I say you stay where you are. What do you think?
I thought about this on one of my flights to Buffalo and on the way back I encountered it. I was in the third row and someone needed past me to get her stuff from further back in the plane. When I felt her trying to make her way back, I asked her ‘Going back for your stuff?’ and she responded, I can’t remember exactly what she said, indicating that she was going back but somehow expected to go back to the front rows when she was done.
Think about it – all sorts of people moved out of the way so she could make her way back. As they let her past, they compressed forward and took up the space she previously filled at the front of the plane. There isn’t the room nor the need to let her back up to her original position.
Anyway, because I’m a stinker, I noticed this and waited for her to begin her move back up to the front of the plane. I felt a tap on my shoulder and her request for me to let her by. I (politely of course) told her that I was trying to get out of her way (by leaving the plane) and she persisted by saying that she needed to get her purse.
She completely missed the point that everyone in front of her now were in the process of leaving the plane and that if she stayed in her position, she would quickly be able to collect the remainder of her stuff. Why did she immediately assume that all of us should get out of her way so that she could leave the plane sooner than us? Why was she so important that she had to leave earlier?
Anyway, she finally got the point and stayed where she was and was able to collect all of her belongings and get off the plane without treating us like she was more important than us.
If it’s me, I politely ask for help getting me back to where my stuff is then WAIT with everyone else to leave the plane from the position where I ended up. That seems to me to be the only fair way to do it.
What do you think?
- Category: Miscellaneous
- Published on Monday, 20 January 2014 19:30
Linus Torvalds created a distributed revision control and source code management system called git: http://en.wikipedia.org/wiki/Git_(software). Git is pronounced like ‘get’, substituting an ‘i’ for the ‘e’ in get. The open source world has embraced it in a big way and it’s how you install most anything related to Apache Cordova.
Git is also an English slang word for ‘a silly, incompetent, stupid, annoying, senile elderly or childish person’: http://en.wikipedia.org/wiki/Git_(slang). I’m a huge Monty Python fan and learned about git from the (my favorite) Argument Clinic sketch (http://www.youtube.com/watch?v=kQFKtI6gn9Y).
I never quite made the connection between the two until recently.
I’ve started using git (the source code management system, not the slang word) more and more at work lately as well. I was on the phone the other day with a colleague in London and, during the conversation, he referred to the system as ‘jit.’ Recognizing that he was from the UK and probably knew about git (the stupid person thing) I had to point out that he was pronouncing it wrong.
He replied by telling me that Linus’ selection of that word for his software caused a bit of trouble for people in the UK. No surprise there. Apparently, people from the UK will say jit when referring to the software system git to avoid the perception that they were referring to the other application of git. Too funny, people being forced to mispronounce a word in order not to offend.
In my conversation with him, I said something like “you know it’s git, right, as in Stupid Git?” As I said that I quickly realized I’d made a mistake – and said “wait a minute, isn’t Stupid Git redundant?” It sure is. I had to laugh outloud.
- Category: Miscellaneous
- Published on Monday, 20 January 2014 13:12
Apparently the site's contact form has been broken for some time now. Perhaps that's why I haven't heard from many people lately. Anyway, fixed it this afternoon, so it's working again. Sorry for that.
- Category: Mobile Development
- Published on Tuesday, 24 December 2013 15:10
I’ve been doing some testing of some Cordova apps on a Windows Phone 8 device AT&T was nice enough to give me earlier this year. I would really like to learn more about developing apps for the device, but there’s no time and I work primarily with Cordova anyway.
Anyway, the device prompted me to do an update the other day and I (stupidly) let it go ahead and do what it wanted to do. When it completed, I plugged it back into my Windows 8 desktop and suddenly the device couldn’t be seen by the PC. It would beep and let me know it’d seen the device and was installing the necessary driver, but it would quickly beep again and tell me it couldn’t install the driver. Then it would go into an infinite loop and repeat those same steps over and over and over again with no end.
I did a search and didn’t find anything. I switched to another USB port on my system and was able to get it connected. Unfortunately, Visual Studio would no longer talk to the device, so even though the device was recognized, I could not use it for testing Cordova apps in Visual Studio.
Ugh. Probably my favorite expression for 2013.
Anyway, I spent some time thinking through this and, after reading some internet posts about the Visual Studio error I was getting (a timeout error when trying to load the app on the device) I decided to unregister it as a development device then reregister it using the Windows Phone Developer Registration tool shown in the figure below.
It worked. Something about the upgrade set the device in a mode that kept Visual Studio from talking to it. Re-registering it apparently put the device back in a better state.