4. • Better Integration with our current native
app (by Straxis)
• Access Everywhere
• Supported on Android, iOS, Windows
Phone, and even Blackberry (mostly)!
• Faster changes/iterations
Why A Web App?
5. • HTML/CSS
• Media Queries
• PHP
• Mobile Connection Server
• Returns data as JSON
How Did We Do It?
6. A Quick Word on RWD
• RWD = Responsive Web Design
• Layouts that adapt to the device on
which they are being viewed
• This app is Responsive
• RWD is great; know when to use it
7. Why RWD?
• Support for Any Device
• Not just for phones.
• Next version will have better media
queries
8. • All of the pages are HTML
• No Javascript – Kept load times in
mind.
• Everything styled with CSS/CSS3
• Media Queries
• Very few images
HTML/CSS
9. • Used to talk to Mobile Connections Server
• Logging In
• Sending Requests
• Processing JSON
• JavaScript Object Notation
• Standard way to represent data
PHP
10. • PHP converts (decodes) this into an
associative array!
JSON Response
11. Mobile Connections Server
• Accessible via Web Interface
• As is all functionality
• Login done through .htaccess
• Supported by cURL
12. Mobile Connections Server
• Functionality supplied by server:
• Login/out
• View Grades
• View Daily Schedule
Wanted singular app experience, so a 2 nd student native app was a no go. Straxis was able to build a web view within the native app to bring up our webapp. Straxis only supports iOS/Android (phones). Our app can be accessed on any device that supports web browsing. Changing a native app could take up to 2 weeks (on iOS). We can test our changes and deploy them immediately.
Pioneered by Ethan Marcotte. See “Responsive Web Design” from A Book Apart Know when: Won’t start the native vs. web debate, but think about your constraints, and more importantly, your users. Didn’t want our Student Services restricted to only Android and iOS users.
- Saw a talk that stated, “Decide what devices you want to support.” There are over 5,000 screen resolutions on Android alone. There are now 4 different iOS devices. Do you really want to tie down your app to only certain devices?
- Assume the worst conditions when developing! Scott Jehl pointed out that not all users may have javascript enabled. Sometimes EDGE network is the fastest a user has. Don’t just assume they have they same set up as you!
Use cURL to send all requests, including login Everything done over https, passwords also encrpyted on out end.
Use cURL to send all requests, including login Everything done over https, passwords also encrpyted on out end.
All of these URLs return JSON that can be processed. The Student ID is returned from getUserInfo, as well as some other info, like Banner roles.
All of these URLs return JSON that can be processed. The Student ID is returned from getUserInfo, as well as some other info, like Banner roles.
This is how I get all information. The function accepts a URL, and the username and password, which are encrypted and stored in a session. I use cURL to authenticate, as the server requires HTTP Auth Check to see request failed. If it did let ‘ em know. Otherwise convert the JSON to an array and return it for processing.
Dev server down, so was unable to show an actual JSON -> Array sample. Best thing to do is just print array to see what it looks like (show function)
Ellucian is releasing it’s own homegrown mobile connection app with more web-ready functionality. Hopefully you won’t need to do a lot of the digging I did There should also be a lot of added functionality Since server is already JSON, my assumption is that I won’t need to rewrite a lot of what I did, but we will see!
Use cURL to send all requests, including login Everything done over https, passwords also encrpyted on out end.