Just one sec...
Hey there! Sign in to join this conversationNew here? Join for free to post

UCAS Track iphone App!

Announcements Posted on
Take our short survey, £100 of Amazon vouchers to be won! 23-09-2016
    Offline

    1
    ReputationRep:
    If only iphones were around 3 years ago
    Offline

    1
    ReputationRep:
    now my friends can see me fail!
    Offline

    2
    ReputationRep:
    If you've got an iPhone, can't you just use the browser on there to use the Track site?
    Offline

    0
    ReputationRep:
    Hi,

    I'm the developer for this application and I would like to clear up a few queries regarding this.
    1. The application is 59p to help make back the £59pa that apple charge for developers
    2. The application is only acts as an overlay over the UCAS system and only communicates with UCAS


    The application was written using a piece of software called Titanium Mobile which allows you to use javascript to write iphone applications. To show you that the app only communicates with UCAS, I have attached the source code to the login page below.

    Regards,

    Toby Hughes

    Code:
    window.onload = function()
    {
    Titanium.App.Properties.setString('cPassword','');
    // create controls
    var textInstance = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cPersonalId'),width:
    150,keyboardType:Titanium.UI.KEYBOARD_PHONE_PAD});
    var textInstance2 = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cUsername'),width:
    150});
    var textInstance3 = Titanium.UI.createTextField({value:'',width:
    150,passwordMask:true,returnKeyType:Titanium.UI.RETURNKEY_GO});
    textInstance.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cPersonalId',tValue);
    });
    textInstance2.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cUsername',tValue);
    });
    textInstance3.addEventListener('change',function(e){
    var tValue = e.value;
    Titanium.App.Properties.setString('cPassword',tValue);
    });
    textInstance3.addEventListener('return',function(e){
    validateTicket();
    });
    
    var b = Titanium.UI.createButton({
        systemButton:Titanium.UI.iPhone.SystemButton.ADD
    });
    //Titanium.UI.currentWindow.setRightNavButton(b);
    
    b.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create data array
    var inputData = [
    {title:'ID', input:textInstance},
    {title:'Username', input:textInstance2},
    {title:'Password', input:textInstance3}
    ];
    
    // create grouped section
    var inputSection = Titanium.UI.iPhone.createGroupedSection({
    header:'UCAS Track Login',
    footer:'Please do not enter dashes',
    type:'input',
    data:inputData
    });
    
    var buttonData = [
        {title:'Login'}
    ];
    
    var buttonSection = Titanium.UI.iPhone.createGroupedSection({footer:'', header:'', type:'button',data:buttonData});
    buttonSection.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create grouped view and add section to view
    groupedView = Titanium.UI.iPhone.createGroupedView();
    groupedView.addSection(inputSection);
    groupedView.addSection(buttonSection);
    
    // add and show view
    Titanium.UI.currentWindow.addView(groupedView);
    Titanium.UI.currentWindow.showView(groupedView);
    
    function validateTicket(){
    var uPersonalId=Titanium.App.Properties.getString('cPersonalId');
    var uUsername=Titanium.App.Properties.getString('cUsername');
    var uPassword=Titanium.App.Properties.getString('cPassword');
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login"); 
    //a.show();
    
    //Now get the events data from the page
    var xhr = Titanium.Network.createHTTPClient();
    xhr.setRequestHeader("Cookie","");
    xhr.onload = function()
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage(xhr.getResponseHeader("Content-Location")); 
    //a.show();
    Titanium.App.Properties.setString('cCookie',xhr.getResponseHeader("Set-Cookie"));
    if (xhr.getResponseHeader("Content-Location")=="http://track.ucas.com:12508/ucastrackLogin.jsp")
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage('Invalid Login Details'); 
    a.show();
    }
    else
    {
    var win = Titanium.UI.createWindow({url: 'track.html'});
    win.open({animated:true});
    Titanium.UI.currentWindow.close();
    }
    };
    xhr.open("POST","https://track.ucas.com/ucastrack/login?ac=2427581&bc=1261433620877");
    xhr.send("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login");
    
    }
    
    	
    };
    Offline

    0
    ReputationRep:
    I forgot to mention the reason I actually wrote this app! Basically, I went through UCAS already and the 'track addiction' does not stop when everyone's got their offers. On results day it is possible to view your universities decisions (i.e. and if you've met there grades, or they let you in anyway) before you collect your results.

    Furthermore, I gave apple my UCAS details when they approved the application and they check stuff to make sure that the application only communicates with UCAS as part of their application procedure to prevent malware reaching the iPhone.
    Offline

    2
    ReputationRep:
    Need blackberry app.
    Offline

    3
    ReputationRep:
    If only I paid for apps. :daydreaming:
    Offline

    0
    (Original post by binky12)
    Hi,

    I'm the developer for this application and I would like to clear up a few queries regarding this.
    1. The application is 59p to help make back the £59pa that apple charge for developers
    2. The application is only acts as an overlay over the UCAS system and only communicates with UCAS


    The application was written using a piece of software called Titanium Mobile which allows you to use javascript to write iphone applications. To show you that the app only communicates with UCAS, I have attached the source code to the login page below.

    Regards,

    Toby Hughes

    Code:
    window.onload = function()
    {
    Titanium.App.Properties.setString('cPassword','');
    // create controls
    var textInstance = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cPersonalId'),width:
    150,keyboardType:Titanium.UI.KEYBOARD_PHONE_PAD});
    var textInstance2 = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cUsername'),width:
    150});
    var textInstance3 = Titanium.UI.createTextField({value:'',width:
    150,passwordMask:true,returnKeyType:Titanium.UI.RETURNKEY_GO});
    textInstance.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cPersonalId',tValue);
    });
    textInstance2.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cUsername',tValue);
    });
    textInstance3.addEventListener('change',function(e){
    var tValue = e.value;
    Titanium.App.Properties.setString('cPassword',tValue);
    });
    textInstance3.addEventListener('return',function(e){
    validateTicket();
    });
    
    var b = Titanium.UI.createButton({
        systemButton:Titanium.UI.iPhone.SystemButton.ADD
    });
    //Titanium.UI.currentWindow.setRightNavButton(b);
    
    b.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create data array
    var inputData = [
    {title:'ID', input:textInstance},
    {title:'Username', input:textInstance2},
    {title:'Password', input:textInstance3}
    ];
    
    // create grouped section
    var inputSection = Titanium.UI.iPhone.createGroupedSection({
    header:'UCAS Track Login',
    footer:'Please do not enter dashes',
    type:'input',
    data:inputData
    });
    
    var buttonData = [
        {title:'Login'}
    ];
    
    var buttonSection = Titanium.UI.iPhone.createGroupedSection({footer:'', header:'', type:'button',data:buttonData});
    buttonSection.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create grouped view and add section to view
    groupedView = Titanium.UI.iPhone.createGroupedView();
    groupedView.addSection(inputSection);
    groupedView.addSection(buttonSection);
    
    // add and show view
    Titanium.UI.currentWindow.addView(groupedView);
    Titanium.UI.currentWindow.showView(groupedView);
    
    function validateTicket(){
    var uPersonalId=Titanium.App.Properties.getString('cPersonalId');
    var uUsername=Titanium.App.Properties.getString('cUsername');
    var uPassword=Titanium.App.Properties.getString('cPassword');
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login"); 
    //a.show();
    
    //Now get the events data from the page
    var xhr = Titanium.Network.createHTTPClient();
    xhr.setRequestHeader("Cookie","");
    xhr.onload = function()
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage(xhr.getResponseHeader("Content-Location")); 
    //a.show();
    Titanium.App.Properties.setString('cCookie',xhr.getResponseHeader("Set-Cookie"));
    if (xhr.getResponseHeader("Content-Location")=="http://track.ucas.com:12508/ucastrackLogin.jsp")
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage('Invalid Login Details'); 
    a.show();
    }
    else
    {
    var win = Titanium.UI.createWindow({url: 'track.html'});
    win.open({animated:true});
    Titanium.UI.currentWindow.close();
    }
    };
    xhr.open("POST","https://track.ucas.com/ucastrack/login?ac=2427581&bc=1261433620877");
    xhr.send("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login");
    
    }
    
    	
    };
    (directed at you being the developer, not a person forwarding it on behalf)

    Good to know. You must accept that some people will be reluctant to put their details on an 'unofficial app'. I am an iPhone developer myself and absolutely agree with you - you need to make back the money for the SDK and you cant please everyone.

    I am sure this post of yours will calm some people down, but I am afraid many wont understand the code. Perhaps your best bet is to herald the sepulcher culture of apple with the security of its apps.

    I congratulate you for this app and all the effort you put into it.
    Offline

    2
    ReputationRep:
    Thank god this wasn't available when I was applying.

    Another point, 59p, you'll probably save that much or more by not turning your computer on and off if you check as often as I did.
    Offline

    0
    ReputationRep:
    Just got this app - and paid 59p. It is worth the money! It looks professional and is simple to use. A copycat free app probs wouldn't look as good or feel that safe. Even if I don't track my UCAS all the time, I can review my offers etc etc. So looks good to me. And yeah, Apple wouldn't have accepted it if it was dodgy. Such a good idea, wish I'd thought of it !!

    PS. I was just reading people's comments about the money and its 59p. Thats not even £1!!! You can't get anything for 59p anymore... You guys are so stingy!!!
    Offline

    3
    ReputationRep:
    (Original post by becbec :))
    I've been so paranoid all night now. Especially when my friend said he wouldn't be surprised if someone logged on and withdrew my application.

    Thinking I may ask UCAS to change my details on Monday
    What!? :eyeball:
    Why would anybody log into your account and withdraw your offers :lolwut: I think you're more likely to be struck by lightning. Also if it did - by some miracle - happen, it wouldn't be anything that UCAS couldn't sort out if you rang them up soon afterwards.
    Offline

    0
    ReputationRep:
    Any more people got opinions on this? Getting iPhone tomorrow!
    Offline

    1
    ReputationRep:
    (Original post by binky12)
    Hi,

    I'm the developer for this application and I would like to clear up a few queries regarding this.
    1. The application is 59p to help make back the £59pa that apple charge for developers
    2. The application is only acts as an overlay over the UCAS system and only communicates with UCAS


    The application was written using a piece of software called Titanium Mobile which allows you to use javascript to write iphone applications. To show you that the app only communicates with UCAS, I have attached the source code to the login page below.

    Regards,

    Toby Hughes

    Code:
    window.onload = function()
    {
    Titanium.App.Properties.setString('cPassword','');
    // create controls
    var textInstance = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cPersonalId'),width:
    150,keyboardType:Titanium.UI.KEYBOARD_PHONE_PAD});
    var textInstance2 = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cUsername'),width:
    150});
    var textInstance3 = Titanium.UI.createTextField({value:'',width:
    150,passwordMask:true,returnKeyType:Titanium.UI.RETURNKEY_GO});
    textInstance.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cPersonalId',tValue);
    });
    textInstance2.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cUsername',tValue);
    });
    textInstance3.addEventListener('change',function(e){
    var tValue = e.value;
    Titanium.App.Properties.setString('cPassword',tValue);
    });
    textInstance3.addEventListener('return',function(e){
    validateTicket();
    });
    
    var b = Titanium.UI.createButton({
        systemButton:Titanium.UI.iPhone.SystemButton.ADD
    });
    //Titanium.UI.currentWindow.setRightNavButton(b);
    
    b.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create data array
    var inputData = [
    {title:'ID', input:textInstance},
    {title:'Username', input:textInstance2},
    {title:'Password', input:textInstance3}
    ];
    
    // create grouped section
    var inputSection = Titanium.UI.iPhone.createGroupedSection({
    header:'UCAS Track Login',
    footer:'Please do not enter dashes',
    type:'input',
    data:inputData
    });
    
    var buttonData = [
        {title:'Login'}
    ];
    
    var buttonSection = Titanium.UI.iPhone.createGroupedSection({footer:'', header:'', type:'button',data:buttonData});
    buttonSection.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create grouped view and add section to view
    groupedView = Titanium.UI.iPhone.createGroupedView();
    groupedView.addSection(inputSection);
    groupedView.addSection(buttonSection);
    
    // add and show view
    Titanium.UI.currentWindow.addView(groupedView);
    Titanium.UI.currentWindow.showView(groupedView);
    
    function validateTicket(){
    var uPersonalId=Titanium.App.Properties.getString('cPersonalId');
    var uUsername=Titanium.App.Properties.getString('cUsername');
    var uPassword=Titanium.App.Properties.getString('cPassword');
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login"); 
    //a.show();
    
    //Now get the events data from the page
    var xhr = Titanium.Network.createHTTPClient();
    xhr.setRequestHeader("Cookie","");
    xhr.onload = function()
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage(xhr.getResponseHeader("Content-Location")); 
    //a.show();
    Titanium.App.Properties.setString('cCookie',xhr.getResponseHeader("Set-Cookie"));
    if (xhr.getResponseHeader("Content-Location")=="http://track.ucas.com:12508/ucastrackLogin.jsp")
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage('Invalid Login Details'); 
    a.show();
    }
    else
    {
    var win = Titanium.UI.createWindow({url: 'track.html'});
    win.open({animated:true});
    Titanium.UI.currentWindow.close();
    }
    };
    xhr.open("POST","https://track.ucas.com/ucastrack/login?ac=2427581&bc=1261433620877");
    xhr.send("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login");
    
    }
    
    	
    };
    wow that's cool
    do you want to teach me how to make iphone apps?
    Offline

    3
    ReputationRep:
    (Original post by binky12)
    Hi,

    I'm the developer for this application and I would like to clear up a few queries regarding this.
    1. The application is 59p to help make back the £59pa that apple charge for developers
    2. The application is only acts as an overlay over the UCAS system and only communicates with UCAS


    The application was written using a piece of software called Titanium Mobile which allows you to use javascript to write iphone applications. To show you that the app only communicates with UCAS, I have attached the source code to the login page below.

    Regards,

    Toby Hughes

    Code:
    window.onload = function()
    {
    Titanium.App.Properties.setString('cPassword','');
    // create controls
    var textInstance = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cPersonalId'),width:
    150,keyboardType:Titanium.UI.KEYBOARD_PHONE_PAD});
    var textInstance2 = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cUsername'),width:
    150});
    var textInstance3 = Titanium.UI.createTextField({value:'',width:
    150,passwordMask:true,returnKeyType:Titanium.UI.RETURNKEY_GO});
    textInstance.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cPersonalId',tValue);
    });
    textInstance2.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cUsername',tValue);
    });
    textInstance3.addEventListener('change',function(e){
    var tValue = e.value;
    Titanium.App.Properties.setString('cPassword',tValue);
    });
    textInstance3.addEventListener('return',function(e){
    validateTicket();
    });
    
    var b = Titanium.UI.createButton({
        systemButton:Titanium.UI.iPhone.SystemButton.ADD
    });
    //Titanium.UI.currentWindow.setRightNavButton(b);
    
    b.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create data array
    var inputData = [
    {title:'ID', input:textInstance},
    {title:'Username', input:textInstance2},
    {title:'Password', input:textInstance3}
    ];
    
    // create grouped section
    var inputSection = Titanium.UI.iPhone.createGroupedSection({
    header:'UCAS Track Login',
    footer:'Please do not enter dashes',
    type:'input',
    data:inputData
    });
    
    var buttonData = [
        {title:'Login'}
    ];
    
    var buttonSection = Titanium.UI.iPhone.createGroupedSection({footer:'', header:'', type:'button',data:buttonData});
    buttonSection.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create grouped view and add section to view
    groupedView = Titanium.UI.iPhone.createGroupedView();
    groupedView.addSection(inputSection);
    groupedView.addSection(buttonSection);
    
    // add and show view
    Titanium.UI.currentWindow.addView(groupedView);
    Titanium.UI.currentWindow.showView(groupedView);
    
    function validateTicket(){
    var uPersonalId=Titanium.App.Properties.getString('cPersonalId');
    var uUsername=Titanium.App.Properties.getString('cUsername');
    var uPassword=Titanium.App.Properties.getString('cPassword');
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login"); 
    //a.show();
    
    //Now get the events data from the page
    var xhr = Titanium.Network.createHTTPClient();
    xhr.setRequestHeader("Cookie","");
    xhr.onload = function()
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage(xhr.getResponseHeader("Content-Location")); 
    //a.show();
    Titanium.App.Properties.setString('cCookie',xhr.getResponseHeader("Set-Cookie"));
    if (xhr.getResponseHeader("Content-Location")=="http://track.ucas.com:12508/ucastrackLogin.jsp")
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage('Invalid Login Details'); 
    a.show();
    }
    else
    {
    var win = Titanium.UI.createWindow({url: 'track.html'});
    win.open({animated:true});
    Titanium.UI.currentWindow.close();
    }
    };
    xhr.open("POST","https://track.ucas.com/ucastrack/login?ac=2427581&bc=1261433620877");
    xhr.send("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login");
    
    }
    
    	
    };
    why does it not work anymore then? rip off
    Offline

    3
    ReputationRep:
    (Original post by thecdon)
    why does it not work anymore then? rip off
    Mine works fine!
    Offline

    1
    ReputationRep:
    Oh, this is brilliant. :laugh:
    Offline

    2
    ReputationRep:
    Guys just use the official UCAS app now.
    Offline

    3
    ReputationRep:
    you need to have updated to iOS4
    Offline

    1
    ReputationRep:
    (Original post by thecdon)
    why does it not work anymore then? rip off
    i guess it isn't working because UCAS are updating everyone's offers and track on the web is froze. It wasn't working before the scottish results either.
    Offline

    3
    ReputationRep:
    (Original post by tarwe)
    i guess it isn't working because UCAS are updating everyone's offers and track on the web is froze. It wasn't working before the scottish results either.
    nah this happened about 2 months ago to both me and my friend. The app wouldn't load, just crashed and then like the next day it was deleted from our iphones!

    My iphones broken now anyways so im using a rubbish nokia! will just have to use the ucas track on a pc like normal people
 
 
 
