Voice Actions i Android 2.2

augusti 16th, 2010 by Kristoffer No comments »

AndroidFör er med en Android 2.2 lur är det nu möjligt att styra telefonen med hjälp av en rad olika röstkommandon tack vare Voice Actions. För att aktivera Voice Actions klickar ni på mikrofonen vid Googles sökruta, eller håller nere den fysiska söknappen ett par sekunder. Därefter är det bara att börja tjöta kommandon.

Kommandon i Voice Actions

  • send text to [contact] [message]
  • listen to [artist/song/album]
  • call [business]
  • call [contact]
  • send email to [contact] [message]
  • go to [website]
  • note to self [note]
  • navigate to [location/business name]
  • directions to [location/business name]
  • map of [location]

Demonstration av Voice Actions

Till en början kommer Voice Actions endast ha stöd för det engelska språket, samt bara vara förinstallerat på Droid 2. För er som använder HTC, Nexus eller någon annan Androidlur behöver ni ladda ner ett antal applikationsuppdateringar via Android market för att kunna använda Voice Actions fullt ut:

  • Voice Search (this app includes Voice Actions)
  • Google Search widget
  • music apps (e.g. Pandora, Last.fm, Rdio, mSpot)

Nedan har ni QR-koderna för Voice Search samt Search Widget
QR

Mer information om Voice Actions
Google Mobile
Google Mobile Blog

Analytics & WordPress – favoriter i iPhone

augusti 15th, 2010 by Kristoffer 1 comment »

Vilka applikationer är era favoriter? För mig är det tveklöst Analytics och WordPress! oavsett var jag är (mer eller mindre) kan jag se över statistiken och blogga.

Analytics i iPhone

För mig ger analyticsapplikationen allt jag behöver vad gäller statistik. Jag har inte forskat i den så himla mycket, det verkar dock som att den är komplett. Men…. den är inte gratis. Du får otroligt mycket för de 49 SEK som den kostar.

Rapporter

Analytics - rapporter

Dashboard

Analytics - dashboard

Länder

Analytics - country

WordPress i iPhone

Det händer inte jätteofta att jag bloggar via min iPhone, men det är skönt att veta att jag kan. Applikationen är dock begränsad till att enbart kunna skriva och redigera inlägg och sidor, samt hantera kommentarer. Det vore extremt bra om man även kunde använda de plugins man har. Det är dock väldigt osannolikt att något sådant skulle komma i framtiden med tanke på vilken typ av underhåll av applikationen det skulle kräva. Självklart är applikationen gratis också.

Om du har WordPress installerat på en egen server eller på ett webbhotell kan du behöva aktivera XML-RPC för att kunna blogga från en annan klient.

Wordpress - XML-RPC

Översikt av inlägg

Wordpress - översikt

Blogga

Wordpress blogga

Ny iPhone – då går den gamla sönder

augusti 15th, 2010 by Kristoffer 3 comments »

HammareNär en ny iPhone anländer ökar också antalet anmälningar till försäkringsbolagen om att den gamla är sönder. Det är norska radio- och tv-bolaget NRK som nu belyser den ökade svindeln vid nylanseringar. Även i Sverige kan tendensen anas när försäkringsbolaget If rapporterar att andelen anmälningar ökat när iPhone 4 lanserades.

Jag tror absolut att det förekommer, även om de inte lyckats haffa någon. Men varför? Måste vi alltid ha den senaste modellen? Har man inte pengar till att köpa det nyaste, tar man då avsiktligt sönder den gamla för att ha råd? Jag har svårt att förstå mig på folk som agerar på det här sättet. Förutom att det är omoraliskt, olagligt och barnsligt, så skapar det misstanke kring dem som faktiskt på riktigt har råkat ut för en olycka.

Fler falska anmälningar leder till hårdare kontroller som leder till längre beslutstider hos försäkringsbolagen.

Källa: AB

Apple har löst säkerhetshålet i iOS, men inte för alla

augusti 14th, 2010 by Kristoffer No comments »

AppleFör någon dag sedan släppte Apple en uppdatering till iOS som fixade säkerhetshålet vid hantering av PDF-filer. Tyvärr så hjälper det inte er som har första generationens iPhone eller iPod Touch.

Trots att Apple lämnat er i kylan, så gör inte hackarna det. Saurik, hackaren känd för Cydia, har släppt en egengjord patch för er med iPhone OS 2.x till 3.1.3.

Patchen heter ”PDF Patch” och kan laddas ner via Cydia.

Källa: AppleInsider via IDG

