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
For those of you that follow me on Twitter or are connected with me on LinkedIn, you probably already know that I no longer work at SAP. This wasn't my idea, instead it was part of an office consolidation that SAP has undertaken. Since I worked in the development organization but wasn't working in an office with my team, my position was eliminated. I live in North Carolina but the people I worked with were in Dublin, CA and Walldorf, Germany so hence the source of the problem.
Fortunately for me, SAP made it pretty easy for me. They gave me some time to see if I could find another position with SAP (I didn't). Plus they did some other stuff (which I can't talk about) to help me in my transition. Overall, a stressful but not a very painful process. Bonus!
I really liked working at SAP. They treated me very well and I was very happy that I was able to work on software development tools (something that interested me greatly). I really enjoyed working with all of the smart people at SAP. As the Product Manager for what was essentially SAP's hybrid development SDK, I was in the unique position where my day job aligned with my hobby. As a writer about and contributor to the Apache Cordova project, owning some of the Cordova-based products from SAP was the perfect place for me.
When I joined SAP, I'd pretty much decided that I was going to stay there until I retired. It was a great job with a great company and I thought I could stay for the duration of my career. Unfortunately, being remote became a problem and I was unwilling to move to California (although I would have been interested in moving to Germany). Over the years, some opportunities presented themselves to me, but, because I wanted to stay at SAP, I didn't really consider them. Now that SAP forced the separation, it gave me some time to pursue some really good opportunities.
During this process, I confirmed that only a small percentage of people find jobs on Job Boards; most nowadays find jobs through their existing connections. Once I decided that I wasn't going to find a new position within SAP, I posted on LinkedIn that my position had been eliminated. It wasn't long before my inbox was filled with emails from my existing contact base offering to help me. I quickly updated my resume then responded to everyone. Before long, I'd been introduced to opportunities in about 10 companies and I began actively interviewing with many of them. Of course, nothing came of some of them, but I was able to begin actively working with 6 different companies on 11 different opportunities.
I only had a certain amount of time to find a job, so I set a deadline for myself and got to work. I was able to secure 2 job offers a few days past my deadline and had one more lined up, but not formally offered. Essentially, I had three opportunities to choose from. Unfortunately for me, I was really, really interested in all three of them. Sigh. I was hoping I'd have a choice to make (and I succeeded), but I wasn't expecting that I'd be solidly interested in all three of them. Sigh, the pressure increases.
For many years, I led custom development (consulting) and product development teams for different organizations. I really enjoyed leading teams. When I got into mobile, I obtained individual contributor roles and had those for the last 10 years or so. With this job…transition, I pursued some individual contributor roles, but also one where I'd be able to build and (someday) lead a team of technical people. At the end of the day, I had to choose between the three opportunities and I did.
I start my new job on Monday – and will tell you all about it once I start. Stay tuned.
- 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.