www.netsi.dk

"The internet is just a layer on the real world" (don't forget that!)

Wish for 2013: Let there be more HTML5 apps

One the things I hope for 2013 is to see more HTML5 based . As HTML5 evolves I hope that the features found in HTML5 based will make the developers prefer HTML5 more than native .

A little history – the Flash epoch

I have never been a fan of Flash but I acknowledge that many very innovative and functional apps were created using Flash. Flash made it easy to develop cross platform apps which would run here there and everywhere. As I have not really developed in Flash I can only share my thoughts about why it “suddenly” turned into something not fancy.

Apple did not let Flash into its for mobile devices must have been one of the major reasons. I guess that Apple did not like that powerful applications could be build on there store based devices. Apple is receiving a lot of money through the percentage they get when people sell apps through the store. If developers could develop apps which were as powerful as native IOS apps it would be a thread towards their business model for IOS, I guess… Also they would have no control over how apps were distributed (sold).

Another angle is that the only way to develop apps in Flash would be using the tool from one company: Adobe. It would be a closed system controlled by one company – not good.

Native apps

Today we are seeing a lot of native apps which are coded to run on a specific OS. You can develop them using many development tools and also cross compile them so that they run on more than one OS, but often it is a relative low level language like C++ or JAVA. You will have to register and pay to gain access to get your app distributed for each OS. I think that it is okay that people have to pay for the handling and distribution of apps, as it involves some work doing that. Of cause you can discuss if the percent the distributer (Apple, and Microsoft) are charging could pay for this work, but I think that it is okay.

When you buy an app

Talking about smaller apps like those you can run on a mobile device like at phone or a tablet you normally can only use the bought app on that device. Like when I bought an iPad – I bought some apps which I really liked. At a later state I bought an Apple Mac Mini computer and discovered that the apps for the small mobile iPad were not available for my much stronger OSX based device! Why? Because the apps were written in a low level language for the mobile iOS! What? Can it be true?

HTML5, javascript and CSS3 apps, now!

That is why I hope to see developers go for modern HTML5, javascript and CSS3 based apps! Easy to develop, thousand of tools, millions of people know about those “languages” and it is cross device, cross platform apps! They run on smart phones, computers, modern TVs, tablets and many other places.

They are easy distributed, easy updated and with open source browser engines like webkit (which is implemented to run even in your TV) they run on so many devices.

As a front-end developer it also extends the areas where I can make a difference. The audience of my code is broadened and I can work developing on many other places than “just” websites. I could develop a TV app for the local community (which would also run any other place which understands HTML5, javascript and CSS3).

For now I have “invested” in a developer license for the Windows 8 . Cause they accept HTML based apps! The apps will run on any device which runs Windows 8. That is actually also something I hope that the other players, Google and Apple will go for: Cross device thinking – no more: Just iPad or just OSX! Please!

How to: Set up development tools for Android on PC

If you want to create your own for you can install a number of applications on your PC and you can code and run on your PC. Here is a quick guide to setting up the required tools needed to become an android developer.  You will need tools for simulating android devices () and software for coding your .

 

Installing software for emulating Android Virtual Devices (AVD)

 

  1. First you need to have a the Java SE Development Kit installed. The Android SDK will inform you about this if you don’t have it. But you need it before next step, so here is a link to the Java SE Development Kit I clicked “Java SE 7u2”, and downloaded the version for windows. After you have downloaded it run the installer. I may take up to 5-10 minutes to install.
  2. The Android SDK
    There are a number of versions here. I went for this one:
    http://dl.google.com/android/installer_r16-windows.exe Which at the time of writing (2012-02-11) was the current installer for Windows.
    After installation you will see a list of packages you should/may download. Here is what it looked like for me:
    Android SDK manager
    You may want to install older versions of Android. I ended up installing 35 packages. I had to go through “Install xx packages” though. I guess that some of the packages must be installed in a specifik order. Also I learned that when you need to accept some terms, you should  click “Accept all” button.
  3. Creating Android Virtual Devices (AVDs). Below I have created an Android 4 based AVD with 100 Mb Ram and a screen resoloution of 800 × 480 (WVGA800), I named it “Android4”.
  4. An AVD called Android4
  5. When you hace created a AVD you are ready to launce the Virtual Android device! You simply click in the Android Virtual Device manager you simply select your AVD and press “Start…”. button. Voila, in a few moments you will see a virtual Android device on your screen!
    A running virtual Android device - in this case an Android 4 based device

Software needed to develop your own apps

Now you have software up so that you can create (AVDs), and the next step may be to set up a development environment so that you can create your own apps Smiley. There ofcause exists more than one soloution, here I will focus on a IDE based soloution.

 

  1. Get the Eclipse development package. Visit http://www.eclipse.org/downloads/ and select Eclipse Classic 3.7.1
  2. Adding the Android Development Tool (ADT) plugin to Eclipse by following the guide found here: http://developer.android.com/sdk/eclipse-adt.html#downloading
  3. After the ADT has been installed Eclipse will restart and you will be prompted to setting up the ADT. I choose to check also the “Install Android 2.1” as it supports 97% of all Android devices (at the time of writing). Also a Android SDK was downloaded.

Running apps in Eclipse

A very good webpage describes this: http://developer.android.com/guide/developing/building/building-eclipse.html

 

Links

Advarsel: Spillet Wordfeud er stærkt vanedanende :-)

