02/28/13

NSBasic and PhoneGap for BlackBerry

Review Time:  Is NSBasic ready for BlackBerry?

As a basic-intensive (and basic-loving) developer, I recently heard about an interesting application:  NSBasic which claims to do multiplatform mobile support using a Visual Basic style editor.  I also have heard a lot about PhoneGap which is getting rave reviews for being multiplatform as well (and in fact turned out to be the driving force for NSBasic).  Interestingly, some of PhoneGap was quite confusing due to strange decisions by the PhoneGap team to give themselves and their applications strange mismatching names.

So, I put aside about 6 hours today to play with NSBasic, PhoneGap and WebWorks to get an idea of the BB5/6/7/10 and PlayBook experience.

Now, for those of you who know me, I don’t like to make readers read unnecessarily.

Quick Verdict:

PhoneGap:  7/10: Keeper

Cons

  • Installation was painful.
  • Not friendly for junior developers.
  • Unusual system requirements, and relies on manually installing JDK and ANT.  BlackBerry requires JDE, which causes ANT conflicts.
  • Requires strong OS knowledge and BlackBerry knowledge to resolve issues that will arise for all new users.

Pros

  • Free
  • Significant positive reviews online
  • Truly multi-platform
  • The getting started guide was very strong for BlackBerry
  • Application looks pretty and includes splash screens
  • Includes many platforms
  • Seems more solid than BBUI (more devices) and JQuery Mobile standalone (has weird problems with BB/Android/iOS)

NSBasic:  3.5/10: Not Ready for Modern Mobile Devices

Cons

  • Even more complex installation procedure
  • Trial too limiting, will not allow debugging to devices
  • Documentation is very sparse, many functions undocumented
  • Expensive, 99 + 49 per upgrade.  99/month for “premium” support
  • Debugging done through plain browser, does not reflect mobile devices
  • No ripple integration
  • All relevant information is on a wiki, which is offline frequently from use
  • Significant negative reviews online
  • Owners seem to chase negative reviewers rather than spend time attracting new clients
  • IDE misses simple errors (delete object with code attached and press debug)

Pros

  • Applications look pretty inside the custom IDE
  • Assuming you manage to get everything to debug and install easily to multiple devices (as they claim to be working through PhoneGap) it has potential to develop simple applications quickly

Alternatives to NSBasic:

GLBASIC works on iOS, Android, and many unusual platforms such as the GP2X Series.  It does not work on BlackBerry, but it is a really in depth and fun IDE that will remind you of DarkBasic and QBasic.  The support forums are great, the community is warm, and you really get what you pay for with it. 80 EUR or free for students.  But, really, I’ve actually used this in business applications before for a quick solution for a lightweight locked down client.

Basic4Android is an Android Basic language.  It doesnt support iOS.  I haven’t tested porting to BlackBerry.  Price is 49 or free for students.

Enhanced Details on PhoneGap

PhoneGap took several hours to install and configure and seems to have more of a Linux focus.

It did not include a standard windows installer binary and used an “unzip this somewhere and play with it” mentality.  Installation:  It requires WebWorks for BB / PB and QNX (which is expected).  And it requires the Simulators (which is also expected).  However it requires ANT and JDK.  ANT and JDK have a conflict with JRE installed (which is a WebWorks requirement) that causes some fun error messages when trying to use ANT.  There are several fixes, the “dirty” fix is to drop your lib files from JDK to JRE – but this is a bad Windows 95 DLL issue type resolution.

Once installed, I had signing and eventually deployment issues.  I relied on BBHTools for deployment.  However, read the XML’s carefully.  If you have already configured and used WebWorks in the past, signing will be a non-issue.  Remember to use the BlackBerry-Signer.bat -verify (BAR) command line tool from WebWorks to check on the files.  However, if you only installed WebWorks and did not setup signing for each platform, make sure to do so.

Once you manage to get all the issues calmed, and follow the tutorial (which is fantastic) you’ll now have smooth sailing.

Details on NSBasic

NSBasic was more complicated.  This requires PhoneGap + WebWorks.  Which means you need to understand WebWorks, you need to understand PhoneGap and you need to understand NSBasic to troubleshoot issues – provided you have the full version and can use or test your applications on an actual device.  If you are using the Trial, you can’t do any device testing anyway, and it defaults testing to IE or FireFox or whatever browser you have.

