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.
- Category: Miscellaneous
- Published on Friday, 29 January 2010 09:19
Robert X Cringely used to publish on www.pbs.org and now publishes his own blog at www.cringely.com. He has done a bunch of cool things related to the PC industry over the years – including being the author of Accidental Empires: How the Boys of Silicon Valley Make Their Millions, Battle Foreign Competition, and Still Can't Get a Date which I really loved.
Anyway, he writes about US Security every once in a while and recently published the following regarding how hard it was for US Officials to determine whether this Christmas Day Bomber was a terrorist:
“Instead of just complaining, let’s take a look at the issue from another angle. Contrast these three situations: 1) you are sitting in a hotel bar in Mongolia and want to use your Visa card to buy a round of drinks for your friends, and; 2) your Mom is at the check-out counter at a Sears store when the clerk asks her if she wants to apply for a Sears credit card and save 10 percent on her order, and 3) a possible terrorist with a dubious travel record and suspected al-Qaeda connections is standing in line at a European airport waiting to board a flight to the U.S. that leaves in an hour. What happens in each of these cases?
In Mongolia the bartender takes your card and authorizes it in seconds across a 12,000-mile round-trip. At the Sears store the transaction is not only authorized in less than a minute, but a new account is created and both your Mom’s identity and her creditworthiness are established and calculated on the spot, along with her discount. Meanwhile the airline, airport, local security, European police, Interpol, Transportation Security Administration, Department of Homeland Security, Customs Service, FBI, CIA, and NSA can’t between them figure out in an hour whether this guy standing in line in Holland should be allowed on the plane or not.
How is it that we can run our credit card operations so well and our national security so poorly?”
He’s right and has every right to be mad. Read the full article: http://www.cringely.com/2010/01/predict-me-im-from-the-government.
- Category: Mobile Development
- Published on Tuesday, 26 January 2010 08:00
As I mentioned last week, I’d been trying to build an Android application for my rich client session at Lotusphere 2010 (AD114). I got off to a very late start, but with the right resources I thought I could throw something together to show in my session.
I took the XML-based web service I created for the BlackBerry Java and Windows Mobile examples (they both provide native support for XML-based web services) and created a new one that used Representative State Transfer (REST) to process the request and return some JSON with the results. The agent is working great, I’ll write about it in a little while.
I created a Android Java project in Eclipse and started coding through my sample application, reading a couple of books as I went. I got the main application working, got the search box and the button that called the service working and was finally able to connect to the local Domino server to request the data (read about that here). As I tried to figure out the Android ListView widget, my application crashed and I just couldn’t get any further. I poked and prodded in Eclipse and the simulator and just couldn’t get anywhere. Whenever I load the application, I get the following screen:
It’s something in the startup of the application, but it’s not telling me anything about the source of the problem. On the flight home, I read more about the LogCat view in Eclipse that would allow me to see what Android is saying when the application crashes. It turns out that there’s an uncaught exception being generated when the application starts. Here’s the relevant log lines:
At least I know what’s happening now – all I need to do now is figure out the source of the problem. I’m disturbed that I’m not getting more information in the UI about the problem. On the BlackBerry platform, you’d get an error message identifying that there is an uncaught exception and listing the exception that should be caught. If I had that information, I think I could find this problem pretty quickly.
OK, so I dug into the code and found the problem. I was using EditText and TextView widgets to create some of the UI. EditText widgets to accept user input and TextView widgets to display some text on the screen. When playing around with some things, I’d inadvertently cast the TextView as an EditText object (that happens some time when you’re copying and modifying code). As soon as I changed the cast to TextView, the application is running again. Woohoo!
The line containing the information I needed is here:
Next step is to figure out how to use an Android ListView widget to display the array of names that is returned by the Domino server. Stay tuned…
- Category: Miscellaneous
- Published on Saturday, 23 January 2010 07:45
OK, so I work for AT&T now and that focuses me more regularly on AT&T-related topics, but I'm trying to write about them only when they apply to a wider mobility or telecommunications topic. I was poking around today and discovered AT&T's Public Policy Blog.
While probably not very interesting to people all around the world, but I did find some interesting articles about AT&T's response to the FCC regarding Network Neutrality. This topic has fascinated me for a while and the Jury's out (as far as I'm concerned) whether the results of this whole argument is going to be a good thing or a bad thing for me (us). I know I want to be able to do whatever I want with the network pipe my provider provides me and at the same time I understand the network provider's concerns about how their network is being used. Ultimately it should be the consumer's who's rights are protected (I know, I'm baised) but the result if we have our way will be that the network providers will ultimately charge us more for what we get - just to protect their investments in network upgrades and management hardware so we can have what we want.
Anyway, the site has several exhibits AT&T sumitted along with its response to the FCC that highlight some of the background details and outline what many think will happen depending on how this argument goes. I'm printing out hundreds of pages from the articles right now to read on an airplane in the next couple of weeks. i'll probably have more to say once I've read through all of them. Stay tuned.
- Category: IBM Lotus Domino
- Published on Friday, 22 January 2010 12:43
As promised, the final database and project files for my AD114 session from Lotusphere 2010 have been posted to the files area of the site.The available files are:
I spent some time on the plane ride home reading through another Android development book and got some new insights to the problems I was having with the demo. I will spend some time working on that project in the next few weeks (in between the move to NC and my real job) and hope to have something posted by the end of February. Bug me if you don't see it by then.
I'll start working on the iPhone version of the same app - with plans (as they are) to have something posted by the end of March.
Several people have sent me emails about some broken links on the site. I implemented a commercial SEF plug-in for Joomla! and apparently even though they say old links will continue to work, they apparently don't. Thanks for the feedback, I'll try to fix them ASAP.
- Category: Mobile Development
- Published on Wednesday, 20 January 2010 06:35
I had to abandon my plans for demonstrating an Android application talking to a Domino Web Service for my session this morning. I'm disappointed. I spent a lot of time learning it and working through the kinks. I got it to a point where I was able to access the Domino service and was getting data back when all of the sudden the application just stopped working on the emulator. I'm going to keep at it and write something I can put up here for everyone to look at, but I just won't be demonstrating it here at Lotusphere 2010. I got too sick before the holidays (still not recovered yet) and just didn't have the time to do this right.
What I did to support this application platform was create a new service to use for iPhone and Android. Windows Mobile and the BlackBerry can use the XML-Based Web Service that Domino supports natively, and that's what I'm going to show in the session. But for other platforms (the iPhone and Android don't support XML-Based Web Services natively) I created a service that uses REST (Representative State Transfer) to process the data. It works really well and can also be used in a Widget using XMLHTTPRequest (which I'll show here as well some day).
So, expect to see the new RESTful Domino agent documented here soon followed by the Android application, a BlackBerry Widget and, now that I have a MacBook to play with for about 90 days, an iPhone version as well. This is going to be fun. I'll be moving right in the middle of all of this, so I don't know when I'll get it all done.
- Category: Mobile Development
- Published on Tuesday, 19 January 2010 13:25
In preparation for my presentation at Lotusphere tomorrow, I've been beating my head against a problem and finally found a very simple solution. I thought I'd share. I'm trying to add an Android example to my rich client session and because I've been sick, I didn't get to work on this until this week. Nothing like last minute coding, eh?
Anyway, I have the Domino server running on my laptop and I've been trying to connect to it from the Android Emulator for about a day now. You can't use localhost, because localhost on a mobile device (whether it be an actual device or an emulator) points to the local device. The emulator therefore doesn't know about the local laptop through that reference (which is what you'd do to do any local testing laptop app to laptop app).
The orginal web site where I found this information is no longer up, so here's the details:
For an Android application running on the Android Emulator, to allow the application to access network resources running on the system running the emulator use the IP address 10.0.2.2.