Jeg spiller kun sjældent computerspil, men den anden dag blev jeg anbefalet et spil som kan spilles på og platformene. Spillet Wordfeud er gratis og er en ordleg en slags scrabble hvor man skal indsætte bogstaver så de danner ord. Det er ret simpelt og kræver ikke megen forklaring – lige til at gå til. Det er et multiplayer spil hvor man spiller over internettet mod en anden person – det kan være en man kender eller en tilfældig. Man kan have flere spil kørende og har 72 timer til sit træk, ellers taber man. Det er god hjernegymnastik og hvis man f.eks. starter et spil op på sin iPad og så senere sidder et sted hjemmefra og venter, så kan man spille spillet videre på sin android telefon (eller ). Simpelt, sjovt og godt!

Find spillet her: http://wordfeud.com/ Her er nogle screenshoots.

 

Hjemmesiden hvor du kan få mere informationer

Her kan man se information om de spil man har igang. På billedet afventer jeg 3 spil - de andres tur

Eksempel på spil. I nederste venstre hjørne kan man se points. Rækken af bogstaver der går på tværs for neden er mine bogstaver

links

Apps vejen eller webapplikations vejen..?

Der er en del diskussion om hvilken vej der er den bedste – vejen eller webapplikations vejen. Hvordan kan man få software bedst ud på , platformene? Jeg giver her mine overvejelser om dette valg: Skal man distribuere sit software som en eller som en webapplikation (website). Det er mine personlige tanker gjort efter en masse input fra artikler og fra hvad jeg går og hører i det daglige i mit arbejde med internettet.

Baggrundsviden

Smartphones, “pads”, tv-devices.

Apps er noget som jeg først rigtig stødte på i forbindelse med smartphonen “iPhone” fra Apple. Der blev introduceret en mulighed for at downloade og installere små programmer “apps” meget nemt. At det var meget nemt var fordi man bare skulle gå på (iTunes) appsStore og så browse eller søge efter hvad man nu savnede i sin telefon. For små penge – eller mange gange gratis, kunne man så på få øjeblikke have tilføjet sin telefon helt nye egenskaber. Det var noget som folk kunne forstå og lide, ikke så underligt: På en nem, hurtig og meget billig måde kunne man give sin telefon helt nye muligheder!

: “So ein ding muss wir auch haben…!”

Google kom hurtigt efter og siden har de to store på disse smartphone område kæmpet en kamp om at have flest apps, flest features og ja – være størst. Det har været godt for brugerne – idag er det blevet endnu nemmere og ja, med endnu flere features for hungrende smartphone brugere at nyde. Tag f.eks. Android platformen: Man kan installere apps fra telefonen gennem en “” app. Man kan scanne en “QR-code” og gå direkte til Android for at installere en app. Man kan finde en app mens man sidder ved sin browser og leder på .android.com efter en app. Det er nemt og ja, det bliver sikkert nemmere. Apps er blevet et begreb som alle kender.

Lidt historie..

