Need a small server capable of hosting databases?

June 16, 2013

In my last post, I talked about using PHP and if you didn’t have access to a server that allowed PHP to run, what could you do?  For the more technically minded out there, you may be surprised that this is even an issue.  The sad truth is that lots of free websites don’t offer PHP and quite a few schools have the servers locked down through official policy and end of argument.

Managed support does not simply allow access to our servers

Use all the memes!

There is hope

A year or two ago, our IT support (not a managed service) started buying QNAP Tera-stations.   Ultra-cool name aside, these network storage devices are great for back-ups.  We use them to hold our photo archives and video project construction files.  Some of you would be amazed* at how frequently I get asked to make a change to a five year-old video.   Keeping the source files makes that a lot easier.

Technology changes all the time, so rather than recommend a specific model, I’ll talk about the features available on even the basic, home model.  In the software section, this is just some of the features they offer:

QNAP TS-21

One of QNAP’s home range

  • iTunes server
  • Music server
  • Photo Station
  • Video Station
  • TV Station
  • FTP
  • Auto-back up
  • Print server
  • Anti-virus

And most importantly, for this post, it can also act as web server with PHP support and MySQL database support along with phpMyAdmin (which is an easy database management system)

While not wanting to endorse a particular product or even model, a quick Amazon search shows that these products are not bank-breaking (we’re talking a couple of hundred pounds here).

Uses

I think these products have been loaded with features to appeal to the geek-at-home.  I’ve quite tempted to get one for myself to house all my media.

When discussing them recently with an ICT teacher from another school, he pointed out it would be a huge benefit in his classroom.  He’d be able to allow his students to program webpages to interact with databases without risking the security of the school’s servers.

At Cramlington, we’re seriously discussing# the possibility of loading up one of these with our interactive webpages and offering it to other schools.  Another school could take the QNAP, plug it into their network, change a couple of settings and be running things like:

  • Drag-and-drop seating plans
  • Custom timetables
  • Class blogs
  • Rewards system
  • Random name selector
  • etc…

 

A nice, simple solution with a huge range of possibilities.   Damn, I should totally get sponsorship before hawking products for free.

 

 

* I suspect those of you in a support role would not be that surprised. 🙂

# Don’t get too excited just yet.  We’re discussing it properly and going about trials sensibly. Watch this space.


Making Apps: Redux – part 4 (iPhone Apps)

March 26, 2012

This is part 4 of my three-part series, Making Apps.  Redux, because it sounds good.  Revisit is possibly more accurate and at least I didn’t have to look up what it meant.

In the series, I tried to explain the possibilities in making apps for yourself.  I didn’t go into much technical detail, mainly because that would take about a book’s worth of text.  Funnily enough, quite a few people have done that already.  I mainly talked about Android apps, because that’s what I know.  The massive issue with developing Apple iOS apps is that you need access to a Mac.

Why a Mac?

Apple's logo

The preferred iOS creation software is XCode, which only runs on Mac and the security requirements of creating and saving development and distribution certificates are really only possible on a Mac.  Finally, uploading apps to the App Store for approval can also only be accomplished via Mac.  In short, you need a Mac and the length of time you will spend on one, even if you build apps the way I have done, means you can’t just borrow your friend’s Mac Book for an hour.

Getting started

In my case, having been a PC-user for the longest time, since one disappointing 6-month period back in 1999, I wasn’t about to swap my Windows 7 laptop for a Mac Book.  I also wasn’t about to advise purchasing a new computer just because it would be kinda cool to make iPhone apps.

At the time of writing, I have just submitted my first app to iTunes Connect and it’s sitting there awaiting approval (see: update).  I built this app in  Adobe Flash Professional CS5.  I say built, but really it was a case of copy-and-pasting the frames from the existing Android App.  Flash’s iOS template took care of the rest, although I am getting ahead of myself.

Firstly, I had to apply for an iOS Developer account – $99 per year.

iOS Development Centre

$99 just to be able to log in