You can set Chrome as your default with Ripple, and maybe convince this to use a mobile-like platform.  But this will only work when you “deploy” your application through NSBasic (which, oddly, deploys to their custom server NSApps) and trick Ripple to use it.  Which raises some questions that are not answered anywhere in the documentation or help files – such as what is NSApps as a public server and why do your applications go there by default.

All other deployment options were unavailable, so all you can really do is see it sitting on some NSApps public server – which is unusual.

The Wiki was offline and unavailable.  The actual IDE and UI was surprisingly attractive for the filesize although the IDE missed several big errors that a normal IDE would catch.  You really do feel like you are programming in BASIC.  And although the Debug function is completely unacceptable for replicating Mobile Devices, it did make it easy to test changes.

The major outstanding issue for me was the missing documentation.  There was a lack of focus on the application itself.  It felt like a junior IDE with potential, but it feels like its in Beta.

With that said, if you absolutely need to develop in Basic on multiple platforms – this *may* be the application for you.  It is attractive, and if purchased as a full version, if it can actually be deployed to mobile devices with ease (I suspect it will require major hands-on modifications to get the installers on the devices) it could be a great way to save time and build applications.

Its fun, it has great potential, but it is too limited for me to feel comfortable using it.  The NSBasic team will need to realize that by preventing a developer from seeing an NSBasic application on a mobile device, they will likely balk at the price.  For the amount of work it takes to install, your better off installing Cascades and using a beautiful toolset at a lower OS level.  Or taking out the middleman and using PhoneGap directly to get the most out of your applications. NSBasic looks to be a product of the WebGL/PalmOS/WinCE days and is not ready for modern phones.  This is especially true when held up to the high standards of other BlackBerry development IDE’s.  If you can rely on any other language, I would bypass NSBasic for now until they revisit their strategies and invest more time in the toolset.

This is just my two cents, sorry if the review seems harsh.  But I had to provide an honest review.

More info on this here:  http://forums.crackberry.com/developers-lounge-f9/has-anyone-tried-nsbasic-app-studio-659580/#post6759214

Ed.

Share
01/1/13

Its the Final Countdown!

http://www.youtube.com/watch?v=9jK-NcRmVcw

<Insert funny mention here>.  Well, in all honesty its been a very busy time.  I’ve been contracted for a few large apps and of course I’m trying to forward port all my applications.

Secure Browser has been extremely difficult to port forward due to changes from RIM for AIR.  I’ve already had to rewrite two of their classes and about 2400 lines of code.  But it is coming along nicely.  Media Connect has some fun updates planned.

And I dont even know what to tell you about the new apps except they are exciting :)

For those on PB wondering why there aren’t many apps from developers in general, a lot of the SDK’s aren’t backwards compatible.  Which means we are looking at about 3-5 months of little app availability on the PlayBook (it should recieve BB10 around summer time).

Hold tight though, they are coming!

~Ed.

Share
12/7/12

Open Source Releases

Hi Guys,

I’ve released a few open source applications for BlackBerry and wanted to share them with you.

Blockish-Undead
https://github.com/KermEd/blockish-undead, Original: http://sourceforge.net/projects/blokish/
Language: Java
Platforms: Android & BlackBerry 10 / PB 2.1
Android app, Packaged to BAR and remade for BB10 compatibility

GLRacer
Formerly GLTron (but TRON was rejected by Appworld)
https://github.com/KermEd/glracer-master, Original: http://sourceforge.net/projects/gltron/
Language: Java
Platforms: Android & BlackBerry 10 / PB 2.1
Android app, Packaged to BAR and remade for BB10 compatibility

OpenLife
Formerly DroidLife (but the term Droid was rejected by AppWorld)
https://github.com/KermEd/OpenLife, Original: http://code.google.com/p/droidlife/source/checkout
Language: Java
Platforms: Android & BlackBerry 10 / PB 2.1
Android app, Packaged to BAR and remade for BB10 compatibility

ReplicaIsland
All graphics needed to be redone as they had the “android” robot and were rejected by AppWorld
https://github.com/KermEd/replicaisland, Original: http://code.google.com/p/replicaisland/
Language: Java
Platforms: Android & BlackBerry 10 / PB 2.1
Android app, Packaged to BAR and remade for BB10 compatibility