Selv om apps tankegangen synes helt ny, så er det faktisk ikke det. På operativsystemet linux (f.eks. Ubuntu) har der eksisteret et software center hvor programmer, som i f.eks. Android market. Når man nu ser at der blomstrer med millioner af små apps så er det, efter min mening, samme positive bevægelse som var med til at give Windows liv i dagene hvor Microsoft Visual Basic blev udbredt til folk og gjorde det nemt at udvikle windows programmer. Dengang gjorde det at der kom millioner af små freeware og shareware programmer på markedet. Nogle få af dem fik stor succes og overlevede som store firmaer. Det samme sker nu. Jeg har tidligere skrevet en blog post om hvor mange penge der egentlig blev tjent på disse billige små apps: “Could an android apps make someone a fortune?”.

Apps, iTunes og Google Market – fordele og ulemper

Ulempen med apps er at de kan være forbudet med større omkostninger og at man ofte skal lave individuelle til hver alle platforme. En App til en iPhone/iPad/iPod kører jo ikke på en Android baseret device.

Ulempen ved webapplikationer (avancerede hjemmesider) er f.eks. at de typisk ikke kan så meget “native” med den device de afvikles på. Det har det ikke specielt godt med at blive afviklet “offline” og ja, er nok ikke så “sexet” som en app. De har den store fordel at de kan udvikles een gang og med få tilretninger nå alle platforme.

Der er også det med Apps at de går igennem f.eks. iTunes appstore og Google Market som er forbundet med både ulemper og fordele. Apple er kendt som værende, hvad skal man sige, strikse med hvad de mener hører hjemme i deres distributionscenter for apps. De tager også en procent del af den pris som en apps sælges for. Google tager også en procent den af de apps som sælges gennem Google Market.

Noget man jo ikke må glemme er at man ved at have en app på et sådant distributionscenter for jo får adgang til et enormt potentielt markede. Man får en standard måde at få kategoriseret, beskrevet, udbudt screenshoots, får ratings, bruger kommentarer og ja, alt det der handler om salg af software. Sådan noget skulle man eller selv implementere – og ja, det kan da være en udfordring og en resursekrævende opgave i sig selv.

Teknik

Der hvor jeg selv står har jeg kun et tyndt grundlag når vi kommer til konkret udvikling af apps. Jeg har prøvet at downloade udviklingsværktøjet til Android, som er baseret på udviklings platformen. Kodningen foregår i java som ikke er noget jeg arbejder med i det daglige. Ja, jeg fik lavet en “hello world” som kørte lokalt på en virtuel Android telefon, så det er som det første “kravl” fra et barn! Jeg vil derfor ikke vove mig ud i at udtale mig om dette. Det jeg dog kan sige er at der udover selve kodningen jo kommer godkendelse hos henholdsvis Apple og Google. Apple er nog det der er sværest – men i praksis tror jeg ikke det er noget problem. Iøvrigt mener jeg at det også koster noget at få udviklingsværktøjet til Apple , mens det der er gratis at få udviklingsværktøjet til Android.

Der sker dog også noget på det område, udviklingsværktøjer bliver nemmere at have med at gøre og jeg mener også at der eksisterer software der kan lave “cross compiling” så man kan kode een gang og så konvertere til andre platforme – men jeg gætter på at det stadig er krævende. Min vurdering er at man skal være relativt dedikeret app udvikler hvis man skal have en reel chance for at lave noget som har en chance i konkurrencen med andre apps. Jeg vil derfor anbefale at købe sig til at få udviklet noget…

Konklussion

Den korte: Det afhænger af opgaven, budgetet og ambitionerne.
Den lidt længere: Det er måske som med hjemmesider, alle kan lave en men den bliver også derefter. Lad de professionelle gøre det og køb dig til viden og ekspertise hvis der er tale om noget der har et seriøst formål. Jeg gætter også på at det handler om at forstå at når man først har stukket hovedet ind på app området så har man også sat et aftryk i folks erindring, så hvis man fejler første gang tror jeg det er usansynligt eller kræver stor indsats at genskabe tilliden til at man kan levere noget relevant til folk. Træd varsomt, eller lav mindre projekter som man bevist ikke er ambitiøs med.

Har du erfaringer eller kommentarer vil jeg meget gerne have at du skriver dem her! På forhånd tak!

/Sten Hougaard

Installation af Telenors WIMP applikation på Android

tilbyder også deres tjenste “” til baserede smartphones. De har en side på deres website hvor de viser hvordan man kan installere den på både Android og , her er den rigtigt (læs nemme) måde at installere den på – for de får da virkelig gjort det besværligt Smiley