Next, we had to wait for Apple to contact the school to verify our existence and the fact we wanted to make apps – 6 weeks.

At this point last summer, we discovered the Mac requirements, so everything went on hold.  Then I wrote the blog entries about making Android apps, which got me thinking:  If Flash CS5 is allowed to publish iOS apps and all I need is the certificate to do so, how hard can this be?  All I really needed is access to a Mac…

The school had dabbled with Macs and we had a room of them not networked (they don’t play well with Windows servers).  I suggested that I take one of the Mac Minis home, allow it to use my Wi-Fi and see how easy it is to create the certificates that way.

Certifiable

There’s easy, straightforward and then there’s bodge upon bodge!  Many, many hours and countless forums later, I managed to create a P12 Development Certificate and Mobileprovision file and was able to publish the app using Flash and install it on my iPod Touch.

In order to create these certificates, you have to fill in a form on the iOS Development website.  Then you download the certificate file.  Then you import this certificate into Keychain Assistant.  Then you request something else from the Certificate Authority.  Then you download the mobile provisioning certificate.   Making sure at each step you enter the correct password, delete all old versions and have all the preferences checked.   I would like to talk you through each stage clearly, but it is so confusing that I can’t remember exactly what I did and no doubt will struggle to repeat the procedure correctly myself.

Once all of that is done, you hit publish and produce a development app for your personal device.  There is something very rewarding about making an app and seeing it on your device.  Something about it being made tangible.

Submitting to the App Store

Once you’ve tested your app – i.e., it doesn’t brick your iPod.  You can think about distributing it.  I’m not 100% sure Apple wants you to distribute apps, as their website which has been quite clear to up this point gets a little hazy.   Basically, look for iTunes Connect.  It’s sort of outside the iOS Development area.

iTunes Connect

Not to be confused with iTunes U, iTunes or Facetime

On this website, you fill out several pages, upload images and descriptions.  You will be asked for an SKU number, which turns out to be your own reference number for your app and you’ll also be asked for a lot of other things to.  Google will become your best friend here.

Once you have completed the forms to the best of your ability, you will need to generate Distribution certificates.  That crying you can hear was my spending another good few hours repeating certificate stuff again!

Once you’ve generated and published your app from Flash (or maybe your were daring and went straight to XCode) you will need to upload your .ipa file using Application Loader.  This handy little program is now bundled with XCode.   In order to install XCode you need to be running Snow Leopard.  In my case, that meant buying the upgrade DVD and waiting two weeks for delivery.

When you have upgraded, downloaded the upgrades to the upgrade, you are finally allowed to download XCode for Snow Leopard.   Once installed, you can close XCode and use Finder to locate the standalone Application Loader.

Application Loader icon

Application Loader aka "I had to download 1.5 Gb of XCode just to get this!"

Do you get the impression I think this entire process has been overly convoluted?

In conclusion

When I tell others of my experiences, I have found that iPhone, iPad and iPod Touch users view these steps with reassurance.  Each one said “It’s good to know they take the security seriously”.

And of course, Android devotees take my story as proof at how limited and controlling Apple is.

I think there’s truth in both views.  The hoop-jumping required to produce a final certificate is crazy.  Surely once you have logged into your Apple account and created a certificate there, what additional stages are needed?   It’s completely opposite to the self-signed certificate you create for Android.  Not to mention creating separate development and distribution certificates.

In terms of actually building and development, I still prefer Adobe AIR for Android.  Little features like being able to connect to your device and overwrite the app inside Flash make it a little easier to work in.   For iOS, you use iTunes to install/replace the app.

Ultimately the iPhone and iPad are massively prevalent and a lot of teachers have one or both.  I’m pleased that I’ve been able to produce an app for Apple devices and particularly pleased that the Adobe AS3 coding was able to be used without alteration for iOS.  I’m assuming that getting development and distribution certificates will become smoother as I do it more often.

Apple vs Android

