Category Archives: TOS

CS401 Learning and Progress Second Task cont.

This week I continued to try and get more information on Guided Access and Kiosk Pro. Contact people at Apple and other places that use iPad kiosks.  Unfortunately for the most part all I learned is that there is a lot more unhelpful and/or computer illiterate people out there then I had thought.

All in all I did not get any useful information.  The people at apple could not give any useful advice, if I asked them about the product they pretty much just read me to advertisement or online summery of the program verbatim.  and when asking for opinion I got either no answer or just directed to look at their online site and pick what would work best for me.

Talking with places with kiosks did little good.  I found most either uninterested in answering my questions or they simple didn’t know the answer.  Seems one common approach is to hire someone else to set them up and never ask how they work or look at them again unless they shut down.. and then they just go out and hire people to get them working again.  So without any good reactions or suggestions from else where it is left up to WAM on if they want the free option of guided access or the features that kiosk pro provides.

Assuming that this snow storm doesn’t get any worse and we do have class tomorrow I am hoping that we might be able to get an answer to this question in class.  If class is canceled I will ask the professor if I should ask our contact at WAM which would be preferred or if we should put the question off till later.  I don’t think it will greatly effect our project at this time which is decided.  Not till the later stages should it have a big effect, though it would be nice to start testing out whichever method is chosen.

From the blog murrayandrewt » cs-wsu by murrayandrewt and used with permission of the author. All other rights reserved by the author.

Puzzle Demo continued

This week we continued to work on the puzzle demo that we will be showing the class and Tim from the Worcester Art Museum tomorrow. We started to go back to the code and clean it up a bit. I also started to look at other apps and how they are designed and what neat features they have that we may want to incorporate. One thing I found was how the image was in the background of the puzzle so you could see what the puzzle would look like when it was finished. We thought this would be something cool to add. That is one of the things we will work on in the coming weeks.

We had a chat with the class on Monday and one of the tasks I was asked to do was to email Tim and see if we could get the Jpeg of what the puzzle is going to be using. He has emailed us back, but we haven’t received the images yet. Hopefully Monday we will be able to get those and start using the right images. We also need to know what colors he would like the app to be so we can implement that.

So far we are progressing at a good rate. I am interested to see what the final app will look like. Still lots to do but it’s coming along nicely.

From the blog klentblog » cswsu by klent22 and used with permission of the author. All other rights reserved by the author.

CS401 Learning and Progress Second Task

My post is late this week due to several unfortunate circumstances and some poor timing on my own part.  This also prevented me from joining in at the irc chat meeting this week on Monday.

For my research, first found that there is no issue with the sleep mode on iPad as it can be disabled through normal settings.  So my time this week was spent searching for alternatives to kiosk pro that would allow us to make our program into an app instead of leaving it as a website.  I found that the only free and effective alternative is actually already built into ios6.  It’s called Guided Access.

It was designed more to help those with learning disabilities stay focused on task but it will work for what we need if very minimally.  It doesn’t disabled the hardware buttons as well as Kiosk Pro but with a kiosk enclosure that is not an issue.  It will keep the currently running app from being closed, and it can be used to disable certain parts of the touch screen.  So if menus or address bar can’t be removed they can be made unusable.

The down part is that this is all that guided access does.  It has no other functionality to it.  It is really just additional settings on the iPad itself.  So on the good side is that it will give us the minimum of what we need to have the kiosk stations and it allows us to use our program as an app.

The downside from a customer point is that it does not revert to the main page if idle, so new customers will find the app at where ever the last person left it.  I am unsure if this can be resolved through our own code or not.  From the clients view it doesn’t have any of the convenience functions.  The settings can’t be changed remotely, updates will have to be done to each iPad individually.  And the guided access doesn’t save settings so each time it is turned off or closed down, the settings will have to be redone.  There is no power saving options so they will have to keep them on all the time or shut them down manually each night and set them back up in the morning.