PerfectPancakes
https://github.com/KermEd/MarmaldePerfectPancakes
Language: Marmalade, C++
Platforms: Android & BlackBerry 10 / PB 2.1
C++ Packaged to BAR and APK

Desktop Browser
** Was not allowed on AppWorld **\
https://github.com/KermEd/AS3_Desktop_Browser_PB_SDK_1
Language: AS3 (Flash Builder)
Platforms: BlackBerry 10 / QNX
Basic web stage view example as a functional browser.

x929
** Was not allowed on AppWorld **\
https://github.com/KermEd/x929
Language: AS3 (Flash Builder)
Platforms: BlackBerry 10 / QNX
Basic web stage view example as a functional browser.

Starfield
http://www.filearchivehaven.com/apps/starfield/
Language: AS3 (Flash Builder)
Platforms: BlackBerry 10 / QNX
Shows a moving starfield. Good example of multi-dimensional arrays in AS3.

Flying Toasters
http://www.filearchivehaven.com/apps/flying-toasters/
Language: AS3 (Flash Builder)
Platforms: BlackBerry 10 / QNX
Shows flying toast and toasters. Good example of multi-dimensional arrays in AS3.

Share
11/15/12

Backing Up Your Work

I want to take a minute to discuss something very important, Disaster Recovery and Backup Plans.  Here is my current setup and hopefully inspires some others to create their own!  This is just how I setup my own backups at home, and many people do it different ways.

For young (especially free opensource) developers, it can be very difficult to find backup solutions.  As a developer, you are always responsible for your customers – which means being responsible for your code.  Many times I have seen great projects die overnight because a PC’s harddrive failed, or a website backed up “blank” files, or the backups required configuration files that only existed on the (now dead) master.

Setting up a dedicated backup PC (optional)

This is optional.  You can backup to a second PC in your household (This will give you a redundant backup solution).  However in my case, I wanted a second layer of protection so that if my backups fail they can still be recovered.

To do this, I decided to build a media / file server that would hold both a RAID0 for media sharing, and a RAID5 for the backups.  The RAID5 allows me to lose one drive in the cluster, and still not lose any data.

You can purchase a NAS for several thousand that will do this.  But using NewEgg, I purchased 4x 2TB 7200 RPM drives and 1x 128GB SSD – with enough space to expand to 12 spinning disk drives.  I also purchased two RAID controllers and everything else I needed for a basic storage backup system.

Drive Y (Share): 1x 2GB was setup for RAID0

Drive X (Backups): 3x 2GB was setup for RAID5 (which came out to about 4GB because of the redunancy)

I originally went with Windows Server 2012, but I had a hard time finding free software alternatives for anything and realized it was a bit too much for what I needed.  Instead I moved it to Windos 8, enabled file sharing and enabled DLNA.  I also installed PlayOn, TVersity, and ORB because I know that DLNA does not stream properly to Xbox 360.

Once I had all my shares setup, enabled permissions for my user accounts, it was time to begin backing up!

Installing Free Opensource Backup Software

Note:  You can also create ISO images of your operating system for backup purposes!  I chose not to, and only backup my data.

I tried a lot of different packages.  But I opted for Areca because it was simple to use, allowed for incremental backups (so I could restore a file from its state one week ago, 4 weeks ago, or a year ago) and setup scheduling.

Step 1:  Install Areca

Step 2:  Create the following folders on your backup share:

Y:\Backups

Y:\Backups\PC_NAME-ArecaBackup

Y:\Backups\PC_NAME-ArecaBackup\Logs

Y:\Backups\PC_NAME-ArecaBackup\Batches

Y:\Backups\PC_NAME-ArecaBackup\Workspace

Y:\Backups\PC_NAME-ArecaBackup\Backup

Step 3:  Run Areca, press Select, and specify the Workspace folder (above).

This is where the configuration files will be saved.  You want these files on the fileshare to make sure you can access your configuration files in the event of a failure!

Step 4: Right click and select New Group, call it Backups

Step 5:  Right click and select New Target, call it Backups (PC NAME)

Step 6:  For Local Repository, specify the path above that says Backup

