Category Archives: HAC

HAC v1.14 with UDP Messaging

HAC v1.14 released for Windows (25th May 2012 )

This update adds UDP messaging plus improvements and bug fixes.

UDP messaging is an easy to use communications protocol that is ideal for messaging between apps in local networks such as in schools and businesses. It allows fast communications and can also interact with hardware that supports the UDP protocol.

For further details see the release notes accompanying HAC and the posts listed in our forums

Thank you to our forum users and others for submitting such valuable feedback.


6 How To: Develop for the Kindle Fire

What is the Kindle Fire
Amazon’s Kindle Fire is a tablet computer version of their Kindle eBook reader. It runs a modified version of Google’s Android operating system so allowing users to run and source apps originally intended for Android devices.

This article takes a brief look at using HAC(HyperNext Android Creator) to develop apps for the Kindle Fire. Before that though we mention the two traditional approaches to developing for the Kindle Fire. However, if you don’t know or don’t want to use Java then just skip this next section and go to:- HAC and Kindle development.

Kindle and Android SDKs
Amazon provides a free Kindle SDK(Software Development Kit) so developers with a good knowledge of Java and the Android APIs can create their own apps. The Kindle Fire runs a modified version of Android Gingerbread and therefore has some differences from the official Google Android Gingerbread.

It is possible to use Google’s Android SDK to develop apps for the Kindle Fire but there is some Kindle functionality that the Android SDK cannot provide.  In contrast the Kindle SDK gives the developer full access to all the Kindle Fire’s functionality such as showing and hiding the Options Bar whereas the Android SDK cannot access these Kindle specific features.

The advantage of using only the Android SDK approach is that your app can potentially run on both standard Android devices such as Xoom etc as well as the Kindle Fire and you do not have to try to keep projects synchronised with the Kindle SDK. The disadvantage is that it can be awkward to get your app to look right on the screen because the Options Bar can hide the lower part of it:-

HAC and Kindle Development
Developing for the Kindle Fire with HAC(HyperNext Android Creator) is much the same as using HAC to develop for a standard Android device with just a couple of things to look out for. Note, that HAC apps know when they are running on a Kindle Fire and automatically take care of optimising the screen coverage so users don’t have content hidden by the Options Bar. HAC developers can also add a device check inside their app to see which type of Android device it is running on and so take appropriate actions.

1) Screen Sizes
The Kindle Fire screen size is 1024 x 600 pixels with 20 pixels taken by the top Status bar and 40 pixels taken by bottom Options bar. HAC built apps automatically detect screen dimensions and handle the screen drawing so the app creator just has to choose the appropriate screen settings as described below.

HAC offers 3 options for allowable screen orientation;- either portrait or landscape, portrait only, landscape only.

During the development of your app HAC offers 3 screen scaling options: none, fit or stretch. The option none is only really useful when targeting a specific device where both orientation and screen size are known in advance. The fit option keeps the ratio of the apps height to width ratio constant irrespective of which physical device it is running on or whether the screen orientation is changed. This ratio is determined from the size given to the home card. The stretch option simply stretches the app’s screen area to fully cover the usable screen area but can result in large distortion if both portrait and landscape orientations are allowed.

To setup the screen orientation and scaling, open HAC’s Your Application window via the Android menu and it should look similar to Fig 1 below:-

Setting orientations and screen scaling

Fig 1 –  HAC’s Your Application window showing app screen setup

2) Carousel Icons
Most Android smart phones and tablets have used a 2D array of icons to represent their installed apps but the Kindle Fire also has a  stylish carousel to display them in. The carousel displays the most recent apps, books etc and represents an app by displaying its attached icon . If it can’t find the correct icon it will use an app’s launcher icon although this can result in apps with low resolution  icons looking very shabby and dated.

Fig 2 below shows the carousel on a Kindle Fire although unfortunately the camera could not accurately capture the true color of the app icons.  Three of the apps are made by HAC with one having a 200 x 200 icon and the others using older 48 x 48 icons.

From left to right the apps on the carousel are:-

1 – Kindle Test with 200 x 200 icon

2 – Lunar Lander with 48 x 48 icon

3, 4, 5 – standard high res Kindle icons

6 – PreSchool Sums with 48 x 48 icon

Note that as they are PNGs their transparency works

Fig 2 – Kindle Fire carousel

HAC supports icons up to 800 x 800 pixels so allowing an app to look stylish in the Kindle Fire’s carousel. If the icon is in PNG format then transparency is supported. Note that these icons will still work on older Android devices such as the G1 smartphone because the Android system does its own scaling.