Installation af WIMP fra din Android baserede telefon

Jeg viser her hvordan du kan installere den via telefonen, du kan jo selvfølgelig også gøre via websitet (se nedenfor)

På din telefon finder du Marked applikationen og trykker på den.

På din telefon finder du Marked applikationen og trykker på den.

Tryk på søg knappen i øverste højre hjørne.

Tryk på søg knappen i øverste højre hjørne.

Indtast “wimp dk” – og du vil sikkert få eet hit allerede, tryk på det.

Indtast “wimp dk” – og du vil sikkert få eet hit allerede, tryk på det.

Her kan du læse om den, se anmelselser og screenshoots. Tryk på Installer/gratis.

Her kan du læse om den, se anmelselser og screenshoots. Tryk på Installer/gratis.

Applikationen hentes og installeres nu.

Applikationen hentes og installeres nu.

Når WIMP er installeret kan du åbne den og logge på.

Når WIMP er installeret kan du åbne den og logge på.

Når du har logget ind er du igang! God fornøjelse.

Når du har logget ind er du igang! God fornøjelse.


Installer fra nettet via Android Marked

Google har etableret en hjemmeside hvor man kan logge ind med sin gmail konto og så administrere på ens devices (telefon, tv osv.). Det er nemt og fungerer næsten som ovenfor når det handler om at finde . Man kan så når man har fundet en bede om at installere den på ens Android baserede device – f.eks. en smartphone. Her er et link til WIMP Marked: WIMP DK.

Links
  • Her kan du få 30 dages prøvetid med WIMP
  • Link til WIMP DK på Google Android MarkedLink til WIMP DK på Google Android Marked eller direkte ind på Marked app på din smartphone.

YouSee Cinema app til Samsung internet@tv

I sidste uge (uge 12/2011) opdagede jeg at jeg på mit TV havde fået en ny under internet@tv delen på af fjernsynet. Her er en række screenshoots af det man ser når man aktiverer denne . Jeg har endnu ikke prøvet at leje en film, da jeg kan det samme gennem min Samsung plus box. Iøvrigt mener jeg at priserne burde være måske 20 kr billigere, så vi kom ned på ca. 20 kr/film som man f.eks. kan leje dem for gennem www.voddler.com. Voddler har iøvrigt også gratis film og kan ses på flere medier så som Browser og smartphone + “pads” (så som iPad).

Her er nogle billeder som jeg har taget direkte fra min skærm – beklager moire effekten

Yousee Cinema går ind som anbefalet app

Yousee Cinema går ind som anbefalet app

Startsiden viser forskellige indgange og måder at finde film på.

Startsiden viser forskellige indgange og måder at finde film på.

Et eksempel på den information man får om en film, inden man lejer den. Prisen er her 39,- kr.

Et eksempel på den information man får om en film, inden man lejer den. Prisen er her 39,- kr.

Inden man kan leje skal man igennem lidt opsætning – læs mere på www.yousee.tv/samsung

Inden man kan leje skal man igennem lidt opsætning – læs mere på www.yousee.tv/samsung

Her ses kategorien Nyheder – der er 39 sider med nyheder, 18 film pr/side.

Her ses kategorien nyheder – der er 39 sider med nyheder, 18 film pr/side.

Kategorien Komedie indeholder 290 (!) sider med 18 film/side = 5220 film.

Kategorien Komedie indeholder 290 (!) sider med 18 film/side = 5220 film.

Ialt der den her den 30. marts 2011 et antal film på 22572 stk.

Ialt der den her den 30. marts 2011 et antal film på 22572 stk.

Konklussion

Som ejer af et Samsung TV synes jeg det er godt med flere . Helst ville jeg have en browser og andre mere alsidige . Jeg dog mener også at dette tiltag fra YouSee er en indikation på at de ikke ligger og sover – men er opmærksomme på at de nok ikke vil sidde på de danske medie-brugere (Læs: det der idag kaldes TV-seere) om 2-4 år. De skal ud på netbaseret distribuation til medie-brugerne. Faktisk er det lidt af en revolution med denne app, for man kan anvende den hvis man bare er ejer af et Samsung tv der har internet@tv i sig. Man skal ikke være koblet på YouSee’s kabler for at kunne anvende denne tjenste!

