Monday, September 9, 2013

Code Image Filters


Programming for graphics has to be the coolest thing about programming in my mind. For years I made an really cool image app called Image Blender, witch uses some really cool image filters, that I programmed.

However that app was not programed with Xojo when I first started it and updated it for the first 6 years since I first released it. When I considered convert the code base over to Xojo, I found RGBSurface and it did basic the same method as the previous programming language I used.

With Xojo there many 3rd party plugins & declares one can use. That can access pre-made imaging methods like Core Image on OSX. However with RGBSurface you can support cross-platform every platform Xojo supports from one code base. If your like me and have an need for Linux builds to have the same stuff Mac and Windows, then RGBSurface is the way to go. Here is an little video walking over how to do it with an few different image filters.


enjoy

Tuesday, August 6, 2013

From Livecode to Xojo Read & Write Text Files


Both Livecode and Xojo are cross platform development tools.

This week in our Livecode to Xojo series... Is how to read and write text files with both development tools. If your new to one or both tools this will show an similar way to do the same thing with both tools.



-

If you find this video helpful please go to you tube and give it an like. Happy Coding :)

Thursday, July 18, 2013

From Livecode to Xojo Switching Views


Both Livecode and Xojo are cross platform development tools. Both have strengths and weakness. However it no shock how much more I prefer Xojo over Livecode for desktop development, as the Xojo makes an far better and more modern final product on Mac and Linux than Livecode does. On Windows both do similarly well.

For mobile Livecode currently supports iOS and Android where Xojo will soon will do iOS, however not Android. Xojo also does the web where Livecode does the server. So again each tool has pluses and minus. 

I have used Livecode for over 8 years professionally and Xojo (and former product names) 6 years.
I also get many clients asking to convert Livecode code bases to Xojo and also Xojo code bases to Livecode so I figure I could do an few videos showing the different ways using both tools, to get one started using either or of the tools.

First in this new series is switching views. I will keep every video under 15 minutes long, even if that means editing the content down.

There many of way to switch views than what I present, but I walk over the basic ways for both tools.




Again Happy coding :)

Tuesday, July 16, 2013

Toolbar Toggles With Xojo


With Xojo (Real Studio) Making an Toolbar behave like an tabbed view controller does not work by default. Even with using the inspector settings. This is an walk over to how to get this to work. This will work perfectly on all platforms Mac, Windows and Linux. It does not need many steps but does require code.




I have added an screen record video (free, cause this info should really be free! ) That shows how to get this to work.



-


Enjoy and Happy coding:)

Sunday, June 9, 2013

Xojo (Real Studio) New IDE out, Here is the lowdown.

Xojo formally known as Real Software whom made Real Studio and once Real Basic, has released there new Cross platform IDE tool Xojo 2013 r1. While there are some minor bugs in this first release, it is an great IDE if its compared with other cross platform tools (such as Livecode).

Since 1996 when I first started making software for money, I have used many such cross platform tools. None really compare to the overall quality of Xojo development tools or the final compiled product.

The IDE is basically one window, however as seen in the screenshot you can palette the object and properties panes (which I personally find make an faster workflow, during gui layout). 


What I really like about Xojo is it designed for the professional developer in mind first. Some of the other tools I have used seem to be designed for hobbyist first which make it fall short. 

Xojo has built in tools that help get the job done faster and with great results. I can not even cover all of them here, because there so many things it does that other tools do not. 

If you spend over 80 hours a week making apps like I do, having the right tools matter.

Having an fully customizable code editor is an major plus. Many other tools just do not get it, when it comes to code editing. They think any old plain text editor will do (which I guess it can work, if you spend little time writing any code.)

I prefer having and working with an editor that one can adjust colors of the syntax and background to anything.  After 14 hours an day, 6 days an week if not 7 staring at black text on an white background it can really kill your eyes. Specially if your already wearing glasses.



Also being able have syntax autocomplete is an major plus. Typing thousands of lines of code one char at an time adds up. This takes longer in time, and adds more chances of creating an bug.