To add an icon to your app, open HAC’s Your Application window using the Android menu and assign the icon to the area highlighted by red as shown in Fig 3  below. Either drop your icon onto the icon area or else navigate to it using the Launcher button:-

Setting icon for your app

Fig 3 – HAC’s Your Application window showing launcher icon area

When designing for the Kindle Fire, just treat it as another Android Device but remember to create a higher resolution icon for it otherwise your app can look shabby and dated sitting on the carousel. Also think about which screen orientation(s) your app needs. Note, although this article has covered the Kindle Fire, the above points about screen sizes, orientations and launcher icons are still relevant to creating apps for other Android devices.

Members of HAC forums can download the latest trial version of HAC, see details here:-


HAC and Developing on the Kindle Fire

Yesterday we took our initial look at Amazon’s Kindle Fire tablet and were surprised at its quality of build, display and touch response especially as compared to our budget Android tablets. The Kindle Fire runs a modified version of Android Gingerbread and therefore has some differences from the official Google Android Gingerbread. For instance it doesn’t have the buttons Home, Back and Menu that most Android devices have but instead uses a special menu bar at the bottom of its screen.

Running HAC built Apps
Once we had the Kindle booted up and wifi working we used the Kindle Fire’s web browser to load some of the example apps built by HAC from our website’s projects web page. Kindle Fire’s built in web browser is easy to use and we tried several of the demos including Solar System and they all worked. The Android Info demo accurately identified the device hardware as Kindle Fire so anyone building apps with HAC can be sure their app can successfully detect if it is indeed running on a Kindle Fire.

Some Android developers using the official Android SDK have reported a menu bar problem with the Kindle Fire and we were keen to check this out. At the present time the Kindle Fire’s bottom menu bar cannot be programmatically removed by apps built with the official Android SDK and so the bottom 40 pixels of such apps are always hidden. Amazon do make their Kindle SDK available to developers aiming to create apps specifically for the Kindle Fire and their SDK has the necessary functionality to hide, show and detect the bottom menu bar so allowing apps to use the full screen. However, as HAC won’t be using the Kindle SDK we have a fix in mind to limit the affects of the menu bar problem.

We wanted to connect HAC to the Kindle Fire so as to build and debug apps but amazingly the KIndle Fire doesn’t come with the necessary USB micro B connection cable so we had to order one.

Using HAC to launch and debug apps on Kindle Fire
Today our USB connection cable came but before we could connect up the Kindle Fire to our Windows XP development machine we had to modify a couple of files associated with the Android ADB and USB driver. Soon we will have more details on this but for now here is a link on how to do this :-

By the way, there is a free editor called Notepad++ that is great for editing such files:-

Once we had the USB drivers set up we plugged in the Kindle Fire and started up HAC. From HAC’s “Manage Devices” menu we could see the attached Kindle Fire and therefore ran the DDMS debugger before testing a few projects. Please note that the current version of HAC (v1.12) was used and had not been modified in any way in order to work with the Kindle Fire so we weren’t sure what to expect.

We tried several demo projects such as Hello World, Android Info, Preschool Sums and Lunar Lander. They all worked but we noticed a few problems such as the Kindle menu bar remaining at the bottom of the screen, sometimes images not updating after pressing the Home button and then returning to the app. At least there we no crashes, the button response and graphics events worked as well. The Lundar Lander game ran smoothly and below is a screenshot that shows the Kindle menu bar at the bottom of the screen.

Lunar Lander on Kindle Fire

The Kindle Fire is a very good tablet even though it is running a modified Android OS. Apps built by the current version of HAC do run on it although the bottom menu bar is an irritation as it take valuable space that an app could use.
Our next move is to modify the forthcoming v1.13 release of HAC to work even better with the Kindle Fire.


Tags: ,

1 How to: Making Android Apps

This is the start of a series on making Android apps using HAC. It helps if you have already run HAC and have tried to make the Hello World program described here:-

Here is a video

However if you are very new to HAC then the links on our HAC website are a good place to start as they cover Installing HAC and building the Hello World program. Writing your first program is very important to understanding this series because it makes you use the HAC designer, introduces you to the layout of a typical HAC android app and gets you to run it on an Emulator or Android device.

Note, if you come here after writing apps in Java and using the Android SDK then you might get a suprise as we don’t cover any of that low-level stuff here because HAC users don’t need to know it. HAC and its screen designer wraps most of that up into simple commands so allowing users to be more productive. HAC doesn’t do everything that the Java and Android SDK can offer but its getting better with every release.

