The Xojo Community is Awesome

Have I told you how much I love the Xojo community?  I’ve been part of it for fifteen years and I’ve met hundreds of Xojo developers at developers conferences and probably exchanged emails with thousands more.  I am amazed at how much this community helps each other and I wish there was a way to promote that as a key feature of the product.  It’s a big deal.  Really!

If you’re just starting out using Xojo know that there are a bunch of people, myself included, that are willing to help out, if we can, on your journey.  Programming is hard.  Well, I don’t think it’s hard because I’ve been doing it for so long, but it is complex at times and that makes it hard.  Just ask your question in the Xojo forums and you’ll almost always get an answer within hours.

Even Xojo pros, such as myself, have need of help.  Xojo covers Mac, Windows, Linux desktop, console, and web apps.  It does iOS apps for iPhone and iPad.  It now does Raspberry Pi for heavens sake!  It works with dozens of different databases.  There is simply no way any one person is going to know everything there is to know about Xojo.  It just can’t happen.  So yes, I go to the forums, all the time, and ask for help.

Just the other day I asked for some help with WooCommerce.  Not Xojo related, really, but certainly related to a project we’re working on for a client.  Within a few hours I had half a dozen developers private message me saying they might be able to help.  Subsequent contact narrowed that list down a bit but the point is that I have probably shaved off several days worth of work simply by asking for advice.

I am biased towards Xojo, naturally, as it’s been my primary development language for fifteen years.  I think I’d be hard pressed to find such a friendly community.  I call many on the forums my friends even though I’ve never physically met them.  The few that I’ve met in person have lived up to their forum reputations and are really friends for life.

So maybe this is my belated Thanksgiving post.  I am thankful that so many years ago I jumped both feet first into the tool.  I asked questions – many of the silly and redundant.  I became more proficient and then made another jump to start blogging about it, making products for other developers, and training the next generation of developers.

So if you are in need of a cross-platform development tool I highly recommend Xojo.  It ain’t perfect but no development tool is.  If you jump in I think you’ll love the community.  I know I do.

What say you fellow Xojo developers?

Be Paranoid About Your Data

Last week wasn’t a very good week.  Over the weekend the hard drive on my iMac failed and by failing Mac OS X said it couldn’t repair the drive so it came up read only mode.  So I did the sensible thing and copied the entire contents to my external Drobo (essentially striped RAID).

Then Monday morning the Drobo wouldn’t boot up.  It would just do a continuous boot and restart.  Not good, but at the end of the day all of our most important stuff, the source code for projects, is stored on a commercial source code hosting service.  In case of theft or disaster of my equipment I’m only down as long as it takes me to buy a new computer and download the repositories.

The Mac hard drive was replaced by Monday night and by Monday afternoon Drobo tech support had the Drobo back up and running.  They didn’t give a reason but I suspect that because the Mac had hard crashed a few times (due to the bad drive) it got into a state that it didn’t know how to recover from.  But it works and I didn’t lose any data.

Tuesday when things started to go back to normal we couldn’t reach our source code hosting service, Code Spaces.  On Twitter they said they were experiencing a DDOS attack and I didn’t worry to much about it.  They’re the experts, right?

By Wednesday they still weren’t back up.  A little concerned I went to their website and found the message that you never want to hear.  They accounts had been hacked and ALL of their repositories had been deleted.  Oh, and pretty much immediately they are ceasing operations as a company.  You can read more about it at http://www.codespaces.com and http://www.electronista.com/articles/14/06/18/hosting.company.returning.what.data.it.has.left.financially.crippled.by.attack/

So much for the offsite backups.  The fact that the backups could be accessed through their Amazon Web Services account should give anyone pause for concern.  Is your web services company really paranoid enough to protect your data?

I know more than a few people have given Xojo some grief that their security for Xojo Cloud is over the top.  Maybe it is, but then you hear stories like this and you start to wonder if maybe being overly paranoid is a good thing.