Step 7:  Under Sources, select the folders you wish (usually your C:\Users\Your_Name, and any special local folders with development files)

Step 8:  Compression, select Zip 64 and check Store each file seperately and check Add “.zip” extension

This way, you can manually rescue the files if you really need to via the output ZIP files.

Step 9:  Under post-processing, add two settings.  Store the local report on disk, and specify the folder above entitled logs.  Send the report by email, and you can email yourself when backups complete.

Your backups are now ready.

 

Creating a backup strategy (so you dont have to manually run it every day)

Step 1:  Press Edit > Wizards > Generate Strategy

Step 2:  Under Location use the folder above called Batches

Step 3:  Use the settings below:

One archive each 1 day for 7 times (it means incremental backups every day for 1 week)

Then one archive each 7 days for 8 times (it means incremental backups for every week for 8 weeks)

Then one archive for each 63 days for 4 times (it means incremental backups for every two months or so)

Step 4:  Launch Windows Task Schedular

Step 5:  Create a daily, weekly and monthly task (that runs at different times)

Step 6:  Tell it to use your current user (not the global user) and run the batch files you created.  Specify the start folder as the batch folder above.

Step 7:  Test one and make sure it works!

Hints:  One thing to mention, I added a second layer of logging inside the actual BAT files.  I have it create a log file called DailyRunning.log to store the date/time/status using >> for piping.  At the end I rename DailyRunning.log to DailyDone.log – this way I can see via FTP at work if my backups completed or what the status is without requiring remote access.

 

Closing notes:

This isn’t quite true DR!  For one, I only take manual images of my OS every so often as ISO’s.

Technically you should not keep your data backups in the same building as your actual PC (EMC requires 1,000 KM distance).   But, I do have the added protection of all my systems submitting data to one central server for backups.  And the backups are running on RAID5 so that I can lose a hard-drive without losing all my data. This means my data is double protected with the ability to revert to an earlier version of all files on my network at almost anytime.

I also have a cloud storage solution that I use for source code (private Github) but you could use a DropBox account the same way!  Hope this helps someone with setting up their backups as this is the system I found that works best for me today.

If you have read this far, you are a brave person (it was a lot of writing!).

Ed.

Share
11/7/12

Interesting Application for October: Clonezilla

Howdy folks,

I wanted to bring to light one handy piece of open source software that came across my plate today.

What it does and why you need it:  Clonezilla can be burnt to a CD or DVD as a LIVE cd.  This means, it can run as a boot device when you have no operating system installed.  It leverages a light version of Debian.  But most interesting for me, it allows you to completely clone a HD / SSD to another HD / SSD including storing an image inbetween (should you be unable to connect both HD’s at once).  What makes it really stand out though is that it also clones the bootloader.

You see, this morning, the SSD that houses my main PC finally ran out of space again (60GB Agility 2).  Being that I was tired of always emptying it, I decided to switch to a new SSD (128GB Agility 4).  On a side note, I am using Windows 7 because… well Windows 8 terrifies me.

Why this is important, Windows Vista, 7 and 8 have built in partition software in the Disk Manager that makes it phenomenally easy to resize your parttion (that means you no longer need to rely on EASUS Partition Magic, etc).  Now I did install Windows 8 for my mom’s all-in-one PC (HP) but just can’t find myself connecting to Windows 8 yet (although the mobile version is spectacular).

Anyway, I was able to migrate from my old SSD to the new SSD in about 15 minutes (including drive mounting, running SATA cables, etc) and that is with using Windows 7 to repartition the new drive.  Long story short, its a fabulous piece of software and if you are a collector of Live CD’s, Rescue CD’s or UBCD – this is worth adding to your collection.  And it made it super easy to move to a new drive.

For anyone else migrating from an old to a new drive, here is an awesome post to follow.  At this pooint, I’m now sitting with a spare 60 GB SSD and debating if I really want to reimage both drives together in RAID 0 and install Windows 8.  I just dont want to go through the hassle of reinstalling all my software and reconfiguring all my servers, media servers, video games, windows settings etc. etc.

Cheers,

Ed.

Share
10/31/12

Another Freebie – x929 Alternative Radio on your PB / BB10

