Categories
Day Job

New iOS8 and Safari problem discovered.

First let’s be clear what I’m posting about. This is NOT an IBM or XPages issue. This is specifically iOS8 and Safari.

I posted on StackOverFlow with all the details.

The skinny:

I have an XPages app that uses a bluetooth Opticon Scanner

No problems in iOS7 and Safari.

iOS8 and Safari do NOT work well with the scanner. Characters are dropped. It’s not reliable. Using Chrome on iOS8 seems to work fine.

I’ve no idea why or what the issue is. I posted on StackOverFlow and in the Apple Dev Forums and even made a bug report.

This just kinda sucks. I’m confident the Mobile controls problem will be resolved from IBM. But now we’re going to have to get our users to install Chrome on their iPads just to get the scanners to work.

Fricken sucks ūüôĀ

Categories
Day Job XPages

Apple’s iOS8 Breaks uploading Photos

In the day job I have users that use an iPad to upload photos to an XPages application.

I just learned today that this breaks with iOS8.  More information can be found here:

http://www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers

http://stackoverflow.com/questions/25790873/uploading-files-over-http-fails-on-ios-8-gm-safari

http://blog.uploadcare.com/post/97884147203/you-cannot-upload-files-to-a-server-using-mobile-safari

 

I’m hopeful this is a BUG that will be fix and not something Apple has intentionally done.

For now the plan is to just hide the upload button if you’re running iOS 8. ¬†Note we use my fileVault thing which will likely be my next blog post and not the file upload control that comes with XPages.

 

Below is the quick and dirty code I’m going to try and use to hide the button to iOS 8 users. ¬†This will not work most likely for iOS 8.0.1. ¬†Since we don”t know if it’ll be fixed then we’ll simply cross that bridge when we come to it.

Note: This code is intended to run on Domino 9.0.1 so I make use of the deviceBean that’s built in.

UPDATE: Made some updates to the code

function isApple8() {

var uAgent = context.getUserAgent().getUserAgent();

if ((deviceBean.isIpad()) || (deviceBean.isIphone())) {

// Note the space after the 8

if (uAgent.indexOf(“8.0 “) > 0) {

// This is iOS 8

return true;

} else {

// This is iOS but NOT version 8

return false;

}

} else {

// this is NOT iOS

return false;

}

}

 

Categories
Day Job XPages

I love what I do, and what I do is XPages

So I’m sitting here in Midway airport in Chicago.¬† Kinda bored really so I thought I’d throw out some random crappy post because really, there’s probably not enough of those on the Internet.

I’ve been rather busy recently, traveling to Anaheim, Washington D.C, Las Vegas, Orlando, Chicago, and I’m shortly going back to Las Vegas.

Why am I doing all this travel?¬† For my day job, and let me tell you I have the best job in the world.¬† I get to work with completely awesome people like Mike McGarel and Devin Olsen. I’ve got the best manager in the world in Declan “Super Tech” Lynch and above him is John Roling, an awesome PHB! Our company does some incredible things, but that’s for another post I think.

Our development platform of choice is XPages.¬† Why?¬† Because it works and works well.¬† We literally run out business on applications developed with XPages. We can and will use other tech when appropriate of course. ¬†We’re not blinded by XPages. But for the most part it’s been clearly the best tool for our needs.

My part of this and the reason for my heavy travel of late is I’m building Inventory tracking applications.¬† I’m still using the Notes client a bit but that’s going away to be replaced with XPages only functionality. I big piece of this are screens specifically designed for iPad.¬† I have a blue tooth scanner that works great and it’s used to track inventory and assist is in shipping and receiving operations.¬† I’m doing a ton of mobile development – not all of it great yet as I feel my way through things like mobile controls, bootstrap, etc. ¬†I have a lot of people using this app and a lot on iPads. So far they seem really happy and we’ve tracked and shipped a LOT of material. Yay!

Let me just say that putting my core business logic inside Java Beans has been an absolute life saver. But we’ll talk about that later.

So I’ve been traveling to not only train various locations in using these applications but also learn about how each location is different.¬† What their needs are‚Ķ what works for them‚Ķ what doesn’t. It’s been great though I am looking forward to just being home and getting back into development.

Outside of the day job the extra travel has prevented me from going to IamLUG and I probably will pass on MWlug. I do want to get back to the Lugs but want to hang with the family as much as possible right now.