iPhone 5 – tre egenskaper jag vill se

augusti 14th, 2010 by Kristoffer No comments »

Det ryktas om att iPhone 5 kan dyka upp redan i januari, vilket får mig att fundera över vad Apple kan göra för att få mig att köpa en iPhone 5

Bättre batteritiden

BatteriDet är inte enbart iPhone som har problem med batteritiden, utan det gäller snarare alla smartphones. Det är irriterande att hela tiden behöva ladda sin iPhone! Självklart så ökas batterikonsumtionen i takt med att prestandan ökar i nya mobiler, men något bör man väl kunna göra?

Snabbare processor

ProcessorSnabbare processor vore väldigt trevligt, så länge det inte påverkar batteritiden. Idag har de flesta nya smartphones runt 1GHz, vilket fungerar i många fall. Men när man vill köra tyngre applikationer eller titta på 1080p videos kräver det en hel del processorkraft. Snabbare processorer till smartphones inte inte långt borta dock.

Dual Core processorer för smartphones är på väg ut på marknaden, vilket öppnar upp för tyngre applikationer och mer krävande multimedia.

Frihet i iOS 5

AndroidDet finns mycket att önska i iOS 5, men det största är nog frihet. Större friheten att kunna använda mobilen som man vill, utan att behöva jailbreaka den. Här är Android mycket trevligare! Även en omdesign av operativet hade inte varit fel. Jag ser helst också att Apple slutar blocka Flash, samt slutar vara så ”låsta” i sitt sätt vad gäller applikationer från konkurrenter.

Funktioner för databashantering i PHP

augusti 12th, 2010 by Kristoffer No comments »

PHPGick igenom min utvecklingshårddisk (sommarstädning) och hittade några roliga databasfunktion som jag kodade ihop för cirka ett år sedan när jag hade tråkigt. Tyvärr verkar det som att jag inte fixade till delete-funktionen, så den får ni vara utan tills att jag får tid att göra det. De andra funktionerna ska fungera, gör dem inte det så hojta till.

Funktionerna är ganska simpla, inte det bästa jag gjort, kan skrivas bättre! De klarar också bara av de absolut enklaste SQL-frågorna.

Ni får använda det här hur ni vill. Se dock till att er webbserver har stöd för PDO.

PHP-fil för att hantera databasanslutningen

<?php
$hostname = 'localhost'; // Adress till databasen
$usr = ''; //Användarnamn för databasen
$pwd = ''; //Lösenord för databasen
$database = ''; //Namnet på databasen
 
//Följande skapar själva anslutningen till databasen
try {
$db_connect = new PDO("mysql:host=$hostname;dbname=$database", $usr, $pwd);
	}
 
catch(PDOException $e)
    {
echo $e->getMessage();
    }
?>

PHP-fil med funktionerna

<?php
/*########################################*/
/*################ SELECT ###################*/
/*########################################*/
function dbSelect($table, $field, $query, $attributes, $output) {
require ("connect.php");
 
$dbQuery 	= null;
$dbType 	= null;
$attribute	= null;
 
	if($query) {
		foreach($query as $id => $value) {
			$dbQuery .= $id." = :".$id.' AND ';
		}	
		$dbQuery = " WHERE"." ".$dbQuery;
		$dbQuery = substr($dbQuery, 0, -5);
	}
	$dbQuery = trim($dbQuery);
 
	foreach($attributes as $id => $att) {
		$attribute .= " ".$id." ".$att;
	}
 
	$do = $db_connect->prepare("SELECT $field FROM $table $dbQuery $attribute");
 
	foreach($query as $id => $value) {
		switch(is_int($value)) {
			case true: 	$dType = PDO::PARAM_INT; break;
			case false:	$dType = PDO::PARAM_STR; break;
		}
		$do->bindValue(':'.$id, $value, $dbType);
		unset($value);
	}
	$do->execute();
	switch($output) {
		case "all": $result = $do->fetchAll();
	break;
		case "item": $result = $do->fetch(PDO::FETCH_OBJ);
	break;
	}
 
return $result;
}
 
/*############################################*/
/*################# INSERT ######################*/
/*############################################*/
 
function dbInsert($table, $insert) {
require ("connect.php");
 
$fields = null;
$values = null;
 
	foreach($insert as $id => $value) {
		$fields .= $id.", ";
		$values .= ":".$id.", ";
	}
 
	$fields = substr($fields, 0, -2);
	$values = substr($values, 0, -2);
 
	$do = $db_connect->prepare("INSERT INTO $table ($fields) VALUES ($values)");
	foreach($insert as $id => $value) {
		$do->bindParam(':'.$id, $value);
		unset($value);
	}	
	$do->execute();
}
 
