- App is now compliant with Twitter REST API v1.1, user login is now mandatory for Twitter use.
- Rewritten how links and mentions are retrieved, making it much more accurate.
- Bug fixes, including a crash issue and touch behaviour.
- The current podcast and your Twitter credentials are roaming so they sync to your Windows 8 devices.
As you may have read before, my Cheap Ass Gamer app for Windows 8 broke a little while back, due to Twitter dropping support for their v1 API. Version v1.1 carries tighter restrictions that make downloading Twitter like an RSS feed basically impossible. Here are the main changes that make my implementation in the CAG app useless:
- Twitter requires all requests are authenticated. This means the user has to log in and give permission to use your app. It also means I need to now use OAuth which can be quite complicated for a newcomer.
- Support for JSON only. I used the XML file type as I was familiar with it, works great with LINQ and serialisation is easy. I’ve never used JSON before. Luckily I discovered JSON.NET which is fantastic and very helpful. Because of this change, I have to completely rewrite the way the app downloads tweets and saves then in the cache.
I’ve done some research and its been fun learning new ways to solve these problems. I’ve spent most of today writing new code for the app and hopefully version 1.3 will be ready soon. This version should improve the app’s experience as I’ve also squashed some bugs and will probably add roaming features so your credentials and current podcast info will be available across all your Windows 8 devices.
Check the blog for more updates soon.
UPDATE: If you’re interested in doing Twitter in your own app, this example is really, really useful.
Microsoft’s Build conference happened on Wednesday. I watched it, and it was great to see all the new features of Windows 8.1. I have yet to install the preview update as I am unsure of how stable it is or what it will delete. I’ve had a play around with it on a friend’s computer and I like what I see so far.
Currently (and very annoyingly), both of my apps (Kuler Touch and Cheap Ass Gamer) are not functioning properly due to Adobe and Twitter’s APIs changing. Adobe Kuler’s API is being rebuilt as their website has been updated a lot. I haven’t been able to debug the CAG app yet but currently the Twitter features are throwing errors.
I want to update the apps over the summer to fix these issues and add new Windows 8.1 features, such as:
- Tiles will need to be updated
- The search function is no longer accessed via the Charms bar, it will need to be in-app
- More responsive layouts for the new dynamic window sizes
I have no idea when this will be done as I have work and the third year project to get on with. Both apps are currently fairly useless without the APIs working.
There are quite a few bits of news about 8.1 app development that I haven’t seen being reported on. I suggest all developers check out the documentation on Microsoft’s website on what has changed and been added. There are new controls like the search box, menu flyouts, hubs, and app bar additions. Also the hyperlink element is back! That could be very useful for the Cheap Ass Gamer app. Take a look here and here.
Woke up this morning to find the CAG app had failed certification, aaaw :( The tester at Microsoft stated that ‘The app bar, and/or Windows Settings charm appear to be advertising to our reviewers’ and this picture was provided. To be fair, it is a very good report, telling me exactly what was wrong. All very good. I’m not too happy with the actual reason it failed though. I have a link to the Windows Phone version of the app on the charms bar, just to increase awareness that this app is also available in that platform. Advertising a Windows Phone app, a Microsoft product, is against their rules?
It’s an annoying setback. I will re-release the app without the link to Microsoft’s site. I will also update to version 1.1. I hope they don’t take issue with my ‘Buy Microsoft Products Now’ app :P
On Monday and Tuesday this week I was invited down to Modern Jago in London for Microsoft’s Appy Christmas event. It was a relaxed workshop to hear some presentations about Windows 8 app design and develop your own apps to submit to the Store. I had a lot of fun, even though it was tiring having early starts and we walked around London a lot on the second day. The event was well catered with lots of crisps, coke and pizza – and some alcamahol on Monday night :D
I suppose this post is also an announcement for the Cheap Ass Gamer app I’m making for Windows 8. This is the app I was developing at Appy Christmas. Development is going well, I made great progress at the event and also got to deploy it on a Microsoft Surface RT (the very first time I’ve seen one).
The Surface is a lovely device. It’s very well built and very nice to use. My only dislike is that the touch cover isn’t so good. It is made of a fabric which is not to my taste and typing without any feedback is weird and a bit disconcerting. The type cover (pictured above) is great, I would definitely recommend that one. The other thing is the power of the Surface RT is a bit low as it lagged on Jetpack Joyride.
Visual Studio has a fantastic feature where you can debug your app wirelessly from your computer to the Surface, including all the debugging tools you would get when running locally or in the simulator. It means you get real world tests of how your app would run on an ARM-based version of Windows and what the app feels like when using a touch screen. Remote debugging turned out to be very useful indeed as I found a bug where the whole app could be scaled and moved around with pinch to zoom. This is very bad as it takes away how the developer meant the app to be controlled. The bug would not have been found if I hadn’t used the app on the Surface.
Back to the app, it will hopefully have all the features of the Windows Phone version, including background audio for the podcasts. I have a much better feeling that this will be finished compared to Flashdeck; the app is simpler and more focused. I’ll try and keep the blog updated with my progress.
Below are some blurry photos of the rest of my trip to London. Big thanks to Microsoft for hosting the event :)
The Cheap Ass Gamer app has been published to the Windows Phone 7 marketplace and you can get it HERE!
It’s been great fun writing it and I’ve learnt so much about coding in Silverlight for Windows Phone. I have a better understanding of XML files and how to save and load them thanks to my friend Danny. I’ve also learned how to code in XAML, the UI Silverlight counterpart. I think Silverlight is a bit easier than XNA games as there is less happening at once; the user decides when code is executed, essentially. However I’ve found debugging easier in XNA as its more obvious in games where there is a bug as it’s all visualised. Silverlight on the phone makes use of threading and asynchronous execution which can mean perfectly valid code won’t work properly as the timing goes wrong and code can conflict with each other.
Now I must ask, what do I do next? I have completed 2/4 apps for the Windows Phone Rewards Programme. It finishes on the 12th August and I’d really like to get the full number of points available. I’ve thought of a few different ideas like:
- A Sweepy Cleaner expansion/sequel or a new game. Games take a long time to develop as there is much content that needs to be created and game systems that need to be created. I don’t think I’d have enough time to write a game unless it was a simple one.
- A notes app as the one I use now has lots of nice graphics but it’s not very quick or Metro-y. There are lots of note apps already on the store but I would like to give it a go myself.
- I also thought of reviving the Grandad Invasion game from Three Thing game as it had potential but fell short from lack of time and energy. I’m not sure what my other team mates would think of doing this though.
- Talking about reviving, maybe I could port the text-based adventure game I started months ago and never got very far with to WP7. I’m still not very good at coming up with a story but maybe I could turn it into something else.
If you have any suggestions I would be interested to hear them and I will continue to ponder the subject.
Time for an update to my previously mentioned Cheap Ass Gamer App. I’ve been doing a lot of work to the user interface of the app, as the functions have been implemented since my last blog post about the app and are working fine (I think). The UI is important in a app like this, as it’s all about accessing content easily.
After some feedback on the usefulness of the podcast controls, I decided to make a new page in the app specifically for the currently playing podcast. This page allows you to play, pause and stop the podcast. I have also made a progress bar that doubles as a scrub bar. The user can see the current position of the playing podcast and drag the bar around to move to different times. It’s been a bit challenging to make it work fluidly. I will make another blog post discussing how to make a audio progress bar, as there are no in-built events for the Background Audio Player for this. I’ll keep working on it and I hope to get it marketplace-ready soon :)
UPDATE [19/06/2012]: It’s been submitted, yay! I’ll write a new blog post when it’s available to download.
My first app on the Windows Phone Marketplace was the CAG RSS reader. I had little knowledge of mobile apps or Silverlight at the time so almost all of the app was code from MSDN. I was meaning to update the app to not be so plain and simple-featured. Now, over 3 months later, I have the ability to do this.
Cheap Ass Gamer, for those who don’t know, is a video game website that posts deals, publishes reviews, hosts forums and make a fantastic podcast. My updated app will continue to show an RSS feed of their podcasts but also allow you to view the twitter feeds of each podcast host. The podcast links directly to the music player to listen to the show instead of a web link to the file. I hope to have background music integration, so you can continue listening to the show once you switch apps or lock your phone like a regular music player – if I figure out how to :P
Working in Silverlight for Windows Phone has been a mostly new experience. I had understanding of how the phone part works from developing Sweepy Cleaner. XAML is very new to me and a bit difficult to get to grips with. The way it links with the C# code behind the UI is a good idea but strange and a bit weak. For example, sometimes cut & pasting a method to move it that is linked to the XAML events can cause it to lose the link and you’ll get loads of errors. The integration into Visual Studio also isn’t completely there yet, I miss being able to see tooltips over reserved words to see a description of the word and being able to link to definitions; the documentation isn’t all there.
Anyway, I’ll continue developing the app for now. If this is successful (i.e. the code works not commercially viable :P) I’ll probably update the Ashens RSS reader to incorporate twitter too. Look out for the update to the CAG app in the WP7 marketplace soon.