So Guided access will work but it will also be more work to run.  Depending on WAM’s plans on how to use it these drawbacks may be minor and acceptable.  Still while I could not find anything else that looked good for what we need I’m not ready to say these are the only two options.  I plan this week to find and call up some other museums and similar locations that have iPad kiosks and ask what they have used and any problems they have run into.  I will also contact people at Apple to ask them for better information on Guided Access and if they have suggestions on alternatives.

From the blog murrayandrewt » cs-wsu by murrayandrewt and used with permission of the author. All other rights reserved by the author.

Delving into a Database

We’ve been tasked with implementing a database to allow functionality for a content management system for the iPad application we’ll be developing for the Worcester Art Museum.  Our first thoughts were SQLite, integrated into our HTML5 based app utilizing JavaScript.  We began with a series of tasks:

  • Familarize ourselves with SQL technologies, specifically SQLite.
  • Investigate methods to implement SQLite into our HTML5 application.
  • Investigate our ability to store both text and also images
  • Test a basic application utilizing a database to store and display data.
  • Develop a method of storing database content centrally to be shared across clients.

Our tasks appeared to bring us to a very simple and linear path to success – but boy were we wrong!  The first 2 tasks were simple, and seemed to provide us promising results.  We googled and googled.  We read articles, blogs, and forums and found very straight forward information on developing simple JavaScript functions to initialize a SQLite database natively on Web SQL Database enabled browsers, which included the browsers on IOS and Android devices.  However, after starting on developing our own test code, we hit a brick wall.

SQLite databases utilized by browsers like Chrome or Safari are initialized in temporary locations at the start of the application.  This temporary location is isolated to the browser and cannot be initialzed from any other location.  This meant that the application running on the device would not be able to retrieve data from a centralized server, and would need to be created and pre-populated by the application itself.   This completely defeated the purpose using SQLite to centrally manage data across multiple devices.  In order to still utilize SQLite, we would need to further investigate different method to retrieve data from a server.

We looked into possible work-arounds, and discussed the possiblity of utilizing the Apple AppStore to upload an updated content database file, that would then be overwritten on the new device, however this is a very rudimentary method of deploying new content, and could also be done without the use of a database.

This all brings us back to the idea of utilizing a fully hosted server  application instead of a local iPad application.  It would give us the ability to centrally store our data on the server, and manage all changes centrally through a proper content management system.  The downside to this, is that it cannot be accessed if the iPads do not have access to Wifi, or if they intermittently lose connection.  However, there is the possibility of using an application called Kiosk Pro, which also has the ability to store a backup copy of the web application on the local device.  We simply do not know how it will handle a database driven application.  The only thing we can do at this point is more research.  Here are the next set of tasks:

  • Investigate a method to download server size SQL data into the local SQLite database.
  • Investigate using another method of connecting to server side database.
  • Investigate a method of retrieving data centrally without the use of a database (text files, and web directories)
  • And finally, testing a server side application with a SQL back end while utilizing an application like Kiosk Pro to test a local backup copy without internet connection.

Generally, the first 3 tasks are really for self-learning so that we understand other methods of storing/retrieving content and their pros vs. cons.  I am however biased, and believe that our fourth option is our best – which is why I believe it to be necessary to test all options before concluding.

Unfortunately, I won’t be able to test much without an Apple Developer account.  The web SQL database on Chrome and Android appear to be different than on an IOS device, so until I can test properly, I cannot make a conclusion.  If I’m unable to retrieve an Apple Developer account through Worcester State, I think I will pursue getting my company, The Training Associates, to invest in one since we will most likely want to release our own IOS apps after I’m done with this course.  More to come next week!

 

From the blog mikesaguirre » cs-wsu by mikeaguirre and used with permission of the author. All other rights reserved by the author.

About multiple images and canvas…

Hello,