Iøvrigt er der for nyligt også kommet en lignende amerikansk tjenste – app – leveret af : Yahoo Connected TV. Dette er dog heller ikke gratis (har dog prøve periode) og jeg er i tvivl om det virker udenfor USA.

(Næsten) gratis film hver torsdag på YouSee net

Iøvrigt har YouSee lige annonceret at der hver torsdag kan ses 3 udvalgte film til 1 kr pr stk – hvorfor kommer det ikke til denne Samsung app.

Kort om Samsung apps

Samsung apps er en slags widget. Faktisk kører de mange af dem som rene HTML/Javascript widgets. De avancerede af dem anvender så saas tjenster – f.eks. maps. Så henter de deres data online og renderer det på dit TV. En udemærket service og der er faktisk relativt mange apps – tror der er lige under 100 stk. Nogle af dem er sågar købs-apps. Samsung tv anvender mange af de nyere modeller ARM processorer og kører linux – noget som mange smartphones jo også gør. Android og Apple er jo begge i familie med linus + de anvender ofte ARM processor. F.eks. er Apple iPad 2’s custom chip. Hos Yahoo kan man iøvrigt downloade software til at udvikle widgets, men hvordan man får dem ind i sit tv ved jeg ikke…

Finally! I can take screenshoots from my Android!

I am happy now – at least for the fact that I now can take screenshoots from my Phone. A weak spot in the OS has so far made it nessesary to “root” your phone to gain the rights to take screenshoots of the content of your smartphone. Now I followed this guide: ihely.dk – “Screenshoots på Android enhed uden root”  and voila here are a few screenshoots just to show you that it is actually working.

The homescreen of my HTC Legend

To unlock my Android 2.2 based HTC Legend, you need to draw a pattern.

An example app: 'eTilbudsavisen' - showing here that I can get 3 coca cola for 35 DKK at the distance of 5 km from where I live.Another app: 'speedtest' showing that I have 6.2 Mbit down and 1.7 Mbit upload speed on my wifi

That is nice – I have had the need in some of my blog posts, where I now can better show what I am talking about.

Since the guide at ihely.dk is in danish I will give you a quick guide here:

Prepear your phone by allowing debugging

In settings choose 'Programs' (programmer on the screenshoot)Choose 'Development' (on screenshoot: 'udvikling')Check the USB and 'stay awake'

Get development tool: http://developer.android.com/sdk/index.html

You may then have to install Java SDK (the development tool will tell you if you need to install that first, and where to find it).

Install the platform pakages

(image from ihely.dk)

When you see something like that above, you can choose which packages to download, I just took them all. It takes a while.

Ready? Plug in your phone to your computer through an USB

Locate the DDMS.bat file and run it

I have installed on “j:” – you probertly will have to locate the DDMS.BAT in your C:\Program Files\Android\android-sdk\tools

Run the bat file and you will get something like this:

The 'Dalvig Debug Monitor' - highlight the phone icon

The ‘Dalvig Debug Monitor’ – highlight the phone icon, and choose “Device > Screen capture…”

image

You will then get your ready to save or copy to clipboard like this:

The screenshoot have been taken, ready to use

Nu kan du også finde Android Applikationer via din browser

Jeg har idag set lanceringen af Google Android 3 (Honeycomb) og der var flere spændende ting.

– køb dine via en browser

 

image

Dette gør at man kan sidde hjemme ved sin PC og browse applikationerne som er tilgængelig til dit Android device.

Her har jeg f.eks. søgt på “tilbudsavisen”:

image

Efter jeg har logget ind med min konto kan jeg at jeg allerede HAR eTilbudsavis installeret.

image

Time-lapse recording using Android based HTC Legend and app “Tina time-lapse”

Tonight I did a of the Tina free for – an application which will record time-lapse pictures. Here are my comments, which may come handy for you.

Tina time-lapse, getting it and how to use

It is no problem getting the application ofcause. You may goto the and then search for “Tina time-lapse”. The app is for free and is straight forward to use. You simply enter a name, how often images should be take (say every 7th second), a limit for the number pictures taken may be entered and the resolution of each picture.

Doing the recording

