Enterprise Ireland: €50,000 for 15 Startups

Enterprise Ireland have just announced a new fund for Irish start ups. The fund is similar to the Internet and Game fund launched in December.

If you are an early stage company with a software solution from any of the following sectors, you can apply to our Competitive Start Fund. The application form is all online, but you must complete it before March 11th, 2011.

• Cloud computing
• Enterprise software
• Internet & Games
• SaaS
• Telecoms

Up to 15 companies will be selected to receive an investment of €50,000 , in return for a 10% ordinary equity stake. The investment will be made in two equal tranches. This means that the selected companies will be required to secure additional investment of €5,000 prior to the release of Enterprise Ireland’s investment.

Find out more here.


The timing of this fund is fantastic for anyone attending the Dublin Startup Weekend this weekend. I was out last night at a pre-event meetup and it looks like this is going to be a great weekend. There was lots of energy in the room and lots of people pitching their possible ideas. I really like is the mix of both technical and business folk.

Best of luck to everyone at this weekend.

No Comments

Android Honeycomb 3.0 out now with UI redesign for tablets

Google have released the final version of Android 3.0 with a major UI redesign for tablets. A host of features have been added to the platform to enhance the end User experience.



What are the major changes?

The new UI brings fresh paradigms for interaction, navigation, and customization and makes them available to all applications — even those built for earlier versions of the platform. Applications written for Android 3.0 are able to use an extended set of UI objects, powerful graphics, and media capabilities to engage users in new ways.

Visual multitasking

Multitasking allows users to swap between apps that are running on a device. This has been possible in the past but this new feature allows you to see the last view state of the application that you were running.

Multitasking is a key strength of Android and it is central to the Android 3.0 experience. As users launch applications to handle various tasks, they can use the Recent Apps list in the System Bar to see the tasks underway and quickly jump from one application context to another.

Fragments

3.0 allows developers to break an activity up into subcomponents called Fragments. They can then be combined in various ways. This will allow developers to show subset of fragments on a smaller screen while showing the full bells and whistle version on a large screen like a tablet.

For example, an application can use a set of Fragments to create a true multipane UI, with the user being able to interact with each pane independently. Fragments can be added, removed, replaced, and animated inside an Activity dynamically, and they are modular and reusable across multiple Activities.

Widgets

As you would expect, widgets have been redesigned for use on large screens. They are also a lot more interactive. The home screen widgets allow you to flip through content like 3D stacks, grids and lists.

Several new widget types are available, including a 3D stack, search box, a date/time picker, number picker, calendar, popup menu, and others. Most of the redesigned UI widgets can now be used as remote views in application widgets displayed on the home screen. Applications written for earlier versions can inherit the new Widget designs and themes.

New Animation framework

Developers can animate the properties of UI elements such as Views, Widgets, Fragments, Drawables, or any arbitrary object. Some of the animations available are fades or movement between states, loop an animated image or an existing animation, change colors, and much more.

Adding animation to UI elements can add visual interest to an application and refine the user experience, to keep users engaged.


Conclusion

I have only touched on some of the new features of Android 3.0 but check out the full highlights here. As well as the Android 3.0 Google, have also released a new version of the ADT Eclipse plugin. I have not touched it here as I intend to followup with a seperate post on the new feature. You can find out more on ADT here.

Android 3.0 signifies a major milestone in Androids history. It is be the most interactive version yet and will really enhance the tablet experience and well as the experience on smaller devices. Developers will be able to develop apps that look just as well on a Nexus as a XOOM without looking like you just increased the resolution on all your graphics. I will post a few more updates on the new feature once I have time to play with them.

Now all I need is a Xoom so I can test all of these features for myself….

, ,

No Comments

Garmin Communicator Plugin API released

Looks like Garmin is starting to release it’s APIs to the public.