Installing HAC
Installing HAC itself takes just a few minutes but the prerequisite helper programs can take an hour to download with most of the time being spent by the Android SDK updating itself.
The install steps are very simple and are described here:-

HAC Help
There is quite a bit of info around on HAC and its HyperNext programming language. We have two forums covering different aspects of HyperNext. Our HyperNext Studio forum covers using the HyperNext Language and building apps for both Windows and OS X desktop PCs. Our HAC forums are aimed at developings apps for Android devices.  The core HyperNext programming language is almost identical across the various platforms so if you can’t find your answer in one forum it might be in the other.

1. HAC Built in help
HAC comes with built in help that is available from the Guide Menu and Overview option:-Help Memu

2. Help PDF
This is a PDF version of HAC’s built in help and can be searched.

3. Quickstart PDF
The Quickstart PDF is really meant for HyperNext Studio users but still has a lot in common with HAC.

4. Language Reference PDF
The Language Reference PDF is meant for HyperNext Studio users but much of the content also applies to HAC programs.

Hello World Program
This describes how to create an Hello World program and also has a link to our YouTube Hello World video:-

If you haven’t already done so then please try this because then you will see how easy it is to create an Android app with HAC.


Posted by on 19/09/2011 in HAC, How-to


Developing Apps on Android Devices

Work on HAC is progressing nicely and its being tested on both Emulators and Android devices. To make sure it works and gives us no unpleasant surprises we currently test builds on four different Android devices with more coming soon.
We chose a variety of devices running versions of Android from 1.6 to 2.2 although for OS 2.3 and later we currently just use the emulator. Official Android statistics show that few people are now using devices operating OS 2.1 and lower but we found on eBay that there are still many people buying smart-phones such as the G1 which uses OS 1.6. These older smart-phones are still an excellent way to start out developing your Android apps even though they miss out on later functionality like media playing.

It is really essential to use at least one Android hardware device because the emulators although excellent do have their problems notably very slow with some graphics/media and awkward with keyboards.


Device Roundup

The HTC G1 Dream is a smart-phone running OS1.6 with a 320×480 capacitive screen and a physical keyboard. Testing on a device with a physical keyboard is a must because the emulator’s soft keyboard has some problems and sometimes getting the soft keyboard out of the Chinese mode when doing API calls to it can be very awkward. Also the G1 is a good test of orientation handling as when its physical keyboard is flipped out an orientation change to landscape is signalled by the OS. Note, G1’s generally don’t come with an SD-Card and one must be fitted for HAC apps to run on it.

The HTC Hero is a smart-phone very similar to the H1 except it runs OS2.1update 1 and has no external keyboard. It also has a 320×480 capacitive screen and more RAM at 288MB compared to 192MB on the G1 . Both the G1 and Hero use a 528MHz processor.

The HiPad IMX515 is a tablet usually running OS 2.1 although it can be upgraded to OS2.2. It has a 800×600 resistive screen, 512MB RAM and an 800MHz processor. USB seemed to run well on OS 2.1 but after updating to OS 2.2 our USB no longer works reliably necessitating the use of wireless ADB debugging.

The EPAD 10″ Wireless tablet uses OS2.2 and has 1024×600 resistive screen. Its use a 1GHz processor and has 512MB RAM. For input it can use an external USB keyboard and mouse. Ours has problems with USB debugging as apparently there are no USB drivers for it yet but wireless debugging is very reliable.


Debugging and ADB Connectivity

For the Android developer the main issue is of getting one’s apps to run under ADB on the device so they can be debugged by the debugger. Unfortunately many devices have poor or non-existent USB debugging so for them the only option is to use wireless debugging and for this some of them must be rooted(either fully or partially).

Both HTC devices have excellent USB debugging although no wireless. On the other hand our two tablets have poor or non-existent USB debugging but wireless debugging works very well for them.



If you are serious about the quality of your app then you need to test on at least one Android device. Which device you need depends upon the functionality of your software. Our G1 has serious problems playing most media but is great for many other things including testing keyboard functionality. Our tablets have large screen areas and can show how your app will scale up from a smart-phone screen. As our tablets use newer Android OS they are more likely to play the media you need and also offer greater OS functionality. All our Android devices are budget buys from eBay but once you start developing on an Android device then the emulators seem very slow and archaic even though they are still a must for testing purposes.

If you could only afford one device then a tablet covers most options as in HAC you can set your card/screen size to say 320×480 and use the unscaled option that employs absolute pixels so the card appears as smart-phone size. HAC also has fit option to scale proportionally your card and have it appear in the centre of the screen. The last display option is stretch which fills the entire screen but the distortion can be unsightly.



