Mobile Development Languages & Tools

iOS Development

iOS
If you like to create apps for iOS (iPad, iPhone) you can use the Xcode platform. The programming language of iOS(and Mac OS) is Objective-C. You can develop in C or C++ as well. Cocoa is the application programming interface (API).
You have one more excellent option – you can program apps for iOS in HTML5.
MonoTouch will allow you to use any .NET language and develop for iOS.

Android

Android
The officially supported integrated development environment (IDE) is Eclipse.
Additionally, developers may use any text editor to edit Java and XML files, then use command line tools (Java Development Kit and Apache Ant are required) to create, build and debug Android applications.
You can develop Android apps using HTML5.

Windows 8

Windows
The main tool you will use is Visual Studio (and Expression Blend). You can develop in HTML5 or XAML & C# or XAML & VB or XAML & C++.

Windows Phone

The main tool you will use is Visual Studio (and Expression Blend). You can develop in XAML & C# or XAML & VB or XAML & C++.

Blackberry

Blackberry
BlackBerry development is done in Java and you can use the Eclipse envoironment.

Corss-Platform Development Tools

Appcelerator Titanium allows you to develop apps in HTML5 for iOS, Android, Windows, Blackberry.
Icenium allows you to develop apps in HTML5 for iOS and Android.

HTML5 Resources

HTML5HTML5 = JavaScript + CSS3 + HTML

You can build web applications for any browser and you can build mobile applications for Android, iOS and Windows 8 using HTML5.

HTML5 includes the fifth revision of the HTML markup language, CSS3, and a series of JavaScript APIs. Together, these technologies enable you to create complex applications that previously could be created only for desktop platforms. (html5rocks.com)

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look and formatting) of a document written in a markup language.

JavaScript (JS) is an open source programming language commonly implemented as part of a web browser in order to create enhanced user interfaces and dynamic websites.

jQuery is a multi-browser JavaScript library designed to simplify the client-side scripting of HTML. It is the most popular JavaScript library in use today. (jquery.com)

Modernizr is a JavaScript library that detects the availability of native implementations for next-generation Web Technologies. These technologies are new features that stem from the ongoing HTML5 and CSS 3 specifications.(modernizr.com)

JSON or JavaScript Object Notation, is a text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language-independent, with parsers available for many languages.

You can use any text editor to write HTML5 (yes, even Notepad).

Resources

The Microsoft Store Field Trip – a Dream Come True

In June I wrote an article called I have a dream… I want a Microsoft Store Field Trip.
My daughter is in 5th grade and I have been on a field trip to the Apple store. I dreamed of a field trip to the Microsoft Store. My dream became a reality.
Let me tell you the most important part about the Microsoft field trip. It’s free, it’s educational and it’s cool! It’s beneficial too… the Microsoft Store actually gives back a total of $1,200 in free software.

9AM in the morning. 40 children and 3 adults. Excited and ready for our first Microsoft Store field trip. We went to Century City Mall (Los Angeles, CA). My daughter and I were the only ones on the field trip that have seen Windows 8 previously. We were the only ones that own / have seen and touched the Surface tablet. It was a whole group of eager minds ready to see what Microsoft has to offer. Your first experience with Windows 8 takes your breath away. It’s fast and fluid. It’s responsive and interactive. It’s beautiful operation system and it's cool. It's Windows reimagined.

Some kids asked me why they have games in the store. That simple question led to a great discovery. Almost everybody has heard or may be even owns an Xbox but almost nobody knew it’s a Microsoft product.

Just as the Xbox and the children, educators and professionals don’t know how much Microsoft has to offer. I don't blame them. When I looked online, I couldn’t find information about the field trips offered by the store. The Microsoft Store offers free field trips and workshops. We even received sponsorship for transportation to the store!

There are dozens 2-hour-minicamp workshops that the Microsoft Store offers (for free!). In addition, the Microsoft staff will work with you to customize the content to your needs. Our workshop was an overview of Windows 8, working with Office 2013 and exploring the Market Place (app store) on the Surface tablet. It was extremely beneficial for the kids to learn how to edit photos and make cool presentations.