This week we have been dealing with loading and coloring on the images of the statues the Worcester Art Museum has provided. After filling the images backgrounds with transparency, which can be accomplished in any decent image editor(e.g Gimp a good alternative, and also free), we were able to color on the images. We still need to ask the client to provide us again with the images but this time they should have the same dimensions. As of the moment the ones we have have very high resolutions and differ in size. I don’t think we should manipulate the images because they have much better tools than the free ones we are probably using. 

Hopefully this week we’ll know wether they would only want the children to use specific colors or we are free to include any that we want.

Now, regarding the functionality of the coloring app, our team was thinking about maybe queuing canvases. As is the case with many coloring applications, hopefully we don’t need to implement something like that, and, instead just let the user click on a different image when they want to replace the current one using something like context.clearRect() before loading the new image or simply overwriting the current image with the new.

See you next week.

Beto.

From the blog betoluna » CS WSU by betoluna1 and used with permission of the author. All other rights reserved by the author.

Slideshow

I have been working on the slideshow part of the app this week. Things have been going a little slower for me than I would have liked.

I currently have a small webpage with pictures on it, but am having some trouble implementing the slideshow portion since I am not to certain with the way it should look. Is categories a good idea? Should all the pictures be small and you click on one to maximize it (I’m thinking someone may have said to do this)? Should it just be a scroll through list?

So far I have been using a tutorial from here, http://tutorialzine.com/2010/09/html5-canvas-slideshow-jquery/. Other groups have been researching JQuery as well. I’m thinking I might have to meet with some of them this week.

The code is not on Github yet. I will have to add that once it is a little further along. I should have a prototype for next weeks class.

Unfortunately I have not talked to Brandon yet. I should do that soon since a team member would be helpful.

From the blog Sean » cs-wsu by shorton1 and used with permission of the author. All other rights reserved by the author.

Week 4, Slow but Steady

Image

 

It has been a slow week due to many other responsibilities taking precedence over the Coloring App.  I won’t bore you with the details but suffice it to say; it was not even close to as much fun.  Regardless I still managed to make some progress.  Though I was hoping to have implemented several major changes with comments and have them uploaded to Github it just was not possible with my busy schedule.  

I am a computer science tutor at Quinsigamond Community College as well as a volunteer teacher assistant; and I have become inundated with students now that we are five weeks into the semester. I am only a basic level tutor but students from data structures in c++ have requested my help because there is no advanced tutor. Consequently, I spent a good deal of time this week getting reacquainted with c++ syntax.  Perhaps I can work on the Coloring App more tomorrow.  Either way will comment and upload the changes soon to Github.

Well, now that I have partially explained why I did not accomplish nearly as much as I did last week; on to to the changes.  This week I implemented a new way to select colors, which in it self helped to usher in the use of multiple canvases.  A true life saver.  So earlier in the week I realized we would need to find some way to add more than nine colors to our app, obviously.  So after a bit searching I found a method that allows you to pull the color data directly from a pixel on canvas.  You can use this data to set the color of the paint.  So the basic idea is you can use any picture but we will use one with a variety of colors we can select from.  I am sure a color palette will be provided by the Worcester Art Museum, our client.  They have chosen to use specific colors that would have been similar to the paint colors one might find in ancient Greece.  In the mean time, I have added a temporary picture for testing that is opened and collapsed with click of a new paint button.

In the beginning of testing the canvas, it would push the other canvasses around the screen which is how I ended up learning how to use multiple layers of canvas.  Which turns out is very important.  Up until now the picture outline we are coloring was drawn to the screen over the users painting any time the mouse moved; so the user was unable to draw over the outline of the picture.  this is the same method used in many short drawing to canvas tutorials.  But, wouldn’t it be better if we did not have to worry about all that. Queue multiple canvases.  Now the picture is a canvas simply layered over the drawing Canvas, much simpler. Hopefully I don’t find some reason It won’t work down the road, like a fill paint feature.  I am still pondering how that will be handled.  On top of that I have functional buttons now for selecting different coloring book pages and switched to a more appropriate layout for our client.  However there are still a great many loose ends to tie up and comments to write.  I suppose there is no time like the present.