I wanted an Apple vs Android image, but they are all quite mean really (read: funny) and didn't want to appear one-side.

I still maintain that there are more benefits to Android than Apple for a school:

  • Android Apps can be hosted directly on our VLE.  So apps which use internal school systems do not have to be published to Google Play
  • iOS Apps can be hosted directly, but are limited to 100 devices under Apple’s Ad Hoc distribution system
  • Android Apps appear in Google Play almost instantly as they do not undergo human-based testing before release.  Some would point out that this is actually a good thing that Apple does, but it does delay distribution and their decisions have been shown to be arbitrary.

Finally if you are considering building your own apps, give serious consideration to Adobe Flash.  Building in Adobe Flash produces a SWF file, which can be used directly on our intranet, so we get an “emulator” each time we make an app.

UPDATE:

On 2nd April 2012, Apple approved my first iOS app, Question Dice and made it available on the App Store.  It’s free to use.  You can access it here, Question Dice


Making Apps – Part 3 (publishing)

January 28, 2012

In this ever increasing series, we now come to the fun part.  All the hard work is done.  You’ve coded in Adobe AIR, tested on your computer…now we wrap it up all pretty.

A particularly nice feature of Flash Professional’s AIR package is the publishing settings.  You specify a name for your app, whether you want to fix it as landscape, portrait or allow the phone to flip it depending between the two.  (There’s an example template included which gives you the code to access the accelerometer, so you can have your app flip correctly).

Adobe AIR publishing settings

Making an app requires a certficate containing your details.  This certificate is password protected and bundled with the app.  I’m not 100% sure what the point of this certificate is, but the wizard makes it very easy to create.  Just don’t forget your password, which you need to publish the app!

You get to include icons (but don’t worry, they are png files, you don’t need a .ico program).  Part of me always squees at these finishing touches.  I get to pretend I’m all professional. 🙂

You also get to specify what you need your app to access in order to work.  This allows users to decide if they want to install your app.  If your app plays sounds, and want them to automatically silence if a cell is recieved, you can check a permission to read phone state.  Use with caution!  If you’re the maker of a widely successful vegetation vs undead game and you have this particular permission setting you block all non-phone tablet users from playing.

Plants vs Zombies - only works if you have a phone

Why??????????

Building apps for iOS is very similar up to this point but here we must part gentle traveller, as I can guide you no further.   As mentioned in Part 1, the certificate required to make an iOS app can only be generated by a Mac.  Surely this is going to change at some point, but until then…

Testing Times

This bit should probably be a bit higher as let’s face it, if you’re making an app you’ll probably have been testing it all along.  Just in case you didn’t know, plug your phone (or Samsung Galaxy Tab) into a handy USB socket (preferably one attached to the computer you’re using).  Then go to Settings > Applications > Development and check USB Debugging.

Android Testing

And suddenly, your phone becomes the ultimate in user testing environments.   In theory, if Adobe AIR will run on a phone, anything you get working on your phone will work in exactly the same way on any phone.

The final step before unleashing your app upon the world is editing the manifest.  When you press publish in Flash, the program takes your flash file and wraps it up with the png icons you made, that certificate we talked about and an XML file generated in the publishing settings.

This XML file contains publishing data such as the permissions, the file name etc…  It also contains the manifest.  If you want your users to be able to move your app onto their SD Card thereby saving room on their phone’s internal memory, you need to edit this bit before you press publish – after you have finished editing the publishing settings otherwise Flash will overwrite your changes.

Open the XML file in Notepad++ or similar and scroll down until you find:

<android>    

<manifestAdditions>     

<![CDATA[<manifest>

</manifest>]]>

</manifestAdditions>  

</android>

