perjantai 8. elokuuta 2014

Millä tekniikalla UI Windows-sovellukseen?



Rakennamme tuotetta Windowsille. 
Mutta mietin nyt, millä Windowsilla ja millä UI-tekniikalla pitäisi järjestelmä tehdä. Windows 8.* ei innosta.
Windows 8 on suunniteltu tukemaan erilaisia laitteita. Mutta nyt voi varmasti sanoa että 
1. mitään muita Windows laitteita ei tule paitsi PC:t tai ne jotka ovat tulleet (Windows Phone ja tabletit) tullaan hiljalleen ajamaan alas ja 
2. Windows 8.* on flopannut täysin ja sen markkinaosuus on jäänyt jonnekin 10%:iin eikä enää nouse paljoa ennen kuin se korvataan jollain Windows9:llä.

Joten ensimmäinen arvaus on tehdä softa Windows7-, WPF-, WCF-, ja XAML-tekniikoilla ja C#:lla. 
Toinen webbimäisempi vaihtoehto olisi tehdä UI HTML5:lla ja Javascriptillä. 
Windows 8.* toki tukee natiivisti Javascriptiä ja HTML5:ta - jolloin voisi käyttää myös kaikkia .NET kirjastoja. Mutta silloin kyseessä on kuitenkin Microsoft-spesifinen ratkaisu ja ilmeisesti tämä toimii vain Windows8:ssa, joka vaikuttaisi flopanneen?
Toinen versio HTML5+Javascipt-vaihtoehdosta on sitten tehdä UI kokonaan webbitekniikalla ja käyttää esimerkiksi REST:iä kommunikoimiseen Microsft-tekniikalla tehdyn muun sovelluksen kanssa. Käyttää siis vaikkapa Chrome-browseria platformina - ja Chrome developer toolia testaamiseen. 

tiistai 13. toukokuuta 2014

Cloud9 IDE - Your Code Anywhere, Anytime

Piti alkaa tehdä Node.js koodia ja törmäsin tähän pilvipohjaiseen IDE:een mitä ilmeisesti Node.js- yhteisössä käytetään aika paljon, vaikka tämä ei ole mitenkään Node.js:ään rajoittunut.

Node.js-koodia voi tehdä mm. Microsoftin Visual Studiolla, missä teen varmaan sitten varsinaisen tuotantoversion koodista. Mutta alkuunpääsemisessä Cloud9 on verraton - voin Chromebookillani koodata kotona samaa koodia kuin töissä käyttämässäni Windows PC:ssä.

Esimerkiksi koodasin aamukahvilla kotona samalla kun luin Node.js kirjaa.

lauantai 3. toukokuuta 2014

Kysymyksestä "Windows-maailma vai Cloud-maailma?" ideaan tehdä sulautettua koodia HTML5:lla ja Javascriptillä

Perinteistä Windows desktop-koodia viime aikoina vääntäneenä olen käyttänyt tekniikoita kuten C#, .NET, Windows Communication Foundation ja Windows Presentation Foundation. Toisella silmällä olen tietysti seurannut mainstream webbi-tekniikoita kuten HTML5 + Javascript. Microsoft yrittää Azuren avulla siirtyä Windows-maailmasta Cloud-maailmaan. Pilvi-koodia kirjoitetaan tosin sielläkin usein C#:lla yms. Windows-tekniikoilla.

Törmäsin nyt työssä päinvastaiseen ideaan eli siihen että desktop-sovellus tehtäisiin webbitekniikoilla. Eikä siis pelkästään thin clientia vaan ihan koko sovellus. Jopa sulautettuja järjestelmiä toteutetaan webbi-tekniikoilla.

Tekniikka on nimeltään Node.js. Ideana on, että webbiserveri (Node.js serveri) on tehty tavalla, joka mahdollistaa nopeat vasteajat. Sekä client että server-pään koodi toteutetaan Javascriptillä. Server-pään koodin tekoa tukee laaja Node.js kirjasto.

