Archive

Posts Tagged ‘REALbasic’

My Wish List For REALbasic In 2008

December 4th, 2007 Comments off

There’s been an interesting discussion going on over at Norman Palardy’s blog.  It started innocently enough by Norman complaining that he’s been getting support and change requests for some of his free and unsupported code that he has on his site.  The discussion has morphed into a life of its own so I figured I’d start the “My Wish List For REALbasic in 2008″ thread and get some additional feedback.

First, a word of warning.  These are my opinions only.  Let’s not get personal and drag people through the mud.

There are also not in any particular order.

Continue with the bug fixes first and new features last in new releases
The people that use RB are developers and as developers require rock solid performance.  RS has done a great job with recent releases with a lot of bug fixes and for once the forums are actually praising RS.

Keep up the good work, RS, but there’s still a lot of work to be done.  There are bugs that have been present in RB since version 5.5.  These ever present bugs give outsiders (and some current users) the impression that you don’t give a darn about quality.

Continue releasing ‘Pro’ features
Delegates was a good start.  Object introspection would be another great feature.  I think it’s time that RS focuses more on the pro developer than the hobby.  From a money standpoint the hobbyist can’t/won’t pay for anything while pro developers can justify paying extra for pro features.

http://support.realsoftware.com/feedback/viewreport.php?reportid=nblvhwyb

Kill (or Update) the Visual Basic Project Converter (VBPC)
The VBPC is worse than bad.  It’s the first experience many VB6 developers will have of REALbasic.  Remember the old saying that you can only get one first impression?

VBPC mangles code in the worst way.  If you want to try converting from VB6 to REALbasic, try VB Convert! from AYB Software.  It’s not perfect, but it’s a damn site better than the VBPC.

http://support.realsoftware.com/feedback/viewreport.php?reportid=kyrcongy

Eliminate the Not Invented Here Syndrome
It sure seems like RB tries to be all things to all developers.  The problem is that there are too many things that RB can do from games to utilities to database front-ends.  Their limited resources should be focused on making their ‘core product’ markets better.

I suspect we might already be seeing some of this already with a new power tool in the language (delegates) and the deprecation (bindings) or possible open sourcing of other parts of the language (RB3D).  In the long run this is a good thing, in my opinion, because it seems like they’re looking at their core components and jettisoning the ones that don’t make sense or have always been poor substitutes for the real thing.

If there’s a market or need for something they don’t do then some enterprising developer will probably fill the need.  I think of VB Convert! from AYB Software for filling the glaring void left by the incompetence of Visual Basic Project Converter (VBPC).

Use a Standard Bug Reporting/Feedback System
I mean this as no offense to the people that wrote the current feedback system:  It’s not very good.  When compared against Mantis, Trac or Bugzilla it’s really, really bad and it’s hard to use.  It’s marginally better than the old bug tracker system (that was a standalone application) but it just doesn’t look very professional.  Try finding a bug sometime and you’ll know what I mean.

Help Foster a 3rd Party Controls Market
This is a tough one because I don’t think it’s the lack of opportunities for 3rd party developers and it’s not that the price of entry is too high for a thriving 3rd party market – I think the market is too cheap.  If I’m a developer that is interested in developing a killer grid component how can I compete against Einhugur that offers his entire suite of controls for $99?  Don’t get me wrong I love the Einhugur controls and I’m a very satisfied customer but his low prices are a hindrance to other developers trying to enter the market.

On the other hand, I’m also a satisfied customer of True North Software and their Formatted Text Control.  The FTC is a great replacement for the standard EditField and the developer is very, very responsive.  I feel that at $450 it’s a great deal.  It’s written in native RB classes and it does everything that I’ve wanted it to do and I get the source code for it.

REAL needs to foster more developers like True North Software.  They also need to help Einhugur expand their market by promoting these controls as an alternative to their own.  “Don’t like our ‘x’ control, well, here’s a couple of alternatives.”  This might help with the Not Invented Here problem.

