Kuvittele, että olet tilanteessa, jossa sinulla on mahtava tuote, mutta sinulla ei ole tarjota oikein mitään mobiilikäyttäjille. Pysähdyt hetkeksi miettimään vaihtoehtojasi:“Pitäisikö tehdä mobiiliwebbisivu? Vai kannattaisiko sittenkin toteuttaa natiivisovellus? Niitä pitäisi tehdä ainakin kolme, jotta saisin tuen kaikille suosituimmille alustoile. Entä hybridisovellukset tai jokin cross platform -työkalu? Eikös se säästäisi kustannuksissa, koska tarvitsisi tehdä vain yksi sovellus kaikille alustoille?”
Vincitillä olemme toteuttaneet mobiiliprojekteja lähes kaikille alustoille. Kerron mitä olemme oppineet ja millaisia ongelmia kohdanneet, jotta sinun ei tarvitse olla sekaisin mobiilista.
Vincit Teatime 2015 - Case Käyttöauto: Google GlassVincitOy
Mietitkö koskaan millaista olisi kehittää tuotetta tulevaisuuden alustalle Proof-of-Concept hengessä? Onko puettava teknologia lähellä sydäntäsi? Kerromme millaista on työskennellä uuden, kehitysasteella olevan teknologian parissa ja millaisen ympäristön Google Glass tarjoaa haasteineen ja mahdollisuuksineen. Pääset kurkkaamaan pellin alle Suomen ensimmäiseen autokaupoille toteutettuun Google Glass -sovellukseen.
Vincit Teatime 2015 - Heikki Salo: Case ZenRobotics: JavaScriptin äärirajoillaVincitOy
Modernit selainympäristöt sisältävät optimoituja JavaScipt-moottoreita, mutta ovatko nekään tarpeeksi vahvoja pyörittämään interaktiivista 3D-robottivisualisaatioita? Saavatko reaaliaikainen kuvankäsittely ja laskenta selaimen kuin selaimen polvilleen, vai ovatko uudet JavaScript-rajapinnat tuoneet jo ratkaisuja näihin ongelmiin? Ja jos teknologia onnistuisikin jo vastaamaan näihin haasteisiin, kuinka välttää perinteisemmät ongelmat isoja JavaScript-ohjelmia rakentessa?
Docker on kehityksen alla oleva avoimen lähdekoodin projekti, jonka tavoitteena on tarjota yhtenäinen ympäristö palvelinsovellusten suorittamiseen lähes missä tahansa. Perusajatuksena on, että Dockerilla paketoitu sovellus käyttäytyy sekä kehittäjien työkoneilla että erilaisilla palvelin- ja pilvialustoilla identtisesti. Docker-sovellukset tuovat suoritusympäristönsä mukanaan, mutta ovat huomattavasti kevyempiä luoda ja käynnistää kuin perinteiset virtuaalikoneet.
Oletko miettinyt milloin NoSQL-tietokannan valinta on perusteltua? Niin olen minäkin.Alunperin Facebookin tarpeisiin kehitetty Cassandra-tietokanta on kerännyt paljon kehuja mutkattoman skaalautumisen ansiosta. Menestyksen taustalla on joukko poikkeuksellisen innovatiivisia teknisiä ratkaisuja, kuten Gossip-protokolla ja operaatiokohtaiset konsistenssitasot. Esimerkiksi Cassandran tietomallin tai rajapintojen asettamista suunnittelurajoitteista on vähemmin tietoa saatavilla.Yhdistävästä nimityksestä huolimatta erilaiset NoSQL-ratkaisut eroavat kuin yö ja päivä. Tavanomaisesta relaatiomallista luopumista kannattaa harkita vasta kun tuntee riittävän hyvin valitun teknologian tekemät kompromissit.Kerron Vincitin kokemuksista Cassandran onnistuneesta soveltamisesta reaalimaailman ohjelmistoprojektissa. Miten valinta vaikutti projektiin ja mitä jälkikäteen ajatellen olisi voinut tehdä toisin?
Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014VincitOy
Pari vuotta sitten Vincitiin palkattiin ensimmäinen graafikko koodarilauman keskelle, ja siitä toiminta on laajentunut kokonaiseksi tiimiksi käyttöliittymäsuunnittelijoita ja graafikoita. Ilman kasvukipuja ja orastavia vatsahaavoja ei kuitenkaan olla selvitty.Kerromme miten Vincitissä graafikoiden ja koodareiden yhteistyö on kehittynyt. Monenlaisia työtapoja on kokeiltu – vaihtelevalla menestyksellä. Lisäksi annamme ideoita ohjelmistotaloille jotka harkitsevat omien graafikoiden palkkaamista.
Vincit Teatime 2015 - Case Käyttöauto: Google GlassVincitOy
Mietitkö koskaan millaista olisi kehittää tuotetta tulevaisuuden alustalle Proof-of-Concept hengessä? Onko puettava teknologia lähellä sydäntäsi? Kerromme millaista on työskennellä uuden, kehitysasteella olevan teknologian parissa ja millaisen ympäristön Google Glass tarjoaa haasteineen ja mahdollisuuksineen. Pääset kurkkaamaan pellin alle Suomen ensimmäiseen autokaupoille toteutettuun Google Glass -sovellukseen.
Vincit Teatime 2015 - Heikki Salo: Case ZenRobotics: JavaScriptin äärirajoillaVincitOy
Modernit selainympäristöt sisältävät optimoituja JavaScipt-moottoreita, mutta ovatko nekään tarpeeksi vahvoja pyörittämään interaktiivista 3D-robottivisualisaatioita? Saavatko reaaliaikainen kuvankäsittely ja laskenta selaimen kuin selaimen polvilleen, vai ovatko uudet JavaScript-rajapinnat tuoneet jo ratkaisuja näihin ongelmiin? Ja jos teknologia onnistuisikin jo vastaamaan näihin haasteisiin, kuinka välttää perinteisemmät ongelmat isoja JavaScript-ohjelmia rakentessa?
Docker on kehityksen alla oleva avoimen lähdekoodin projekti, jonka tavoitteena on tarjota yhtenäinen ympäristö palvelinsovellusten suorittamiseen lähes missä tahansa. Perusajatuksena on, että Dockerilla paketoitu sovellus käyttäytyy sekä kehittäjien työkoneilla että erilaisilla palvelin- ja pilvialustoilla identtisesti. Docker-sovellukset tuovat suoritusympäristönsä mukanaan, mutta ovat huomattavasti kevyempiä luoda ja käynnistää kuin perinteiset virtuaalikoneet.
Oletko miettinyt milloin NoSQL-tietokannan valinta on perusteltua? Niin olen minäkin.Alunperin Facebookin tarpeisiin kehitetty Cassandra-tietokanta on kerännyt paljon kehuja mutkattoman skaalautumisen ansiosta. Menestyksen taustalla on joukko poikkeuksellisen innovatiivisia teknisiä ratkaisuja, kuten Gossip-protokolla ja operaatiokohtaiset konsistenssitasot. Esimerkiksi Cassandran tietomallin tai rajapintojen asettamista suunnittelurajoitteista on vähemmin tietoa saatavilla.Yhdistävästä nimityksestä huolimatta erilaiset NoSQL-ratkaisut eroavat kuin yö ja päivä. Tavanomaisesta relaatiomallista luopumista kannattaa harkita vasta kun tuntee riittävän hyvin valitun teknologian tekemät kompromissit.Kerron Vincitin kokemuksista Cassandran onnistuneesta soveltamisesta reaalimaailman ohjelmistoprojektissa. Miten valinta vaikutti projektiin ja mitä jälkikäteen ajatellen olisi voinut tehdä toisin?
Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014VincitOy
Pari vuotta sitten Vincitiin palkattiin ensimmäinen graafikko koodarilauman keskelle, ja siitä toiminta on laajentunut kokonaiseksi tiimiksi käyttöliittymäsuunnittelijoita ja graafikoita. Ilman kasvukipuja ja orastavia vatsahaavoja ei kuitenkaan olla selvitty.Kerromme miten Vincitissä graafikoiden ja koodareiden yhteistyö on kehittynyt. Monenlaisia työtapoja on kokeiltu – vaihtelevalla menestyksellä. Lisäksi annamme ideoita ohjelmistotaloille jotka harkitsevat omien graafikoiden palkkaamista.
Cross Platform Mobile Application Development- Titanium Vs PhoneGapMike Taylor
Today every business which get their services to be mobile enabled having one common problem that their users are on different Mobile OS Platform, Every customer is important and developing different applications for every platform seems to be not cost beneficial. Permanent solution for such problem is Cross platform mobile application development - One App For Multiple platform. For Cross Mobile App Development developers prefer many cross platform but here we are presenting two of the famous open-source frameworks that help enterprise mobile app developers easily create apps on multiple platforms.Get more : http://www.brainvire.com/mobile-application-development
Kinectin hyödyntäminen oppimisen, osallistumisen ja hyvinvoinvoinnin edistämi...Leena Koskimäki
Slidet osa Ohjaustoiminnan artenomit OTA ry:n koulutuspäivässä "Uutta ja vanhaa - tekniikkaa ja teknologiaa ohjaustoiminnassa" 15.11.2013 vetämääni Kinect työpajaa.
Kinect on liikeohjain, joka mahdollistaa pelien ohjaamisen omien eleiden ja liikkeiden avulla. Kinectiä on käytetty Hämeen ammattikorkeakoulun Hyvinvoinnin KT-keskuksen Avoimuudesta Voimaa Oppimisverkostoihin –hankkeen piloteissa, joissa ollaan lähdetty kokeilemaan pelaamista osallistumista ja oppimista sekä hyvinvointia edistävänä tekijänä.
Kinect vie pelaamisen uudelle tasolle: pelaaminen voi olla monella tavalla liikuttava kokemus. Oman kehon hallinta, onnistumiset ja elämykset voimauttavat pelaajaa. Moni innostuu huomaamattaan kurottelemaan, venymään ja yrittämään yhä uudestaan pelatessaan. Pelin aikana tapahtuvan vuorovaikutuksen ja yhdessä tekemisen on havaittu nousseen tärkeään rooliin. Kinectin yksinkertainen käyttöliittymä sopii hyvin myös asiakasryhmille, joille teknisesti vaativien käyttöliittymien, hiiren tms. ohjainten hallinta on vaikeaa esimerkiksi kognitiivisten tai/ja liikkumisen, motoriikan tai aistitoimintojen alentumisen vuoksi.
Frantic After Work October 2012 presents:
Windows 8 – new possibilities for sales, marketing and customer service
by Tommi Pelkonen @TommiP, Miika Puputti - @miikap, Perttu Monthan (atBusiness) and Juha Vitikka (atBusiness)
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincitOy
Modernin ohjelmistoprojektin odotetaan olevan yksikkö- ja integraatiotestattu, koodikattavuuden kartoitettu, muutosten katselmoitu, ja koodin siirtyvän automaattisesti versiohallinnasta ajoon beta- ja tuotantoklustereille. Milloin? No versiohallintaan puskettaessa tietysti. Versiohallintalähtöistä, automoitua lähdekoodin ja tuotteenhallintaa GitHubista Traviksen syövereihin ja ajoon Amazonin Elastic Beanstalkiin. Tule kuulemaan hiljaista tietoa tämän vuosituhannen ohjelmistokehityksen perustyökaluista.
Aleksi Häkli from Vincit Oy gave a short reflective talk on SaaS.
SaaSiin pa(i)nostusta or Forcing the SaaS
Modernin ohjelmistoprojektin odotetaan olevan yksikkö- ja integraatiotestattu, koodikattavuuden kartoitettu, muutosten katselmoitu, ja koodin siirtyvän automaattisesti versiohallinnasta ajoon beta- ja tuotantoklustereille. Milloin? No versiohallintaan puskettaessa tietysti. Versiohallintalähtöistä, automoitua lähdekoodin ja tuotteenhallintaa GitHubista Traviksen syövereihin ja ajoon Amazonin Elastic Beanstalkiin. Tule kuulemaan hiljaista tietoa tämän vuosituhannen ohjelmistokehityksen perustyökaluista.
More Related Content
Similar to Sekaisin mobiilista - Vincit Teatime 2014
Cross Platform Mobile Application Development- Titanium Vs PhoneGapMike Taylor
Today every business which get their services to be mobile enabled having one common problem that their users are on different Mobile OS Platform, Every customer is important and developing different applications for every platform seems to be not cost beneficial. Permanent solution for such problem is Cross platform mobile application development - One App For Multiple platform. For Cross Mobile App Development developers prefer many cross platform but here we are presenting two of the famous open-source frameworks that help enterprise mobile app developers easily create apps on multiple platforms.Get more : http://www.brainvire.com/mobile-application-development
Kinectin hyödyntäminen oppimisen, osallistumisen ja hyvinvoinvoinnin edistämi...Leena Koskimäki
Slidet osa Ohjaustoiminnan artenomit OTA ry:n koulutuspäivässä "Uutta ja vanhaa - tekniikkaa ja teknologiaa ohjaustoiminnassa" 15.11.2013 vetämääni Kinect työpajaa.
Kinect on liikeohjain, joka mahdollistaa pelien ohjaamisen omien eleiden ja liikkeiden avulla. Kinectiä on käytetty Hämeen ammattikorkeakoulun Hyvinvoinnin KT-keskuksen Avoimuudesta Voimaa Oppimisverkostoihin –hankkeen piloteissa, joissa ollaan lähdetty kokeilemaan pelaamista osallistumista ja oppimista sekä hyvinvointia edistävänä tekijänä.
Kinect vie pelaamisen uudelle tasolle: pelaaminen voi olla monella tavalla liikuttava kokemus. Oman kehon hallinta, onnistumiset ja elämykset voimauttavat pelaajaa. Moni innostuu huomaamattaan kurottelemaan, venymään ja yrittämään yhä uudestaan pelatessaan. Pelin aikana tapahtuvan vuorovaikutuksen ja yhdessä tekemisen on havaittu nousseen tärkeään rooliin. Kinectin yksinkertainen käyttöliittymä sopii hyvin myös asiakasryhmille, joille teknisesti vaativien käyttöliittymien, hiiren tms. ohjainten hallinta on vaikeaa esimerkiksi kognitiivisten tai/ja liikkumisen, motoriikan tai aistitoimintojen alentumisen vuoksi.
Frantic After Work October 2012 presents:
Windows 8 – new possibilities for sales, marketing and customer service
by Tommi Pelkonen @TommiP, Miika Puputti - @miikap, Perttu Monthan (atBusiness) and Juha Vitikka (atBusiness)
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincitOy
Modernin ohjelmistoprojektin odotetaan olevan yksikkö- ja integraatiotestattu, koodikattavuuden kartoitettu, muutosten katselmoitu, ja koodin siirtyvän automaattisesti versiohallinnasta ajoon beta- ja tuotantoklustereille. Milloin? No versiohallintaan puskettaessa tietysti. Versiohallintalähtöistä, automoitua lähdekoodin ja tuotteenhallintaa GitHubista Traviksen syövereihin ja ajoon Amazonin Elastic Beanstalkiin. Tule kuulemaan hiljaista tietoa tämän vuosituhannen ohjelmistokehityksen perustyökaluista.
Aleksi Häkli from Vincit Oy gave a short reflective talk on SaaS.
SaaSiin pa(i)nostusta or Forcing the SaaS
Modernin ohjelmistoprojektin odotetaan olevan yksikkö- ja integraatiotestattu, koodikattavuuden kartoitettu, muutosten katselmoitu, ja koodin siirtyvän automaattisesti versiohallinnasta ajoon beta- ja tuotantoklustereille. Milloin? No versiohallintaan puskettaessa tietysti. Versiohallintalähtöistä, automoitua lähdekoodin ja tuotteenhallintaa GitHubista Traviksen syövereihin ja ajoon Amazonin Elastic Beanstalkiin. Tule kuulemaan hiljaista tietoa tämän vuosituhannen ohjelmistokehityksen perustyökaluista.
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a gitVincitOy
Otto Kekäläinen from Seravo Oy gave a talk on how to use git correctly.
Don't be a git or The essentials you should know about git to use it correctly
Git on Linus Torvaldsin kehittämä versionhallintatyökalu, jonka ominaisuudet riittävät maailman laajimman ohjelmistoprojektin tarpeisiin. Git itsessään on hyvä lähtökohta jatkuvan integraation, laadunvalvonnan ja tehokkaan monen kehittäjän ympäristön pohjatyökaluksi. Tehokas käyttö ja yhteistyö vaatii kumminkin työkalun hallinnan. Ovatko branching, merging, rebasing ja bisecting varmasti tuttuja käsitteitä? Kuule kokeneelta kehittäjältä parhaat vinkit ja ota git haltuun.
This talk will dive into the topic of how changes take place in the organization where teams are self-organizing and autonomous. There is no management. The talk will share some insights and practical examples that we have learned at Vincit where there are over 180 employees and two managers.
Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...VincitOy
Lähes jokaista nykyaikaista ohjelmistoa testataan ennen kuin muutokset viedään käyttäjän saataville. Ohjelmiston käyttäjälle tarjoavaa alustaa nykypäivän DevOps-Cloud-InfraAsCode -hype maailmassakaan ei kuitenkaan usein testata samalla innolla. Vastaukset oleellisiin kysymyksiin kuten "katkeavatko käyttäjän yhteydet" tai "onko split brain mahdollinen" jäävät usein pintapuoliseen manuaaliseen koittamiseen. Infrakoodia voidaan kuitenkin testata ja kokonaisiin järjestelmiin kohdentaa järjestelmätestausta. Aivan kuten ohjelmistokehityksessäkin, oma paikkansa on myös tutkivalla testauksella. Tuotannossa, tottakai.
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...VincitOy
The document discusses improving code quality in medical software through code reviews. It describes how one project implemented peer code reviews to prevent bugs, share knowledge, and improve discipline. The project evolved its workflow from long review cycles with many changes to immediate reviews of individual commits. Reviews check functionality, style, implementation, and readability. Commit messages are also reviewed to improve the project history. Tools like Git, Gerrit and Buildbot help automate version control, reviews and continuous integration.
Implementation of an intelligent car wash service - Vincit Teatime 2013VincitOy
The document outlines the development of an intelligent car wash service over multiple iterations using an agile approach. An initial proof of concept was built in under a month with a simple web interface and third-party license plate recognition. This pilot had 90 customers and provided early lessons. Subsequent versions added more features and scaled the customer base by 400%, though issues remained. The final version involved rebuilding the license plate recognition and washer controller software from scratch, solving reliability problems and enabling fast recognition and platform growth. The project took over a year of development across many iterations to create a satisfied customer and end users.
Node.js – mikä ja miksi - Vincit Teatime 2014VincitOy
Reaaliaikaiset verkkopalvelut ovat luoneet uusia haasteita web-sovelluksille. Node.js ratkaisee niistä monia. Vauhdilla kasvavan yhteisönsä ansiosta se sopii lisäksi mainiosti myös askelta perinteisempiin tehtäviin, esimerkiksi REST-rajapintapalvelimeksi. Katsaus Node.js:ään ja sen kuumimpiin kirjastoihin.
Tampere Goes Agile 2013 - Managing a Clean CodebaseVincitOy
The document discusses maintaining a clean codebase. It recommends implementing version control, code reviewing, and continuous integration to improve code quality. Code reviewing is emphasized as one of the most effective ways to find defects, with 45-70% found during reviews compared to 15-50% using unit tests alone. Benefits of code reviewing include improved readability, functionality, and change history. Automating tests and verifying implementations for every change is also advised. The author's experiences have found their processes have made them more disciplined with reviewing improving their code quality.
7. 7
iOS
Näyttökoko
ja
resoluutio
iPads
vs
iPhones
iPhonet
3.5”
ja
4”
Retina
vai
ei-‐retina
Kuvat:
http://david-‐smith.org/iosversionstats/
iOS
Versiot
iOS7: iPhone 4 tai iPad2
ja uudemmat
8. • Samat ongelmat kuin iOS:llä
• Lisäksi eri valmistajia, mutta käytännössä Nokia/
Microsoft nykyään 100%
• Merkittävin ero WP7 <-> WP8 eivät yhteensopivia
– WP8 paljon uusia ominaisuuksia ja muutoksia
– WP7 ei päivitettävissä
– WP8 osuus 78,3% joulukuu 2013
– WP7 puhelimia ei enää valmisteta
• Tablettisovellukset Windows 8 / WinRT sovelluksia
8
WP FRAGMENTAATIO
9. 9
ANDROID: OS VERSIOT
• Päivitysten jakelu laitevalmistajilla: hitaat päivitykset
• 4.x.x versioissa erot pieniä
• Jos tuki pitää ulottaa 2.3.x versioihin, tulee enemmän
työtä
Kuva:
http://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
10. 10
ANDROID: NÄYTTÖKOOT
Kuva:
http://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
• Laaja valikoima eri näyttökokoja
• Graafikolle mahdollisesti työlästä
12. • Sovellus, joka tunnistaa puhelimen ollessa taskussa
kävelyn, pyöräilyn, juoksun ja bussissa tai autossa
matkustamisen
• Tehtiin Androidille, käytti Androidin rajapintoja liikkeen
tunnistamiseen
• Ongelma: Sensorien toiminta laitevalmistajien päätettävissä
• Mitä sensori tekee kun laitteen näyttö on pois päältä?
• Osa laitteista sammutti sensorin, osa piti päällä,
pieni osa palautti jopa nolladataa
• Millä taajuudella sensori palauttaa dataa?
• Pyydettäessä 50 Hz, tuli vähän mitä sattuu ja usein ei
taajuus ei edes pysynyt vakiona
12
CASE HOOKIE
13. 13
Kokonaan
omat
versiot
Androidista
Ulkonäölliset
uudistukset
ANDROID: ERI VERSIOT
Pinnalliset räätälöinnit
Kokonaan omat versiot Androidista
19. • Sovellus metsästyskoirien liikkeiden
seuraamiseen puhelimella
• Android ja Web Client
• Natiivisovellus kaikilta muilta osin, paitsi HTML5
kartat
• Tavoite: yhteinen koodi webclientin kanssa
• HTML-karttateknologiaksi OpenLayers
19
HYBRIDISTÄ OPITTUA
27. 27
NATIIVISOVELLUS
Edut Haitat
• Look and Feel
• Suorituskyky
• Kaikki alustan
mahdollisuudet
• Hyvät työkalut
• Kartat ja muut
alustan APIt
• Kustannukset
28. 28
HYBRIDISOVELLUS
Edut Haitat
• Kustannukset
• Look and Feel
varauksin
• Päivitysnopeus jos
pääsisältö
palvelimelta
• Uutissovellukset ja
mediasovellukset
• Suorituskyky
• Työkalut
• Teknologian valinta
37. • Teknologiasta riippumatta, tee ensin yksi alusta
kuntoon ja pidä se “pääalustana”, jolle kaikki
tehdään ensin
• Muita alustoja tehdessä: muista regressiotestaus
jos hybridi tai ristikäännetty
• Etenkin hybrideissä ja ristikäännetyissä
testauksen automatisoiminen kullan arvoista
• Tosin etenkin automatisoitu järjestelmätestaus
kohdelaitteessa hankalaa
• Jos et tunne teknologiaa hyvin, tee paljon protoja
37
HYVIÄ KÄYTÄNTÖJÄ