On the NotesIn9 front – this has slowed down the shows of course.¬† It’s kinda been a problem since last year.¬† The end of the DriveTo99 then IBM Connect then the day job stuff has created a backlog.¬† So it’s taking me a long time to get shows from contributors out.¬† I’ve never had that kind of delay before and I do feel bad about it.¬† I think I still have 2-3 shows in the queue from Brad Balassaitis and Paul Withers to get out and then I THINK I’m caught up but need to go through all my dropbox directories to make sure I’m not missing anything.¬† So hopefully Ni9 will pickup in a bit after this last scheduled trip in a couple weeks.

Next week I’m doing an OpenNTF webinar with Marky Roden.¬† I’m really looking forward to it but need to finish up what I want to talk about and demo.¬† It’s a “Getting Started” topic so it’s geared for beginners, but maybe there will be something intermediates might have missed.

So that’s my story.¬† Oh yeah‚Ķ¬† I did get a Chicago HotDog

Oh¬†and before I sign off I do want to give a huge shootout to Jesse Gallagher from iknowsomeguys.com who’s helping me with a pet project.¬† Don’t miss his blog at http://frostillic.us

Great‚Ķ looks like the plane is a bit late.¬† Sadly it’s too noisy to do a NotesIn9.

So yeah, I love what I do, and what I do is XPages!

Have a great weekend everyone!

 

Categories
Day Job

Looking for advice on XPages mobile apps

I’ve been doing a lot of work creating XPages web applications specifically targeted for iPads but desktop users will be needing it as well. So far I’ve been using mobile controls in 8.5.3 which is based on Dojo 1.6. While there are some interesting things that crop up in developing with mobile controls the users do really like the native look and feel.

What I’m finding is even some desktop users use the app from a browser like chrome or safari. Ok not the end of the world. Whatever floats their boat. There is a need to deliver this to the desktop as well.

So I’m in the process of basically starting over from scratch and rebuilding my application so it’s more based on java beans and is just all over cleaner – since I now know things that I never knew before.

I’m just wondering the best way to build it? At least for the iPad. Our corporate stranded is oneUI based so ill probably need a pure desktop version and a mobile version. If I get most of the logic in java beans that shouldn’t be a really big deal I don’t think.

But what about the mobile app? Do I stick with mobile controls? We’ll be upgrading to domino 9.0 pretty much day 1 and under the covers that brings dojo 1.8 with many new mobile features. These features aren’t exposed via mobile controls yet. Should I use a mix of mobile controls and manually grab anything from dojo 1.8 that I need? Or do I avoid mobile controls all together and try to use dojo mobile manually? I’m not sure what the pros and cons there might be to that.

Or do I avoid mobile controls all together and try something like twitter bootstrap or something else? The users do like the native look and feel but honestly, it’s going to be a big app with lots going on. So a more “normal” website might make somethings easier on me. I guess I’d certainly lose page transitions and need to make sure buttons and targets are big enough for the tablet screen. Deal with viewport and all that…..

I’m not really sold or interested in responsive design for this. This isn’t a blog it’s an inventory application. I’ve not seen an example or a real app using responsive design. There will be lots of fields, tables, buttons etc. When the time comes to put this on a phone I imagine there will be yet a third site needed with scaled back functionality that fits the phone screen.

I don’t think jQuery mobile is a good option but I’m not sure. Certainly I won’t be disabling normal XPages dojo stuff and buildings all that manually. I don’t know if I’ve seen an XPages jQuery mobile demo that didn’t first turn all that good dojo stuff off.

This is going to be a web app right now and not a local app. I’m kinda interested in it as a local app but I don’t want any local data. I want all the data to live on the server so I know it’s always accurate and up to date.

Anyway, that’s my story. I do kinda like mobile controls and have had some good and bad luck with them. But I somewhat feel that maybe using bootstrap or something else can help me make it work nice in iPad while getting away from the whole virtual page thing on what is going to be a big app. Just make building it easier and more flexible. But I really don’t know.

What does anyone think about mobile WEB apps? I’d really be interested to hear any advice or experiences. What have you done? What are your trying? What considerations do you have? Etc…

Thanks for your time and any advice.

P.S. this post was written in my new iPad mini and it rocks!!!!!!