When I compare Xojo to Livecode (another tool I used for 8 years) text editor. Hands down Xojo wins by an land slide. While many Livecode users have requested such changes to Livecode editors for years, nothing ever has come. 

Xojo seems understand how to make tools that make people more productive (While they are not prefect. Compared to other cross platform tools, I feel they understand far better than others.) 

This tool allows for many different project formats which supports source control super easy. Most other cross platform tools do not have this at all.

Built in Unit testing. This is awesome! Easy see bottle neck areas, fast and easy to help optimize your code. Actually no other cross platform tool I used has ever had this feature. This is an major plus, allowing you to deliver an top notch product that works fast.

The best thing I like in the Xojo IDE, is the interface layout and design area. The layout area has measurement guides, advance alignment tools, layering and quick access to every item on an window and also helpful scrollbars, when on smaller displays (macbook air anyone?). 

The best part of Xojo is the end product it makes. It is just better than any other cross platform tool on the market today. It supports many of the most modern platform items and native UI. Also if anything missing that I want access to I can write an declare and add just about any native thing I want. 

Also you can tap into the many resources of other developers and use 3rd party plug-ins that have reasonably prices. Specially when compared to the expensive, and limited 3rd party add-ons of most other cross platform tools

I hear many people complain about Xojo, I really do not understand why. Maybe if you have issues with it, go use Livecode or another cross platform tool for an few years. Then maybe you will see what I am talking about. When you actually compare Xojo to other cross platform development tools, really I see nothing better.

The people who make Xojo deliver promises, they make within an reasonable timeframe. I have been lead on for over 6 years about another tool I used, supporting Cocoa for OS X.Adding Browsers for Linux, etc, etc, etc. It still not done, and may never be done. There to busy working on minor things like syntax changes to things that are not broken.

Xojo offer far better resources to make far better cross platform apps than any other tool I used. It is an great cross platform tool, I highly suggest checking it out. You can use the IDE for free , and it reasonable priced to deploy apps.

Here is an link Xojo website




Wednesday, April 10, 2013

Livecode Cross Platform is now open source

An development tool I used for the past nine years released itself as open source April 9th 2013.
This includes the full source code to the engine for desktop, mobile and server along with the IDE.

Here an quick link to the Git engine source https://github.com/runrev/livecode

The IDE which needs an free account to unlock and use can be found here Runrev

Livecode is an cross-platform tool for Mac OSX , Windows, Linux, Server, Android and iOS.
Its not prefect and can not do everything. However what it can do it does well. For the last 9 years 80% of all the software I have sold was made with Livecode. Even if now I moved on to using Real Studio (Xojo), Xcode and Unity for most of my software and games. (it was not for any other reason than I needed tools that could make professional software that Livecode was no longer suited the best option to build.)

I do recommend checking it out, it will surprise you to find out Livecode can do much more than what you first think it can do.

There also an great amount of 3rd party add-ons and custom controls than any other tool I seen besides Unity. One of the best part of it being open source for me is actually opening up the engine source and tweaking things. However I only started peeking and saying there using that? In I use that already with tool X.

I recall helping out an Livecode user last winter, and when I recommend curl as an option I was told "that dumb I never use it." Well guess what, Livecode was using curl, one look at the source code and licensing shows it.

There are many other interesting discoveries on how they made there tool work. I for years tried to guess what cross compiler they used. When I seen stack-less just in time compiler. I almost fell out of my chair. I had that listed as one of my guesses years ago.

If your new to Livecode, it will depended on coding experience on how you take it. I personally learned programing from BASIC and Livecode is much like hyper-talk. It takes time getting use to if you have years of using other programming languages, because it seems like baby talk. If you can look beyond that you find it works fast and does a lot.

The mobile space is actually very well and 500 times better than Corona sdk. However if you want physics you need to program them your self, which is really not that hard. There is however some major down  sides. The native UI is outdated at best, but you can use custom controls and get them to work pretty fast depending on your skill at design.

For Mac there no cocoa yet, witch means no retina support. This was one of the main reasons I quit using Livecode last year. And moved back to tools like Xcode and real studio.