This is something that a lot of the posts on the developer forum have been looking for. I have been looking at the slightly hidden Garmin Connect Webservice API’s (http://connect.garmin.com/proxy/activity-service-1.2/) lately and there are lots of great things that can been done with them. Anyone that has a Garmin Forerunner 405 watch will know how great the great the Garmin connect website is. You can analyse your run, down to the nth degree. Great for any ‘Stats heads’ out there. Using the Garmin connect API’s you can now view your Garmin connect content via a JSON rest request to their API.

More details on the Garmin Connect plugin can be found here but here is an over view of the Architecture:

The Garmin Communicator API is a JavaScript framework that hides the details of working directly with the underlying browser plugin. It consists of three tiers, each more user-friendly than the one it builds on.
The easiest to use is the DeviceDisplay which can be added to a web site with just a few lines of configuration code. The next tier down is the DeviceControl which is for JavaScript programmers who need more control over the event model. Lastly the DevicePlugin is a low-level plugin wrapper for developers who need bare-metal access.

, , , , ,

No Comments

Example using JQuery and CSS for DIV Slideshow

Over the last few months I have been helping my dad with a new website for his self catering holiday home in Galway. It gave me an opportunity to create a wordpress theme using thematic theme framework as well as look at some features of JQuery.


The Issue

One issue that he had with his old site was the very long page used to display all of the rooms in the house. It listed each room, one above the other with a picture and a description.

I wanted a way to display each room description and picture in a slideshow so only one room is displayed at any one time. I saw an example of a JQuery slideshow here that change the image from a list on a button click. I wasn’t interested in animating the image sliding across but it showed me how to use JQuery to change the order of the elements on the page.

$('#slides li:first').before($('#slides li:last'));

This takes the first li child of an element with an id of ‘slides’ then places it before the last li element. The example uses CSS to hide all of the other elements of the list so that only one element is shown at a time. When the JQuery code above moves the first element to the end, the second element is show. This is the CSS that makes this all work:

#slides {
  overflow:hidden;
  position:relative;
  width:250px;
  height:250px;
.....

As the height and width of the of the surrounding element is fixed and overflow is hidden, you will never see the other elements in the list.

My Solution

So with this example in mind, I set about defining a div for a room that I would display. This contains 3 other divs with the following class: roomName, roomImg, roomDesc. I also added a clear div to the bottom of each room definition to make sure that the content did not overflow.

Kitchen
  • Rangemaster cooker with gas hob & electric oven
  • American-style fridge
  • Belfast sink
  • Granite worktops
  • Dishwasher
  • Kitchen table comfortably seats 12 diners
  • Radio/CD player
  • Dual aspect
  • Double doors leading onto upper terrace

The CSS is similar to the example that I was using. Again, the important part is to make sure the surrounding div has overflow set to hidden so that only the content of one room is shown at a time.

  .clear {clear:both}
  .roomList{
  	width:640px;
	height:355px;
	margin:0 auto;
	overflow:hidden;
	position:relative;
  }
  .room {
	min-height:350px;
  	width:570px;
  }
  .roomDesc {
	float: left;
	max-width:240px;
  }
  .roomImg img{
	max-width:300px;
	max-height:350px;
	vertical-align:text-top;
	float: right;
	position:relative;
	padding:5;
  }

I changed the JQuery from the example to rotate the order of the div elements that I created when a previous and next button is clicked. As I didn’t want to animate a slide effect like the example, I just faded out the element before changing it and then faded the new element back in.

jQuery('#prev').click(function() {
			jQuery('.rooms').fadeOut('slow', function() {
				//move the last item and put it as first item
				jQuery('.room:first').before(jQuery('.room:last'));
				jQuery('.rooms').fadeIn('slow');
				setButtonText();

			});

        //cancel the link behavior
        return false;
    });  

    //if user clicked on next button
    jQuery('#next').click(function() {
      		jQuery('.rooms').fadeOut('slow', function() {
				//move the last item and put it as first item
				jQuery('.room:last').after(jQuery('.room:first'));
				jQuery('.rooms').fadeIn('slow');
				setButtonText();

		});
        //cancel the link behavior
        return false;  

    });

The setButtonText function is used to set the title attribute of the previous and next button to the next and previous rooms in the list. the

function setButtonText()
{
	jQuery('#prev').attr('title',jQuery('.room:last .roomName').html());
	jQuery('#next').attr('title',jQuery('.room:nth-child(2) .roomName').html());
}

The Demo

You can see this example in action on the accommodation page of Riverside Paradise.

Thanks to Kevin Liew for putting me on the right track with this JQuery slideshow example.


, , , ,

3 Comments

The Android Thread Police are coming….

As part of the Gingerbread release of android, a new API, StrictMode will allow developers to set a policy on a thread.

StrictMode is most commonly used to catch accidental disk or network access on the application’s main thread, where UI operations are received and animations take place. Keeping disk and network operations off the main thread makes for much smoother, more responsive applications. By keeping your application’s main thread responsive, you also prevent ANR dialogs from being shown to users.

StrictMode will only come into play if you select it and allows you to detect the following situations:

  • detect disk writes
  • detect disk reads
  • detect network usage
  • on a violation: log
  • on a violation: crash
  • on a violation: dropbox
  • on a violation: show an annoying dialog

Enabling StrictMode

StrictMode can be enabled in your applications onCreate method

public void onCreate() {
     if (DEVELOPER_MODE) {
         StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                 .detectDiskReads()
                 .detectDiskWrites()
                 .detectNetwork()
                 .penaltyLog()
                 .build());
     }
     super.onCreate();
 }

This blog post on the Android Developers blog by Brad Fitzpatrick will give you an overview of what you can expect. You can also check out the StrictMode API here for more details on what it allows.

, , , ,

No Comments