For x929 fans, or folks who love alternative rock, here is another fun application I assembled for myself.  I don’t want to submit this to AppWorld without permission from x929 – so for now its just for hobbiests and developers.

While I was at the office the other day, I needed access to music and I only had my BlackBerry 10 device and QNX PlayBook available.  So I put together this quick application for the devices.  Hopefully the official x929 application will be updated to these platforms.

Get the application here:

Download x929 for BlackBerry 10 / PlayBook
Downloaded 1243 times

And please dont forget you will need to sideload it as it is not available in AppWorld.

Lloyd

Share
10/31/12

Building Mobile Applications

Hi Everyone,

I had a fun presentation at the STC-Alberta.org event last night, and I wanted to share my presentation with the anyone who might find it interesting!  My original presentation is almost 200 slides, but I’ve mode it down to about 40.

Topics:

Introduction
Setting up the SDK
Preparation
Getting Support
Planning
Programming for Mobile
Completing your App

Presentation File:

Mobile Application Development 1.6 – Outline – BRIEF

Mobile Application Development 1.6 – Presentation – BRIEF

 

Share
08/26/12

OSBBx Introduces App Centre for the BlackBerry PlayBook!

OSBBx Introduces App Centre for the BlackBerry PlayBook! 

 

One of the challenges facing users on the BlackBerry PlayBook, is the difficulty in finding open source applications and ensuring you have the latest version.  OSBBx would like to present App Centre, a team application put together to allow users to download the latest version of open source and free applications directly to the BlackBerry PlayBook or PC.

Features:

  • PB Version:  Localbar 2 support built in for on-device installation
  • Win Version:  BAR installation tools built in allowing for download and immediate installation
  • Browse the latest emulators and open source applications right from your PlayBook

Downloads:

  • .BAR Download link for the BlackBerry PlayBook:  Download
  • .EXE Download link for Windows:   Download 
  • Mobile Version:  Visit

Special Thanks to all the OSBBx team members who contributed to this app!  As a combined effort we had over 10 people contributing on this project.

More information available at the OSBBx Development Site here: OSBBx Introduces App Centre for the BlackBerry PlayBook!

Share
08/4/12

Security Wipe and the BlackBerry Dev Alpha – Missing USB Mass Storage Drivers

If you are like me, you may have received a BlackBerry Dev Alpha unit!  More importantly, you may have had to do a security wipe on it.

Well, unlike the PlayBook and all other devices, doing a Security Wipe on a Dev Alpha *will* brick your device.  But, you *can* unbrick it…

At the start, you will have failures saying USB Mass Storage Device errors.  I’m going to assume you are using Windows Vista/7 and have your Alpha plugged in.

Step 1:  Keep the alpha plugged in using the USB cable that came with it

Step 2:  Click on Start > Run > Device Manager

Step 3:  Expand USB

Step 4:  See if there is a yellow exclamation point beside a USB Mass Storage driver

Step 5:  If so, right click and select Uninstall

Step 6:  Unplug your alpha

Step 7:  Close desktop manager

You should now be at a clean state….

Step 8:  Install the driver package here:  http://www.bbdevgroup.nl/BB10%20Dev%20Alpha/Device%20Driver%20BB10%20dev%20Alpha.zip

Step 9:  Launch Desktop Manager

Step 10:  Wait for it to fully load

Step 11:  Connect your Alpha

It will start trying to install drivers.  It most likely will detect it as a phone and nothing else interesting will happen.

Step 12:  Hold the two volume buttons + power button down for about 10 seconds

Your Alpha should reboot

Step 13:  Watch Desktop Manager carefully.

You should soon as you see “Update/Retry/Cancel” right around when the BB10 alpha logo comes up

Step 14:  As soon as the options appear, press Update

Step 15:  Wait for the update to be recognized

Note:  If it detects no update, takes forever, and eventually your Alpha logs in – let it finish until it says no updates.  Your device will appear as Unknown.   Go back to Step 12.  Might take a few attempts

Step 16:  Eventually an update is detected, and you can start your update.

Voila!

 

You can read and troubleshoot with others at the source here:  http://208.74.204.192/t5/Testing-and-Deployment/BB10-Dev-Alpha-Device-Driver-or-how-to-restore-the-OS/td-p/1735097/highlight/false

~Ed.

Share