This field trip to the Microsoft Store is something that every school or non-profit organization should know about. Microsoft offers not only free workshops but free space for events. This for up to 50 people. And listen to the best part- if you organize 10 events in one year, you will win $1,200 in software for your organization. I’m not kidding you. So what are you waiting for?

The staff in the store are friendly, professional and ready to help. They engaged the children with ease.
Windows 8, Windows Phone 8, the Surface and the Microsoft Store… This is news. Microsoft did amazing work. It's pure art but the art needs to be discovered by the community and the generation that will carry us to the future.

Apps like Bing Travel make it exciting and joyful to experience the World. It gives you 360 degree views of tourist attractions around the World. The kids turned and moved with the Surface tablets in their hands to explore Barcelona, Rome, Prague, Athens… I was surprised to find out even cities and sights in Bulgaria are in the Bing Travel app to be explored in 360 degree view.

We learned how easy is to create a high quality movie using Windows phone 8.

Our workshop lasted two hours. I wish we had more time to get to play some Kinect games on the big screen.

It's a super cool store.

The kids learned, they enjoyed, they got inspired. They are the future. It's a great formula- Microsoft educates them now and they bring future to Microsoft.

If you are interested in organizing a workshop or a field trip go to the Microsoft Store locator and find the contact information for your local store.
Are you a parent of school age children? You can help your child's classroom organize a field trip to the Microsoft store (just as I did).

Are you a teacher? Give your students the gift of knowledge and organize the field trip. Help your school get $1,200 in software.
Are you professional? Organize a workshop for you and the people you work with.
I'll tell you one interesting fact you didn't know before. The Microsoft store offers a free game camp for toddlers and you can bring the cupcakes and make it a birthday. You need to invite 10 toddlers and you have the coolest birthday party.

Every attendee received a Microsoft gift bag. There was a cup with the Microsoft logo in each bag and additional goodies. The bag itself is cool. What I love is that the cups are Made in US. What the kids love is that the cups are cool and useful. When we came back to the classroom all the kids were filling their cups with water and taking this with an additional sip of Microsoft koolaid.

I know how you feel. You are in disbelieve that so much can be offered for free. Let me tell you- I was there, I experienced and I still cannot believe it. It's that cool. The kids… they are different. They just accept it and enjoy it. Give them this gift- a field trip to remember and to learn from.
On one last note. The students had to turn in book reports a week later. Several of them used the Office skills they learned on the field trip at home on their own PCs to make their book reports shine.

P.S. Thank you for all the Microsoft people that made this possible and the elementary school teacher that helped putting it together.

Is Your Website Ready for Windows 8 and IE10?

I had to pay my property tax this month. I have been trying for a week at the county website www.LACountyPropertyTax.com. I got consistently a runtime error- day after day. After a week I started to doubt what was happening- even the government cannot afford that much inefficiency. I decided to attempt to visit the site from another machine. The reality is- if it wasn’t about taxes, I wouldn’t have done the effort.

On my Windows 8 machine and browser IE10 I get the following runtime error screen. I tried to debug with F12 developer tools.

A runtime error is a software or hardware problem that prevents Internet Explorer from working correctly. Runtime errors can be caused if a website uses html code that is not compatible with the web browser functionality.

On the Windows 8 machine I tried to debug in IE10 requesting the IE10 Compatibility View.

On Windows 7 IE9 I don’t get any error. I was able to pay my taxes.

There are many Windows 8 machines and IE10 browsers out there.
Is your website ready?

FAQ for New Windows 8 and Windows Phone 8 Developers

This blog post will be updated often so don’t be shy to come back.

What do I need to develop Windows 8 applications?
You need a Windows 8 machine and Visual Studio 2012 (it can be the express edition).

What do I need to develop Windows Phone 8 applications?
You need a Windows 8 Pro 64-bit machine, Visual Studio 2012 and Windows Phone 8.0 SDK

What do I need to develop Azure applications with Mobile Services?
You need the Windows Azure SDK and Windows Azure Account (first 90 days are free).

What do I need to develop apps that use Windows Live ID Authentication?
You need to download and install the Live SDK.