Now change the <![CDATA[manifest> bit to:

<![CDATA[<manifest android:installLocation=”auto”>

Which gives users the ability to move your app.

Publishing (finally!)

Sorry, it’s taken a while to get here.  Basically, just hit “Publish”.   Your app gets wrapped up as a .APK file.  All ready for deployment. 

The beauty of Android is that if you’re making a very specific app that the wider world doesn’t need to know about, you can distribute this APK file like any other file.  Uploading it to your VLE or website allows users to download and install directly.   They do need to ensure to have Unknown Sources checked, but that’s about it.

Allow apps from Unknown Sources in Android

The Android Market

Where’s the fun in keeping apps all to yourself.  Publishing to the Android Market is incredibly straightforward.  You have to spend a one-off $25 to get a Developer account.  There is no approval time, no one phones to check you exist or anything like that.  Once your email is verified, you can upload your APK file and fill out all the details.   The Market takes you through each section (you have to provide screenshots and promotional images etc…)

At the time of writing, I’ve only uploaded our Question Dice, but plan to upload more when the time allows.  Making the video demonstrating its use was fun, but a word of warning, make sure to replace the audio before uploading to YouTube.  I had to hurriedly delete and republish.  

Sit back and watch

The statistics supplied by the Market are fascinating reading: 

  • 30% of the users are on Gingerbread, one on Honeycomb and the rest on Froyo. 
  • The devices range from the Galaxy Tabs to phones of every description to a host of other tablets. 
  • Outside of the UK, we have three users in the USA and one in Australia.
  • We had a user in Spain, but they’ve uninstalled it 😦  I wonder why?

In summary

  • Making apps can be as simple or as complicated as you like.
  • Adobe Flash Professional allows you to make apps in Adobe AIR.
  • Ignore all the “professional” AS3 coders who pretend AS3 is highly complex.  
  • Think about permissions and remember the install location setting for the manifest.
  • Dont swear while filming your demo video.

As with everything I write about on this blog, things are often easier than they appear to be.  The hard part is finding good tutorials and websites and people willing to help.  If nothing else, I’ve hopefully provided a summary of all the bits you need to get started.


Google’s App Inventor

September 8, 2010

About two weeks ago my App Inventor account from Google came through.   I was placed in the tantalising position of being able to quickly and easily develop my own Apps!

Of course, nothing is ever that easy.  Installing all the needed Java things takes time, although it is far, far less confusing that installing everything you need for Android’s proper SDK.

Working through the tutorials is fun too.   You can very quickly press a picture of a cat and get your phone to make a purring noise

In a startling moment of Apple love, the media in general recoiled at the idea of App Inventor, predicting a wave of naff Apps.  Fortunately, when reading a little more on the App Inventor website, you discover that Apps made using it can’t be distributed via the App Market.   Google promise they’re working on it, but I would hope it’s not a priority.

It’s fun and easy to use and anyone out there with an Android phone can sign up.  Like I said above, compared to the official SDK, installing is a LOT easier.  The SDK requires so many different third-party programs. 

Overall I’m glad I have the App Inventor, but mainly because it’s spurred me onto setting up the SDK.   Now, I’m not promising any Apps overnight, but give me a couple of months and I might be able to produce an App that makes your phone bark when you press on a picture of a doggie.


Edirol LVS-400 Video Switcher

August 6, 2010

The hardest part about designing a TV studio was finding the right mix of technology to ease-of-use.   Before I ordered anything, I spent a lot of time visiting other schools and looking at their solutions.   The problem I frequently saw was that a school would go to a professional company who would provide the exact right kit any small, professional TV studio would need.

The trouble with this is that schools don’t need the same kit as a professional TV studio.  We don’t need £4500 cameras, or high-end editing systems.  We don’t need High Defintion video.  Not when we’re going to compress it to 640 pixels wide in order to share it on a VLE or stream it into every classroom.  

Professional studio companies will happily supply this level of equipment because it gives the students access to the same kit they would use if they get jobs in the media.  That’s the excuse…sorry reason.  But this stuff is sooooo complex you have to train the students how to use it, and let’s face it, it’s also really, really expensive.

The Newtek Tricaster is a fabulous video switcher and can produce incredibly clever greenscreens, but it’s cheapest educational price is nearly £8,000!   That’s £1,000 more than the entire studio I fitted!

Fortunately, during my research…umm…”quest”*…I visited Sunderland’s City Learning Centre and was introduced to the Edirol LVS-400

Edirol LVS-400

This Video Switcher is a hardware “box” that allows you to change between 4 different video inputs and greenscreen/bluescreen one video source (such as your camera) over the top of another (such as a computer running powerpoint) .  And it does it for the amazingly cheap price of £786.  Yeah, I know it doesn’t sound that cheap but it is one tenth the cost of the Tricaster!

The real benefit of the Edirol though is training time is two minutes – 60 seconds of which involve telling the children not to idly flick the lever up and down.  I’ve given up on trying to stop the teaching staff.

Rather than spending your time training students in equipment you yourself will barely know how to use, the Edirol provides an easy greenscreen solution allowing you to spend your time encouraging the shy kids, getting others to spend more time on the presentations and generally just enjoying the experience.

* Which wasn’t just an excuse to spend sometime out of school – just like you reading this blog isn’t just a bit of distraction during work 🙂 )


iPad

July 18, 2010

It’s Sunday morning and I’m sitting here with an iPad.  It’s not mine, Cramlington decided we should get one as let’s face it, the buzz surrounding them could mean they become the next big thing in education.Apple's iPadGetting a chance to play with it this weekend has been “interesting”.   I’m not sure where it fits into my ICT use.   If I want to check out my favourite websites, my mobile phone (an HTC Desire – Android smartphone)  can view those sites easily.   The size and weight of the iPad makes it uncomfortable to hold and operate.  And if I want to do more complex tasks, my laptop takes care of those. 

Ultimately for me, the biggest issue with the iPad is the limitations of the browser.   The lack of a Flash player aside, I found plenty of other websites it just didn’t handle particularly well.  I had planned to write this post on the iPad this morning; in much the same way as I used my phone to post on one occasion.  Unfortunately, I wasn’t able to using iPad’s Safari.   The software was so limited it could not interact with the non-standard text box.*

At this point, I suddenly realised what the iPad is.   It’s an App-using tool, not a mini-laptop.  Rather than using the preinstalled programs if I want to accomplish something, “there’s an App for that”.    In fairness, that’s not much different from the PC experience.

Like netbooks before it, it’s very easy to expect a higher capability than the device can deliver.  Is it my fault or Apple’s that I made this assumption?  Given the price tag (£365 + VAT for the cheapest option) I think it’s a little of both.  

My conclusion then?  That will have to wait until I’ve installed some Apps.  Given that other school staff desperate to get their hands on it, my conclusion might be some time.   So for now, I’ll leave you with this thought:   What good is a browser that cannot view Flash?  Especially that 90% of educational resources are made using Flash.


* If I had wanted I could have installed the WordPress App and written the blog that way.  I haven’t, because it’s a shared resource and in order to install Apps, you have to register with Apple.  I’ll do that Monday with the school’s credit card.


Nintendo Wii

June 30, 2010

Have you thought about getting a Wii for your classroom?

Nintendo Wii

I know one the face of it it may seem daft, but think about it;   Nintendo Wii’s come with a web browser, are easy to connect to the internet and can play flash files.

For £140, they are about a third of the price of a desktop or laptop computer, have a wireless controller and there are dozens of websites out there offering flash games designed to be played on a Wii.

Also, the Wii-motes are cheap wireless, gyro-mice.  A gyromouse is a great way to move away fro mthe whiteboard and teach from any where in the classroom, they can be used in mid-air or on a table like a normal mouse, but they cost £80 each!  The Wii-mote can be connected to your PC via bluetooth and operate in exactly the same way.  They  only cost £35 and your kids already know how to use them.

One final thought, one of our Modern Foreign Languages teachers buy Spanish games when she’s on holiday.  They are the same games as can be bought in this country, but in Spanish.  During lessons her students get the chance to play these games, but have to translate as they go along.  That’s a clever bit of immersion.