Report Generator
Printing with RB is harder than it has to be.  On-Target Reports is a low-end product that works well, but cannot compete with the likes of Crystal Reports and ActiveReports that most VB6 developers use.  For RB to take off in the corporate environment I think this is the most important thing they could do.

http://support.realsoftware.com/feedback/viewreport.php?reportid=bylptiqx

IDE Add-On’s and Power Options
IDE scripting is a nice addition but it’s not what I’m talking about.  In Visual Basic, MZ-Tools was the most important tool I ever used.  Every VB6 developer I know of has used MZ-Tools which allows a VB6 developer to quickly an easily modify code in the IDE:  Add comments, line numbers, error handling, check for unused variables and much more.

Power options would include allowing the user to map keys to what they want.  For me, the F5 button is Run and F8 is the debugger command to step into because that’s what Visual Basic has been for years.  I’m sure there are people that would like to map their keys like xCode or CodeWarrior or the current version of Visual Studio.  This seems like a no brainer!

Other power options would be little mini-programs that would say allow users to generate and insert code templates.  How about implement their own search engines?  What about even the possibility of writing a power-user code editor!?

Fix RBScript
RBScript has been around how long, now?  Give it some of the power features that people have asked for and make it robust.  Fix the bugs that are causing people to stick with RB 2006 versions.

RS stated at last years Real World that they wanted to use REALbasic in stored procedures for REALSQL Server.  I can’t imagine them using regular RB so RBScript is it.  If they can’t get it working in the IDE no one will ever trust it for serious database work.

Fix the Plug-In Documentation and Keep it Up to Date
If you want to write a plugin for RB, good luck.  The documentation has recently changed for the better, but it’s still not good enough.  Aaron on his blog has done some recent posts on how to create the Windows part of the plugin.

This goes back to fostering the 3rd party market.  If you want other people to develop for your product you need to make it easy for them to do so.  As much as I bag on Microsoft products they make using their development products easy because they know once you get locked into their product it’s tough to move to another environment.  RB could do this as well.

Make Better Use of the Web From Within REALbasic
The web is the great communicator.  Take a hint from the likes of php, PostgreSQL and java and integrate user comments into the official language reference.  Make it moderated if you don’t trust people to be civil.  It would eliminate mistakes and would let the community fill in where the Language Reference is shaky.

http://support.realsoftware.com/feedback/viewreport.php?reportid=qdzdtnhl

Support An Official REALbasic Wiki
Unless RS supports a wiki, all efforts will fail.  Anyone remember RBWiki from a few years back?  It died a lonely death.

Charles Yoemans was nice enough to put a wiki up on his site.  As best as I can tell, there’s no one posting to it.  It’s too much work to duplicate the efforts of Language Reference.

Go After the Enterprise Market
At last years Real World conference, Novel was pushing Linux.  If big companies really want to switch to Linux like Novel says they do, then RS should put together a small team and work with Novel to switch some large corporations to REALbasic.  This would be a much better white paper than the current white paper that recommends using the VBPC.

If there’s that much money in the enterprise market then this ‘division’ of RS would earn its keep.  Maybe Novel should front their own RB based organization?  This would be the put your money where your mouth is moment.

I think that about does it for this edition.  In a future article I’ll talk about what we, as users, can do to help REALbasic.

Categories: Opinion, REALbasic Tags:

The State of Visual Basic 6 to REALbasic Conversion

November 5th, 2007 Comments off

Visual Basic 6 is arguably the most common development language on the planet.  It’s low barrier to entry and easy-of-use and its extensibility make it ideal for many non-programmers to make a ‘working’ application that does exactly what they want.

VB6 is no longer supported by Microsoft.  This is forcing many developers into the .NET environment which is not as easy to use and many would argue that the language is no longer ‘basic’.  So what are companies that have dozens of VB6 applications to do?