Why use HAC?

We at the Tigabyte Team aren’t ones for blowing our own trumpets because we’re a modest bunch of folks. Although not yet released, HAC can already create and build apps for Android Market. HAC is very easy to use and building an Hello-World takes a couple of minutes with the code being very easy to understand. Your code can often be run within HAC to see if it actually works before sending it to an Android device or emulator. HAC supports most of HyperNext’s core functionality so putting together a simple program to process some data or display some graphics is quite easy. HAC’s screen designer and Preview option give a guide to how how an app’s screen might look on an Android device. The screen designer is very flexible and allows the controls to be arranged as you want and not in the usual row-like manner as when using the traditional Android XML layout files approach.

Watch this space !

Leave a comment

Posted by on 20/04/2011 in HAC, Why use HAC?


Earning a living from Android…

There might be some folks reading this blog who are wondering just how easy it is to make a living out of writing apps for the Android platform. Well, to make a living you need 2 things. Firstly, you need a gem of an idea for an app so that people will buy it and secondly, you need the necessary skills to make that app. HAC is designed with simplicity and ‘user friendliness’ in mind so acquiring the necessary skills to make an app shan’t frizzle your brain cells, but more on that later. You will also need to know the basics of the Android Market, such as setting up, costs involved, requirements etc.

Setting Up
Before you start writing your Android app it makes good sense to know a bit about the Android Market. Below is a link to an insightful article that compares the costs of developing on the various mobile platforms. It also covers Android, which is of particular interest to us. Note that Android is the cheapest mobile platform, although this cost matters mainly to some shareware authors who are expecting to sell just a few apps per week.

Paid-for Apps
Getting people to pay for traditional desktop software is not that easy as it must be something that they really want to use because of the enjoyment factor or it needs to be a piece of software that enhances their lives, makes life and work easier etc. The great news, however, is that the price of mobile apps tends to be an order of magnitude lower than desktop apps. This means that mobile users are generally more likely to buy your app. If your app looks good and performs well then they might even buy on impulse because a dollar or so means that potential clients do not have to dig deep into their pockets. The beauty about the Android Market is that it also makes it very easy for people to try your app and then buy it.

Ideas for an App
As this blog is about paid apps you need to have something that people will want to buy. It might sound obvious, but there are so many genres of apps that it can be hard to find a profitable idea. If you make yet another Pacman clone it will probably not pay so well unless you can add something extra special to it. Perhaps you personally need an app to do something, but there is nothing out there quite like it? The odds are that other people are also looking for a similar app. Does your app have longevity or does it just perform a function a couple of times and then is not needed again? Finding a balance can be difficult, but that is also part of the fun. Once you have an idea, you might want to search the Android Market to see if it’s already out there.

Creating Your App
Assuming you already have an idea for your Android app, you then need to ask the question, ‘how difficult is it to create’? If you are new to programming, then the learning curve of traditional Android Java development approach is very steep and requires a wide range of knowledge. First, you have to learn Java programming language and then you have to get to grips with the Android SDK. The Android SDK supports a huge range of functionality, but even for experienced Java programmers its learning curve is steep and laborious. Furthermore, developing for a mobile platform, such as Android, is very different to developing for the desktop platform…why? Because mobile platforms have limited resources. The Android Operating System keeps tight control over Android apps and if memory becomes tight or the app is moved to the background then it can be removed from memory so necessitating being reloaded when moving back to the foreground. There are many ‘problems’ like this awaiting the Android Java developer. But with HAC many of these problems are automatically taken care for you.
One of the best resources for Android developers is StackOverflow. By browsing the resource, you can get a feel for how much effort it can be for beginner programmers to create their own apps.

In contrast HAC greatly reduces the learning curve of creating your own Android apps in at least four ways:-
1. The programming language is English-like and and is very similar to Apple’s Hypercard allowing the programmer to get quick results from just a few commands.
2. HAC hides the Android SDK and its Java functions from the programmer so you don’t need to know about ideas, such callbacks, listeners, activities, services, intents, inheritance etc, that are the bedrock of making Android apps using the Java approach.
3. Building your app with its media and other resources is quite easy as there is no need to learn about the raw and asset directories.
4. Signing and bundling your app for the Android Market is straightforward and HAC has a few easy to understand windows for setting up your app and its permissions.

If you aren’t sure about how hard the above points actually are to implement then browse StackOverflow and look at the related questions and their usually very complex answers.

Here is a an article about creating an Android game in just three days by some experienced Java programmers. They cover the different phases of creating their game and it applies whether you are using Java or HAC.