Mm. kotimainen Reaktor Innovations suosittelee tätä tekniikkaa sulautettujen järjestelmien tekoon. Eli tietokoneen sisälläkin desktop-sovellus voidaan jakaa browser-pohjaiseen clientiin ja http serveriin ja kommunikointi tukeutuu siis koneen sisällä tcp/ip:llä.

Tässä mainio tutoriaali aiheesta http://www.nodebeginner.org/.

Niin ja miksi haluan käyttää Node.js:ää. Juttu lähti siitä, että haluttiin tehdä käyttöliittymä- ja I/O-intensiivinen pikkusovellus Embedded Linuxilla, koska Windows tuntui liian raskaalta ko. käyttöön. Heräsi kysymys miten Linux-puolelle tehdään käyttöliittymiä. Moni suositteli meille QT:tä mutta hylkäsimme sen, koska ajattelimme että se on ehkä hiukan vanhaa maailmaa. 

Jäljelle jäi HTML5 ja sitten aloimme ihmetelle, miten I/O ja muu tehdään HTML5-maailmassa. Päädyimme Node.js:ään.

sunnuntai 30. maaliskuuta 2014

Firefox ja Chrome alustoina: Firefox-sovellukset Androidilla

Mozillan ja Googlen web teknologioissa/strategioissa on näemmä paljon synergiaa.

Google näkee Chromen alustana jonka päälle voi rakentaa monenlaisia web sovelluksia. Puhtaimmillaan Chrome-alusta on Chromebookissa, jossa ei itse asiassa voi ajaa muuta kuin web sovelluksia. Mutta Chrome-alustan voi tuoda myös PC:lle lataamalla uusimman version Chrome-browserista. Chrome-sovellukset näkyvät samanlaisina "first class citizeneinä" start-valikossa kuin muutkin sovellukset, eivätkä vain bookmarkeina web sivuihin. Tulevaisuudessa Chrome-alustan voi tuoda muihinkin käyttöjärjestelmiin.

Firefoxin strategia näyttää suhteellisen samanlaiselta. Puhtaimmillaan Firefox-alusta on Firefox OS:ssä missä kaikki sovellukset ovat web sovelluksia. Mutta alustan saa myös PC:lle. (En tosin ole kokeillut.) Nyt Androidilla voi ajaa Firefox web sovelluksia ja ne näyttävät aivan normaaleilta Android-sovelluksilta. Web sovellukset olivat aikaisemmin vain eräänlaisia bookmarkkeja jotka näkyivät kyllä Androidin home screenillä mutta ei app drawerilla.

Jotta ominaisuuden saa käyttöön on ladattava Firefox-browserin beeta-versio ja käytettävä Firefox Marketplaceä sovellusten lataamiseen valitsemalla Firefoxissa Tools-->Apps.

Sovellus-kehittäjä tekee siis web-sovelluksen vain kerran alusta-riippumattomasti - sovellus toimii kuitenkin Androidilla käytännössä kuin mikä tahansa Android-sovellus.


sunnuntai 23. helmikuuta 2014

Windowsin hinta laskee tuntuvasti - kiitos Googlelle ja Applelle

Alimman hintaluokan PC:eiden esiasennettujen Windows-käyttöjärjestelmien hinnat laskevat tuntuvasti. Ilmeisesti Microsoft yrittää näillä toimilla hidastaa Chromebookin voittokulkua.

Manufacturers will be charged $15 to license Windows 8.1 and preinstall it on devices that retail for less than $250, instead of the usual fee of $50, said the people, who asked not to be named because the details aren’t public. The discount will apply to any products that meet the price limit, with no restrictions on the size or type of device, the people said.

Microsofthan onnistui muutama vuosi sitten vastaavilla toimilla pysäyttämään Linuxin etenemisen Netbook-markkinoilla. Onnistuuko se tällä kertaa pysäyttämään Chromebookin jää nähtäväksi.

tiistai 18. helmikuuta 2014