Tonight I decided to place my phone in the front window and let it record the around 15 minuts drive to Aarhus (a city approx. 12 km from where I live). I did some calculating and decided to go for 540 pictures. I pushed record and drove into the night. The problem is ofcause that the phone may tilt as it is not mounted – that I will have to come up with a solution for. Anyone know of a device like which makes it possibel to mount the phone on a standard camera tripod? Please write if you do so.

When I reached my goal in Aarhus and picked up the phone I am not sure, but I think that the app intelligently stopped recording! (smart if so). The reason that I think that it did it automatically is that it only recoreded 173 frames/pictures and not the 540 which I had specified.

Converting the pictures into a movie

Well that part was actually not difficult either. I simply followed the instructions given by the Tina time-lapse developer: Wessel Rossing on his page about this app: http://wesselrossing.nl/blog/view/21 – he has recorded a in which he describes how you can get your images to your PC and convert them into a using the free program “avidemux” (see below).

Screenshoot of Avidemux

I choose to add the audio from Madonna – “Ray of light” which in the original video actually also uses Time-Lapse recordings.

I changed the framerate to 8,5 fps, and I also added some video filters to fix the low light of the evening pictures. Here is how it looks like when you save the video:

Saving the pictures as a movie - started good

Movie encoding stalled....

The 2nd go at encoding to movie..

Well I had to try again… And this time it went fine! The encoding took almost no time, but strangly enough it ended up with a crash. The video however was okay!

The video is here:

 

 

Links

Emulating an Android phone directly from windows (or other supported operating systems)

I have read about emulating an from windows here: http://developer..com/guide/developing/tools/.html and here are the basic knowledge written as a guide.

Download the Android SDK

You can download the Android SDK from here: http://developer.android.com/sdk/index.html Do that and unpack it to your disc.

Open CMD window with current directory set to “tools”

We need a CMD prompt with current directory set to the “tools” directory inside the Android SDK

  • Finding the emulator.exe.
    Click the start button of windows
  • In the search field enter "emulator.exe"
  • When the "emulator.exe" appears right click on it and click "Open the location"
  • Now you click the full address of the explorer which opened. It is probertly something like this:
    C:\Users\Sten\Documents\Download\android-sdk_r05-windows\android-sdk-windows\tools
  • Copy that full address to the clipboard
  • Open a CMD prompt
    Press the [Windows-key]+[R] or enter "cmd" in the windows search textarea of the windows startmenu
  • In the CMD window enter: "cd " + right click and paste the path from above

Setup an "" – Android Virtual Device

Before we can run the emulator we need to have defined an Android Virtual Device. There are a tool in the SDK which will help us do that.

The command you should use looks like this:

android create avd -n <name> -t <targetID> [-<option> <value>] …

Then <name> is well a name which you use in future when runne the AVD.

The <targetID> is used to select which hardware and OS version should be used for your virtual device. You can get at list of the currently available targets on your SDK by typing this command:

android list targets

For now lets try a simple AVD – in the references below you can find a link to the complete documentation of the AVD.

To create an Android 2.1 based AVD called “Android2.1” type this command:

android create avd -n Android2.1 -t android-7

Running the emulator

After having created an AVD we can run it from the command window. To run the AVD we created called “Android2.1” simply enter this command:

emulator –avd Android2.1

To start of with the emulator will “boot” – that may take a while, but you should see something like this:

The emulator booting

Here are some more screenshoots:

The home screenThe settings panelVisiting the m.cnn.com website

Adding a SD card

One thing which I did not thing about but was quickly aware of was the need for a SD Card in the emulator. No problem! You simply change the command to:

android create avd -n Android_2G_SDCard -c 2000M -t android-7

It may take a while to create – but when done you have a new AVD profile called “Android_2G_SDCard” which is based on Android 2.1 and has a SD card with 2GB memory.

Installing

You can install apps on the AVD. I tried simply by locating “APK” files on a website containing Android Apps. Using the browser I visited http://www.androidfreeware.org/ and located an APK file – downloaded it and installed the as seen below.

An application has been downloaded and is ready to install The game which I downloaded and installed worked fine. Even with sound :-)

Conclusion

I find the emulator included in the Android SDK very usefull! It is relatively straightforward and I guess that you can get a taste of the Android OS for free using this emulator. People who have not yet bought a smartphone have all the chances here to try out the interface – and even download some of the apps availiable for free. For an app developer it is probertly also a very usefull tool! Well done !!!

References