Till next week.

Jason Hintlian

 

From the blog jasonhintlian » cs-wsu by jasonhintlian and used with permission of the author. All other rights reserved by the author.

360 Degree Image Viewer

Today I made a 360 Degree Image Viewer, it is really a glorified image slider. However if you use images that have the illusion of making the object rotate then it becomes a 360 degree viewer.

Unlike the article viewer I started this concept with the jQuery mobile framework. The inspiration for my design came from this jQuery Mobile form object the Slider. So in theory I wanted to assign 360 image and have the slider go through these! However I clearly wasn’t going to develop this slider to be limited to a 360 images, so it allows for any amount of images which is what makes it really a glorified image slider. The way it works is that the slider has a current numerical value based on its location. this numerical value will represent the image index, eg image 1 or 0 is the starting position. This was done by detecting a change in the slider, to accomplish this I utilized the .on() event handler to detect the event “change”.

$('#slider').on("change", function(event){/*function*/});

So now I have a function that executes every time the slider changes, however when I tested this it would execute the function even if the value didn’t completely change; instead it was detecting minor movements that were not resulting in a value change of the slider. To remedy this I created a var currentVal and created an if statement in the function:

if($(this).val() != currentVal){ /*execute function*/}

This was the only real ‘hurdle’ in this project, after I figured this out the function was very easy to make. I simply modified the background image based on a naming convention that was pre-defined by the user. var imageUrl = “base_name_”. I then simply appended the imageName with the  currentVal and ‘.jpg’ or the respective format:

 if($(this).val() != currentVal){
 currentVal = $(this).val();
 $('#image-viewer').css('background-image', 'url(' + imageUrl+currentVal +'.jpg)').text(currentVal);

and there you have it, a glorified image slider, here is an image of the current concept:

 

That wraps up this post, until next time.
-Joe

From the blog itsJoe's Blog » cs-wsu by itsjoeyoung and used with permission of the author. All other rights reserved by the author.

Spike Solutions

This concept that is used in agile development has really made this project an amazing experience for me so far. Being able to develop concepts independent of one another essentially allows a developer to pursue an idea without the burden of ensuring compatibility. I feel this concept works especially well with web development for two reasons.

One, because you are dealing with what is essentially cross-platform compatible by design even if the spike doesn’t make it to the final stage of the application doesn’t mean your time was wasted. You can take these spikes and apply them on a different project.

Two, as we were reminded by Tim the clients don’t always know the capabilities of current technology. This is a great way for you to showcase what can be done.

The biggest benefit I feel comes from this is that developers can just go off and create a potential solution for a part of the project without hindering the development of, or altering the ‘final’ product. This reminds me of the leadership concept in which you don’t limit the creativity of your people by being directive, however you give them the freedom to generate solutions and ideas. Given the opportunity you people will probably surprise you with what they create. One big take away from this, is that this development process fosters creativity and seems like a potentially great way to lead a project.

That is all for now, until next time!
-Joe

From the blog itsJoe's Blog » cs-wsu by itsjoeyoung and used with permission of the author. All other rights reserved by the author.

WAM App: Images & The Database update.

This week I researched if it is possible to store images in a SQLite database (since it is different from a SQL database), and I found that it is in fact possible to store them. After some digging I found that the general consensus is that the best way to do so is to store the reference to the images inside the database, instead of the actual images themselves. I was able to find a few tutorials online and a few different coding examples (including how to store the images in the application directory of the iOS). Here is a link to the most “complete” tutorial.

http://www.iphonesdkarticles.com/2009/02/sqlite-tutorial-saving-images-in.html

From the blog CS:401 » CS-WSU by dcarlin2013 and used with permission of the author. All other rights reserved by the author.