-
Making an app for Windows Phone 7 in ~20 minutes
So you want to make an app. You have a blog. But you don't know how to code, or don't have time. Not a problem, you just need a touch of artistic flare and some patience with a computer drawing tool and you can have your own app done in minutes!
How?
There's a site out there which will handle all the code for you. You provide details on the design you want the app to follow, and it will handle the rest. FollowMyFeed. How to go about that is explained quite clearly on the site, so check it out!
What do I need?
Essentially you just need some pictures to get you started.
Splash screen - 480 x 800
This is the screen a user will see when your app is loading on their phone.
Tile Icon - 173 x 173
This is the icon that your app will use while it is pinned to the home screen.
Icon - 62 x 62
This is the icon used in the apps list (swipe to the right of the live tiles).
Icon - 200 x 200
This icon is used by the publishing portal, for desktop displays.
Icon - 99 x 99
Again, not used in the phone but more for marketing purposes.
Screenshot - 480 x 800
This should be a screenshot of the actual application running.
Preview
Now that you've made your application you can download a XAP file of it, and it will remain saved on the web interface. But how do you get that screenshot, and play with it?
First up, you need to grab the free developer tools online available here.
Once these have been installed you can run your app, and create others. To run it, you need to navigate to:
C:/Program Files/Microsoft SDKs/Windows Phone/Tools/XAP Launcher/XAP Launcher.exe
When you run this, you can browse to your XAP file, and load it into either an emulator, or straight onto a developer unlocked phone. The emulator had a tool to take a screenshot of the device - saving any hassle with cropping, or using a snipping tool.
Get registered with the marketplace, and publish your app!
-
Trying out a Windows Phone 7 Device
Recently my housemate bought a brand new iPhone. Up until this point he'd been using a Windows Phone that he won at the Worldwide Developer Conference last year. He'd been using it almost non-stop ever since. He's kindly lent it to me to use for a week until it goes on in his family. So before my impressions; here's some information about what I have at the moment.
I have a BlackBerry Bold. The keyboard on it is great! The rest, well… isn't. Upon taking it out of the holster I get the equivalent to an hour glass icon popping up to state that it's doing something in the background. But it won't let me unlock the phone while this is happening! The apps are another thing. After uninstalling one you're graced with a reboot request. Despite knowing that it's a smart phone and does need to boot occasionally, I don't like not being able to use my phone for 10 minutes while it does that. Also, the recent BlackBerry Internet Service blackout wasn't the most fun I've had with my phone.
Windows Phone 7 changes that. I pull it out, instantly I can unlock it and start using it. No waiting, no frustration. There are a tonne of apps. Almost all of them better than on the BlackBerry (I'm a particular fan of BlackBerry's twitter app!). There do seem to be some rather odd ones though - I think they're there because it's so easy to develop for, and they must've made SOME money at least! Installing apps is fast. Uninstalling them is instant and no reboot. The internet is far faster than on my own phone, despite being the same network.
My concern about using a touch screen phone was the keyboard. I've not had much luck with typing on a touch screen phone before. Random letters I don't want and missing keys. Coming from one of the nicer keyboards around I preferred the accuracy. The HTC Trophy's touch screen is awesome. I've been able to type just as quickly and accurately thanks to that, and Windows Phones prediction and auto correction.
Being a student at the University of Reading means I get access to Live@Edu (similar to Office 365). Which works great with Windows Phone 7's Office application. I can access Excel, Word, Powerpoint, and SharePoint on the go. So I can have the lecture notes visible while writing notes on paper, or something I'm a particular fan of; OneNote. Not only can you do all of this, but it'll save it directly to SkyDrive. So you can forget about the task of syncing manually by plugging in your device. It'll do that automagically!
It's been good to realise that the idea for a game I have would work well on the platform. Once I've got some spare time I plan on having a go at making it!
Developing for Windows Phone is easy, as I found whilst working on the Imagine Cup last year. You can have an app up and running in moments using Blend and following the huge amount of materials available online. It's easy for a student to get started for free, and make money by publishing apps for free! Just head over to Dreamspark and get started!
It's a breath of fresh air to my daily routine, and I'm certainly glad to have the opportunity to use it, despite it being for a short time. Streamlined experiences and frustration free socialising are a real plus. We all like a shiny new piece of tech and I look forward to being able to kick my BlackBerry and replace it with a Windows Phone 7 device soon!
-
A meeting with WAGGGS
Yesterday I had the opportunity to go to WAGGGS offices in London to discuss my Final Year Project with some of the stakeholders. I don't go to London very often but I got the right bus.
The discussion raised some interesting issues and ideas for the application as well as giving me the opportunity to explain how I believe the app would be used. I had produced a prototype application for them to see and it demonstrated each of the question types: Multiple Choice, True/False, Fill-in-the-blanks, Ordering, Opinion scale(slider).
They're keen to provide any information I need in order to create a tailored solution for them.
I also believe that the server at least would be open source-able and I intend to release an unbranded android application.
So that you are aware of how it currently looks I have embedded a video below:
I'm planning on making it more touch screen oriented with gestures between questions instead of button presses. I'm informed that Menu button presses on Android devices are few and far between. However, for the purposes of the demo I wanted something quick and simple to implement.
To give you an idea on the scale reach of the project here's a view from the meeting window:
-
Final Year Project
At the University of Reading the final year of Computer Science contains a module known as the Individual Project. This is worth around 22% of the entire degree. A student may choose a project from a list of suitable projects drawn up by project supervisors. Should a student feel strongly that they possess a good idea it is up to them to formulate this idea and link with a project supervisor at the University to aid them with the project and the report.
My project this year comes under the title Mobile Computing. The area of mobile computing itself is rather broad and open to interpretation. There were a number of suggested areas in which to create a project in. Something I feel is important for all is education. This featured rather heavily within the options. Upon discussion with my then Project Supervisor I discovered there was an opportunity to work with the World Association of Girl Guides and Girls scouts to help them to deliver some of their educational materials in a non-conventional way, Mobile. mLearning is an area of interesting research, and I hope that this project will provide a gateway into further research on the subject. Some of the ideas I'll write here aren't actually within the scope of my FYP, though they are ideas I don't want to lose track of.
Upon meeting with WAGGGS I quickly discovered that many of the potential issues with creating a mobile application for such a global reach was very similar to the issues we had discovered whilst working on our Imagine Cup project. Chiefly signal and availability.
The idea is not to just provide the educational content itself, but to create a means of engagement with the user. The plan is to achieve this through quizzes on the device. The idea of these is that they'll serve as a top up to the courses as a whole.
WAGGGS have a non-conventional educational style, I hope to be able to add to that through the implementation of my final year project through the power of Mobile Computing. With smartphones being increasingly common and application usage being popular amongst the majority of users it makes sense for education to reach into this market.
Currently I plan on creating a mobile application on the Android platform which consumes a service provided by a Ruby on Rails server. Initially I had planned that a user would log in through this to track their progress and potentially have an achievement system much like that of the Khan Academy and other platforms like the Xbox 360. This was intended to increase the frequency of application uses and encourage the engagement. But since then it was deemed that the users would already be sufficiently motivated to learn through the choice of adopting the subject.
I intend for the server to be open sourced at the end of the project. So that a community, and hopefully myself, can maintain it and begin to create content for a variety of subjects. So through adopting MVC hopefully the web client will be as functional as the mobile client, whilst also maintaining the ability to consume it on a mobile device for a large variety of subject areas. This will hopefully result in a branch of a pedagogy within mLearning.
WAGGGS have specific needs for their mobile application, so this is what will take a high priority to begin with. Provided I manage to stay on track I imagine that some segments may be useful to release to jump start development in the future. Specifically, I would like to allow the application to download certain materials for later consumption and store it locally on the device. In large areas of their target demographic.
I'm planning on implementing a RESTful HTTP service on the server. I have deadlines with regard to a mobile application to reach first. Theoretically, it is possible for there to be no need for a web service, and time constraints may lead to full adoption of a mobile platform. But this is not something I desire as I see mobile computing being just as much about web services as it is applications running on the hardware itself.
I hope to keep the blog up to date with any major headway I make. Currently my web server has implemented user authentication and password resets, but there is no way for a user to change this whilst logged in - I intend to add this at a later date as functionality is there.
The server itself is also the web client. As such, I'm implementing it all together. Thankfully with Ruby on Rails this has proven to be simple so far. I'm beginning with utilising Twitter's Bootstrap for my CSS styling. Though I may later change this or customise it specifically for WAGGGS. Though currently I don't see too much of an issue with it as it stands.
The Android application is currently full of hard coded values (with dynamic functionality), but I'm gradually learning about the basics of the platform. Once that is underway the back end should be fairly simple to make changes to to ensure that it is dynamic and queries a local SQLite Database. I also have no Android device. So all of this is being developed on an emulator at this current point in time. I would greatly appreciate donation of a device for development - it would hope that it would speed up the use of the application I'm developing. As great as a mouse is, it's no touch screen!
I've already put a lot of planning into it and design of the system. Though, admittedly, not the visual design of the applications. I'm excited at the prospect of working on the implementation of this project over the coming months. Provided I can get my head around the concepts I hope that my planning proves to be useful and correct. If all goes well I may pursue developing an application on another mobile platform; Windows Phone 7 - mainly as this is completely free and through the UK MSP scheme I should have a device to test on.