What do I need to develop apps that use Bing Maps?
You need to download and install the Bing SDK.

What FREE tool can I use for version control?
For teams of 5 people or less use TFService.

How do I publish my Windows 8 app to the Store?
You need a Windows developer account. $48 per year of free with MSDN subscription.

How do I publish my Windows Phone app to the Store?
You need a Windows Phone developer account. $99 per year or free with MSDN subscription.

How much does it cost to use Azure services?
Here is a link with pricing information for Azure.

Where do I find Windows 8 samples?
The most samples you will find is at dev.windows.com.

Where do I start if I’m new to Windows 8 development?
I would recommend the Hands-on-labs for Windows 8 applications.

What is the link for the Windows Phone store?
You can check the windows phone store at http://www.windowsphone.com/en-us/store

What language do I use to write Windows 8 apps?
You can choose between:
– HTML5 (Java Script and CSS);
– XAML, with code-behind in C++, C#, or Visual Basic;
– Native C++ and HLSL (to take full advantage of graphics hardware);

What is the link for the Windows Phone developer resources?
Go to http://dev.windowsphone.com/

What software should I use for version control?
Even if you are one person team, you should use TFS (Team Foundation Service). Unfortunately the TFS integration is not available on Visual Studio Express. If you are using Visual Studio Pro, TFS is free for teams of up to 5 people tfs.visualstudio.com

Participating in the Big Build Hackathon

If you ask me what will stay with me from the Build conference 2012 (Redmond / Seattle), I’ll tell you definitely the hackathon. I would give away my new Surface ( I got it as a present from the Build conference) just to do the hackathon again.

There are so many things that made this event memorable but I would like to start with a few that could’ve been better. The communication was so minimum that it hurt us. I wish I knew before I registered it’s not an 8 hour event but a 5 day event. I wish every participant at Build had a chance to participate. Like everything else at Build 2012 only the fastest and the luckiest got to register. After the registration there was an email with the schedule (3 days before the event). I couldn’t adjust my schedule on the late notice well enough- I missed the first two days because I had already planned my time (yup, the binder full of parties).

My biggest regret is we had no good way to network with people on different teams. I know we were all in the same room but we were all so observed in our own apps and teams. I wish we had our own little Mixer after the competition- I would’ve loved to talk to the other teams and ask questions about their apps. We were competitors the whole time and we should’ve had time to be friends. It was a wasted opportunity for us and for Microsoft to bring us together. I wish there was a tweeter group or something along those lines.

Food was served at the hackathon – all except lunch which was a problem. We wasted a long time walking back and forward to the outside tent with the attendee lunch. I didn’t understand why- it was just a waste of time. On Friday we actually didn’t have lunch because we wanted to see the demos- and by the time the demos ended the lunch tent was closed.

Even that things could’ve been better it was a brilliant event.

Let me tell you about the many things I loved of the event. We were encouraged to team up with people we never met before. I would’ve never believed that that could work but it worked like a charm. It was genius! Our team was originally five people but only three of us kept on going. We had to sacrifice the sessions and beer fest. At the start there were around 45 entries (from teams or individual participants) and most of them didn’t go to sessions, keynotes, parties and worked very long hours (sometimes the whole night). Almost every team had a participants from different countries.

We were given what felt as unlimited resources. There were at least 20 experts- the best of the best Microsoft employees ready to answer any question and guide us to accomplish anything we wished for. We were teamed up with mentors. Our mentor was Paul Batum- a truly impressive Azure mobile services expert. We were not limited to our main mentor- we talked with many of the mentors in the room. And there was email support for the people who worked remotely.

We all took advantage of Team Foundation Service ( tfs.visualstudio.com ). Teams of 5 or less can use TFS on the Cloud for free. It worked great- we all were checking in and checking out the pieces of the project we were working on. I love it!

Looking back I believe these were my mistakes- I didn’t sacrifice my first 2 days, I didn’t trust the team model at the start, I didn’t talk to many people(everybody was just coding) and we should’ve chosen to make a consumer app (not a business app).