So here is my advice.  Have multiple sources of backups.  Keep one source in a safety deposit box and update it regularly.  Use a commercial host that you trust.  There’s no guarantee they they won’t be the next Code Spaces and get hacked but hopefully this incident was a warning to them to be more paranoid and strengthen their security procedures.

I know of developers that backup everything to a thumb drive on their keyring.  I’m not sure that’s entirely secure but if that makes them feel better so be it.  At least their source code is always with them.

While last week was not a good week at least I’m learning to be even more paranoid about my data.  Being paranoid about your data is a good thing.

BKeeney Briefs RSS Feed

A while back I switched themes to the blog and the automatic RSS feed button/notice isn’t showing up in some browsers.  Since this is a WordPress site it’s built-in even if the browser isn’t supportive.  Use http://www.bkeeneybriefs.com/feed/ to get the RSS feed  to your favorite RSS reader.

Since it’s no longer built into Safari or Apple Mail I am now using the free version of NetNewsWire http://netnewswireapp.com.  It does the job I need it to do.

What are you using for RSS feeds?  Mac, Windows, Linux, iOS, Android, and Windows Phone?

Real Software Website Hacked

I was told this morning that the Real Software/Xojo website was hacked.  The timing sucks simply because all of their engineering staff is in Florida at the Xojo Developer Conference.

Xojo already had plans to migrate to their new Xojo Cloud servers as part of their one-click hosting solution, ironically, for better security.  Last night the Xojo engineers started that migration early.  As I write this they are still in that transition.

I was told that RS stores no credit card data nor other personal data either other than username and password.  Either way, you should change your password.  I’m sure you’ve heard this a hundred times before but you should not share usernames and passwords among websites.

Having gone through this myself in the not too recent past I feel for them.  The web is a dangerous place.

More information on their blog at http://www.realsoftwareblog.com/2013/04/our-servers-are-down-for-security-update.html

Real Studio Download Thoughts

You can file this one in the “Bob was bored and had a wild/random thought” category.  🙂

The Real Studio download package comes with several hundred example projects.  These examples range from very useful to downright useless (in my opinion) but they’re there for people to explore and use.  So in other words, the example may or may not be all that helpful depending upon your skill level.

So my question of the day is why are these part of the download package/installer and not available in a special section of the Real Software website?  It would save on download sizes and it would become a centralized location for Real Studio examples.  Ideally, anyone could contribute to this list.

When we started ARBP and added the Source Code Repository, this was the intention.  I wanted it to be the Planet Source Code of Real Studio projects.  The ARBP source code repository has over a hundred projects and gets a fair amount of traffic and downloads.  The drawback is that few people contributed to it and the older projects are really showing their age.  The other drawback is that it’s NOT Real Software and despite only needing an account to use it a lot of people shy away.

The leading argument against such a page on Real Software’s website are the Real Studio users themselves.  There is a tendency for Real Studio users to complain (loudly) when the examples don’t work.  They are justified, in my opinion, since examples in the download package should work with the version of Real Studio in the download package.  To me, if it’s in the download package it implies that it works implicitly with that version of Real Studio.  Unfortunately, that’s not how it works and sometimes leaves new users with a bad taste in their mouths.

A projects repository web page doesn’t have this problem as the person uploading the project sets the version of Real Studio it was created with and perhaps what operating system and adds some tags to it or something like that.  How cool would it be to upload the project file(s), have an RS web app scan it, pull out the keywords and make it part of a searchable system?  Of course it would allow other users to vote and leave comments.

I post a fair bit in the Real Software forums.  Often times I point to the relevant information the poster needs in the Real Software wiki or to various 3rd party developer websites.  I could see a projects page doing something similar and allow me to link to the project that would help the poster out.

Another thought would be to make this a Web Edition application since essentially we’re talking about a web app that’s a front end to a database.  Perfect place for a WE we app in my opinion.

Could ARBP do this?  Of course they could and it was discussed, in-depth, at the Atlanta conference in March.  They could do it – I have no doubt since they have some pretty smart people in ARBP – I just don’t think ARBP should be the one doing it.  I’m arguing that Real Software is a better and more logical entity to host this thing.

