John Wargo

Home
JohnWargo.com
BlackBerry Device Software 6.0 PDF Print E-mail
Wednesday, 23 June 2010 07:27
AddThis Social Bookmark Button

08/08/2010: When I wrote the following post RIM was calling the new version of the Device Software 'BlackBerry 6' and I confirmed with Mike Kirkup (the Director of RIM's ISV Alliances team) before writing the post that it was still being called BlackBerry Device Software 6.  Apparently between the time I wrote it and the release of the device, RIM changed their minds and started calling it BlackBerry 6 OS.  They've NEVER called it the OS previously - but perhaps since Apple does it they thought they'd do the same.

I've been trying not to vent too much here anymore. I realized I was being pretty negative and vowed to publish articles that might really interest people. Unfortunately I can't pass on the opportunity to comment about the market's response to BlackBerry Device Software 6.0.

For BoxTone, Vox Mobile and all of those other companies that have hosted webinars on what happened at WES and for BlackBerry Cool and all of those other sites publishing news about BlackBerry - it's NOT called BlackBerry OS 6, it's BlackBerry Device Software 6. Just to make sure I didn’t miss Research In Motion changing what they called it, I confirmed with the ISV team last week that it’s called BlackBerry Device Software 6.

The BlackBerry Device Software is the suite of applications that provides the UI and applications the user interacts with on a BlackBerry device. The BlackBerry OS runs underneath the BlackBerry Device Software and provides the OS kernel and a suite of services (low-level routines) that are available to other applications. The BlackBerry Device Software is likely (although I haven’t confirmed this) written in Java and the BlackBerry OS would likely be written in the native machine language for the device (processor). The two work together, but they’re very different things.

First of all, the developer really can’t code to the OS, he or she codes to the BlackBerry Device Software and the Device Software interfaces with the OS at some lower level. When Research In Motion releases the Java development tools – they release them in conjunction with a BlackBerry Device Software release, not an OS release. It’s the libraries published through the BlackBerry Device Software that a developer uses to build an application.

If you take a look at the screen shot that follows, you’ll see that my BlackBerry Bold 9700 is running BlackBerry Device Software 5.0.0.405 (basically BlackBerry Device Software 5.0) and Platform 5.1.0.112. The platform then is the BlackBerry OS version.

BlackBerry Options Screen

If you look at this and think about what’s coming out in the next month or so, you should expect then that the above screen for a yet to be announced device would show v6.0.0.x (or something like that) for the BlackBerry Device Software and most likely a Platform of 5.2.x.x.x (which is the device OS).

 
Writing for the View PDF Print E-mail
Wednesday, 16 June 2010 16:49
AddThis Social Bookmark Button
I was excited when The View asked me to be a technical advisor for the publication. As a long time Lotus Domino developer and more recently being heavily involved with mobile development, I am excited to have another forum where I can talk technical about both. I've written my first article and will soon be starting on another - look for the first article to be published soon (hopefully).
 
Internet Learning PDF Print E-mail
Monday, 14 June 2010 05:30
AddThis Social Bookmark Button
I’ve been reading Wired Magazine (www.wired.com) since issue #3. I read about a lot of really cool technology there before I read about it anywhere else. Over the years, they’ve kinda changed their target audience – they still write about tech, but it’s really targeted at people much younger than me.
I still enjoy reading it although in these 18 years, I’ve still NEVER read any of the interviews they do. They always seem to interview people I have never heard of and even the short parts of some I’ve looked at, they never seem to look interesting.
In last month’s issue, there was a very interesting article by Nicholas Carr called The Web Shatters Focus, Rewires Brains (http://www.wired.com/magazine/2010/05/ff_nicholas_carr/http://www.wired.com/magazine/2010/05/ff_nicholas_carr/). Nicholas was the guy who wrote years ago about whether IT Mattered (http://www.nicholasgcarr.com/articles/matter.htmlhttp://www.nicholasgcarr.com/articles/matter.html) that apparently got a lot of people stirred up.
Anyway, in this article in Wired, Nicholas published an article adopted from his upcoming book called “The Shallows: What the Internet Is Doing to Our Brains.” It provided some analysis of basically how the Internet is affecting us and our ability to pay attention to things has been changed because of it. What struck me was the following paragraph:
“In a study published in the journal Media Psychology, researchers had more than 100 volunteers watch a presentation about the country of Mali, played through a Web browser. Some watched a text-only version. Others watched a version that incorporated video. Afterward, the subjects were quizzed on the material. Compared to the multimedia viewers, the text-only viewers answered significantly more questions correctly; they also found the presentation to be more interesting, more educational, more understandable, and more enjoyable.”
What’s interesting about this is that everywhere you turn, regular classroom instruction and even books & magazines are being replaced by electronic versions of themselves. My sister in law was visiting this week and she indicated that her school system has online training that she uses any time she wants to remember how to use a feature of the software she uses in her classroom. Working for AT&T, there’s so much required education that my employer provides us and it’s all online. These companies are providing online education, but at the same time, the way some of it is presented actually makes it harder for us to absorb. Dedicated, closed training systems are better – but according to the article (and assumedly Carr’s book) when we access content on web sites (with advertisements and links to other references) it’s actually harder for us to learn.
One of two things are going to happen – nothing’s going to change and we’ll find ourselves having to work harder in order to be able to absorb what we’re reading online or somehow web sites will become less cluttered and we’ll stop linking everywhere (notice I’ve linked to two external sources in this article!) in order to make it easier for our readers.
I wonder how this problem gets fixed.

I’ve been reading Wired Magazine (www.wired.com) since issue #3. I read about a lot of really cool technology there before I read about it anywhere else. Over the years, they’ve kinda changed their target audience – they still write about tech, but it’s really targeted at people much younger than me. 

I still enjoy reading it although in these 18 years, I’ve still NEVER read any of the interviews they do. They always seem to interview people I have never heard of and even the short parts of some I’ve looked at, they never seem to look interesting. 

In last month’s issue, there was a very interesting article by Nicholas Carr called The Web Shatters Focus, Rewires Brains. Nicholas was the guy who wrote years ago about whether IT Matters that apparently got a lot of people stirred up. 

Anyway, in this article in Wired, Nicholas published an article adopted from his upcoming book called “The Shallows: What the Internet Is Doing to Our Brains.” It provided some analysis of basically how the Internet is affecting us and our ability to pay attention to things has been changed because of it. What struck me was the following paragraph:

“In a study published in the journal Media Psychology, researchers had more than 100 volunteers watch a presentation about the country of Mali, played through a Web browser. Some watched a text-only version. Others watched a version that incorporated video. Afterward, the subjects were quizzed on the material. Compared to the multimedia viewers, the text-only viewers answered significantly more questions correctly; they also found the presentation to be more interesting, more educational, more understandable, and more enjoyable.”

What’s interesting about this is that everywhere you turn, regular classroom instruction and even books & magazines are being replaced by electronic versions of themselves. My sister in law was visiting this week and she indicated that her school system has online training that she uses any time she wants to remember how to use a feature of the software she uses in her classroom. Working for AT&T, there’s so much required education that my employer provides us and it’s all online. These companies are providing online education, but at the same time, the way some of it is presented actually makes it harder for us to absorb. Dedicated, closed training systems are better – but according to the article (and assumedly Carr’s book) when we access content on web sites (with advertisements and links to other references) it’s actually harder for us to learn. 

One of two things are going to happen – nothing’s going to change and we’ll find ourselves having to work harder in order to be able to absorb what we’re reading online or somehow web sites will become less cluttered and we’ll stop linking everywhere (notice I’ve linked to two external sources in this article!) in order to make it easier for our readers.

I wonder how this problem gets fixed. I can't wait to read Carr's book.

 
Writing a Book, Part 4 – Fixing File Synchronization Errors PDF Print E-mail
Thursday, 20 May 2010 08:09
AddThis Social Bookmark Button

OK, here’s final article in the series. So far I’ve talked about the method I used to backup my manuscript files through every part of the editing process and I’ve covered how I synchronized the files between my laptop and desktop computers as I went. In today’s installment, I’m going to address a problem I created by synchronizing the files between systems. It caught me by surprise several times and forced me to make changes to how I managed the files. Ultimately it’s the reason I decided to write the article series.

As I worked through the manuscript, I regularly moved things around within the chapters. I would reorder chapters as I worked through them to get the right order (Research In Motion never, ever, agreed with the placement of chapter 3) and I would rework the order of the content within the chapters as well. On top of all that, as I neared completion of the manuscript and started seeing how long it was going to be (it was approaching 600 pages and I only had a contract for a 400 page book) my editor started whacking images (a lot of them) in order to get the book within the budgeted size.

Anyway, one of the things I noticed when I started giving my editor updated copies of each chapter was that the image files for the chapter were getting overwritten with different (wrong) image files. I scratched my head for a while then finally figured out what was going on.

Before I tell you what happened, I have to give you a little background. My publisher required that the manuscript be delivered using a particular Word template and a special naming convention for all files. The chapter content would be in a document named using the author’s initials and the chapter number. So, for my book, the chapter files were called JMW01, JMW02, JMW03, and so on. Image files used in the chapter would be named in a similar manner – in this case, it was chapter file name plus an underscore and the sequential image number. So, using the previous example as a guide, the image files for the chapter would be named JMW01_01.jpg, JMW01_02.png, JMW01_03.jpg and so on. It allows for a very structured arrangement for the chapter files and I’m sure saves the editor and production people a lot of time and saved them from extra work trying to make sure they have all the image files required for the book.

Now that you understand how the chapter’s files were named; take a look at the following folder listing:

Folder listing of C:\Users\John Wargo\Documents\Publications\FoBAD\JMW01\

Backup of JMW01.wbk    8/11/2009 9:05:59 AM    40 kb
JMW01.docx             8/11/2009 9:06:30 AM    41 kb
JMW01.zip              8/11/2009 9:06:36 AM    377 kb
JMW01_01.jpg           4/10/2009 7:25:20 AM    65 kb
JMW01_02.jpg           4/1/2009 7:24:41 PM     63 kb
JMW01_03.jpg           4/10/2009 7:24:41 PM    63 kb
JMW01_04.jpg           4/1/2009 7:37:29 AM     73 kb
JMW01_05.jpg           4/15/2009 7:47:13 AM    71 kb

As I was removing image files from the manuscript and renaming subsequent files behind it, I was creating a situation where Second Copy thought it was doing the right thing by replacing the local copy of a file with the backed-up copy from the server. Here’s what happened…

Say for example I needed to remove image 1 (JMW01_01.jpg) from the manuscript; it was something that wasn’t that important for the book and because of space constraints my editor has asked me to remove it. Now, once the file was been removed, I had to rename all of the following image files so there’s a consistent naming scheme for everything. So, removing the first image file and renaming all of the other files (quite a pain I might say) would result in the following folder listing:

Folder listing of C:\Users\John Wargo\Documents\Publications\FoBAD\JMW01\

Backup of JMW01.wbk    8/11/2009 9:05:59 AM    40 kb
JMW01.docx             8/11/2009 9:06:30 AM    41 kb
JMW01.zip              8/11/2009 9:06:36 AM    377 kb
JMW01_01.jpg           4/1/2009 7:24:41 PM     63 kb
JMW01_02.jpg           4/10/2009 7:24:41 PM    63 kb
JMW01_03.jpg           4/1/2009 7:37:29 AM     73 kb
JMW01_04.jpg           4/15/2009 7:47:13 AM    71 kb

Now, knowing that Second Copy has been diligently copying all of the files up to the server, it already has a copy of JMW01_01.jpg up on the server and, because of the renaming of the local files, has a different file date and time than the one on my local hard drive (remember, it used to be JMW01_02.jpg and it had a newer file date/time). The next time Second Copy runs, it’s going to see that the server copy of the file has a newer date/time stamp than the one on my local hard drive. It’s going to replace the local copy of the file (the former JMW01_02.jpg) with the newer file from the server (the former JMW01_01.jpg).
When Second Copy gets done with its sync, the old JMW01_02.jpg (now called JMW01_01.jpg) will be replaced by the original JMW01_01.jpg from the server). Because JMW01_03.jpg has replaced JMW01_02.jpg (due to me renaming the files) the old JMW01_02.jpg is gone, deleted by Second Copy as it copied the old JMW01_01.jpg down from the server. Ouch! This created quite a mess.

Not only was this process screwing up the files, it was also deleting files that I ultimately needed later. Very painful! It was a lot of work to completely rebuild the file structure every time this happened. I had to rename the files back to where they belonged and retrieve (hopefully) the right version of the archive. Since it might be some time before I noticed the problem I created, I would have to go back archive by archive until I found the one that contained the right version of the file I needed. I was frantically trying to finish the manuscript on schedule and keep my employer and my wife happy and now I’d created more work for myself. Crikey!

Note: if the file extensions for the renamed files were different (a .tif file instead of a .jpg file for example) then this would not have created a problem for me. Second Copy would have copied down the old .jpg file and left the .tif file in place. The folder listing would still be broken, but it would be an easier problem to fix.

OK, I identified the problem, developed a method for recovering from it, but the next question I had to answer was: ‘how do I keep this from happening again?’ The answer of course is to reset all of the files to the same date/time before allowing Second Copy to do its thing. If all files are set with the current date/time stamp, there will be no ‘newer’ versions of the files for Second Copy to find. Since I synchronized before I started working and I know this should be the ‘reference’ version of the files, there’s no risk in doing this.

If any of you are old Turbo Pascal developers, you may remember that Borland shipped a little DOS program called touch.com that could be used to reset the date and time stamp of files. Apparently it’s an offshoot from a Unix command of the same name. Anyway, it was a very useful utility and I immediately thought of it for my solution to this problem. The problem is that it’s a DOS program and this was Windows (Vista 64-bit). I probably could have dug up an old copy of the program (yes, I still had my old Turbo Pascal discs) but I was afraid I would encounter side-effects using it so I started looking for something else.

Well, I was reading O’Reilly’s Windows Vista Annoyances: Tips, Secrets, and HacksWindows  Vista Annoyances: Tips, Secrets, and Hacks at the time and came across a reference to a product from Creative Element called ‘Power Tools’. They had a little utility that would allow me to easily change the date and time for a set of selected files. In an excited frenzy, I downloaded the tools, installed them and went to work.

I quickly encountered a problem – I was running Vista 64 and the Power Tools ‘worked’ with that version of Windows, but there were some limitations. In order to be able to use this tool, I had to do it in the 32-bit version of Windows Explorer. Not a big deal, I located the icon for that version of Explorer and went to work.

To use the utility, you open Windows Explorer, select the files you want to manipulate the right-click to bring up a list of options. Select ‘Change Date’ from the list of options and you will be presented with a dialog similar to the one shown in the following figure.


Figure 1

In this case, I change all date/time stamps (created, modified an accessed) and set them all to the current time. Once everything’s set the way I needed it, I would click the ‘Accept’ button to commit the changes. The following listing shows the results.

Folder listing of C:\Users\John Wargo\Documents\Publications\FoBAD\JMW01\

Backup of JMW01.wbk    8/11/2009 9:05:59 AM    40 kb
JMW01.docx             5/20/2010 7:54:33 AM    41 kb
JMW01.zip              8/11/2009 9:06:36 AM    377 kb
JMW01_01.jpg           5/20/2010 7:54:33 AM    65 kb
JMW01_02.jpg           5/20/2010 7:54:33 AM    63 kb
JMW01_03.jpg           5/20/2010 7:54:33 AM    63 kb
JMW01_04.jpg           5/20/2010 7:54:33 AM    73 kb
JMW01_05.jpg           5/20/2010 7:54:33 AM    71 kb

Problem solved! I’d only selected the manuscript files, not the local zip archive I would send to my editor or the backup Word created. That’s why some of the files have different time stamps. All of the manuscript files though are set with the same time stamp which was what I needed to solve this problem.

Look for other articles in the series:
Writing a Book, Part 1 = Getting Started
Writing a Book, Part 2 – Batch Archiving
Writing a Book, Part 3 – Synchronizing Files

 
Writing a Book, Part 3 – Synchronizing Files PDF Print E-mail
Sunday, 16 May 2010 16:51
AddThis Social Bookmark Button

This article is the third in a series about some of the technical hurdles I faced while trying to write BlackBerry Development Fundamentals on my laptop (while on the road) and my desktop (when at home).  I’m trying to focus on the technical solutions I implemented so that others who begin writing a manuscript can benefit from my experience.  The first article in the series laid out an overview of the problems and the technical solutions I selected to solve them. The second article covered how I was able to ensure that I had a backup copy of every edit I’d made to the manuscript. This article covers how I synchronized the files between my two systems and, spoiler alert, caused some problems by doing so.

Looking at the site’s statistics, it’s clear that not many of you are interested in this topic – I’m only getting a few hits on the articles. I’m going to wrap up this series this week (hopefully) then move on to some more interesting topics. In the mean time, here we go…

As I mentioned in one of the earlier articles of this series, while I was working on the book, I spent a fair amount of time on the road. It was ultimately a good thing since I was able to work long nights in the hotel room and make better progress on the manuscript without feeling guilty about ignoring my family. Because of this, I needed some way to work on the manuscript from my laptop and my desktop, but I didn’t want to store the files up on a server somewhere – I wanted them physically on whichever system I was working on so that I could access them even if I didn’t have network connectivity (which wasn’t that often, but I didn’t want to have to worry about it).

While Windows has the ability to synchronize files with a server, it wouldn’t work in my case because my laptop connected to my work domain and my desktop system didn’t. I didn’t want to have to deal with network domain issues. The solution I selected for this problem is a piece of software I’ve been using for years now called Second Copy. Second Copy is an award winning synchronization and backup tool that has supported me very well for a great many years. I use the solution to synchronize each system with a Windows server I have in my home office (The server is called Dinsdale; Monty Python fans might recognize the name) but it can also be used to write files to removable media.

The way I use this solution is to regularly synchronize the contents of my desktop system’s ‘My Documents’ folder to a dedicated drive I have in Dinsdale for backups. Since my laptop was to be used primarily for work purposes, I only synchronized the contents of my laptop’s ‘FoBAD’ folder (described in the second article in the series) with the corresponding folder on Dinsdale.

At first, I’d have the synchronization run every two hours, but before long I was getting regularly yelled at by Second Copy as it was trying to synchronize a file I currently had open. I later switched the process so my desktop would synchronize every morning at 6:00 AM (way before I was ever up working on the manuscript) and my laptop would synchronize on startup (as soon as I turned it on after returning from a trip) and every night at about 11 or midnight. With this in place, I had everything synchronizing nicely between the systems and it wasn’t until much later that I realized I’d inadvertently created a problem by using this setup. The problem wasn’t related to Second Copy, it had to do with some rearranging of files I was doing as I worked with the book’s chapters. I’ll explain more about this in the next installment of this series called Writing a Book, Part 4 – Fixing File Synchronization Errors. Stay tuned.

Just in case you’re interested in how Second Copy works, I’m going to show below how I setup the synchronization process in the program. When you install Second Copy, it launches on startup and puts a little application in the Windows system tray. It sits there patiently waiting for a scheduled job to begin then kicks off the process at the appropriate time and takes care of my file synchronization needs for me.

To setup a job, you have to create a profile; a profile in Second Copy defines actions taken upon a particular file folder on a computer system Second Copy has access to. The figure below shows the profiles I have defined on my desktop system.

Figure 1

When you create a new profile, Second Copy walks you through a wizard that allows you to select all of the options for the job. The first step in the wizard allows you to select Express or Custom setup for your profile. With Express setup, you’re presented with amore simplified menu of options to use for your profile – this option is for inexperienced users who just want to get something done without looking at every possible option. For the profile I’m setting up here, I’m going to select the Custom option (as shown in the following figure) and click the ‘Next’ button.

Figure 2

The wizard will next prompt you to select the source folder you will be copying using Second Copy.

Figure 3

You can then select to copy all files and folders or only a specific set of files and folders.

Figure 4

Once the source files have been selected, the next step is to select the destination folder for the copied files.

Figure 5

Of course, if the destination folder does not exist, the program prompts you before creating it.

Figure 6

Once the program knows which files it needs to copy and where to copy them to, you’re next prompted to specify when the job sill be scheduled to run. As shown below, you have the ability to specify a specific schedule but also to execute on certain triggers. You can also omit specific days if for example you don’t want the job to run on weekends or run every other day.


Figure 7

In the next step, you’re prompted to select the type of copy used for this profile. If you know you’re going to make edits in another copy of the file like I am for this profile, select the Synchronize option. If you want the profile to merely back up the files, then select the Simple Copy or Exact Copy options.

Figure 8

Once you’ve selected the type of copy, you’re prompted to select options for the job. In general, I usually synchronize deletions also but ensure that I make multiple backups of any file. This allows me to keep a very clean synchronized copy, but also maintain copies of files I’ve edited or deleted elsewhere. With this in place, I have even more options for recovering from an error.

Figure 9

With all of the settings defined for the job, you’re prompted to provide a name for the profile and you’re all set.

Figure 10

That’s it for this installment, be sure to check out the other articles in the series:

Writing a Book, Part 1 = Getting Started
Writing a Book, Part 2 – Batch Archiving
Writing a Book, Part 4 – Fixing File Synchronization Errors

 
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

Page 2 of 24

My Book

InformIT (Pearson Education)