There were no rules about what kind of app you should develop and no guidance was given but let me tell you- the apps that ended up being chosen were cool apps, ideas that you haven’t heard about before. We choose to develop too trivial app- a small business expense report system. Talking with other participants we came up with the conclusion That Microsoft is a bit tired of being seen as a business solution- they were looking to see cool consumer apps and these were the apps that were chosen to be demo’d. All apps that won used successfully Azure mobile services and the winning Windows Phone 8 apps used NFC.

There were 3 categories- Windows Azure, Windows Phone 8 and Windows 8. All apps needed to be started at the hackathon. The apps were officially judged on:
(34%) Innovative: Is this app meeting an existing need in a new way?
(33%) Applicability: Would this app be useful and appealing to a broad audience?
(33%) Technical Achievement: How difficult was it to build this app?

The prizes were not big (I have seen hackathons with prizes in the 6 digits). The total money won was $10K split between 9 teams (and teams were from 1 to 6 people). The biggest prize for the 1st place winners was the exposure. On Thursday everybody needed to submit their app by email to the first round of judges. 13 apps were chosen to be demoed in front of the celebrity judges. Celebrity judges included people like Scott Hanselman. The exposure to demo in front of the judges helped some people get job offers on the spot.

What we accomplished with our app was to implement the fast and fluid design of Windows 8. We had our screens, charms, contracts implemented. We had Microsoft account authentication (with the Live SDK). We used Azure mobile services and we were successfully writing data from our app to the cloud and displaying it back. We implemented the photo/file picker and the image upload to the cloud. We felt as we had a great app and a strong technical implementation. We didn’t even consider that we will be eliminated before the demo. The idea was reasonable- you submit your expense report (take a picture of the receipt and enter the information) and your boss receives and approves it. We were eliminated silently. We spent a lot of time, we sacrifice sessions and events, we accomplished a lot and I strongly believe we deserved the 3 minutes in front of judges.

The apps that won first place were:

Windows Azure category- the winner is QBranch. A team of 6 people from different countries developed a Windows 8 and Windows Phone 8 applications that used Windows Azure mobile services to store data. The app allowed you to have a digital queue for different events or places like DMV. The Windows phone 8 app reads NFC or QR codes to put users on the queue and uses push notifications to alert the user when their turn is up. It is developed in XAML and C#. The windows 8 app is used by the administrator to manage the queue. It is developed in HTML5.

Windows Phone 8 category – the winner is Social Squirrel. I felt this was the Microsoft favorite team and app- two people from Canada. Scott Hanselman offered them a job in the middle of their presentation. The rumor is that this team has already more than 10 apps in the Store. The app uses Facebook API and allows you to play a game and answer quizzes about your Facebook friends. The developers used the accelerometer to allow people to shake the phone and arrange the tiles randomly. NFC was used as well so two phones can communicate by touching. It is developed in XAML and C#.

Windows 8 category – the winner is Crowd Sourced Memories. A team of 4 attendees developed this cool app. At an event like a wedding the guests may use a Windows 8 machine to take pictures, videos and sign a message. All messages and photos are in the Cloud and can be played back in chronological order- even messages that were played back dot by dot as signed. The team mentioned they plan to have a windows phone 8 app and to implement NFC. It is developed in XAML and C#.

The winners have it all. They were interviewed for channel 9 and they truely deserve the fame and the prizes. What amazing work they did!

There is a big open question at the end of the hackathon for my team and most of the other teams. I believe Microsoft needs to help us with the next step. It would be such a waste if we don’t publish our apps to the store. We were encouraged to make teams. Most of the teams are international. How do we publish as a team? There are legal and accounting questions but the answer may be similar for each of our teams. I think this is an important last step that Microsoft should not overlook.

Dan Fernandez was the face of the Build Hackathon and he worked really hard. I suspect he barely slept for the duration of the hackathon. His efforts paid off. We all have memories to treasure and an experience to cherish. We learned a lot and we got inspired. I formed a team with two people that I just met and we created a strong bond. What a joy to see so many masterful developers and bright minds in one place! The experts in the room were phenomenal- extremely smart and knowledgeable Microsoft employees. I wish I had the names of all the mentors to give them credit. I’m so sorry I will miss your names and I only know your faces. Here are the names I know Paul Batum, Josh Holmes, Michael Johnson, Jeremy Foster.