The Real Studio community isn’t as large as Visual Basic – that’s just simple math.  You could argue that a mere percentage or two of users would ever contribute to the projects page and that probably true.  However, assuming that Real Software sticks around for a few more decades, I would argue that one contribution a month is more than what we have now and more examples are better.

What say you?

Showing RB Code in WordPress

If you use Real Studio and are a blogger, the fine folks over at Figa Labs have (re?) released a plugin for WordPress that formats your REALbasic code properly in WordPress.  This is a very nice plugin and is apparently based the PHP code of an old Real Studio employee.  So now your code snippets go from this:

Function Ask(instructions as string, byref initialtext as String, bPassword as boolean = false, w as Window) As Boolean

stInstructions.text = instructions

efText.Password = bPassword

efText.text = initialtext

efText.SelectAll

if w = nil then

self.ShowModal

else

self.ShowModalWithin w

end

if bSave then initialtext = efText.text

return bSave

End Function

 

To this:



Function Ask(instructions as string, byref initialtext as String, bPassword as boolean = false, w as Window) As Boolean
   
   stInstructions.text = instructions
   
   efText.Password = bPassword
   
   efText.text = initialtext
   
   efText.SelectAll
   
   if w = nil then
      
      self.ShowModal
      
   else
      
      self.ShowModalWithin w
      
   end
   
   if bSave then initialtext = efText.text
   
   return bSave
   
End Function

 


The only tricky part it remembering the shortcodes, which isn’t really all that hard.  “[“rbcode”]” starts the formatting and “[“/rbcode”]” ends it (remove the quotes to actually get it to work).  Ideally I’d love to have a button that lets me do format the code without having to remember the shortcodes but hey, life isn’t perfect.

Happy coding, and blogging!

Lessons Learned The Hard Way #1

This seems like a no brainer, but we’ve been bitten by it and we’ve picked up the pieces of multiple projects from others who haven’t lived by this rule:  If you’re creating a cross platform application, test early and test often on the platform you’re NOT developing on.

Real Studio is a cross-platform development tool.  It runs on Mac OS X, Windows and Linux.  In the Professional/Enterprise versions you can build for other platforms and debug on the other platforms as well while staying your native environment (using remote debugging).  It’s really an awesome experience running Real Studio on the Mac and running the executable via VMare (or even on another machine in the office) running Linux or Windows.

We see it time and time again (and we’ve been guilty of it ourselves a time or two) where someone does all their development on Mac OS X and tests on Mac OS X but their app looks awful once they get it into Windows.  Text backgrounds looks like crap and the flickering is atrocious whenever they resize the window or move controls around at runtime.

The reason?  Mac OS X and Linux have double buffered windows while Microsoft Windows does not.  Mac OS X and Linux always draw to a buffer first and then draw to the screen.  Windows does not which is the cause of much flickering.  Real Studio has some easy workarounds for a bulk of the flickering and some simple rules of thumb to reduce, if not eliminate, Windows flickering issues.  Among them:

  • Canvas objects should have Double Buffering turned on
  • Do not erase the background of Canvas and Container Controls
  • Be wary of using Refresh – perhaps Invalidate is a better choice
  • Layering of controls will almost always get you into trouble.  Putting anything over a Canvas control (that draws anything) is almost a sure way of getting into trouble

So the lesson is that you really should be testing your app in all of the environments you plan on supporting early in your development process.  If you wait until you’re about ready to ship it’s too late.  You might have some fundamental assumptions in the project that’s hard to fix now that you’re almost done.

Cross platform development is easy using Real Studio, but that doesn’t mean there aren’t differences.  You need to test for those differences early and on a regular basis.

Since I spend most of my time on the Mac side I’m assuming Windows and Linux RB developers have the same issues going to the other platforms.  What are some of the issues you see?  Did I miss any reasons for Windows flickering?

I Do Not Recommend MyHosting.com

As many of you know, I switched from a shared host that was I very happy with (BlueHost.com if you care) to a VPS (Virtual Private Server) so that I could run Web Edition apps (without fear of getting booted off for an app that took down an entire server) and get more speed from my website.  After 3 or 4 people were streaming videos the whole site become practically unusable and that’s the big drawback of using a shared web host – your server might have a thousand websites all clamoring for server processor attention at any given time.  So I switched.