tiistai 11. helmikuuta 2014

Microsoft/Nokian romahdus: Microsoft/Nokia valitsee halpapuhelimiin Androidin

Symbian ja Windows eivät siis kumpikaan kyenneet vastaamaan Androidin ja iPhonen haasteeseen vaan Microsoft/Nokia on valitsemassa halpapuhelimiinsa Android-käyttöjärjestelmän. Syy lienee se, että Windows-alustalle ei yksinkertaisesti saatu tehtyä tarpeeksi halpoja älypyhelimia.

Nokian Android tullee olemaan samantyyppinen kuin Amazonin Android - siitä puuttuu esimerkiksi Googlen sovelluskauppa. Googlen sovelluksia on korvattu Microsoftin/Nokian sovelluksilla: Google Maps on korvattu Nokian Herellä. Mielenkiintoista on nähdä mikä browseri laitteessa on. Tuskin siihen Internet Exploreria on ehditty saamaan portattua.

On mielenkiintoista nähdä onko tämä ensimmäisiä askelia sillä tiellä, että Microsoft tulee hiljalleen luopumaan omasta käyttöjärjestelmästään ja keskittymään sovellus- ja palvelu-businekseen.

Firma lähtee romahduksen kautta ehkä vielä uuteen nousuun.

sunnuntai 9. helmikuuta 2014

ChromeOS - kenen etu?

Kannattaa lukea tämä. Juttu kertoo siitä miten Google toimii ChromeOS-laitevalmistajien kanssa. 

Laitevalmistajat eivät saa edes valita laitteen konfiguraatioita tai edes hintaa itse. Toisaalta eivät ne myöskään joudu maksamaan käyttöjärjestelmästä tai softan päivityksistä tai virustorjunnasta  Googlelle.

Mielenkiintoista on myös pohdiskelu siitä miten Microsoft voisi kilpailla Googlen kanssa tehokkaastikin Chrome- ja ChromeOS-alustallakin. Kunhan nyt Microsoft siirtyy aidoksi web apps-taloksi ja lopettaa Windows-systeemien tekohengittämiseen keskittymisen.

Though the best experiences on Chrome OS are from Google, that can change in the future. The threat comes surprisingly from Microsoft and their new CEO’s possible future plans. What if Microsoft started doubling down on web apps for their Office suite? Sure, they are lambasted for being overly complicated, but regular people still have a brand awareness of it. They have more than likely used it at one point in their life, be it school or work. If the Windows maker were to put an on par Office experience on the web, Google Drive will have some serious competition.

Google suosii uskoakseni ChromeOS:ää Androidin sijasta, mutta ChromeOS on ilmeisesti varsin edullinen myös laitevalmistajille. Päätellen siitä miten innolla laitevalmistajat tukevat ChromeOS:ää nyt kun ChromeOS-myynti on lähtenyt nousuun.

lauantai 25. tammikuuta 2014

Chromebook valtaa USA:n kouluja

Chromebookin markkinaosuus USA:n kouluissa on noussut viime vuoden 1%:sta 19%:iin samaan aikaan kuin Microsoftin markkinaosuus on romahtanut 48%:sta 28%:iin Wallstreet Journalin mukaan.

The inexpensive laptops, which run Google Inc. GOOG -3.13% software but are mostly sold by other companies, accounted for 19% of the K-12 market for mobile computers in the U.S. in 2013, according to a preliminary estimate by Futuresource Consulting. In 2012, Chromebooks represented less than 1% of the market, according to the research firm, whose estimate includes both tablets and notebook PCs but excludes desktop computers. Mobile computers running Microsoft Windows slid from 47.5% of that market in 2012 to 28% in last year's third quarter, said Futuresource, which isn't yet providing comparisons for all of 2013.

Etuja ovat varsinkin halpa hinta ja laitteiden helppo konfiguroitavuus. Haitat - kuten Microsoft Officen yms. puuttuminen - eivät kouluissa todennäköisesti merkitse mitään.