She did it again… winning the Windows 8 hackathon

Several weeks ago we went to a Windows 8 hackathon with my 10 year old daughter. We had no plan to compete. We just wanted to learn and be part of this fun event. The event started at 9AM on a quiet August Saturday. Most of our friends were at the beach. We were in the Microsoft office in Irvine and the room was almost full.
I will be honest with you, my daughter Ina was bored. She told me her baby brother is having more fun in the park. It still hurts repeating this unreasonable complain. I’m a hackathon fan, a religiously faithful enthusiast and I cannot imagine anything more fun on a Saturday. But I understand it- she didn’t have a project in mind, she was surrounded by adults and everybody was busy writing code.

Here comes the game changer. Quietly Matt Harrington, a Microsoft evangelist from San Francisco, comes to the podium for a small presentation before lunch. He actually mentions the only 10 year old in the room and he wants to show us something cool. Scirra is a tool. It’s software from the UK… that writes Java Script for you. You can make a game without messing with Java Script code! You create objects and give them properties, you add events and behaviors. Simple and easy. Matt announces you can make your own game with this tool in 2h.

That’s all Ina needed.

She did it. Hard work till 8PM and there it was- the Cyclopes game for Windows 8. You control a guy on the screen by moving the arrow keys and you can shoot with the space key. Cyclopes come from all directions and if they touch you, you lose. If you shoot at one of them 3 times you kill it. The point counter works. The game was functional and fun but she was still not convinced she has enough to present and compete. Microsoft was giving a free Xbox game to every participant and that helped. She just wanted the game. It didn’t cross her (or my) mind she may win the big prize. I asked Daniel Egan, the famous Microsoft evangelist from LA, to talk to Ina and give her some courage. He did – he got to Ina faster and easier than I could’ve done in hours. (I wish I can call him for help this week as Ina is running for school president and has to make a speech.)

Ina gets on the stage and first thanks Matt Harrington “Matt’s presentation really inspired me today”.
Everybody in the room voted- picking 5 best apps. Ina made it to the top- a Samsung Windows 8 slate, a $500 gift card and an inspirational memory to keep in her young heart.

The story speaks for itself. I was speechless, proud and happy. Michael Palermo, a Microsoft evangelist from Arizona, tweeted the next day:
@nia_angelina Thank you Nia! Congrats to that phenom daughter of yours for winning the slate and $500 at the hackathon! #win8appdev

Oh well, I’m full of so much appreciation for the precious Microsoft’s evangelists and the hackathon community! You should’ve been there. There are more to come- be there and get inspired!

The Windows 8 Opportunity

This post is long overdue.

June 5, 2012
Excellence Lab with a Microsoft PFE
Attending: Ina, 10 year old developer

Ina, my 10 year old developer and daughter, managed to get a token for an early submission to the Windows 8 store.
I had my excellence lab several weeks earlier and I failed. My meeting with the Microsoft PFE was still one of the best things that has happened to me- he helped me understand the ‘fast and fluid design’ Microsoft has in mind. I fell in love with the Metro design. I honestly love all the requirements- from that moment on I embraced them.

I have to mention here that my daughter received amazing support and encouragement from the Microsoft’s evangelists Alice Pang, Michael Palermo and Jerry Nixon. We participated in an Accelerator Lab and it was an eye opening experience for her. I can not say enough about the motivation and efforts the Microsoft evangelist go through to help. I have to mention two more names of people that helped her indirectly- Jeremy Foster and Michael Johnson- Microsoft evenangelists that have answered many of my questions about Windows 8 development. Jeremy Foster has spent hours of his time trying to help me remotely!
I have come to the conclusion that Microsoft evangelists and PFEs are the best of the best and they are real time heros. They are really there to help you and you are not in this alone!

My experience became an asset for my daughter. I helped her. The Metro development is not a cup of tea for a 10 year old, I admit. She worked with me and thanked me for the help. Here is a print shot of the Party Trends app we plan to publish to the Store:

Party Trends