Let’s also add to the mix that Apple has doubled their market share with very slick computers.  Linux has very vocal and loyal supporters.  All this means that companies that were once Microsoft-only now need to convert their VB6 code to something else.  Whether that something else is .NET, Java or REALbasic is somewhat irrelevant because every choice is going to involve pain (money, training, time, etc).

Converting from VB6 to REALbasic should be a no-brainer, right?  Wrong.  While they both have basic in the name, they really are completely separate languages, each with their own set of peculiarities.  Yes, there are many similarities between the languages but that doesn’t mean it’s easy.

REAL Software has had the Visual Basic Project Converter (VBPC) for a while and was last updated in early 2005.  It’s free for download.  I would recommend that you don’t even bother – you’re better off converting by hand.  Hey, you get what you pay for, right?

I find it inexcusable that REAL Software has taken over 2 years to release an update to software that might very well be the first thing that VB6 developers see when evaluating REALbasic.  Here’s a very brief list of what it doesn’t do:
•    Windows and controls are not converted to the proper dimensions
•    Enums not converted
•    Structs not converted
•    The converter mangles code with no errors

There is one commercial product to VBPC and that’s VB Convert! by AYB Computers.  Its price tag is a very reasonable $50.  Even if it only saves a little time it’s worth the money.

VB Convert! does a good job of converting VB6 forms to RB windows as long as you are using the standard Visual Basic controls.  If you’re using 3rd party controls you’ll at least get a canvas subclass in the proper position.

The code conversion is better than VBPC but keep in mind that there are just some things that won’t convert very well.  One such item is file I/O.  VB6 is a product of the early 90′s and is not OO in most areas.  REALbasic file I/O is pure OO.  Only a programmer can objectively convert from VB6 to RB at that point.

VB Convert! will convert enums and structs properly.  They also have a variety of options that the VBPC doesn’t have like forcing pushbuttons and editfields to a certain minimum size and converting a ADODB recordset AddNew method to using the REALbasic DatabaseRecord class.

You might think that I’m being easy on VB Convert!.  We, as a company, thought long and hard about creating a VB6 converter.  At first blush everything seems easy but then you get into the exceptions, and VB6 oddities, and all the 3rd party ActiveX controls and you start to realize that it’s a HUGE problem.  For a version 1.0 product AYB has blown away VBPC in terms of usefulness.

In the long run, no ‘converter’ will do all the work for you.  If you think you’re going to select a VB project file, run the conversion process and then hit the RUN button in REALbasic you are sadly mistaken.  The conversion process is just that – a process that takes a programmer familiar with both VB6 and RB to do the conversion.  In many cases it will be a line-by-line conversion even with tools to help.

Think about it this way:  Some companies that convert VB6 to .NET are charging $1 per line of code.  What are you paying for REAL’s VBPC?  Exactly.  At least with VB Convert! you’re funding a developer that actually cares and is willing to work with you.

In my opinion, RS should remove their converter application until (or if) they get it into a decent working state.  Until then, give VB Convert! a shot knowing that you will spend some serious time converting a lot of things by hand.  VB Convert! is a tool that can help save some time while VBPC is useless in its current state.

Is REALbasic The Rodney Dangerfield of Software?

October 17th, 2007 Comments off

Wow. REAL Software does a good thing and people do nothing but give them grief over it. In their monthly newsletter, REAL said they spent a whole week in September doing bug fixes. A post in the NUG list then proceeds to give them crap about it. Is REAL Software the Rodney Dangerfield of the software industry getting, “No respect”?

Does REAL Software get the respect they should or do they deserve some of the backhanded comments they receive in both the forums and through the NUG?  Probably a little bit of both.  I’ve been critical of them in the past for not fixing as many bugs as I think they should have, but REALbasic 2007 releases 2, 3, 4 and most likely 5 (if it makes it out before the end of the year) will be roughly 95% bug fixes and enhancements to 5% new features.  I like that ratio.

You can fault them that they have that many bugs to fix or that they’ve been lax in fixing bugs in earlier releases, but I think it’s awesome that they’re focusing on bugs – now.  Some of the latest fixes have been for old, outstanding bugs that have annoyed me and other RB developers for a long time.