Mr. Laauser pointed to the devices' low price, $279 each including a $30 setup fee paid to Google, as well as the ease with which he could set them up for the entire student body. Setup time is "30 seconds per device versus 30 minutes" for a similarly cheap PC running Microsoft Windows, said Mr. Laauser, "which when you're dealing with 700 devices is quite a bit of time."

sunnuntai 19. tammikuuta 2014

Uber tappaa taksifirmat - Chromebook ja tabletit Microsoftin


“The San Francisco Cab Drivers Association (SFCDA) [...] reports that one-third of the 8,500 or so taxi drivers in San Francisco — over 2,800 — have ditched driving a registered cab in the last 12 months to drive for a private transportation startup like Uber, Lyft, or Sidecar instead.”

Romahdus on harvoin totaalinen vaan alkuperäinen markkinajohtaja siirtyy elämään varjoelämää:

Incumbents may survive for many years post collapse, but are no longer really relevant (e.g. BlackBerry). Instead they suffer from ongoing layoffs and downsizing of their companies with a subset going bankrupt early. In the taxi example, the individual drivers will thrive as they move to Uber and Lyft, while the taxi companies themselves will suffer. For the next N years, people will still order Yellow Cabs and other taxis. There will just be fewer and fewer drivers and customers for these traditional services. Eventually, branded taxi companies will become an “old lady use case,” i.e. only a small subset of the most conservative prior generation of users will continue to use the dramatically downsized incumbents.

Microsoft  yrittää saada jalansijaa tablettimarkkinoilla ja suunnittelee Windowsin muuttamista webbikäyttöjärjestelmäksi, mutta on myöhässä. Varjoelämä odottaa - tai sitten heikkojen osien myyminen pois niin kuin Nokia onnistuneesti teki.

Ohjelmoinnin opetusta lapsille ja nuorille

Paljon on ollut puhetta siitä, että lapsille pitäisi opettaa ohjelmointia. Käsittääkseni Virossa on tarkoitus opettaa kaikille koululaisille ohjelmointia. Myös USA:ssa on käynnissä jonkinlainen ohjelmointi-hypetys. New Yorkin pormestarikin on opetellut ohjelmoimaan. Vuosi 2012 oli USA:ssa ohjelmoinnin vuosi.

Olen ohjemoinnut pian neljäkymmentä vuotta. En ole mikään himo-ohjelma, muttta miellän itseni ohjelmoijaksi. Olen alkanut opettaa jälkikasvullenikin ohjelmointia. Uskon että ohjelmoinnin oppiminen on lapselle potentiaalisesti edullista, koska yhä suurempi osa työstä automatisoidaan kokonaan tai osittain. Mutta tärkeämpää on, että ohjelmoinnin oppiminen on hauskaa ja hyvin palkitsevaa.

Javascipt tuntui luonnolliselta valinnalta. Toisaalta peli-ohjelmointi olisi ollut ehkä vielä luonnollisempi valinta mutta kun en itse tiedä mitään peliohjelmoinnista ja uskon webbi sovelluksiin, päädyin Javascriptiin.

Verkossa on aivan loistavaa materiaalia ohjelmoinnin opiskelun tueksi. Aloitimme tästä kurssista code.org-sivustossa. Tähän meni muistaakseni 10 iltaa tunti kerrallaan. Ensimmäinen kurssi ei opettanut mitään erityistä yleisesti käytössä olevaa kieltä, vaan eräänlaista visuaalista kieltä. Kurssin etu on sen palkitsevuus ja konkreettisuus. Melko nopeasti siirrytään perusteista algoritmien suunnitteluun.

Codeacademyn javascript-kurssi aloitettiin tänään. Ohjelmointi onnistuu ilman paikallisia sovelluksia.

perjantai 17. tammikuuta 2014

Chrome OS tablettia on odoteltu, mutta kilpailija taitaa ehtiä ensin

