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: Stupid Developer Tricks
I'm constantly reminded of how web application designers don't pay attention to the impact their decisions have on their application users. I've written here before about this, but I think it's time to bring it up again.
When designing a form or dialog, it's important to remember that if you're asking users to make a selection when they first access the site, you should make sure to store that selection so that you don't ask them to make the selection every time. If it's something simple, something the user only needs to address once, most web designers allow the user to make the necessary choice, store the resulting decision and move on. The user's not asked again, so it really doesn't matter how challenging the initial form is if the user is only going to ever use it once.
On the other hand, some sites require that the user make a decision or selection every time they access a site or an area in a site. I don't have a problem with that, sometimes it's necessary and the user just has to deal with it. An example of this is shown in Figure 1.
Employees that migrated to PayFlex sometime in the past will need to be able to access their pre-PayFlex data as well as their PayFlex data. Makes sense to ask the user which way he or she wants to go, right?
In this case, PayFlex has implemented this incorrectly. Whenever you login to the site and try to access this area of the site, you have to make this selection. The problem is that after a while, you'll never need to go back to the old system as all of your current activity is being performed with the PayFlex stuff. OK.
The problem I have with this is that the developer who implemented this part of the application didn't make any effort to keep the user's previous selection. It's OK to ask me every time as there's no way for the site to know whether I want to access the old system or the new system. But, once I go down a particular path, it's likely that the next time I access the site I'll want to go the same way again. What they should have done is store the user's decision then preselect that option the next time the user comes into that portion of the site.
If going to the same place, all the user has to do is click the continue button (the previous choice will already be selected) and they're golden. If not going to the same place, then all the user has to do is select the other option and click continue to go down that path. By making this simple change, I eliminate, can potentially eliminate 50% of the selections the user has to make on this form. It's either one click or two clicks, but most of the time it will be only one click.
By not implementing this simple fix, this company is making every single user make a selection before clicking submit – EVERY TIME THEY ACCESS THE SITE. This is completely unnecessary and wastes your user's time. You should always be on a lookout for ways to eliminate unnecessary actions by your users.
- Category: Content Management Systems
Back in December, I set about migrating this site to a new hosting provider. Hackers had been having some fun with my site and I was having trouble blocking their efforts. Online advice said to whack the site and start over, so that's what I tried to do.
I setup a new hosting account then backed up my existing site. Next I tried to restore the existing CMS data into a new CMS installation (of the same CMS software, of course). The plan was to eliminate any old or nefarious application files and basically start from scratch by doing a new CMS installation with old data. Once everything was working, I planned on upgrading everything to the latest version of the CMS software.
I didn't spend a lot of time on this (over the last 5 months), but I did take a few vacation days to work on this. The result was that I failed miserably, I simply wasn't able to restore my CMS files into a new CMS installation. The biggest issue I faced is that when I brought up the new site, it 'worked' but when I tried to add my plugins back to the CMS, the legacy installations were still there and it became quite a mess.
I tried to manually whack the old plugin installation data (the new CMS didn't actually have the plugins anymore, but the database entries were still there) but that didn't work. The CMS wasn't capable of supporting what I was trying to do.
So, anyway, what I did was backup the site then restored it into the new hosting account. Everything worked (yippee). Next, I upgraded the CMS and almost everything worked. I poked around a bit and fixed the most glaring issues (for me) and completed the migration this evening.
The contact form isn't working right now – I had CAPTCHA problems with it on the old hosting account and now I just need to remember what I did to fix it. I'll work on it this week and will hopefully have things back up and running again. If you need to contact me, my email address is my first name and this site's domain.
- Category: Miscellaneous
As you can see, it's been a while since I posted to this site. Well...I started the migration to a new hosting provider on December 1st and spent a couple of days on it before taking a break for the holidays. I had a couple of lingering problems, so I spent the day today trying to get around them.
I pretty much did, but not other problems have arisen. Sigh - this has been really hard as it's next to impossible to migrate a Joomla! site the way I'm forced to do it here. I'd tell you that I'll write about my experiences doing this, but then I'd be telling lies.
Anyway, I'll keep hammering away at this and let you know when it's done. I have a stack of articles I want to write and post and can't wait to get back at that.
In the mean time, Apache Cordova 4 Programming is 'finished.' I've completed the manuscript and it's been through the editing process, now I'm waiting to see proofs before it goes off to the printer.
- Category: Miscellaneous
I will be migrating this site to a new hosting account starting today. I don't know how long this process is going to take, so please be patient as I work through this.
I'm migrating the site for several reasons. It's been running on one of my personal hosting accounts and I want to move it to its own account/server for performance and security reasons. It's been running on Joomla 2.5 for a while and I want to get it to Joomla 3.x. Hackers have been having some fun with my site lately, so it's probably a good idea to clean everything up and start all over.
I'll let you know when it's done - for you, you shouldn't notice any difference (If I do this right). Stay tuned.
- Category: Miscellaneous
Next week I’ll be attending SAP’s TechEd conference in Las Vegas. In previous years, I’ve attended the conference and spent most of my time visiting with customers on the show floor. This year I’ve been assigned several sessions (along with some colleagues), so I thought I’d let you know what I have going on this year.
First I’m doing a session entitled “MOB101: Hybrid Mobile Application Development with Kapsel” – it’s a one hour lecture session where I introduce Hybrid development with the SAP Mobile Platform. I’ll talk about what Kapsel is, what it does, how it works then show you how to build a Kapsel application start to finish. For Las Vegas, the session is offered twice:
- Tuesday, October 21, 2014 from 2:00 PM to 3:00 PM
- Wednesday, October 22, 2014 from 3:15 PM to 4:15 PM
Next I’m helping Jeff Gebo deliver a two hour hands on session on hybrid development entitled “Mob160: Build an HTML5 Hybrid App with Kapsel.” This session starts with a short introduction to the SMP Hybrid SDK (Kapsel) then jumps into the coding. First you’ll setup a SMP application definition for the session project then build a hybrid application that connects to SMP and utilizes the Kapsel Logon and OData plugins to onboard to the SMP server then consume an OData source while offline. For Las Vegas, the session is offered twice:
- Tuesday, October 21, 2014 from 4:30 PM to 6:30 PM
- Thursday, October 23, 2014 from 8:00 AM to 10:00 AM
I’ll be joining colleague Senthil Krishnapillai in a session entitled “Increase Mobile App Adoption with Security that Enhances Usability” being held Tuesday, October 21 from 12:15 PM to 01:15 PM.
I’ll also be available for a networking session entitled “Hybrid Development with SAP Mobile Platform” which will be held Wednesday, October 22, 2014 from 1:30 PM to 2:00 PM. The purpose of the session is to block off 30 minutes for attendees to meet with you to discuss topics related to the session title. In this case, I’ll be available to discuss questions around Hybrid development using SMP.
I have a second networking session with Senthil Krishnapillai entitled “Use the SAP Fiori User Experience for Improved Connectivity and Security” scheduled for Thursday, October 23, 2014 from 3:30 PM to 4:00 PM. In this session, we’ll cover how to enhance the security of SAP Fiori on mobile devices.
The remainder of my time, however much that will be, will be spent at the Fiori Café talking about Fiori Mobile. Come by the Café to learn more about SAP Fiori, a lot of subject matter experts will be on hand to answer your questions.
I will have a few copies of my latest book on hand, so I’ll likely raffle them off in my sessions. Who knows, perhaps you can leave with a copy.
I’ll also be at TechEd && d-code in Berlin; I’ll update you on that one after this TechEd closes.
- Category: Stupid Developer Tricks
As look at the world around me, I’m surprised that in the world of the connected, mobile user, that companies are still not thinking of mobile-first users. There are millions or billions of mobile devices sold every year, but companies with public facing web sites still don’t seem to notice and I’m really surprised by that.
The local Charlotte BIG insurance company is Novant Health, and they’re usually pretty organized. I was in one of their facilities a while back and noticed that there was free Wi-Fi, so I decided to connect. After selecting the SSID and connecting to the network, I was presented with the confirmation page shown in Figure 1.
So, what’s happening here is that Novant Health recognized that they had a lot of mobile users within their facility and made a conscious decision to provide them with a little extra service (free Wi-Fi) but made no effort to make the confirmation page friendly to mobile devices. Sigh.
If you look at the page, their logo is pretty prominent, but below the fold as it were, so it’s not in the way too much. They probably should have used a smaller logo and put it at the top of the page where it is on every other web site they have.
Like I said, an almost unusable page.
What’s interesting is that it’s not that hard to make mobile friendly web pages out of something as simple as this small page. There are hundreds, literally hundreds, of HTML frameworks that could be used to automatically adjust the format of this page to accommodate any size browser and any type of device.
Taking the same page content, rendering it as a simple page with no fancy extra windows, just a logo, heading, content and a single button – would take no effort whatsoever. Just do the tiniest bit of research into HTML5 frameworks, pick one then mark up your text (using proprietary tags for some frameworks and simple CSS tags for others) and you’re all done. An extra 5 to 10 minutes of work and suddenly your web page works on any device.
For my books, I’ve recently been doing a lot of work with Adobe Topcoat and, as a CSS-only solution, it’s pretty easy to add the classes to your markup to make a mobile Beautiful page in no time. The same could be said for many other frameworks as well.
What I can’t understand is why these companies aren’t making the effort to do this. It’s Wi-Fi, they’re giving external users access to a wireless network. They have to know that the majority of users making use of this capability will be doing so from a smartphone or a tablet. There will be some laptops, but in general the majority of visitors won’t be bringing laptops with them.
I’m assuming they have some sort of tracking capability; that they can tell what systems are using their network – a little bit of checking would allow them to see what their audience looks like.
What’s interesting about this example is that it seems that they didn’t think to test the site on mobile devices, otherwise they would have seen how useless this page was. In my case, I was using a Samsung Galaxy S4 device – probably one of the most popular families of Android devices.
Developers – Know your audience and code accordingly. There is no need for fancy, small, scrollable windows on a smartphone device. Just wrap ALL of your page’s content in <p> tags and let the browser render it exactly as it sees best for the device real estate.