/*#############################################*/
/*################## UPDATE #####################*/
/*############################################*/
 
function dbUpdate($table, $sets, $wheres) {
require ("connect.php");
 
	$where = null;
	$set = null;
 
	foreach($wheres as $id => $value) {
		$where .= $id.' = '."'$value'".' AND ';
	}
	$where = " WHERE"." ".$where;
	$where = substr($where, 0, -5);
 
	foreach($sets as $id => $value) {
		$set .= $id."=:".$id.", ";
	}
 
	$set = "SET ".$set;
	$set = substr($set, 0, -2)." ";
 
	$do = $db_connect->prepare("UPDATE $table $set $where");
	foreach($sets as $id => $val) {
		$do->bindParam(':'.$id, $val);
		unset($val);
	}
	$do->execute();
}

Hur man använder funktionerna

/* SELECT */
$selects = dbSelect("namn på tabellen", "fält1,fält2,fält3",			
			$where = array(
				"fältnamn" => "data",
			), 
			$attributes = array (
                               "ORDER BY" => "fältnamn desc"
			),
			$output = "item"
	  );
 
/* För att skriva ut en hämtad rad (lägg märke till att $output = "item" */
echo $selects->id;
 
/* Sätt output till "all" om du hämtar flera rader*/
$output => "all"
 
/* Om output är satt till "all" kan du göra så här för att lista det som hämtats */
foreach($selects as $id => $row) {
	echo $row["fältnamn1"];
	echo $row["fältnamn2"];
	//etc....
}
 
/* attributes används när man vill ha LIMIT eller ORDER BY */
$attributes = array (	
			"ORDER BY"=> "name DESC",
			"LIMIT" => 5,
			 ),
 
 
/*
#####################################
#####################################
#####################################
*/
 
/* INSERT */
dbInsert("tabellnamn",
		$insert = array(
			"fältnamn1" =>"värde1",
			"fältnamn2" =>"värde",
		)
	);
 
 
/*
#####################################
#####################################
#####################################
*/
 
/* UPDATE*/
dbUpdate("tabellnamn",
		$change = array(
			"fältnamn1" =>"värde1",
			"fältnamn2" =>"värde",
		)
	);

Dell Streak – dags för lansering igen

augusti 11th, 2010 by Kristoffer No comments »

Imorgon släpper Dell iPad-konkurrent Dell Streak till det amerikanska folket (enbart? Sverige då?). Om jag inte misstar mig har Dell Streak redan lanserats i Storbritannien i juni(?). Pekplattan (eller vad man nu ska kalla den) har flera egenskapen, men den bästa är priset. I USA kommer Dell Streak kosta cirka 4000 SEK utan några som helst förbindelser.

Ganska billigt tycker jag. Några svenska prisuppgifter har jag inte lyckats hitta, men om priset blir som i USA så innebär det en betydligt större risk att jag köper den än en iPad. Man kan trots allt även ringa med den :)

Källa: IDG

Apple granskas av EU-kommissionen

augusti 11th, 2010 by Kristoffer No comments »

AppleApple granskas nu av EU-kommissionen på grund av blockningen av Flash i mobilen. Redan i januari började amerikanska konkurrensverket, FTC, utreda Apple av samma orsak.

Myndighernas utredning ska resultera i ett beslut som avgör om det är olagligt att Apple stänger ute utvecklare från att använda andra verktyg än de som Apple tillåter, och även om blockningen av Flash är olaglig. Utredningen beräknas ta mellan fyra och sex månader.

New York Post via IDG

SMS-trojan för Android upptäckt

augusti 11th, 2010 by Kristoffer No comments »

AndroidKaspersky Lab säger sig ha upptäckt den första SMS-trojanen för Androidtelefoner. Trojanen maskerar sig som en mediaspelarapplikation, men när den väl är installerad börjar den skicka SMS till betalnummer.

Trojanen heter Trojan-SMS.AndroidOS.FakePlayer.a och ska redan ha infekterat ett del telefoner.

Det här kommer förmodligen bli mer vanligt i framtiden med tanke på efterfrågan på smartphones. Android-telefoner, iPhone och andra smartphones skapar en helt ny lekplats för de med kunskapen och viljan att jävlas. Det är kanske dags att fixa antivirus till min iPhone?

Källa: idg

Java 4-ever

augusti 11th, 2010 by Kristoffer No comments »

Så börjar vi dagen med en otroligt bra trailer.