Perhaps enough under-the-hood improvements have been made to the new IDE so they can finally focus on bugs.  Perhaps with a sudden  departure of a few developers they’re ‘treading water’, so-to-say, until new developers can get on board.  While I have no inside information on this, it’s also possible that with the departure of a key developer the management focus has been shifted from new features to bug fixes.  Pure speculation on my part.

In any event, I believe it can only help REALbasic in the long run.  RB needs to be rock solid for developers that make a living off of it.  If the current users are satisfied (enough) with it then potential new users won’t see the plethora of “RB Sucks” posts that have occurred after previous releases.

Maybe bug fixes is the porkchop around the neck of REAL Software.  They keep fixing ‘em and maybe the dogs will start to give them some respect.

Categories: REALbasic Tags:

If You Had One Thing to Teach a New RB User What Would it Be?

October 4th, 2007 Comments off

Our new developer is starting soon and I’m in the let’s hurry up and gather as much information stage.  I’ve purchased the relevant books and gathered up the old issues of RB Developer magazine.  I’ve even put together the care package of essential plugins and tools.  So now what?

I think back to when I first started out on VB6 and later in REALbasic.  I figured them out by being thrown into the deep end and researching my way out of it.  If memory serves, even as an electrical engineer dealing with obscure documentation, schematics and so on, that’s what I did.  But, that’s probably not the best way of doing it and I certainly don’t want to discourage a new employee.

We all like REALbasic – that’s why we’re here.  But it’s not like you can can come in cold and expect a new RB user to understand all of the subtler or more complex issues right away.  While RB is easy to use and understand there is a learning curve and making a good RB app seems more like an art form than a science.

How do you get an experienced VB6 and .NET developer up-to-speed on REALbasic?  Do you throw them into the deep end with a new project?  Let them do some updates to an existing project?  Or is that too much, too soon and I’m just going to have to let them ‘figure it out’ and ask questions for a while?

Thoughts?

Categories: REALbasic Tags:

Bindings Deprecated and RB3D OpenSource?

September 20th, 2007 Comments off

REALbasic engineers have said on the NUG that they are deprecating bindings and wish to open source RB3D. I think this is good for RB in the long run.

If you happen to use one of these technologies I can see where you might be miffed.  Honestly, though, I think REAL Software is looking hard at REALbasic and see what people are using and what they aren’t.  If they aren’t, then figure out why.  Is it because it’s too hard or just not useful or there’s no interest?

I can see why they’re removing bindings.  Ever since they moved to the new IDE for RB 2005 it’s been neglected and never worked all that well in my opinion.  It’s functionality is limited and most users I know end up doing most of work in code anyway.  The other disadvantage of bindings is that it’s all visual.  Visually, you can’t tell what the binding was without going through a dialog anyway.

The argument for RB3D is a little harder.  I’ve used it.  It’s okay, and fairly easy to use.  It uses the Quesa library which is a “library that offers binary and source level compatibility with Apple’s QuickDraw”.    To use it in Windows you have to install a dll and using it in MachO apps requires some special steps as well that I’ve never had to do.  RB 2007 R3 caused some issues with dynamic linking in Windows.  This feedback request was entered by William Yu, one of the RB engineers, so I look at this as pretty much a done deal.

The deprecation of RB3d could mean several things.  First, RB thinks that QuickDraw is not the wave of the future and that it’s going to support some other graphics 3D library.  Second, the number of developers using it is so small that it’s not worth supporting.  Three, RB might be planning on introducing some new language feature that would make supporting RB3D hard.  Four, it could be that none of the current engineers at RS find it exciting enough to maintain and enhance and making it open source lets the community decide on where the technology goes.  This is all speculation, mind you, and the answer is probably a combination of things.

For what it’s worth, I think it’s awesome.  REAL should examine all of their classes and features and jettison the ones that people don’t use.  In the long run REALbasic becomes better and we see less complaints about what RB doesn’t do well and we have a solid set of features.