Write a reply…

Reply

Submit reply

Register

Thanks for posting! You just need to create an account in order to submit the post
  1. this can't be left blank
    that username has been taken, please choose another Forgotten your password?
  2. this can't be left blank
    this email is already registered. Forgotten your password?
  3. this can't be left blank

    6 characters or longer with both numbers and letters is safer

  4. this can't be left empty
    your full birthday is required
  1. Oops, you need to agree to our Ts&Cs to register
  2. Slide to join now Processing…

Updated: August 17, 2010
TSR Support Team

We have a brilliant team of more than 60 Support Team members looking after discussions on The Student Room, helping to make it a fun, safe and useful place to hang out.

Poll
Who is going to win Bake Off?
Applying to uni

All the essentials

The adventure begins mug

Student life: what to expect

What it's really like going to uni

Graduates celebrate

How to write a good personal statement

Expert PS advice from the people who will read it

Uni match

Uni match

Can't decide where to apply? Our tool will help you find the perfect course

Two students working together

A-Z of universities

Read our guides to unis and colleges from around the UK

A student working on a computer

Personal statement help

Use our tool to get your ideal PS quickly!

Hands typing

Degrees without fees

Discover more about degree-level apprenticeships.

A student looking down a microscope

Planning open days

Find upcoming open days and get advice on preparing.

Help out other students

These questions still need an answer

Groups associated with this forum:

View associated groups

The Student Room, Get Revising and Marked by Teachers are trading names of The Student Room Group Ltd.

Register Number: 04666380 (England and Wales), VAT No. 806 8067 22 Registered Office: International House, Queens Road, Brighton, BN1 3XE

Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.