Googlen visiossa päätelaite/tietokone on ohut ja sovellukset ovat pilvessä. Siksi Google launchasi aikoinaan Chromebookin, joka on optimoitu webin käyttöön eikä paikallisten sovellusten ajamiseen. Chromebookissa voi toki uusien käyttöjärjestelmä-versioiden myötä ajaa myös offline sovelluksia ja paikallisilta sovelluksilta näyttäviä eräänlaisesta start-valikosta käynnistettävä web sovelluksia (packaged apps).

Päätelaite on saatu halvemmaksi ja erityisesti helppokäyttöisemmäksi. Käynnistymisaika ei hidastu vuoden käytön jälkeen. Käyttöjärjestelmä-versioiden asentamisesta, varmuuskopioinnieista, virusten torjunnasta ja sovellusten asentamisesta ei tarvitse huolehtia. Jokaisessa Chromebookissa, jota käytät on samat sovellukset ja kirjainmerkit. Jos menet vaikka tuttusi luo kylään, ja siellä on Chromebook, voit kirjoittautua koneeseen Google-tunnuksillasi ja toimia kuin kotikoneellasi. IT-lukutaidottomat sukulaisesi, joilla on Chromebook, eivät soittele sinulle ja ihmettele mikä ongelma heillä nyt on koneessaan.

Mozilla jakaa pitkälti Googlen vision - Mozilla painottaa lisäksi avoimuutta ja vapautta app storeista ja muusta toimittajariippuvuudesta. Googlella on Mozillassa hyvä kilpailija ja sitä kautta kirittäjä. Firefox OS on web thin clientia tukeva käyttöjärjestelmä samalla tavalla kuin Chrome OS. Firefox OS:n markkina on ensi vaiheessa halvat älypyhelimet, joita tarjotaan Etelä-Amerikkaan ja muihin kehittyviin maihin, siinä missä Chrome OS:n markkina ovat alkuvaiheessa halvat läppärit. Toistaiseksi käyttöjärjestelmät siis eivät vielä kilpaile suoraan millään markkinalla. Firefox OS on pärjännyt parhaiten juuri Etelä-Amerikan markkinoilla. Markkinaosuus on korkeimmillaan tosin vain 10% luokkaa. Takana on useita operaattoreita kuten Deutsche Telekom, Telefonica ja Telenor ja älypuhelin-valmistajia kuten LG. Panasonic TV:hen tulee Firefox OS.

Mozilla’s strategy has been to build Firefox OS primarily for emerging markets, where there are still billions of people who have yet to experience their first smartphone. This approach is driven by our mission to bring the Web to more people, as well as the advantage Firefox OS has in delivering great performance on inexpensive hardware. In 2014, Mozilla will continue to focus on emerging markets and the first-time smartphone user.

Pitkään on puhuttu Chrome OS:n tulemisesta tableteille. Tosiasiassa Firefox OS taitaa ehtiä kuitenkin ensin. Vielä enemmän kuin läppäri tai puhelin nimenomaan tabletti on webin käyttö väline. Monet käyttävät tablettia aamukahvipöydässä HS:n, Facebookin ja blogien lukuun, videoiden katseluun ja muuhun sellaiseen, missä perinteisiä sovelluksia ei tarvita. On tosin spekuloitu sillä, haluaako Google tuoda tabletti-markkinalle kilpailijan omalle Androidilleen. Uskon, että haluaa. (Google näkee Androidin uskoakseni väliaikaisena ratkaisuna. Android on fragmentoitunut pahasti. Todellisuudessa Google uskoo enemmän Chromeen ja Chromebook OS:ään. Chrome on kaikkialla samanlainen. Chromebook OS:n uuden version jakelu on kokonaan Googlen hallussa, mikä on kuluttajankin kannalta huomattavasti sujuvampaa. Riippumatta siitä kenen valmistajan Chromebook on kyseessä look-and-feel on sama.)

