Monday, October 27, 2014

Jumping into swift for iOS


5 years ago I started making iOS apps. I started out using Livecode where I made 13 iOS apps and games. I also tried Corona Sdk where I made two more games and also Unity where I made one game. I then stopped for a while to focus on desktop apps again. Something I favor more that mobile because desktop apps make more money and have way more users (at least for my products). 

Another reason I stopped iOS development for a while was the development tools I where using had issues. Many where buggy and did not have full access to very much. 

When swift first came out I focused on it for Mac OSX but recently I decided to jump into swift with iOS. I am shocked just how easy it is over Objective-C. Actually I find now swift is actually easier than using Livecode or Corona to make iOS apps. And that is the truth

I was waiting around for Xojo to release its iOS version, which made it self into beta last week. However I just wanted to see if swift could be the answer. I am still interested in Xojo because of the cross platform aspect.

I started by making a simple photo app with swift for a simple benchmark test. That imports a photo from a album adds some core image effects and exports the altered image back to the photo album. I had made a similar app with Livecode back in 2012 and that was a month of programming. With swift the same type of app tock 3 hours from start to finish. Yes, Wow! I never knew I could do something that fast.

The coolest idea for learning and using swift, is swift has more widespread work available world wide than with another tool. 

I highly suggest checking out swift, it is a lot easier than it looks. 

I sure this blog will see some more Swift post with some code examples soon.



Sunday, October 26, 2014

Xojo on Mac OSX Yosemite.

This is a basic preview of the basic gui from Xojo on Mac OSX Yosemite, for those not on this OSX version yet. I have not notice any issue with any control that comes built in with Xojo (xojo 2014 r2 or higher) Also all MBS controls also work without issue. 

The full screen button is now the green button. Also the toolbar tabbed button looks more like linux now. Actual the whole interface looks linux like.

The only known issues are the Social Sharing and Notifactions (plugins or declares) no longer work in OSX 10.10. However this is not a Xojo only issue, its a 32-bit vs 64 bit built application issue. As these two frameworks are now 64 bit only changed by Apple without warning. They now require a 64 bit build for OSX app to work. 

Xojo has anccounced that in 2015 that they will be adressing 64 bit on all platforms. Starting with iOS and Linux, followed by OSX and Windows. 

Monday, October 20, 2014

An apps perceived value, Choosing the right tools.

With the update to Mac OSX 10.10 Yosemite, Xojo Native UI is updated without doing one thing or updating apps based upon appearance. However with Livecode the UI is a mess on this new OS version. If your forced into using custom controls to get a mac like appearance, like many Livecode developers do. Then there forced into updating apps with a new custom UI or worst just using the old non updated user experience (witch can be the case, because the app could have been made on a Windows or Linux machine. And that developer does not know any better because that.)

This all boils down to customers perceived value. If the customer sees a UI that old out of date and broken the perceived value of the finish product is not great and it equals lost sales. A customer will decide in a split second based on the appearance of your product if its worth there time. If you lose them in that second because of appearance and user experience, then you have a very hard sell in front of you.

In todays app market there several apps that do similar things. While one app could actual be better in functionality if it looks bad and has no pride of ownership it will fail vs an similar product that deliveries the perceived value the customer is looking for. 

When I personally used Livecode for Mac OS, iOS and Windows software 80% of the year was spent updating apps to work with a new OS release, 75% of that was based of user experience. (because Livecode does not use native UI and your forced into building a custom UI to just make a app look better than out of the box.) Now using Xojo and Swift the time I spend updating apps on appearance is zero. That means I have 100% of my time to focus on new products or adding new features to existing products. 

Example:

One application that I made since 2003 is called File Mutation Pro (from 2003 - 2012) This Application was made with Livecode. Since 2013 Its been remade with Xojo. 

Since moving to xojo with this product I was able to add many native platform user experiences and Native API's including adding AVFoundation, AudioToolbox, CoreAudio, CoreVideo, CoreGraphics, NSText etc etc. Things that can be done with Livecode using C++ but not as easy as with Xojo and not as robust. 

Since moving over to Xojo the product also has seen better overall success. The overall sales boomed since switching to Xojo from Livecode. Many of the long time customers that used both the Livecode built version and the Xojo built version actual wrote us, thanking us for the great improves that the Xojo version gave. Many thought the app (built with Xojo) was worth more money, even if it did the same things (as the versions built with Livecode).


The First Picture Below Is the last Livecode built version of my app File Mutation Pro. It using a full custom UI because the Livecode UI did not look like a mac app made in the last decade.


The Second Picture or the one below Is the Version of File Mutation made with Xojo. I can see why customers prefer it on looks and user experience alone.


One really needs to consider the end product these cross platform tools make. Livecode maybe fast to code with. However if your spending ever year updating a product X% of the time because of a new OS update its not really saving time or money like Xojo does in the end.

Xojo is not prefect either, but its 100 times better to actual gaining the perceived value and increasing sales. I still a fan of Livecode and I like to see them improve there tools. The thing is Xojo does most of this stuff now and can turn you and your products into a star now. 

I talked to some developers the other day that seem to not care what the app looked like, I believe that is a mistake on there part. Would you want a rust bucket car or a brand new car, if both cost the same price and did the same thing? There a reason why there thousands of rust bucket cars sitting in junk yards all over the world.

Even if your not a fan of Xojo, perceived value is a important thing to embrace. It will allow you to gain more value for your products in the end. Specially in a marketplace that has competitors to your products. If you take pride in your products appearance and user experience then your customers will open there wallets.

Monday, October 6, 2014

From Livecode to Xojo; Center Window

I keep getting Livecode users telling me that Xojo can not do most of what Livecode can do. I here to show them, Yes it can and just how simple it is.

This weeks look at something real simple in centering a window to the main screen. With Livecode this requires a pretty simple script and in Xojo this can be done by a simple block of code or the properties window.

Here a short video showing how simple it really is.


 

Friday, October 3, 2014

From Livecode to Xojo buttons and such

Another look at moving from Livecode to Xojo ( two different cross platform development tools) or the other way around. This time around we look at a very basic UI elements, buttons and tab panels. One tool looks like a million bucks while the other just looks not so good.


Below image is the default button set and tab panel styles of Livecode 7.0 (with cocoa support on mac)

Below image is the default button set and tab panel styles of Xojo 2014v2 (with cocoa support on mac)


The two photos clearly show one set of controls that looks like a million bucks and another one that looks not so good. Why is this important? If you have a product aka app that does something awesome but looks bad with buggy UI no one going to want to buy it. Looks are important to so many people who are willing to pay money for something. Second one of the photo shows old outdated and even buggy controls. That will bring into question your actual app and how sound it is and if It actual works. One set of UI shows pride in ownership the other does not.

But to give it a chance beyond just photos I did a video of both Livecode and Xojo and look at the UI elements of buttons and tab panels. It may help a little choose between the two tools for your next project.



enjoy.