Categories: REALbasic Tags: , ,

REALbasic Wiki Thoughts

September 19th, 2007 Comments off

There has been considerable talk on the REALbasic forums (link) about the possibilities of an RB Wiki. I think it has loads of possibilities but people have to look at the drawbacks and from REAL Software’s perspective. First, a little history.

There was a wiki, appropriately named ‘RBwiki’ a while back.  I believe it was created just before REAL World 2006 and started with much fanfare and a lot of promises by volunteers to keep it up-to-date.  A large contributor of the wiki was Thomas Templeton who used it to distribute the RBProjectTool that allowed people to use source code and version control systems with RB (before the rbvcp format was introduced).  It was a tool that allowed RB users to read and write between RB binary source code files and text files for use with Subversion and CVS and the like.  REAL World 2006 was where REAL Software announced the version control format and Thomas and the REAL engineers sat down and compared notes.  I think it safe to say that todays rbvcp format is a direct result of the collaboration.  That also meant that the interest in the RBProjectTool died rather quickly.  In about a year, the wiki was dead – no one wanted to keep it up to date.

So why have an RB Wiki?  The answer is simple:  the language reference is not very useful.  In some cases, the documentation is lacking important information and sometimes missing or woefully out of date.  I know that a lot of people find the example code not useful and I admit that I feel the same way and have a tendency to avoid the language reference.  I think the pdf files that can be directly opened from REALbasic are more useful.

So while an RB Wiki sounds really cool it’s not integrated into REALbasic.  I think the integration is key because when I want to find information quickly I don’t want to switch to a browser no matter how quickly I can get to things.  I want the information NOW.

As much as I hate their particular implementation of their help, I have to give it to Microsoft in attempting to integrate online resources into their help system.  I’m currently using Microsoft SQL Server 2005 for a big project and use their help system a lot.  They essentially have three sources of information:  the local help files, MSDN online and a search of appropriate newsgroups.  It’s more or less built-in.  Forget about the fact that it never seems to find any local information – it eliminates the step of having to go to the browser and find the newgroup to search.

If the language reference used the local and online approach (and I want to turn off the online search if I want) it would be light years ahead of what it is now.  Of course, I want the ability to add comments but only after they’re approved by someone on the RS Staff.  Look, we’re not talking about elimination of free speech, just an elimination of the useless chaff that invade the NUG list and forums every three months or so.  I want to see the local information in addition to comments that other developers may have added.  In my ideal world, I’d also love to see relevant NUG and forum listings as well but not as often.

I think there are ample examples of truly excellent language references that one could copy from the web:
•    PostgreSQL documentation.  Excellent use of user comments.  I linked to an installation requirement, but I think it illustrates what the community can do with comments.
•    php documentation.  This site illustrates the concept even better, I think.

This all sounds great, but in my opinion, anything that’s not sanctioned and policed by REAL Software won’t last.  From their perspective, a wiki doesn’t work well – they don’t have enough control over it and the comments could get out of control really fast.  Think about how much trouble Wikipedia gets into when an entry is wrong or been edited by the wrong people.  The wiki folks won’t be able to use the text from the Language Reference without REAL Software’s permission due to copyright concerns and this is a big deal because it’s the base documentation and there’s a lot of it.  Starting from scratch isn’t very fun.

So what can you do as an RB Developer?  Sign on to the various feedback requests that deal with the Language Reference:
▪    http://support.realsoftware.com/feedback/viewreport.php?reportid=ocjotmpv – Open Source the Language Reference
▪    http://support.realsoftware.com/feedback/viewreport.php?reportid=hosltpxz – Allow the IDE to download updates to the Language Reference without a new version.
▪    http://support.realsoftware.com/feedback/viewreport.php?reportid=cgkaheyh – Allow annotations to the Language Reference
There are probably a few others that would be worthy of consideration as well but these are a start.

Feel free to give me your thoughts.