Se, että Mozilla on myös lähtenyt tähän businekseen osoittaa vahvasti, että Googlen visiolla on laajempaa kannatusta. (Ottamatta nyt kantaa onko ajatus alunperin Googlen vai pikemmin jo Sunin.)

Markkina kehittyy.

sunnuntai 12. tammikuuta 2014

Microsoft ei anna periksi: vuorossa Windows9?

Microsoft on ilmeisesti tajunnut, että Windows8 ei tule myymään. Windows8:n kohtalo on olla uusi Vista. Mutta onnistuuko Microsoft enää korjaamaan kurssiaan Windows9:llä niin kuin se onnistui Windows7:lla.

Thurrott also compares Windows 8 to Windows Vista. If you're unfamiliar, Vista was a new version of Windows that launched in 2007 to very poor reviews and lower-than-expected user upgrades. Eventually, Microsoft had to go back to the drawing board with Vista and fix a lot of problems. That's why we got Windows 7, which is generally considered to be a very good PC operating system.

Microsoftia uhkaavat tällä kertaa sekä uudet päätelaitteet kuten tabletit että kokonais-arkkitehtuurin murros. Sovellukset siirtyvät pilveen ja monimutkaiset tietokoneet ovat korvautumassa ohuilla, yksinkertaisilla ja halvoilla web thin clienteilla:

"There's another piece to the puzzle. Chromebooks, those cheap laptops running Google's Chrome operating system, are gaining momentum. While Windows PCs still outsell Chromebooks by a large margin, Google's increasing popularity in desktop computing has forced Microsoft to go very negative on Chromebooks. In fact, Microsoft has an entire website dedicated to bashing Chromebooks. It may seem like a big bully punching down at a niche player, but it's clear that Microsoft sees a shift in computing habits. Why buy a Windows 8 PC when Chromebooks generally cost much less and can already do just about everything you want?"

Microsoftilla on kyllä vahva tai ainakin sidettävä asema uudessakin arkkitehtuurissa. Mutta perinteinen Windows- ja Office-business on suurissa ongelmissa, vaikka se on edelleen Microsoftin tärkein business. 

torstai 9. tammikuuta 2014

Chromebookin markkinaosuus maailmassa on noin 1%

Googlen Chromebookin markkinaosuus on tällä hetkellä noin 1%, USA:n koulujen IT:ssä markkinaosuus on kuitenkin jo yli 20%.

On vahvoja merkkejä siitä, että seuraava disruptio tulee olemaan päätelaitteen oheneminen (Web Thin Client). Päätelaitteessa on oleellisesti web browseri ja pienimuotoisia ohuita sovelluksia, mutta prosessointi tapahtuu ensi sijassa Pilvessä.

Google on tietyistä syistä kaikkein pisimmällä tämän disruption hyödyntämisessä päätelaitteiden osalta. Mozillan Firefox OS on hyvää vauhtia haastamassa Googlea. Myös Microsoftin pitkän aikavälin strategia on samansuuntainen. Microsoft liikkuu kuitenkin hitaasti. Sen roolina on olla tässä disruptiossa incumbantti, joka häviää.

Konsulttien arviot disruption vauhdista ovat maltillisia. Vuonna 2017 esimerkiksi Chromebookin markkinaosuus maailmassa tulisi olemaan 2% - 4.5%:ia. Itse en usko näihin maltillisiin arvioihin. Disruptio tapahtuu yleensä S-käyrän omaisesti ja siksi tulevaisuuden vauhtia on äärimmäisen vaikea arvioida. Oleellinen kysymys on, olemmeko vielä Early Adopters-vaiheessa, jossa vauhti edelleen kiihtyy. Uskon että olemme. Mutta joissain harvoissa nicheissä kuten USA:n kouluissa vauhti alkaa jo tasaantua.


En toki väitä, että Chromebookin markkinaosuus on joskus 100%, mutta arkkitehtuuri missä päätelaitteessa on vain vain ohut client ja sovellukset ovat pilvessä tullee olemaan vallitseva jossain vaiheessa.