I did my research and looked around and got recommendations.  I was settled on one and called and they called back a day later.  That was no good.  I called choice #2 and after a single, disastrous phone call with their tech support I decided to go to choice #3 which was MyHosting.com for their VPS package.  I went with them because I called tech support and got a real human being who was very helpful (and answered the question correctly).  So I went with them.

Unfortunately, since then I’ve had horrible tech support.  It took two weeks of tech support to resolve an issue with ordering (yes, just ordering) an SSL certificate.  It’s taken three weeks of going back and forth for them to acknowledge that the mail server wasn’t working right (this is after a very long-time client had emails bounce).  The latest round has taken over week of getting Spam Assassin installed on the server (again some ordering/billing issue) and the damn thing doesn’t even work.  I had one issue early on where the technician actually gave me the wrong instructions and caused my entire domain to be unavailable over a weekend.  So collectively I’ve had a very bad experience.

I should have learned my lesson years ago.  I used MyHosting at one point for my shared hosting.  Again, friendly, very polite people, but their tech support just wasn’t very good and I was spending too much time worrying and fretting over my website.

So I’m on the hunt again for a good, friendly, and useful VPS.  I don’t have the time to muck around with my web server for days on end as I have with MyHosting – I have a business to attend to.  At this point, I’d ideally love for someone to just switch all three of my domains over to their system and just “get ‘er done” if you’ll pardon the colloquialism.

So I’m looking for recommendations.  Don’t recommend one unless you have are absolutely thrilled with them.  Price is always an issue but frankly I just want the damn thing to work and if I do have a problem I want to call and be able to talk to a human being that knows the subject material rather than reading from a script.  The reason I mentioned BlueHost above is that I loved their shared hosting AND their tech support was always helpful – always.  And I used them for five separate websites (and still use them).  Too bad they don’t do VPS.  🙁

 

Web Edition Training Videos

BKeeney Software Announces Over Six Hours of Web Edition Training Videos

BKeeney Software has announced the addition of over six hours of video training material devoted to the Web Edition of Real Studio.  The new training videos pushes the total number of hours of high quality web streaming video and project files to over 30 hours.

The Web Edition videos discuss how each web control works, including the events that you’re most concerned with, and demonstrates the use of it.  Most videos come with a project file and most come with an example web app running on the BKeeney Software website.

Parts of the Web Edition are free to access by simply signing up for the free Guest Pass at http://www.bkeeney.com/create-account.  The Guest Pass gives you access to over nearly forty five minutes of Web Edition specific material and two and half hours of total Real Studio material.

Several Guest Pass Videos for Web Edition:

Getting Started with Web Edition:

http://www.bkeeney.com/realbasic-training-section/free-content/article/2-Free%20Content/332-web-editiongetting-started

Style Editor Walkthrough:

http://www.bkeeney.com/realbasic-training-section/free-content/article/2-Free%20Content/334-web-editionstyle-editor

Installing your Web App:

http://www.bkeeney.com/realbasic-training-section/free-content/article/2-Free%20Content/371-web-editioninstalling-your-web-apps

Users may purchase one of a variety of memberships including several three month membership types and a yearly membership.  Memberships start at just $55 and give you access to over thirty hours of training video.

With over one hundred videos to watch there is an incredible amount of material available to novices and experienced developers alike.  To get a complete feel for all of the material covered in the videos, please visit the tag cloud at http://www.bkeeney.com/realbasic-training-section/cloud-tag.

Students and educators should contact BKeeney Software to see if they’re eligible for a 40% discount.  ARBP paid members should check their discounts page on the ARBP website to find their 20% discount coupon code.

The host of your videos is Bob Keeney.  Bob is the owner of BKeeney Software, a software consulting firm specializing in Real Studio application development for over ten years.  For more information on their services and products, please visit http://www.bkeeney.com.

 

[Edit]:  We are currently working on resolving our SSL problem.