Hey all this is a quick update to state that Injoit has been lately following the HTML5 trend very closely.
We have extended and trained our HTML5+CSS3+Javascript team and have worked on some pretty interesting projects already where the clients were extremely happy with results and quick turnover.
In brief, for those of you who doesn’t know much about HTML5 yet, it allows to build pretty sexy things for iPhone/iPad and Android, replace Flash functionality in iPhone and iPad, adapt websites to mobile browsers, use interesting layouts.
Check more about it here:
http://www.apple.com/html5/
http://ict4peace.wordpress.com/2010/06/11/time-magazine-on-the-ipad-a-glimpse-of-the-future/
Check out the Time Magazine iPad app:
We at Injoit are also capable of doing such sexy things now. Our HTML coders team has created this page in Injoit Knowledge Base which we want to share with everyone:
Please feel free to share your favorite links and advices to update our knowledge base!
Last Thursday, June the 17th, Taras Filatov, director of Injoit, has given a short presentation on issues of authentication and in particular using OAuth in mob1serv and in Android apps in general. To remind you, mob1serv is a universal API for iPhones and Android and we are releasing Android libraries for it soon along with lots of other exciting updates.
Mob1serv uses a multiple level cascade security system second to none and it is difficult and unnecessary to explain it in one presentation. On other hand, OAuth is an open standard and helped us a lot in developing part of our security system so we were glad to share some information about it with Android developers community. Follow more updates in this blog and at mob1serv’s website and blog.
Please check our Youtube channel for the videos of our latest projects. We have uploaded more than 25 projects there which are all iPhone apps and games. So this is kind of our video portfolio which is very handy to check our work. We will be uploading both finished apps and also some interesting videos from iPhone development.
First own app from Injoit, that is ColorShake, will hit the App Store this Sunday.
23rd of August is a also a local holiday here as it’s the day of liberation of Kharkov (Ukraine) during the WWII.
And also this year it’s Ganesh Chaturthi, a festival or birthday of Ganesh, a hinduist pantheon god whom we fancy a lot.
So it’s a great day and Sunday so we hope people will like our app!
Today we are having a real life test of our online high scores system because iCombat game version 1.2 got approved by Apple and there has been a flow of users populating the DB with their scores since then.
And suddenly it has stopped working - the online table wouldn’t show and as a result I had to learn a bit more about OAuth system we are using for the authentication purposes.
Here are some of the apps developed by us and already selling in the app store.
Also, some great apps are pending review and are to be seen soon!
iCombat - tanks game
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=309676121&mt=8
MyMakeup - make up application for kids
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=308690247&mt=8
Maxi Dice - dice game (Yatzee type)
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302875350&mt=8
Thumb Wars - small touch game
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305996685&mt=8
Jonas Wish - small fun app
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305802591&mt=8
PopHead - small fun app
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=310731594&mt=8
We have updated our iPhone applications portfolio. More projects are currently in development or being reviewed by Apple testers, so check later for more exciting stuff developed by Injoit.
Bloody hell I’ve just spend more than two hours trying to figure out why Xcode won’t publish to my iPhone.
Tried everything - started with our checklist published earlier then lots of ritual dancing and read two big manuals by other guys:
http://www.24100.net/2009/02/iphone-sdk-mobile-provisioning-0xe800003a-0xe8000001/
http://www.codza.com/how-to-fix-iphone-code-signing-errors
Finally - being 100% sure everything is set up properly - used the idea of “Clean all” from the last link - and it worked! Nothing has been changed, I just quit the Xcode and removed everything from “Build” folder of my app! Then started it again, hit “Build” button and it worked!
Apple is evil. Thousands of developers spend hours losing time with all code signing thing. These lines from codza is one good example:
I was on a roll, all done in 30 minutes. A quick look at the clock: 11:30pm. I’ll quickly package it all up, submit my update, and pick out a dark comedy on Netflix instant watch…
Little did I know that for the next two hours I will be beaten, cubed and ground into hamburger meat by Apple engineering’s probably most ingenious attempt to one up Turing’s theory of the “halting problem”: code signing.
I was reading stackoverflow and found one great idea on making client-server based high scores system for your iPhone games so as this is something we would need to develop soon, I’m posting it here so not to forget and I’ll update this post when we come up with our own solution. Actually I had a similar idea but benzado has formulated it nicely so here it is:
One idea that might be Good Enough:
- Let Secret1, Secret2, Secret3 be any random strings.
- Let DeviceID be the iPhone’s unique device ID.
- Let Hash(Foo + Bar) mean I concatenate Foo and Bar and then compute a hash.
Then:
- The first time the app talks to the server, it makes a request for a DevicePassword. iPhone sends: DeviceID, Hash(DeviceID + Secret1)
- The server uses Secret1 to verify the request came from the app. If so, it generates a DevicePassword and saves the association between DeviceID and DevicePassword on the server.
- The server replies: DevicePassword, Hash(DevicePassword + Secret2)
- The app uses Secret2 to verify that the password came from the server. If so, it saves it.
- To submit a score, iPhone sends: DeviceID, Score, Hash(Score + DevicePassword + Secret3)
- The server verifies using Secret3 and the DevicePassword.
The advantage of the DevicePassword is that each device effectively has a unique secret, and if I didn’t know that it would make it harder to determine the secret by packet sniffing the submitted scores.
Also, in normal cases the app should only request a DevicePassword once per install, so you could easily identify suspicious requests for a DevicePassword or simply limit it to once per day.
Disclaimer: This solution is off the top of my head, so I can’t guarantee there isn’t a major flaw in this scheme.
Written by benzado
Currently, I’m trying to figure out the best way to make online highscores system for our clients without having to invent the bicycle. It seems however there is no great solution yet. I was looking into OpenID but the evidence that at the moment it doesn’t allow easy automated identification using the iPhone’s deviceId feature:
http://factoryjoe.com/blog/2008/01/13/the-openid-mobile-experience/
http://openid.net/pipermail/specs/2009-January/002688.html
so likely we will come up with our own solution something like Benzado mentioned above
Good news for those who think about developing their iPhone application and have this work outsourced due to various reasons. A client of ours, based in US, has started an online blog telling in real time about the development of iCombat game which we are working on currently.
This is a really exclusive blog to read as there are not much resources of this kind and you are able to track the development of a great iPhone game from the very beginning!
Check “making iCombat” - the best advice on outsourcing your iPhone development.
This is one of my favorite quotes :) :
I posted an add and received about 10 responses within the first several days. Some were developers just spamming me, others had relevant experience but were divided into a range of ratings from 3.5 to 5 out of 5. I initially contacted the higher rated ones who had positive feedback on past assignments but with one from the Balkans I found that his English proficiency was far below what would be necessary to communicate effectively. He clearly was very talented but I got the feeling he was using Google translate to answer my e-mails. Another team from Pakistan spoke great English and they spent quite a bit of time on chat with me getting to understand the project. I liked them but their estimate came in at 4 man months - roughly 2-3x longer than anybody else! The process was tedious between getting NDA’s signed and sending out the specs to receive a quote (see Taking Care of the Legal Stuff entry) but I ended up with a few good options that I felt would work.
I decided on a team of developers from the Ukraine whom I had found worked on an application roughly similar to what I wanted to make. I contacted them and immediately knew they would be easy to work with. From their English level to experience with similar projects to their extensive list of published apps I knew Injoit could execute on what they promised. For more about the process of finalizing the specs and signing up with them see the related entry Contract Signed!. So far working with them has been great, they are timely and easy to communicate with so we will see what happens.
iCombat is a promising project which might become a bestseller in App Store so find the latest news on its development on its website and blog mentioned above. Feel free to comment and post your suggestions.