Personally Livecode still worth an look for Mobile and it also does windows really well. Also Cocoa for mac is now an future project of runrev so its coming. I just do not think it will come till 2014 I could be wrong.

Also the IDE is way dated. And mobile apps windows at 1 to 1 retina sizes do not fit most computer displays. There an few tricks to getting this to work, witch is not all that bad for the trade off in code time saved.

Why not download it and give it an try. Maybe it works for you. Also do not believe everyone on that forum that says you can not do that. I proved many of them wrong for years doing what they said can not be done with Livecode.

Monday, March 4, 2013

Mac Retina Supported Toolbars with Real Studio (Xojo)


Supporting retina base graphics in mac apps is easy. However how would one support retina graphics in an Mac Toolbar. With Retina we know we need to make all graphic files 2 times bigger than the standard resolution image. The standard resolution images files for toolbars are 32x32 pixels so high resolution needs 64x64 pixel images loaded.

Start by using toolbar icons that are 64x64 pixels and label them with an 2x suffix. Then make or use 32x32 pixel toolbar icon images for the standard resolution images. Once you have both an 2x and standard resolution icons for each toolbutton you want to add, import those into your project.

You will also need to build for Cocoa as Carbon based windows do not support high resolution displays at all.

To do this you will need to create the toolbar by code. As of the latest release 2012 r2.1 there no built in way to do this other than by code.


-

Also note that your application will also need to add the following plist setting or it will not work.

<key>NSHighResolutionCapable</key>
<true/>

If your not on an Retina based mac, you can still test your app for retina by downloading Xcode and installing the graphic add-on package. What you need is the Quartz Debugger developer tool application. Using it allows you to test for Retina based resolutions.

The code used in this video can also be used with all other image files within an retina supported app. Such as menu icons, list box icons, segmental icons and the such. Also I have examples of using pdf vector based files with segmental controls where those files alone support retina because they are using vector based images.

All the other system controls and text are fixed by simply adding the property list key:

<key>NSHighResolutionCapable</key>
<true/>

Only Images  bitmap images require the method shown in the video.

Cheers, and happy coding.

Tuesday, February 19, 2013

Retina Based Pattern Fills with Real Studio (Xojo)


Here is an look at how to do pattern fills with Real Studio that supports both standard and high resolution displays. It is really easy.


  -

Tuesday, January 22, 2013

Key Events with Class Cocoa Controls in Real Studio (Xojo)


The coolest part of using Real Studio is access to all the controls for each platform. Some of these controls are not built-in by default but are still available to use by using declares or Plugins (Like Monkey Bread Software, Complete Plugin or the Mac OSLib (free by the way.) to name an few.). Whatever you choose its up to you.

This however can present some interesting coding challenges to add support for certain events that are available to similar built in controls. Such as the text field keydown event can use an return key to preform an action. There is no keydown event however for an non built-in control, instead one needs to get creative and figure another way around this.

Lucky enough anything is possible by code. This is an simple look at getting an NSSearchField on OSX to search on clicking the Return or Enter key press. This without an event that supports keydown or keyup events.

The reason for this video is there no documentation, I could find to tell us how to do such. It was hours of trial and error to figuring it out. However I believe such information should be shared.

Here an simple video to show how this is done. I showing this off using OSX based controls, because I currently on mac. But should be similar on other platforms.


Wednesday, January 16, 2013

Mask Numbers only with text field in Cocoa

I been finding out many things that worked in Mac Carbon builds do not actually work the same in Cocoa builds. Lucky enough there are work arounds to fix many of these items.


In Carbon if we wanted to limit numbers in an text field we could simply do this in its open event. Using an mask like such:

me.text="9999"

That mask would limit numbers only and up to 4 numbers max. However masks do not work in Cocoa at all so we need to address this in an keydown event. This quick you tube video we made shows the simple and fast work around, witch does work on all platforms, Including Cocoa builds.




 I hope this helps out, moving from carbon to fully support Cocoa. As its little things like this that can make the task of converting Older Carbon apps to Cocoa not as simple as just an recompile.